Komax Singapore Pte Ltd
Singapore / Global
Singapore / Global
Own one or more software modules end to end: requirements specification, architecture and interface design, implementation, unit and integration test, code review, release, and field defect analysis
Develop front-end applications with Angular and Vue, covering component architecture, state management, and reactive data flow, for both server-side clients and machine-mounted HMI and kiosk clients
Design and implement back-end services in modern C++ (C++17/20) and C#/.NET, including relational schema design, query optimization, transaction handling, and middleware integration
Develop and maintain cross-compiled embedded C++ software for ARM64 Linux targets, including device I/O, serial and fieldbus communication, and hardware abstraction layers
Design and maintain a shared back end serving multiple front-end and device clients over REST, WebSocket, and gRPC, with versioned, backward-compatible interface contracts and defined error and timeout semantics
Implement multi-threaded and asynchronous software for time-critical machine operations: thread and task design, synchronization primitives, deterministic latency under load, and RAII-based resource lifetime management, free of deadlock, race conditions, and resource starvation
Perform root-cause analysis of failures on real machines and in the field using structured logs, traces, timing measurements, crash dumps, and hardware documentation, then design and implement the software fix, the recovery behavior, and the regression test
Implement computer vision, image processing, and 3D vision algorithms for automated inspection: camera and illumination interfacing, calibration, feature extraction and measurement, and AI/ML-assisted defect classification that retrains on user-labeled feedback to improve pass/fail accuracy over time
Own technical specifications: identify gaps, ambiguities, and conflicts in incomplete requirements, resolve them with stakeholders early, and author traceable requirements documentation (SWRD-style, with ticket-linked requirement IDs) covering functional, interface, performance, and error-handling requirements
Design and develop product features together with mechanical, electrical, and software teams across several countries; run design and code reviews, verification and validation activities, and technical evaluation of third-party components including bench testing.
Education
Bachelor's or master's degree in Computer Science, Computer Engineering, or related field
Work experience
≥5 years' experience in full-stack software development, including products released to customers and maintained across multiple release cycles
Able to develop software concepts and architectures independently, and to justify the design trade-offs behind them
Has owned a module or feature end to end, including production or field defects traced back to own design decisions
Expertise and methodology
Product development and use of development tools: Visual Studio Professional/Code, debuggers, profilers, static analysis, AI coding assistants (Cursor, Claude Code)
Programming languages: C, modern C++ (C++17/20, STL, templates, smart pointers), C#/.NET
Front-end development with Angular and Vue: component architecture, state management, reactive and observable data flow, and build tooling
Python knowledge would be an advantage, in particular for vision and machine learning work
Embedded, cross-compiled C++ development for ARM64 Linux: toolchains, sysroots, cross-debugging, and hardware abstraction
Multi-threaded and concurrent programming: synchronization primitives, thread-safe data structures, memory model and atomics awareness, deadlock and race condition avoidance, RAII resource ownership
Real-time and time-critical software behavior: latency and jitter budgets, scheduling and priority effects, timeouts, watchdogs, and graceful degradation
Databases: relational schema design, SQL, indexing, and transaction handling from C++ and C#
Communication technology: REST, WebSocket, gRPC and Protobuf, interface versioning and backward compatibility
Software design patterns and architecture patterns, including MVC, MVVM, Flux, layered and event-driven architectures
Unit, integration, and regression testing, and Design for testability: mocking and dependency injection, and tests that fail when the logic is wrong rather than tests written only to pass
Debugging and root-cause analysis on real hardware: log and trace analysis, reproducing intermittent and timing-dependent faults, crash dump analysis
Version control (Git): branching and merging strategies, and code review as a daily habit, both giving and receiving
Software Development Life Cycle, with basic understanding of Agile methodologies and lifecycle models (e.g., V-Model)
Requirements engineering and traceable documentation practices (e.g., SWRD-style), with requirement-to-ticket and requirement-to-test traceability
Basic working knowledge of Jira and Confluence for issue tracking, sprint work, and technical documentation
Proficient and disciplined use of AI coding assistants to accelerate development, while maintaining full understanding, code quality, and accountability for all code produced
Computer vision, image processing, and 3D vision (e.g., OpenCV, point cloud processing) would be an advantage; willingness to grow into this area is required
Other requirement criteria
Communication skills (verbal and written), including presenting and defending technical designs to non-software engineers
Social competences to work in cross-cultural and international environment
Ownership of assigned modules across the full lifecycle, including responsibility for defects found after release
Diligence and attention to detail in released software
Analytical and structured problem solving, with sound judgement on design trade-offs
Goal-driven and independent working style
Willingness to learn and openness to feedback
Willingness to travel internationally to customer sites and other Komax locations
#J-18808-Ljbffr
Singapore / Global
Singapore / Global
Singapore / Global
Singapore / Global
Singapore / Global
Singapore / Global