Job Title: Firmware Engineer
Bangalore, KA, IN, 560048
The Embedded Firmware Engineer designs and develops new software and maintains existing software systems composed of software applications and services that run on a variety of platforms including desktop and server computers running Microsoft Windows operating systems as well as instruments designed for Solartron, Princeton Applied Research, Signal Recovery, and similar brands.
The position will also entail support in product sustenance and production support activities as well as participation in new product design, development, and product validation.
The Embedded Firmware Engineer is also expected to have significant knowledge and experience designing and developing software for data acquisition systems that interface with a variety of sensing technologies. They should have demonstrated successful technical leadership for modules and subsystems that make up such complex systems. Strong soft skills such as teamwork, collaboration, communication, decision making, and influencing people are also essential to success.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Collaborates effectively within a cross-discipline, globally dispersed engineering team.
- Designs and implements software that is extensible, maintainable, and testable.
- Provides technical leadership for assigned modules and subsystems.
- Adopts an agile approach to software development.
- Authors and maintains technical requirements, design documents, and other necessary documentation.
- Offers insights on new technologies and tools.
- Works efficiently with vendors and outsourcing partners.
- Supports products indirectly by collaborating with departments such as Product Support, Product Management, and Manufacturing.
- Adheres to the AMT Engineering Product Development Process.
- Continuously enhances skills and stays updated with the latest technologies and design patterns.
- Oversees new product development from concept through manufacturing and market release.
- Provides technical assistance to Manufacturing and Customer Service to resolve production and application issues.
- Collaborates with Marketing to specify product performance.
- Recommends advanced technologies to address market opportunities.
EDUCATION / EXPERIENCE
- Bachelor's degree (BS) from four-year college or university in Computer Science, Computer Engineering, or Electrical Engineering
- 10+ years relevant design experience
QUALIFICATIONS
Proficiency in the following programming languages, technologies, and techniques:
- C# and C++
- HTML-5, JavaScript (Angular or React), C, LabView, MATLAB
- Software design and programming for embedded Linux-based operating systems
- CI/CD and DevOps practices
- Secure software development
- Experience in designing and developing electrochemical instrumentation
- Software design and programming for Windows operating systems
- Developing software for data acquisition systems interfacing with various sensing technologies
- Communication over various ports and protocols, including USB, Ethernet, PCIe
- Configuration management tools such as SVN, Git, etc.
- Software development for servers/services (Windows services, web services, etc.)
- Multi-threaded software development
- Agile/Scrum software development lifecycle
OTHER REQUIREMENTS
- Excellent written and verbal communications skills.
- Ability to speak effectively before groups of customers or employees of the organization.
- Autonomous in taking initiative and completing projects.
- Ability to work in a fast-paced professional environment.
- Excellent organizational, data collection and presentation skills
- Self-motivated, detail-oriented and passion for continuous improvements
- Willingness to take on greater technical leadership responsibilities encouraged.