Role & responsibilities
Bachelors or Masters degree in Computer Science, Computer Engineering, Electrical Engineering (or equivalent) with solid software Engineering skills.
8+ years of R&D; experience in product development
Experience in developing a significant software application
Experience in Contemporary C++ (e.g. C++14 and later) and objected-oriented programming
Experience in designing software architecture in C++
Advanced and broad knowledge of contemporary software design methodologies and programming techniques.
Working experience in Hardware & Software integration.
Strong written and verbal communication skills
Excellent team player, responsive and accountable
Self-starter. Willing and able to quickly learn recent applications and technologies
Experience in international collaboration (US, Europe, Malaysia)
Preferred candidate profile
Experience with T&M; instruments like Oscilloscope
Experience with analog and digital circuits
MS Visual Studio and VisualGDB experience
Embedded Linux experience (Basic shell command)
Experience of working with micro controllers
Worked with Common Communication protocols: I2C, UART, SPI, Ethernet
Experience with Version Control tool (Git) and working with CI/CD pipelines (Jenkins)
Experience with QT or other widget toolkits for GUIs
Atlassian tool experience bitbucket, Confluence, Jira
Basic knowledge in C# and .Net framework
Experience programming hardware devices over a peripheral interface
Test driven development experience
Scrum agile software development process background
Knowledge of performance profiling tools (e.g., Valgrind, gprof, or perf).