Software Engineer

Job Vacancy

Software Engineer

Job Highlights:

  • We are expanding! A great opportunity to be part of the dynamic and fast-growing team.
  • Excellent opportunities for career advancement.
  • One of the global leaders in cleanroom automation.


Job Summary:

  • Develop software and/or firmware for material handling transport systems and robots.
  • Develop and deliver quality software which fulfills internal requirements and customers’ specifications.


Roles and Responsibilities:

  • Develop software to manage material flow for a semiconductor Fab to be used in Stratus Automation’s AMHS (Automated Material Handling System)
  • Develop firmware for custom made electronics and hardware to be used in conveyors, turntables, stocker robots, overhead transport vehicles and similar systems.
  • Design databases and build software architectures for our software.
  • Maintain, improve, and troubleshoot existing software and/or firmware.
  • Perform testing (unit tests, integration tests, and stress tests) for developed software and/or firmware, which includes testing physical equipment in the company’s laboratory.
  • Perform on-site support of Stratus Automation’s equipment. Software engineers may have to spend time at the customer’s site during equipment installation. Installation sites include US, Europe, and Asia.
  • Write and maintain documentation for the software.
  • Improve and contribute to software application design, development, and end-user’s experience.
  • Perform research and keep up with current trends in software engineering to ensure that Stratus Automation stays competitive in the industry.
  • Assist other departments to develop products, for example providing advice on software/firmware capabilities and limitations during the hardware design phase.




  • Candidate should possess a bachelor’s degree or higher in Computer Science, Software Engineering, or Electrical and Electronics Engineering.
  • Candidates with other engineering degrees or only possess a diploma would require at least 2 years’ working experience in software engineering or a related field.
  • Fresh graduates are encouraged to apply.


Skills and Knowledge:

  • Candidates must be familiar with Object Oriented Programming (OOP).
  • Candidates must understand textbook algorithms, such as A* pathfinding, and possess basic knowledge of common data structures, such as binary trees.
  • Candidates should be familiar with relational databases and should be able to draw entity relationships diagrams (ERDs).
  • Candidate should be willing to travel to customer sites in US, Europe, and the Asia Pacific region.
  • Knowledge and experience of SECS/GEM and SEMI standards E84, E82, E88 and E153, are highly desirable.
  • Knowledge and experience in any of the following skills is an added advantage.
    • SQL.
    • Appreciation of time and space complexity.
    • Real Time Operating Systems (RTOS).
    • Linear Algebra and Geometry.
    • Optimization techniques, such as gradient decent, simplex methods, and greedy algorithms.
    • The ability to describe motion, geometry, and signals in terms of equations or numerical models.
    • Communication protocols, such as TCP/IP, UART, I2C and SPI.
    • Network analysis tools, such as traceroute, pcap, tcpdump, or wireshark.
    • Socket Programming.
    • Procedural Programming.
    • State Space Modelling.
    • Statistics and Combinatorics.
    • Graph Theory.


Desired Characteristics:

  • Highly self-motivated and passionate about software, electronics, robotics and/or machines.
  • Willing to take ownership and responsibility of one’s own work.
  • Willing to step out of one’s comfort zone.
  • Although we will provide training, we expect successful candidates to be able to read documentation and self-study some reading material.
  • Work both independently, with other team members, and lead teams in a dynamic, and fast-paced environment.
  • Passionate about exploring new areas and implementing innovative ideas and concepts.