Overview
Design, develop, and maintain high-performance C++ software applications on Linux for semiconductor equipment components and devices.
What you'll do
- Design, develop, test, and maintain software applications using C++ on Linux environments.
- Develop scalable, reliable, and high-performance system software.
- Work on multithreaded and concurrent applications.
- Perform code reviews and ensure adherence to coding standards and best practices.
- Investigate and resolve production issues through debugging and root cause analysis.
- Collaborate with cross-functional teams including Product Management, QA, DevOps, and Architecture teams.
- Optimize application performance, memory utilization, and system resources.
- Participate in software design discussions and technical decision-making.
- Create and maintain technical documentation.
- Develop software documentation and test procedures, troubleshoot software problems, and communicate with internal customers to understand project requirements.
What you'll need
- Bachelor's or Master's degree in Computer Science, Electronics, Information Technology, or related discipline.
- 6+ years of software development experience in C++.
- Strong proficiency in C++11/14/17 standards.
- Hands-on experience with Linux operating systems.
- Strong understanding of data structures, algorithms, and object-oriented design.
- Experience with multithreading, synchronization, and concurrency concepts.
- Experience with Linux system programming, IPC, sockets, and networking fundamentals.
- Proficiency with debugging tools such as GDB, Valgrind, and memory analyzers.
- Experience with Git version control and CI/CD workflows.
Nice to have
- Experience with distributed systems and microservices architecture.
- Knowledge of TCP/IP, HTTP, REST APIs, and network protocols.
- Familiarity with Docker, Kubernetes, and cloud platforms (Azure, AWS, or GCP).
- Experience with unit testing frameworks such as Google Test.
- Knowledge of build systems such as CMake, Makefiles, or Bazel.
- Exposure to performance tuning and system profiling tools.
- Linux Kernel fundamentals.
- STL, Boost libraries.
- Design patterns and software architecture principles.
- Strong analytical and problem-solving skills.
- Excellent communication and stakeholder management skills.
- Ability to work in a fast-paced agile development environment.
- Experience in networking products, cybersecurity, storage systems, telecom, or embedded systems.
- Knowledge of Python or Shell scripting for automation.
- Experience working with large-scale enterprise software products.
Details
- Location: Bangalore, India.
- Time type: Full time.
- Employee type: Assignee / Regular.
- Relocation eligible: No.
Read the full description and apply on the company’s own careers page.