R&D Software Engineer
- 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.
- 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.
- 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.
- 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.