Cubic Defense

Senior Software Engineer (iOS) (m/f/d)

Hamburg, HH, DE

8 days ago
Save Job

Summary

Business Unit:

Cubic Transportation Systems

Company Details:

As part of the software engineering team, the 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. The successful applicant will develop and maintain central systems software for Cubic solutions for the transport and ticketing sector. The position is based in Hamburg, Germany.

Job Details:

Essential Job Duties and Responsibilities:

  • Analyze customer 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 or technical notes.
  • Collaborate with the teams including software engineering, testing and design and the project management.
  • 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.
  • Keeps abreast of improvements and developments within software engineering.
  • 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.

Job Requirements:

Skills knowledge and experience:

Essential:

  • Fluent German language skills
  • Experience in developing fully featured native iOS apps;
  • Proficiency with Swift and familiarity with Combine or other reactive framework.
  • Must have a solid knowledge in iOS architecture as well as a good understanding applying design principles and patterns, and best practices. Should be able to define appropriate scenarios to apply patterns such as MVVM, Viper or Clean Architecture.
  • Must have technical experience maintaining legacy mobile applications, applying clean code and following SOLID principles.
  • Must be able to define whether or not is time to leverage third party libraries
  • Vast hands-on experience modularizing and componentizing mobile applications.
  • Must clearly understand the importance for the automation-first mindset, and have to be fluent in writing unit and automated tests (including UI) ideally using XCTest/XCUITest;
  • Solid and hands-on experience working with DevOps, automating build processes (CI) and running source code analysis tools (e.g. SwiftLint);
  • Fluency connecting iOS applications to back-end services through webservice
  • Experience using Git and branching models.
  • Experience working in an Agile environment following SCRUM
  • You like to take responsibility and have an awareness for quality.

Desirable:

  • Hands-on experience integrating CI pipelines with App Testing Services such as AppCenter or simillar;
  • Hands-on experience with SwiftUI and Combine framework, experience with application integrating legacy UIKit and SwiftUI components in one workflow
  • Good English language skills.

Essential:

Education and qualifications:

  • A university degree in a numerate subject (e.g. computer science, maths, engineering, natural science) or similar qualification.

Desirable:

  • Certificates regarding relevant methods and technologies.

Personal Qualities:

  • Diligent, with attention to detail. Able to problem solve and find effective and timely resolutions.
  • Excellent communication skills.
  • Self-motivated with the ability to work on own initiatives and under pressure.
  • Aware of software development best practice and able to apply standards and procedures effectively.

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. The Candidate may be required to complete security checks.

Worker Type:

Employee

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job