Responsibilities:
- Design, develop, and maintain high-quality, scalable, and reliable backend services and APIs for our banking platform, using Go, Temporal, and Encore.dev.
- Collaborate with cross-functional teams, including frontend developers, product managers, and designers to define, plan, and deliver new features and enhancements.
- Write clean, maintainable, and well-tested code, adhering to best practices and industry standards.
- Analyze and optimize performance bottlenecks, ensuring high availability and responsiveness of our services.
- Participate in code and design reviews, providing constructive feedback and promoting a culture of continuous improvement.
- Investigate and resolve technical issues, collaborating with other engineers to identify root causes and implement robust solutions.
- Stay up-to-date with the latest industry trends, emerging technologies, and best practices in the Go ecosystem, incorporating them into your work as appropriate.
- Mentor junior engineers, fostering their growth and contributing to a positive, inclusive, and collaborative team environment.
Requirements:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- 3+ years of experience in backend development, with a strong focus on Go (Golang) and a deep understanding of Go's best practices, common libraries, and frameworks or equivalent professional experience.
- Hands-on experience with Temporal and Encore.dev, with a solid understanding of their concepts and use cases.
- Proficient in RESTful API design and development, with a strong understanding of microservices architecture.
- Experience with database systems (SQL and NoSQL), data modeling, and schema design.
- Knowledge of software development best practices, such as Agile methodologies, code versioning (e.g., Git), continuous integration, and automated testing.
- Strong problem-solving skills, with the ability to learn and adapt quickly in a fast-paced environment.
- Excellent communication and collaboration skills, with the ability to work effectively in a team setting.
Nice-to-Haves:
- Experience in the fintech or banking industry.
- Familiarity with cloud technologies and platforms, such as AWS and GCP.
- Exposure to containerization and orchestration technologies, such as Docker and Kubernetes, and an interest in WebAssembly.