Position Summary
In the role of a Software Engineer, you are responsible for the design, development, testing, deployment and maintenance of software applications mission-critical safety and security surveillance that are to be deployed in an operational environment.
Depending on the specific assignment, you will design and build innovative applications and solutions in one of the following areas:
· Vision Software
· Integration of -
advanced environment sensing equipment
equipment health monitoring and support systems for critical system functions
· Adaptive software processes, and/or deep learning.
Main Responsibilities
- Write, modify, debug, test and troubleshoot software code using source code debuggers and visual development environments to create single-threaded, multi-threaded or user interface event driven applications, either stand-alone and those which access servers or services
- Analyse, design, review, implement, integrate, test and deploy software applications
- Write technical design and associated design documentation
- Track and manage the software code over its development cycle
- Coordinate team activities with lateral teams across disciplines (e.g., QA) and vertical groups (e.g. project delivery teams), and upwards with project management elements
- Ensure conformance to quality processes and practices
· Participate in the specification of product functions and interfaces
· Design and building of solutions, frameworks, automation, and orchestration for a broad range of applications and infrastructures, for cloud, mobile, and desktop
- Travelling maybe required from time to time
Skills and Experience
· 1+ year hands-on experience in software development
· Strong debugging skills to understand existing Source Code independently
· Well-versed in:
Visual Studio
Python
C++
OpenCV
SQL Server
· Experience in:
Developing real-time web applications
System interface design and human factor engineering
Building and integrating modules for large-scale software systems
Hands-on Unit Testing
Hands-on Integration Testing
Image Processing Software Development
Database design and performance tuning
· Knowledge of (as a plus):
OOAD Design (Object Oriented Analysis Design)
Software/web architectures and design patterns
Inter-Process Communication
Networking, TCP/IP, load balancing and scaling
Virtualization Technology/Platforms such as VMware, Xen, KVM, OpenStack, Cloud Stack, Azure Stack
iOS and Andriod platforms
Cloud orchestration, configuration management and auto-scaling methodology is a plus
Matlab
Minimum Qualifications
· Min. Degree/Masters in Information Technology, Computer Engineering, Communications Engineering, or equivalent qualification
· Practical experience in:
Software development life cycle and quality assurance methodologies
Code management
Attributes
· Good technical writing and presentation skills
· Critical thinking and problem-solving skills
· Strong interest and awareness of new technologies
· Proactive with good time-management skills
· Good interpersonal, analytical and communication skills;
· Ability to:
Multi-task, prioritize activities, work independently and calmly under pressure
Interact positively, clearly and professionally with peers, customers and vendors
Anticipate and take proactive actions
The Ideal Candidate
· You possess big picture thinking and a willingness to learn and dive into unfamiliar systems and resolve complex issues both from a business and technical perspective
Salary Range
· SGD 3.5k – SGD 5k