As a Back End Engineer you are responsible for designing, developing, and maintaining the server-side components, APIs, and data architecture of our software applications. This role requires deep expertise in back-end technologies and the ability to build robust, scalable systems while collaborating effectively within an agile team environment. This position involves working closely with Engineering Managers, Product Managers, Front End Engineers, and other team members to implement features, improve system architecture, and ensure high-quality deliverables that meet both technical and business requirements.
The Back End Engineer will be part of a cross-functional squad and will contribute to technical decisions while maintaining high standards of code quality, performance, and security.
Learn more about our Tech Team through our Medium
Key Responsibilities
Technical Development
Design, develop, and maintain scalable back-end services and APIs
Build and optimize database schemas and data models
Write clean, maintainable, and well-tested code following team standards and best practices
Participate in code reviews and provide constructive feedback to team members
Debug production issues and implement robust solutions
Contribute to technical documentation and architecture decisions
Design and implement RESTful APIs and GraphQL endpoints
Optimize application performance, database queries, and system scalability
Implement caching strategies and asynchronous processing systems
Participate in agile ceremonies and technical planning sessions
Collaboration and Innovation
Actively participate within an autonomous mission team (PM, Designer, Engineering manager, Front End Engineers) to clarify priorities and user needs
Contribute to technical discussions and architecture decisions
Collaborate with front-end engineers to define API contracts and data structures
Participate in squad rituals and team meetings
Handle support requests and bug fixes within agreed SLAs
Quality & Best Practices
Write unit tests and integration tests following TDD principles
Collaborate with QA team to ensure comprehensive test coverage
Participate in pair programming sessions with team members
Monitor application performance, scalability, and implement improvements
Follow security best practices and address vulnerabilities proactively
Contribute to continuous integration and deployment processes
Implement logging, monitoring, and alerting systems
Ensure data integrity and implement backup strategies