Software Engineer
About this position
Responsibilities
• Lead collaborations with cross-functional teams to deliver high-quality, scalable, and efficient software that is testable and reusable.
• Design and develop robust backend systems to enhance web and mobile application capabilities.
• Continuously improve system performance and scalability while enabling easier maintenance and supporting active user growth.
• Utilize and mentor others in using a wide range of technologies and tools, including JavaScript, TypeScript, gRPC, Node.js, Redis, Docker, Kubernetes, RabbitMQ, Kafka, Git, GitFlow, CI/CD pipelines, Grafana, and Google Cloud Platform (GCP).
• Design and optimize relational databases (e.g., PostgreSQL) and non-relational databases (e.g., Firebase Realtime Database, MongoDB) for performance and scalability.
• Refactor and enhance existing codebases with a focus on best practices and ensuring libraries are up to date.
• Solve complex technical challenges, such as scaling systems, addressing floating-point accuracy, and handling external system failures.
• Provide technical guidance, code reviews, and mentorship to junior team members.
Requirements
• Extensive experience with APIs and microservice architectures.
• Expertise in Node.js, Next.js, and React development.
• Deep understanding of GitFlow and its application in managing version control.
• Proven track record of solving complex technical issues and improving system scalability.
• Leadership skills and the ability to mentor and guide junior engineers.
• A proactive attitude towards innovation and continuous improvement.
• Strong problem-solving skills and a passion for building scalable, reliable systems.