Software Engineer

  • Gandhinagar
  • Bpm Microsystems
Software Engineer Date: Sept 06, 2024 Location: India [Remote] Company: BPM Microsystems, Inc. About BPM Microsystems and the Job Imagine developing and supporting a world-class technology product required by every factory producing electronics in the world! BPM Microsystems produces the most advanced electronic device programming systems on the market. Our products are robotic high-speed instruments that load data patterns into flash memory chips and microcontrollers. Our customers include the world's top manufacturers of smartphones, tier 1 automotive suppliers, aerospace electronics, consumer electronics, industrial and medical device suppliers as well as component distributors and independent programming centers. You may not know our name, but literally billions of people depend on us every time they use their phones, computers, cars or a wide variety of other electronic devices. Job Summary As an exceptional member of our fast-paced Software Engineering Team, you will be creating, testing and maintaining complex applications and embedded systems used to program billions of electronic devices. This is a hands-on challenging position that offers you the opportunity to contribute to the development of new and existing products within highly visible product lines. You will be expected to rapidly learn and understand these complex systems. You will be developing Windows-based applications and embedded software in C++ as well as controlling BPM Microsystems’ semiconductor programming equipment and robotic pick-and-place systems incorporating lasers, vacuum systems, and various machine vision technologies. You are energized by getting hands-on and inventing original solutions to complex problems and seeing it through to customer delivery. Responsibilities Support the Software Development Life Cycle by designing and developing new and current projects, directing system testing and validation procedures, and fixing defects. Communicate effectively with customers or departments to capture requirements for new product development and technical issues via documentation, phone conversations, and face-to-face meetings. Investigate and discover the root causes of system defects and devise software permanent solutions when possible. Conduct and participate in engineering meetings and communicate effectively about the relevant issues. Promote continuous improvement within the code and within the department. Provide software tools to manufacturing and other internal engineering departments.

Contribute with creative problem-solving skills that balance thorough design with quick time-to-market and agile responses to customer needs in a fast-paced environment.

Required Skills A B.E. or B.Tech degree or equivalent is required, preferred MS/ME Modern C++ Developer with experience in the Visual Studio environment or similar environments Strong OOD skills with the ability to generate logic diagrams out of engineering discussions and requirements documents Experience with Templates, STL, and Boost/TR1 C++ Libraries Experience writing unit and functional tests for automated software testing frameworks like GTest, CPP Unit Exceptional verbal and written communication skills, with a drive to become a subject matter expert and influence design decisions Advances and adheres to software engineering best practices Strong team player who knows both how to lead and follow Rapidly acquire skills and knowledge of complex systems and development environments Proactive self-starter motivated to take actions known to benefit the company Desired Skills Multithreading in C++ Has understanding of API paradigms Keen interest in robotics, embedded systems, device programming, and semiconductors Team-based, source code revision controlled environment