Job Location: Pune, IN
Danfoss Hydraulics Division of the Software, Electronics, and Controls (SWEC) Group has an opening for Engineer – in Firmware Development. The engineer will be responsible for Firmware design and development for hydraulic products/systems. As a member of a creative, motivated, and talented team, we need our engineers to be versatile and passionate to tackle new problems as we continue to push technology forward. If you get excited about testing new things & modernizing existing things and aren’t daunted by the challenge of building something from scratch, then our team might be your next career step.
You will be responsible for contributing New technologies which can change the economics of embedded software. You will design software systems, generate IP and execute field trials to understand their needs and work closely with the team to assess business impact and constraints. You must be proficient with current firmware development technology, tools, and practices, and have experience in full Software Development Life Cycle (SDLC) on projects including design, development, and testing.
Responsibilities for this Engineer – Firmware include but are not limited to, the following.
- Thorough understanding of firmware design principles, with debugging skills Engages in the development, design & testing of Embedded Systems using C, C++, and Basic assembly level programming language
- Basic Hardware Design Knowledge and Hardware/Firmware Debugging Skills
Hands-on experience with lab instruments – Oscilloscopes, Function Generators, Logic Analyzers, etc.
- Suggest and develop reusable components and looks for continuous improvement opportunities in hydraulic products. Share knowledge within the team and demonstrates flexibility in working.
- Develops an understanding of both technology and product concepts and can articulate product and software design. Ensures quality of delivery by the plan adhering to the standard practices used in the agile/waterfall/V model.
- Participate in solution and code reviews with team members for tasks and ensure that best practices and efficient coding standards adhere
- Knowledge and experience with process frameworks (e.g. CMMI) including defect tracking, change management, and configuration management tools.
- Ensures products meet our customer’s needs
- Collaborate with local product engineering teams and incorporates support for the manufacturing, commissioning, and ongoing maintenance of the product/system
Background & Skills
The ideal candidate possesses these skills:-
- Bachelor’s degree in Electrical, Electronics or Instrumentation Engineering, Master’s degree in Electrical, Electronics or Instrumentation Engineering.
- 3- 8 years of experience in embedded C, C++, assembly language, Single core and dual core 16/32 bit MCU (Microchip, ARM, PowerPC, Renesas, TI) with BSP, low-level driver, and application development experience. Experience with RTOS will be added advantage.
- Experience with GPIO, PWM, UART, SPI, I2C, CAN, and industrial protocols is desirable.
Demonstrated knowledge of Embedded Firmware development with single and dual-core 32 Bit microcontrollers from ARM, PowerPC, Renesas, TI, and Microchip with detailed knowledge of BSP and low-level drivers.
- Basic level knowledge of boot loader development and knowledge of assembly language coding is required.
- Working knowledge of RTOS concepts.
- Working knowledge of maintaining code quality by complying with MISRA coding standards, static/dynamic code coverage analysis, and use of any industry-standard tool for this purpose will have added advantage
- Basic level knowledge of Hardware design.
- Basic knowledge of Hydraulic systems, Control systems, and CoDeSys is added advantage
- Experience in at least one software to maintaining version control is required.
- Knowledge and familiarity with compliance to CMMI ML3 process and guidelines are preferable
- Well-developed written and verbal communication skills
- Skilled in writing specifications and end-user documentation
- Problem-solving skills, effectively diagnosing technical issues and proposing logical solutions, looking beyond the obvious, and doesn’t stop at the first answers