About the role
As an SDE II, you'll design, develop, deploy, and maintain software features for backend applications. Reporting to the Engineering Manager, you'll be a key member of the Product and Tech Team, focusing on delivering moderate-complexity features throughout the Software Development Lifecycle (SDLC).
Responsibilities:
- Design, develop, and deliver well-defined backend features in alignment with technical specifications and business requirements.
- Debug, troubleshoot, and resolve issues across development, testing, and production environments.
- Write high-quality, scalable, maintainable, and reusable code following engineering best practices.
- Participate in technical discussions, contribute to design decisions, and drive the RFC process where required.
- Take ownership as the initial on-call responder for managed applications and help ensure system reliability and availability.
- Mentor junior engineers and support knowledge sharing within the team.
- Contribute to technical hiring, interviews, and team-building initiatives.
- Collaborate closely with cross-functional teams and engineering stakeholders to deliver solutions effectively.
- Contribute to continuous improvement of engineering processes, development practices, and team standards.
- Support the onboarding and technical enablement of new team members.
- Leverage AI-assisted development tools such as Kiro, GitHub Copilot, and similar AI tools to improve developer productivity, code quality, troubleshooting, and engineering workflows.
- Stay updated with emerging AI capabilities and identify opportunities to responsibly integrate AI into software development and delivery processes.
Requirements:
- You can demonstrate clean coding practices and industry-leading technologies.
- Proficient in automation, process optimization, and troubleshooting production issues.
- Have a proactive approach to mentoring and contributing to team dynamics.
- Expertise in Java, including modern features and frameworks.
- Strong skills in problem-solving within distributed architectures and object-oriented design.
- Proficient in algorithms, data structures, and software development principles.
- Experience with database concepts (SQL, indexing, migrations) and API integration.
- Skilled in application monitoring, logging, version control, and testing.
- Knowledge of continuous integration/deployment, containers (Docker/Kubernetes), and secure coding practices.
- Familiar with microservices, event-driven architectures, and agile development principles.