Software Engineer
AMETEK · Bangalore, India
AMETEK is hiring a Software Engineer to design, develop, test, and maintain software applications supporting industrial UPS and battery charging products across Windows, iOS, and Android platforms.
What you will do
- Translate user and product requirements into software designs and implementation plans for new applications and feature enhancements.
- Evaluate development tools and frameworks to design modular architecture separating UI, business logic, data access, and device communications.
- Develop new applications, maintain reusable software components, and build responsive UIs for desktop and touch devices.
- Implement reliable data handling, error handling, application settings, and diagnostic logging.
- Develop application interfaces to embedded products and coordinate communication protocols with firmware developers.
- Address platform-specific connectivity, permissions, security requirements, and connection loss recovery.
- Document software requirements, architecture, interfaces, and build/deployment procedures.
- Develop automated unit, integration, and regression tests to verify consistent software behavior.
What you need
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related field.
- Experience designing, developing, testing, and maintaining software applications.
- Proficiency in an application development language such as C#, C++, Dart, or TypeScript.
- Strong understanding of modular design, object-oriented programming, and asynchronous programming.
- Understanding of software architecture, reusable components, and UI design.
- Experience using version control systems, code reviews, automated testing, and software debugging tools.
- Strong analytical and troubleshooting skills with effective communication abilities.
Good to have
- Experience delivering applications on Windows, iOS, and Android including platform-specific builds, signing, packaging, and distribution.
- Hands-on experience with cross-platform frameworks such as .NET MAUI, Qt, or Flutter.
- Experience planning legacy application migrations and managing technical debt.
- Familiarity with CI/CD, automated build pipelines, dependency management, and release automation.
- Experience integrating applications with embedded or industrial equipment via network or serial communications.
- Knowledge of web technologies (HTML, CSS, JavaScript), secure application development, and local data storage.
How to apply
- Apply online via the job posting page.