Senior Software Engineer

New Today

Overview

Cubic Transportation Systems is part of Cubic, a company that creates technology solutions in transportation to simplify daily journeys, and defense capabilities to promote mission success and safety. Cubic has a top-tier portfolio of businesses, including Cubic Transportation Systems (CTS) and Cubic Defense (CD). Explore more on Cubic.com.

Job Details

Conceptualise, design, code, debug, and perform development activities in accordance with designated standards and procedures to meet specific project requirements. Shares technical expertise and provides training and guidance to other team members.

Responsibilities

  • Using the relevant programming language and technologies provide creative, thorough, and practical solutions to a wide range of technical problems.
  • Share technical expertise within the department and other departments as requested.
  • Design, develop and test software programs following established quality standards and in accordance with internal engineering procedures including coding, unit testing, peer reviews and software configuration control.
  • Complete high- and low-level detailed software design specifications, storyboards, and interface specifications.
  • Provide support of products through conception to product delivery including problem solving, defect maintenance and support to customer services (which may require out of hours support in certain circumstances).
  • Provide training and guidance to other team members.
  • Prepare reports, manuals, procedures, and status reports.
  • Keeps abreast of improvements and developments within software engineering, supporting continuous improvement within engineering.
  • Comply with Cubic’s values and adherence to all company policy and procedures, including 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 may be required to perform other duties assigned by their manager from time to time, as may be reasonably required.

Education and Qualifications

  • Bachelor of Science degree in Computer Science, Electrical Engineering, or related field or equivalent professional experience or combination of both.

Personal Qualities

  • Ability to work as part of a team towards individual and shared goals; a team player in a cross-functional environment.
  • Excellent written and verbal communication skills with the ability to communicate effectively at all levels.
  • Demonstrates excellent interpersonal skills with a willingness to share knowledge, coach and collaborate effectively with individuals and other departments.
  • Diligent, with attention to detail.
  • Able to problem solve and find effective and timely resolutions.
  • Self-motivated with the ability to work on own initiatives and under pressure.

Skills, Knowledge, and Experience

Essential

  • Proficient modern Java development experience (Java 17 onwards).
  • Experience in production-grade Software Engineering with a proven track record of specification, design, and development, emphasising robust, secure, maintainable code.
  • Delivered highly functional, performance-driven applications.
  • Experience in developing multi-threaded applications.
  • Experience of debugging on target hardware (Linux).
  • Experience of networking and IPC messaging protocols.
  • A solid understanding of the Linux platform and administration.
  • An effective problem solver with the ability to understand and resolve complex issues.
  • Experience in troubleshooting and debugging applications.
  • Experience of Object-Oriented Design and implementation, along with Software Design patterns.
  • Ability to contribute to the development of the architecture for applications.
  • Experience of maintaining and improving coding standards.
  • Able to build reusable code and libraries, ensuring thorough application documentation for future use.
  • Experience of software best practices such as Automated Testing (Google Test), Continuous Integration, Test Driven Development, SOLID and Clean Code principles.
  • Scrum or Kanban experience.
  • GIT and Jenkins experience.
  • Experience using JIRA.

Desirable

  • Proficient in modern C++ (14 or later).
  • Experience writing simulators and test harnesses.
  • Experience with protocols such as RS485 or CANopen.
  • Experience with Linux on ARM platforms.
  • Experience working in a similar industry.

Essential Job Duties and Responsibilities

  • Using the relevant programming language and technologies provide creative, thorough, and practical solutions to a wide range of technical problems.
  • Share technical expertise within the department and other departments as requested.
  • Design, develop and test software programs following established quality standards and in accordance with internal engineering procedures including coding, unit testing, peer reviews and software configuration control.
  • Complete high- and low-level detailed software design specifications, storyboards, and interface specifications.
  • Provide support of products through conception to product delivery including problem solving, defect maintenance and support to customer services (which may require out of hours support in certain circumstances).
  • Prepare reports, manuals, procedures, and status reports.
  • Provide training and guidance to other team members.
  • Keeps abreast of improvements and developments within software engineering, supporting continuous improvement within engineering.
  • Comply with Cubic’s values and adherence to all company policy and procedures, including 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.

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.

Due to the nature of the work, this role is primarily office-based.

Worker Type: Employee

#J-18808-Ljbffr
Location:
Stockton-On-Tees
Category:
IT & Technology

We found some similar jobs based on your search