Site Reliability Engineer (UK)
We're a dynamic technology company with amazing offices in Jakarta, Singapore, London, Bangkok and Sydney; serving our customers worldwide. We’re expanding fast and are looking for a Site Reliability Engineer to join our growing team in the UK.
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.
What Will You Do:
The primary focus of the role will be ensuring the stability and uninterrupted operation of our cloud software.
You’ll be working with a variety of cloud products, programming languages, paradigms, platforms, frameworks, and methodologies, including non-abstract large system design, 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:
- The healthy operations of software our clients use on tens of thousands of machines worldwide
- Building cloud systems that can handle millions of concurrent requests
- 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 and SRE techniques
- Staying on the leading edge of engineering practicesContributing to information security controls.
What You Will Need To Do/Know:
- Experience in software engineering and modern programming techniques and paradigms as well as the ability to apply them to complex software products
- Experience with POSIX as both a development and deployment environment
- Understanding of good engineering practices, such as holistic change analysis, learning from failures, 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:
- Serverless technologies
- Infrastructure as code
- Python, Java, Ruby, C#, C, or Bash
- An understanding of machine learning solutions
- Test-driven development
- Continuous integration
- Confident command of SQL including handling complex data structures and funnels
- Experience using distributed version-control systems