About the role
Responsibilities:
- You will play a pivotal role in architecting and building the core backend infrastructure for our SaaS products.
- You will lead and contribute to large-scale technical projects, ensuring the scalability, reliability, and performance of our systems.
- Design, architect, and build features end-to-end while working closely with Product Management, and our distributed Engineering team.
- Play a significant role in driving innovation, making critical architectural decisions, and leading the implementation of cutting-edge technologies.
- We encourage and support active participation in external technical forums, conferences, and open-source communities, allowing you to contribute to the broader tech community and stay at the forefront of industry trends.
- Mentor and coach team members by sharing your expertise, and promoting best practices within the team to foster a culture of continuous learning and growth.
- Use best practices of observability to ensure that the product and the platform have the best reliability and availability for our customers.
Requirements:
- Bachelor's degree in engineering with 6-8 years of experience building scalable backends for product/SaaS companies.
- At least 3 years of experience in Golang programming with a focus on microservices/distributed architecture.
- Practical experience in designing APIs with one or more frameworks (gRPC [preferred], ReST, GraphQL, Thrift, etc. ).
- Ability to build and design technical solutions from scratch and your code and documentation can be used as an example for coding best practices at Endor.
- Scalable Distributed System Experience - understand micro-services and domain-driven design, load balancing, horizontal/vertical scaling, and stateless architectures.
- Architecture - knowledge of data structures and a keen eye for building architectures that scale and extend easily for longevity.
- Apply data-driven techniques to evaluate and propose architectural choices.
- Ability to discuss tradeoffs between architecture's choice to influence groups to move in the right direction.
- Able to enjoy working in a fast-moving environment with evolving requirements.
- Ability to solve problems creatively and independently when in uncharted or unfamiliar territory.
- Practical experience in troubleshooting distributed systems and ability to solve root causes.