Senior Software Engineer – C++ / Python (Embedded Systems & Cross-Platform Development)
Best NanoTech
Role tags
Tech stack mentioned
Role overview
Formatting this description...
Senior Software Engineer C++ / Python (Embedded Systems & Cross-Platform Development) Location | Work Mode | Experience Location: Hyderabad or Bangalore, India Work Mode: Onsite Experience: 5+ Years Role Overview We are looking for an experienced Software Engineer with strong expertise in C++ and Python development for software applications used in embedded and electronics-based systems. The role involves designing, developing, testing, and maintaining high-quality software across multiple operating systems while collaborating with multidisciplinary engineering teams. The ideal candidate should have a strong foundation in object-oriented programming, algorithms, data structures, software verification, and version control, with exposure to embedded systems and communication protocols. Key Responsibilities Design, develop, and maintain software applications using C++ and Python Develop object-oriented software with emphasis on performance, scalability, and maintainability Design efficient algorithms and optimize data structures for software performance Develop and support applications across Windows, Linux/Unix, and other supported platforms Implement and maintain software using established coding standards and documentation practices Participate in software verification, validation, debugging, and regression testing activities Work with software version control systems including Git, Perforce, or Mercurial Develop software interfaces for embedded hardware and communication protocols Collaborate with hardware, embedded, and electronics engineering teams during development Support GUI application development where required using modern GUI frameworks Investigate software defects and provide timely resolution Contribute to continuous improvement of software development processes and engineering best practices Required Qualifications Bachelor's Degree in Computer Science, Software Engineering, Electronics, or equivalent Minimum 5 years of professional software development experience Strong programming experience in C++ and Python Solid understanding of Object-Oriented Programming (OOP) Experience developing software on Windows and Unix/Linux environments Experience with software verification, regression testing, and debugging Good understanding of software development lifecycle and documentation practices Technical Skills Programming Languages C++ Python Object-Oriented Programming (OOP) Algorithms & Software Engineering Algorithms Data Structures Software Design Performance Optimization Code Reviews Software Documentation Operating Systems Linux Unix Windows Multi-platform Software Development macOS (preferred) Version Control Git Perforce Mercurial Software Quality Software Verification Regression Testing Debugging Unit Testing Communication Protocols SERDES (High-Speed Serial Communication) SPI I2C GUI Development Qt GTK Embedded Systems Embedded Software Development Low-Level Programming Assembly Language Microprocessor Programming Microcontroller Programming Good to Have Experience with SERDES (High-Speed Serial Interfaces) Experience developing GUI applications using Qt or GTK Assembly language programming Experience with microprocessors and microcontrollers Cross-platform development including macOS Knowledge of electronics and digital hardware Formal education or practical experience in embedded electronics Exposure to hardware/software integration and device communication Experience working in semiconductor, embedded systems, or electronics product development Familiarity with Agile software development methodologies #LI-SD1