Deputy

Senior Software Engineer

Job Description

We are seeking a Senior Software Engineer to work closely with peers across engineering, product, design and leadership to build high-quality products and features for the Deputy platform, delivering services to millions of users and businesses ranging from small and medium organisations to enterprise customers.

This role can be worked predominantly remotely, however, you must be able to attend the office when required and support site visits as part of the role.


About the role:
  • Working independently to solve complex, highly ambiguous customer facing problems.
  • Scope, specify, design, implement and deliver software solutions, applying modern industry best practices to deliver resilient, high performance, high-quality, and scalable systems and applications.
  • Own the quality of your work by thoroughly testing your solutions, including writing automated tests.
  • Collaborate with the engineering and cross-functional stakeholders to determine requirements and deliver complex problems.
  • Write simple, efficient, self-documented modular high-quality code that follows best practices.
  • Investigate debug and solve issues within a bounded context.
  • Provide coaching to junior team members across the entire SDLC.
  • Engage in technical discussion of solutions and process improvement through documentation, design reviews, pair programming, code review and technology discussions

  • About you:
  • You are a skilful engineer with high standards and a passion for quality backed by 3+ years of related work experience.
  • You are customer obsessed, always working to deliver solutions that give the best possible experience for customers.
  • You show a bias for action, and have a demonstrated track record of delivering high quality, scalable, and fault tolerant software systems.
  • You have strong computer science fundamentals: algorithms and data structures.
  • You are programming language agnostic, but have some experience in Golang, PHP, Javascript.
  • You have expertise in API design (REST & RPC)  and its frameworks. Including using protobuf, gRPC, OpenAPI
  • Experience with building service oriented architecture, microservices, and modern techniques and tools around it. Including using Docker, ECS, Lambda, SQS, Kinesis, etc
  • Experience in a few persistence, storage and caching mechanisms. Including MySQL, Redis, DynamoDB, S3, etc
  • You have experience embedding 3rd party software solutions into other platforms, providing a seamless experience for users. 
  • You build systems that include appropriate monitoring and observability; employing  modern best practices for fault tolerance including but not