Cubic Transportation Systems
Cubic offers an opportunity to provide innovative technology for government and commercial customers around the globe, helping to solve their future problems today. We’re the leading integrator of payment and information technology and services for intelligent travel solutions worldwide, and the leading provider of realistic combat training systems, secure communications and networking and highly specialized support services for military and security forces of the U.S. and allied nations. If you have an entrepreneurial spirit and thrive in an innovative environment, we want to talk to you about your next role at Cubic! We are seeking employees inspired by technology, and motivated by the rewards of hard work, commitment, teamwork, quality, integrity, and respect. We invite you to explore opportunities with Cubic.
As part of the Software Engineering Team, the Senior Software Engineer will be responsible for applying engineering principles, procedures and techniques to perform systems engineering assignments related to the development of large, complex software systems. Responsibilities include design of architectures, oversight of test and evaluation, change manager responsibilities as well as information systems security management. The position is based in Hamburg, Germany.
Essential Job Duties and Responsibilities:
- Analyzes functional requirements.
- Create designs and detailed technical specifications for the software to be developed.
- Implement the software, incl. software configuration control, unit tests and continuous integration.
- Support or carry out the deployment process.
- Produce and maintain internal technical documentation as required, such as software designs, test specifications, technical notes.
- Provide excellent technical skills and experience in software development.
- Provide assistance and guidance to less experienced team members.
- Collaborate with other software engineering teams, the database team, the test team and the documentation team.
- Recommends test control, strategies, and equipment. Defines test schedules and test data requirements. Test and documents results.
- Report to project manager and/or team lead on performance against timescales, specifications and quality requirements. Identify any deviations from the plan and suggest corrective actions.
- Maintain IT documentation and follow IT procedures.
- Keeps abreast of improvements and developments within software engineering. Identifies software engineering process improvement and supports the execution of them across the organisation.
- Comply with Cubic’s values and adherence to all company policy and procedures. In particular comply with the code of conduct, quality, security and occupational health, safety and environmental policies and procedures.
- In addition to the duties and responsibilities listed, the job holder is required to perform other duties assigned by their manager from time-to-time, as may be reasonably required of them.
Minimum Job Requirements:
Skills knowledge and experience:
- Considerable experience in the IT industry
- Current knowledge of methodologies, programming languages and technologies
- Solid commercial Java (JEE) experience
- Experience in IntelliJ, Eclipse, Git, Subversion, Maven, Ant, Jenkins, Jira or comparable tools.
- Experience in comparable UML design tool.
- Fluent German language skills
- Experience with Apache, Tomcat, Weblogic, and/or Karaf
- Experience with Docker and/or Kubermetes
- Experience in Web Service Security (WSS) and PKI infrastructures
- Experience in high volume data processing
- Expertise in public transport ticketing and/or financial book keeping
- Experience in Oracle and or PostgreSQL (table design, queries, query optimisation)
- Experience in XML and JSON
- Experience in Enterprise Architect
- Good English language skills
Education and qualifications
- A university degree in a numerate subject (e.g. computer science, maths, engineering, natural science) or similar qualification.
- Certificates regarding relevant methods (UML, Scrum) and technologies (Java)
- Able to work on own initiative as part of a team
- Attention to detail and adherence to procedures
- Excellent analytical and problem solving abilities
- Excellent communication skills
- Aware of software development best practice and able to apply standards and procedures effectively.
- Candidate may be required to complete security checks
The description provided above is not intended to be an exhaustive list of all job duties, responsibilities and requirements. Duties, responsibilities and requirements may change over time and according to business need.