Work with product owners, engineering managers, user interface designers and other software engineers to write technical documents that identify software project requirements Write well-formulated, testable and readable code using appropriate software design patterns Design, build and maintain APIs, microservices and data pipelines Design, normalise and optimise relational databases Write complex SQL queries to get data from the database Optimise APIs and database queries to improve speed of execution Participate in code reviews Debug and fix bugs across our applications Review, maintain and refactor existing code to meet the requirements for improved or new features Write technical documentation of code, algorithms and APIs Help in drafting of end-user manuals