Contact Details:
Ganesan
Email:
Cell:
Job Title: Senior ARM Developer Location: Boston HoustonTX (Onsite)
Duration: Full Time
Years of Experience: 8 Yrs.
Required Hours/Week: 40hrs./Week
Notes:
- Main Skills: Low-level experience in Bios UEFI Communication protocols EDK-2
Role Overview:
- The end-client is seeking an experienced software developer to work on Windows on ARM (WOA) / Qualcomms Windows on Snapdragon (WOS) systems.
- The candidate will develop test and optimize software for ARM systems working closely with hardware engineers to ensure the smooth operation of devices and systems.
- This position requires a deep understanding of UEFI BIOS EDK-2 WMI infrastructure Embedded Controller architectures programming languages like C/C/Python and hands-on experience with real-time operating systems (RTOS).
- A deep knowledge of ARM architecture and working in an Agile & Scrum environment is essential.
Key Responsibilities:
- Design and develop software for Qualcomm ARM Snapdragon SOC hardware platforms.
- Write efficient reliable and optimized code in C/C and other programming languages for ARM systems to ensure system functionality and reliability.
- Collaborate with hardware architects to ensure seamless integration of software and hardware components.
- Develop software that meets performance reliability and scalability standards.
- Optimize software performance including memory usage processing speed and energy efficiency.
- Participate in system architecture design and contribute to technical decision-making.
- Develop and maintain technical documentation for software development and testing.
- Document software design coding practices and maintenance procedures.
- Ensure the software meets industry standards safety regulations and project specifications.
- Analyze project requirements and translate them into ARM software design specifications.
- Write efficient reusable modules that interfaces with hardware components such as sensors actuators and communication modules.
- Test and debug software using simulation tools hardware emulators and on-target testing methods in simulated environments before deployment to real-world devices.
- Collaborate with cross-functional teams to define software requirements and validate product functionality.
- Provide technical support and troubleshooting for software-related issues.
- Work in hybrid development environments (predictive and adaptive).
Work Experience:
Required Skills and Qualifications:
- Experience with developing firmware applications on ARM processors.
- Expertise in ARM embedded architecture.
- Expertise in C programming.
- Experience working with UEFI Architecture and the EDK-2 platform.
- Engage in bare-metal development involving communication protocols such as UART SPI I2C ADC and DAC.
- Familiarity with Python batch files command shells and other relevant scripting languages.
- Familiarity with version control systems GitHub and CICD development pipelines.
- Familiarity with bare metal systems board bring-up and bootloader architecture.
- Design and implement UEFI/BIOS modules in PEIM and DXE stages.
- Experienced in debugging embedded firmware applications using JTAG SWD debuggers.
- Familiarity with using logic analyzers I2C analyzers oscilloscopes and other relevant tools.
- Understanding basic analog and digital electronic concepts and ability to understand HW schematics.
- Ability to understand technical specifications data sheets and develop firmware solutions based on requirements.
- Solid experience with RTOS (Real-Time Operating Systems) embedded Linux and other embedded platforms like ThreadX and Zephyr OS.
- Understanding low-level hardware architecture software optimization memory management and real-time processing.
Preferred Skills:
- Experience with ARM architecture PIC EDK-2 and other microcontroller architectures.
- Experience with embedded security and encryption protocols.
- Knowledge of communication protocols such as UART SPI I2C CAN or Ethernet.
- Knowledge of Python or other scripting languages for testing automation.
- Familiarity with Agile development methodologies and tools like ADO.
- Understanding of power management techniques for low-power embedded systems.
Education and Experience:
- Masters or bachelors degree in computer science Computer Engineering Electrical Engineering Mathematics or equivalent.
- Minimum 5 years of professional experience.
- Experience in Agile/Scrum environment.