Our client who is in the industrial automation development engineering expansion footprint, we are hiring for a Senior Firmware Engineer to be part of our global Power Control Business (PCB) development organization in the Singapore Campus.
A good background in embedded software development and real time control systems is required. This professional would be responsible in the design of embedded software subsystems that optimize and balance a variety of goals across the run-time performance, memory requirements, simplicity and correctness, development time and effort goals, reusability, extendibility, reliability, and safety. This firmware engineer would need to maximize the reuse of existing internal or external software components to shorten the product development cycle. This includes reviews the subsystem and system design of others for system design implications.
This position will work with other stakeholders within region and globally. In the end, the role is responsible for the development of high-quality products and/or subsystems in a timely, efficient, and cost-effective manner.
This position reports into the Power Control Business (PCB) Singapore Campus manager in Singapore and functional support through the global development engineering team.
1. Analyzes, designs, programs, debugs, and modifies software. Troubleshoots code for firmware (IC embedded code) applications. Involves analog and digital hardware and software operating systems.
2. Involvement in one or more of these areas in embedded software/firmware for drives products: development of security features, remediation and management of security improvements, security testing, and process and standards compliance.
3. Proven competency with object-oriented analysis and design as well as real-time development using the C/C++ language.
4. Participates in the development and improvement of engineering processes and best practices.
5. Drives quality by maintaining the link between requirements and testing.
6. Investigates software anomalies in association with the functional test team, customer support team, or other group (possibly including customer) as needed. Debugs and resolved anomalies.
7. Keeps current and well informed on embedded software engineering and cybersecurity methodologies and technologies relevant to our industry through personal research, training, and seminar participation.
8. Willingness to work in a diverse set of software development frameworks including Agile and Scrum as the business demands.
9. Frequently interacts with peers and customers to gain cooperation of others or conduct presentations of technical information/project activities.
10. Networks with senior internal/external personnel in own area of expertise as well as networks with key contacts outside own area of expertise.
11. Normally receives little instruction on day-to-day work, generally instructions on new assignments. Receives assignments in the form of objectives and determines the process by which to meet goals. Open to receiving and sharing of new ideas.
12. Functions effectively in a globally distributed team environment as both an individual contributor and a leader.
13. Regularly interacts with senior management or executive levels on matters concerning several functional areas, divisions, and/or customers.
14. Ensures thorough familiarity with company policies and procedures. Appropriately applies policies and procedures in compliance with government laws. Policies and procedures include, but not limited to: Standards of Business Conduct, Intellectual Property, Control Environment, Information Protection, ISO 9000 & 14000, government regulations (e.g. health, safety, quality and environmental), and functional policies published by the company
Qualifications: Education, Desired Skills and Experience
1. Bachelor of Science in Computer Science, Computer Engineering or Electrical Engineering with concentration in software; or equivalent
2. Master of Science in Computer Science or Computer Engineering; or equivalent in-depth knowledge and experience desired.
3. Possess a minimum of five years’ experience in embedded software development with an emphasis on the analysis, design, programming, and testing of real-time software systems using modern engineering practices using the C/C++ language (or other middle to high-level language) required.
4. Five to six years of experience in an embedded software or firmware team.
5. Familiarity with the following tools and languages is desired: Python, Green Hills Integrity OS and Multi IDE, TCP/IP networking, Git or similar version control tools, security test tools such as Achilles and Burp Suite, and collaboration tools such as Jira and Jama.
6. Cybersecurity training or certification is a plus. Familiarity with cyber security requirements and practices for embedded and industrial products desired.
7. Familiarity with agile processes like Scrum and SAFe is desired.
8. Proven ability to specify and develop high quality, maintainable software subsystems or systems at a high rate of productivity required.
9. Well established ability to organize and direct activities of other employees and communicate with a globally distributed team is required.
10. Strong collaborator in a matrixed organization. Proven ability to work effectively as a member of a team or independently required.
11. Proven ability to communicate technical information of a complex nature clearly and concisely in verbal and written form required.
12. Demonstrate customer centric culture to understand our internal and external customers.
13. Accept job requirement to connect in a global environment and with light international travel.