First seen by Alion on Nov 3, 2026.
Job summary
We are seeking highly skilled and motivated Software Engineers with strong expertise in C++ and Object-Oriented Programming, with hands-on experience developing and enhancing complex systems. The role is responsible for designing, developing and maintaining high-performance, reliable software that supports manufacturing operations on the ATP MES platform. The SDET positions combine development and test engineering responsibility; the PostgreSQL positions focus on the data layer of ATP MES for Engineering; the Lead Developer position additionally owns technical direction and mentoring for the ATP MES development team.
What you will do
· Design, develop and maintain moderate to highly complex applications using C++.
· Develop, enhance and debug software modules and components.
· Apply strong OOP principles — encapsulation, inheritance, polymorphism and abstraction — to build maintainable and scalable systems.
· Design and implement concurrent, multi-threaded C++ software for real-time or high-throughput systems.
· Contribute to improving existing modules and reusable internal frameworks and libraries.
· Provide technical guidance and mentorship to junior team members.
· Participate in code reviews and provide constructive feedback to peers.
· Develop and maintain unit and integration tests; contribute to and maintain CI pipelines.
· Work with product owners to understand requirements, break down complex problems into manageable tasks and deliver solutions.
· For SDET positions: design, automate and maintain functional, integration and regression test suites alongside feature development, and own the quality of delivered features end to end.
· For PostgreSQL positions: design, implement and tune the PostgreSQL data layer — schema design, queries, stored procedures, migrations and performance optimisation — supporting ATP MES for Engineering.
What you need
· 5+ years of professional C++ software development experience.
· Strong mastery of Object-Oriented Programming with hands-on application of design patterns (Factory, Observer, Strategy, Singleton, Command) and SOLID principles.
· Solid understanding of multi-threading and concurrent programming in C++ with synchronisation primitives (mutexes, semaphores, condition variables).
· Experience developing or integrating with MES or similar large-scale systems.
· Proficiency in STL, Boost libraries and modern C++ (C++11/14/17/20) features.
· Familiarity with thread and memory management concepts and best-known methods; experience with performance profiling and optimisation.
· Expertise in writing unit tests using frameworks such as Google Test (GTest) or CppUnit.
· For SDET positions: demonstrated test automation capability and experience owning quality for delivered features.
· For PostgreSQL positions: strong hands-on PostgreSQL experience including SQL, PL/pgSQL, indexing, query tuning and schema migration.
· For the Lead Developer position: demonstrated experience leading a development team, owning technical design decisions and mentoring engineers.
What will give you an edge
· Knowledge of semiconductor manufacturing operational practices.
· Knowledge of equipment communication standards and protocols used in manufacturing systems.
· Experience with manufacturing workflows, process flows and work order management.
· Familiarity with Python or scripting languages for automation and tooling.
· Experience with CMake or Makefile-based build systems and cross-platform builds.
· Experience implementing CI/CD pipelines (e.g. Jenkins).

