- Delivery of work packages to meet budget, timescale, quality and system performance targets.
- Design, development, configuration and testing of applications by
- Investigating problem areas
- Studying information needs, system flow, data usage and work processes
- Conferring with team and customers
- Ensuring that all internal and industry standards are adhered to
- Where necessary, design and implement database tables and methods adhering to current internal and industry standards.
- Development of unit tests and testing of the work packages throughout the implementation process.
- Ensure clean, robust and maintainable code is deployed to minimize the cost of defects over time.
- Maintain existing code base, analyse and resolve problems that are reported by stakeholders and customers.
- Work with stakeholders and customers to understand and continuously improve existing code base.
- Follow the Software Development Lifecycle Process (SDLC), design documents and coding guidelines.
- Document deliverables consistently throughout the development process.
- Translate system requirements into software requirements.
- Analyse systems and processes; recommend changes in policies and procedures to improve processes and methodologies.
- Support and coach junior and mid-level software engineers.
- Make informed decisions and take ownership of services and applications at scale.
- Usage of tools for configuration management, source control, build, deployment and testing.
- Attend internal and external meetings and take part in discussions of both project and technical issues.
- Conduct all work safely and adhere to the required standards.
- Assist testers and support personnel as needed to determine system problems.
- Maintain and develop own professional competence.
- Extensive experience as a software engineer.
- Strong knowledge of C / C++ doing bugfixes and maintenance of software is essential, experience with C# would be beneficial.
- Experience working in various engineering development lifecycles such as Waterfall and Agile.
- Knowledge and hands-on experience in programming design paradigms and techniques.
- Experience with professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing and operations.
- Knowledge of Microsoft operating systems and development tools.
- Ability to effectively diagnose problems by analysing and debugging software systems.
- Analytical and problem-solving skills.
- An understanding of networking/distributed computing environment concepts.
- Possess a positive and self-motivating attitude with the ability to think innovatively.
- Excellent interpersonal, presentation and communication skills; with an emphasis on verbal and written communication.
Organization: Siemens Mobility
Company: Siemens Mobility Limited
Experience Level: not defined
Full / Part time: Full-time