EPOS Software Engineer
RemoteSingapore, Central Singapore, SingaporeSoftware Engineering
Job description
Overview
We work with engineers who take pride in their work and enjoy building novel systems and solving difficult problems. Our day-to-day development process includes test-driven development, pair programming, code reviews, continuous integration, and an automated workflow supported by the use of serverless computing, machine learning, bots, and yet-to-be-released tools. If you want a job that will let you iterate rapidly over interesting problem spaces and provides a modern and flexible work environment, then we’d love to hear from you.
Role - Software Engineer (EPOS)
The primary focus of the role will be the development of our proprietary point-of-sale data-capture software across desktop and mobile operating systems.
You’ll be working with a variety of programming languages, paradigms, platforms, frameworks, and methodologies, including machine learning, to accomplish solutions that precisely respond to our clients’ business needs.
You’ll also be encouraged to contribute to all other components of our proprietary data capture and sales growth and optimisation platform based on latest frameworks and cloud solutions comprising a broad spectrum of components, including system services, drivers, APIs, data analytics, and GUI.
Your key responsibilities will include:
Developing software our clients use on tens of thousands of machines worldwide
Creating solutions that you and yours can experience daily in the real world
Improving and introducing new processes to get things done efficiently
Devising and implementing automation strategies
Determining feasibility by evaluation, analysis, and requirement definition of proposed solutions
Continually enhancing our products and internal tools with code reviews, pair programming, investigation of problem areas, and other modern agile techniques
Staying on the leading edge of engineering practices
Contributing to information security controls
Job requirements
The right candidate will have:
Experience in software engineering and modern programming techniques and paradigms as well as the ability to apply them to complex software products
Understanding of good engineering practices, such as the single responsibility and inversion of control principles, test-driven development, code reviews, common design patterns and antipatterns, continuous integration, and system testing
Appreciation of the complexities of distributed systems, such as real-time synchronisation, serverless computing, and highly-available architectures
A pragmatic approach to refactoring code and migrating between various technologies, e.g. upgrading to a backwards-incompatible version of a widely-used library or changing the chief programming language.
Automation and optimisation mindsets
Excellent communication skills and the ability to collaborate with others across cultures, locations, and time zones
Experience with the following will be a plus
Experience with PoS software development
Experience with cross-platform software (Windows, Linux, Android and iOS)
Developing with Windows API
An understanding of machine learning solutions
Test-driven development
Continuous integration
C#, .NET, C
Experience using distributed version-control systems
We provide
A relaxed and informal work environment
Flexible hardware and software options
An opportunity to work with a global tech team (EU, Singapore, London, Jakarta, Bangkok and Sydney)
A culture that encourages autonomy, responsibility, and collaboration
About us
We are a retail technology business passionate about using data and automation at physical retail stores. We help local shops, national labels, and global brands operating in physical retail to build a better shopping experience using our unique technologies. Our retail growth platform enables retailers and brands to identify in-store shoppers, automate in-store marketing and leverage insights & predictions for data-driven growth.
or
All done!
Your application has been successfully submitted!