高级后端工程师
Senior Backend Engineer
职位描述
在这个职位中,你将负责在分布式部署环境中开发微服务,重点在于使用Docker和K8S进行容器化。你不会只是编写简单的CRUD应用,而是会参与复杂系统的核心逻辑开发,这些系统每天被访问数百万次。我们大约三年前从零开始构建了系统,因此你将使用最新的技术,无需担心几十年前的遗留代码。愿意使用Springboot是可以接受的——只要你有意愿学习,并且在面向对象编程语言方面有可证明的经验。
我们的技术栈(不要求你全部掌握)
- 语言:Java 17
- 框架:Spring Boot(Tomcat, Netty)、Spring Data、Spring Cloud
- 架构:微服务、REST API、消息队列
- 数据库:MySQL、MyBatis、ShardingSphere、MongoDB
- 缓存:Redis(AWS ElastiCache)、ElasticSearch
- 消息队列:RocketMQ
- 云平台:Docker、Kubernetes、AWS
- 监控:Grafana、Prometheus、Loki、Tempo、AWS CloudWatch
你将负责的工作
- 开发可扩展的移动互联网后端,支持数百万用户
- 与产品负责人和其他开发团队成员合作,确定新功能和用户故事,用于新/修改的应用程序或大型/复杂开发项目
- 参与同行和经理的代码评审,确保每次迭代都符合用户故事中描述的原始愿景,以及所有标准资源库和架构模式
- 响应生产环境中的支持呼叫,快速诊断和修复问题,确保用户体验顺畅
- 参与所有团队仪式,包括计划、梳理、产品演示和团队回顾
- 指导经验较少的团队成员
- 根据团队和任职时间,可能需要承担值班责任
你将带来的能力
- 至少6年以上相关岗位经验
- 优先具备Spring Boot、Spring Cloud、Spring Data和iBATIS的经验
- 在可扩展的Web后端方面有丰富经验
- 有设计高事务性系统的经验
- 在面向对象设计(OOD)和分析方面有高级技能
- 在应用分析/设计工程功能方面有高级技能
- 在应用非功能性软件质量(如弹性与可维护性)方面有高级技能
- 在现代行为驱动测试技术方面有高级技能
查看英文原文
About the role
In this role, you’ll be responsible for developing microservices in a distributed deployment environment with an emphasis on containerisation with Docker and K8S. You won’t just be writing simple CRUD applications, but instead will be working on the core logic of complex systems that are accessed millions of times a day. We wrote our system from scratch about 3 years ago, so you’ll be working with the latest technology and won’t have to worry about decades old legacy code.A willingness to work in Springboot is fine - as long as you are willing to learn and have demonstrable experience in an object-oriented programming language.
Our Stack (we don't expect you to have all of these)
- Language: Java 17Frameworks: Spring Boot (Tomcat, Netty), Spring Data, Spring Cloud
- Architecture: Microservices, REST API, Message Queues
- Database: MySQL, MyBatis, ShardingSphere, MongoDB
- Caching: Redis (AWS ElastiCache), ElasticSearch
- Message Queue: RocketMQCloud: Docker, Kubernetes, AWS
- Monitoring: Grafana, Prometheus, Loki, Tempo, AWS CloudWatch
What you'll be doing
- Develop highly-scalable mobile internet backends for millions of users
- Work with Product Owners and other development team members to determine new features and user stories needed in new / revised applications or large/complex development projects
- Participate in code reviews with peers and managers to ensure that each increment adheres to original vision as described in the user story and all standard resource libraries and architecture patterns as appropriateRespond to support calls for applications in production for quick diagnosis and repair to keep things running smoothly for users
- Participate in all team ceremonies including planning, grooming, product demonstration and team retrospectivesMentoring less experienced team members
- Potential On-Call responsibilities depending on team and tenure
What you'll bring
- Minimum of 6+ Years within a relevant rolePreferred experience in Spring Boot, Spring Cloud, Spring Data and iBATIS
- Strong experience with highly-scalable web backends
- Experience designing highly transactional systems
- Advanced proficiency in Object Oriented Design (OOD) and analysis
- Advanced proficiency in application of analysis / design engineering functionsAdvanced proficiency in application of non-functional software qualities such as resiliency and maintainability
- Advanced proficiency in modern behavior-driven testing techniquesDeep understanding of Microservices
- Proficient in SQLExpert knowledge of application development with technologies like RabbitMQ, MySQL, Redis etc
- Strong experience with container and cloud solutions such as Docker, Kubernetes and AWS Cloud
- An ability to work independently
- Excellent communication skills in English
What’s in it for you
- Sporty is a remote first company in pursuit of sustainability
- A competitive salary + individual performance based bonuses every quarter
- 28 days paid annual leave
- Our core working hours are 10am-3pm in your local time zone with flexibility outside of this
- Referral bonuses & flash bonuses
- Top of the line equipment
- Annual company retreats to provide great internal networking opportunities
Interview Process
- Remote video screening with our Talent Acquisition Team
- Offline Take home assignment
- Remote video interview with Team Members (60 Mins)
- Final discussion with the hiring manager (60 mins)
If you're interested, we encourage you to apply! Every application is reviewed by a member of our team (AI is not used in our recruitment process), and we aim to respond within 48 hours.