Key Responsibilities:
- The ideal candidate will be integral in driving the design and implementation of low-latency, high-availability, and performant applications.
- Design, build, and maintain efficient, reusable, and reliable Go code.
- Ensure the best possible performance, quality, and responsiveness of applications.
- Develop Go packages and programs that are scalable and maintainable.
- Integrate user-facing elements with server-side logic.
- Integrate applications with various data storage solutions, including relational databases and NoSQL databases.
- Benchmark applications and optimize for maximum speed and scalability.
- Identify bottlenecks and bugs and devise solutions to address and mitigate these problems.
- Write clean, maintainable, and testable code.
- Implement unit, integration, and end-to-end tests to ensure application robustness and reliability.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Conduct regular code reviews and ensure high code quality standards are upheld.
- Produce detailed documentation pertaining to the software's design, codebase, and user guide.
- Keep up-to-date with Go's latest documentation and features.
- Constantly research and adopt new techniques and technologies that enhance the application's functionality, user experience, and performance.
- Ensure that all system changes are in compliance with industry best practices and standards.
Skills and Attributes for Success:
- Developers with a strong grasp on REST API concepts.
- Quick learners with strong technical problem-solving capabilities.
- Strong understanding of relational (SQL) versus document (NoSQL) data models.
- Familiarity with common Go routine and channel patterns.
- Experience designing and building distributed systems at scale
- Strong understanding of storage systems, query performance, and caching strategiesHands-on experience with cloud platforms (AWS preferred), messaging systems (Kafka), and CI/CD pipelines
- Proven ability to work autonomously, prioritize tasks, and manage delivery timelines in fast-paced environments
- You are passionate about growing engineers and leading by example
Preferred Education and Experience:
- Bachelor’s or Master’s degree in Computer Science or a related field.
- 6 plus years of experience in backend development, with a focus on building production-grade systems.