Staff Software Engineer-Java
Staff Software Engineer-Java
Posted 6 days ago
SENIORITY
Lead
About the role
- Work with the team to help solve business problems
- Write high-quality distributed system software
- Work closely with architects and technical product managers to translate overall system architecture and product requirements into well-designed and implemented software components.
- Take ownership of the implementation of individual software components, with high emphasis on quality, test-driven development, and sound software engineering practices
- Participate in software design reviews, you conduct peer code reviews, and provide input and feedback to other members of the development team.
- Design, implement, test, deploy and maintain innovative software solutions to transform service performance, durability, cost, and security.
- Use software engineering best practices to ensure a high standard of quality for all the team deliverables.
- 10+ years of experience including 3+ experience with big data systems, analytics, containerized microservices, serverless functions, and event-driven architecture.
- Master’s or PhD degree in Computer Science, Computer Engineering, or related field
- Experience with design/architecting large-scale distributed systems preferably using AWS technologies.
- Strong Experience in building reactive systems using Spring Cloud and WebFlux.
- Experience in using data storage systems like Deltalake.
- Thorough understanding/working knowledge of CI/CD systems using Jenkins and integration with source control systems like github/gitlab
- Experience using industry standard messaging systems like Kafka/RabbitMQStrong experience using NoSQL databases like MongoDB, Cassandra
- Experience using spark and spark SQL.2+ years working directly with end customers to assess needs, identify solutions, and constructively resolve disagreements.
- Bring fresh ideas from all areas, including testing and validation automation while maintaining the production availability, conversion automation, distributed computing, large-scale system design.
- Experience with supporting production software deployments
- Technical expertise across all deployment models on public cloud, and on-premises infrastructure
- Experience creating, documenting, and communicating software architectures for complex products.
- Experience in building, tracking, and communicating plans within Agile processes.
- Excellent technical problem-solving skills and aptitude to learn new technologies and methodologies.
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
