Senior Software Engineer - Java
wbd
Job Description
- Has a track record of having built multiple high-performance, stable, scalable systems that have been successfully shipped to customers in production.
- Drives best practices and sets standards for the team.
- Is a key influencer in the team’s strategy and contributes significantly to the team planning.
- Shows good judgment making trade-offs between immediate and long-term business needs.
- Is a result-driven creative thinker who drives innovation and produces delightful experiences for our customers.
- Is an advocate for data-driven decision-making, has an insatiable curiosity, and loves to invent and innovate to solve difficult problems.
- Has a strong point of view but remains open-minded.
- Takes ownership of their work and consistently delivers results in a fast-paced environment.
- You are a collaborative leader that makes other engineers and team members around you more productive, by sharing your knowledge and helping to tie-break key technical decisions.
- You play a leading role in designing and developing major functional changes to existing software systems, or new ones, involving yourself and other engineers.
- You are a key influencer in your team’s strategy and contribute significantly to team planning.
- You show good judgement making trade-offs between immediate and long-term business needs.
- You troubleshoot a production issue by reviewing source code, logs, operational metrics, stack trace, etc. to pinpoint a specific problem and then resolve it. You identify root causes and identify learnings to improve both development processes and system design.
- Provide guidance on design, coding, and operational best practices.
- You propose and create best practices proactively where none exist.
- You make high-impact decisions driving how and what software gets built.
- You mentor junior engineers, overseeing their designs, code quality, and integration into a team.
- Your success is judged as much on your own productivity as on the positive impact you have on the engineers around you.
What to Bring:
- Proficient in Java version 17 & above , or other JVM languages with 5-8 years of total experience.
- Experience and deep understanding of Docker, Kubernetes, and AWS.
- Great understanding of distributed systems challenges, micro-service-based architectures, and asynchronized communication (e.g. using gRPC and Kafka).
- Ability to implement alerting, metrics, and logging using tools like Prometheus, CloudWatch, Kibana, PagerDuty.
- Practical knowledge of persistence and caching solutions such as PostgreSQL, Redis, ElasticSearch, Caffeine.
- Familiar with asynchronous, non-blocking, functional/reactive styles of programming. Hands-on experience with frameworks such as Spring WebFlux, Vert.x, Node.js.
What We Offer:
- A Great Place to work.
- Equal opportunity employer
- Fast track growth opportunities