About the role
Responsibilities:
- Be a technical evangelist within the team you work with.
- Work in a highly collaborative environment, interacting closely with other software engineers, product managers, designers, and operations to identify opportunities and implement solutions.
- Hands-on development, including inception, design, execution, and delivery following good design, coding practices and engineering rigour.
- Obsessively focus on quality and production readiness for the team, including testing, monitoring, deployment, documentation, support and proactive troubleshooting of the deliverables owned and delivered.
- Identify risks and gaps in technical approaches and propose solutions to meet team and project goals.
- Create proposals and action plans to garner support across the department.
- Influence and contribute to the team's strategy and roadmap.
- Help grow other engineers technically by sharing, pairing, and developing other opportunities for education.
- Continuously rethink and reevaluate the status quo, even when it argues with your/our past ideas.
Requirements:
- 3-5 years of experience in backend software engineering, architecting and implementing robust, distributed web applications.
- Bachelor's degree in Computer Science, Computer Engineering or equivalent combination of education and experience.
- Track record of technical leadership for teams following software development best practices(e. g., SOLID, TDD, GRASP, YAGNI, etc. ).
- Track record of being ahands-on developer efficiently building technically sound systems.
- Experience building web services with Java and Springboot.
- Experience with Continuous Integration (CI/CD) practices and tools (Buildkite, Jenkins, etc. ).
- Experience architecting solutions leveraging distributed infrastructure (e. g., Docker, Kubernetes, etc. ).
- Experience with Microsoft SQL Server, Aerospike, Redis.
- Experience leveraging monitoring and logging technologies (e. g., Datadog, Elasticsearch, InfluxDB, etc. ).