About the Role
Are you passionate about crafting and building large scale distributed systems? Does innovative technology rock your world? Are you curious about distributed transaction processing, in-memory object graphs, large scale resource fairness and interested in developing compute frameworks that scale to the biggest enterprises in the world?
Responsibilities:
1. Work primarily on backend frameworks applying your concurrent programming experience; collaborate with peers on technical design, work estimates and implementation of new features.
2. Collaborate with architects, principal engineers and technical product managers to analyse functional requirements, devise architecture designs for highly performant distributed systems that meet high availability requirements (99.999% uptime).
3. Craft and develop prototypes and features in Agile Methodology. Breakdown efforts into tasks and spikes. Highlight intra and inter-team dependencies. Prioritise incoming issues vs work you're doing to help insure the successful conclusion of the sprint planning objectives.
4. Work with extended teams to insure a smooth rollout of functionality by coordinating with other product teams (infrastructure and applications), product management, QA engineering, operations and customer support, documentation/training and sales demo.
5. Perform peer code reviews as part of everyday workflow.
6. Contribute ideas for continually improving the team's efficiency, job enjoyment, and code quality.
7. Take the initiative to research new frameworks, tools, and libraries to remain abreast of current and emerging technologies. Propose and complete mini-research/prototype projects that introduce an innovative solution to new or existing problem.
8. Be an enthusiast of our technologies and products. Communicate across multiple teams to showcase new features and functionalities.
9. Actively mentor junior developers to enhance their technical expertise and grow the team.
About You
You:
10. You have a passion for distributed systems and relish delivering them at cloud scale
11. You love to address problems with code and prove it through automated tests
12. You have crafted, built, tested, owned and supervised a service in production.
13. You strive to understand the big picture and given the choice, you would prefer to collaborate with product owners, architects, quality assurance and infrastructure than to go it alone
14. You are continuously growing your skills
Basic Qualifications
15. 5+ years of software engineering experience utilising Java.
Other Qualifications
16. Java
17. Track record of test driven development & automated system testing.
18. Commercial experience with distributed, concurrent, high-performance systems
19. Interest or experience in one or more of the following is helpful: MySQL, Redis, Kafka
20. Unix or Linux experience