Job Description
Job Summary:
This position will be responsible for the design and development of software components within assigned projects and providing technical guidance and leadership.
The Senior Software Engineer will work across the full component software development lifecycle in requirements analysis and definition, stakeholder management, software design and build, test facilitation and operational support. This position typically works under minimal supervision and direction. Incumbents of this position will regularly exercise discretionary and substantial decision-making authority.
Position Specific Responsibilities:
- Application Software development for Automatic Fare Collection on devices using C++ on Linux & Windows operating system.
- Work productively and with minimal management supervision, both as part of a team as well as independently.
- Working with customers and system analysts to analyse reported defects and a develop a Solution.
- Working with customers and internal stakeholders to identify and analyse new requirements arising from change requests.
- Work with systems analysts in problem investigation, analysis, solution determination and associated task estimation.
- Work collaboratively on requirements, design, implementation, review, test and acceptance following all designated standards and development guidelines.
- Analyse available frameworks and technical solutions and make justified recommendations to the Engineering Team
- Consistently deliver on work, budget and schedule commitments. Monitors project status and progress.
Position Specific Skills/Experience/Knowledge:
Essential:
- Bachelor’s degree in software engineering, Computer Science or related discipline.
- Minimum of 5 years of software engineering development experience.
- Strong experience with C++.
- Strong experience with Linux and Windows Operating System.
- Experience with JAVA.
- Ability to reverse engineer software code and understand legacy software.
- Excellent knowledge of git, BitBucket, Jira, Jenkins, and Confluence.
- Excellent knowledge of building distributed multithreaded near real-time systems.
- Excellent networking knowledge.
- Experience with developing software interacting with hardware.
- Ability to solve complex problems, design and develop device applications.
- Strong verbal and written communications skills.
- Strong interpersonal skills. Ability to interact professionally with internal and external customers, technical and non-technical persons.
- Demonstrated ability to meet deadlines. Sound time management skills.
- Training and/or experience with agile development methodologies such as Scrum.
Desirable:
- Experience with Automatic Fare Collection Systems.
- Experience with transport ticketing Systems.
Position Specific Personal Qualities:
- Ability to work autonomously and within a team environment.
- Responsible, organised, logical thought process.
- Ability to relate to persons at all levels within a business.
- Positive attitude.
Condition of Employment:
Successful outcome of a National Police Check
#LI-DM1