About the Role
This is an individual contributor technologist position and will involve contributing to a highly scaleable and fault tolerant solutions and technologies. The team is a fast-paced Agile software development team focused on producing scalable and high-quality enterprise solutions.
What you’ll do
Develop and deploy high-volume distributed and scalable applications in Java while maintaining the project schedule. This is the primary objective.
Conceptualize, design, develop, debug, provide effort estimation and risk analysis of a project/feature/service.
Participate in design, architecture and standardization efforts influencing product or service
Work very closely with Product management for defining the Requirements/Road map.
Take end-to-end ownership of various technical aspects of product/service and be responsible for its success and failure. This may involve coordinating with various internal and external teams/stakeholders.
Work well in a high performing team with agile development approaches and technology
Translate high level requirements to actionable tasks/deliverables
Work multi-functionally with various teams including: site reliability engineers, project managers, product managers, and other teams
Be nice: Treat others well, be transparent, and seek compromise
Okay with not being the smartest person in the room: Asking questions and being wrong is how we learn
Not okay with gaps in knowledge: Strong ability to “dig in” and investigate, research, or read code to find out what is going on and get the right answer
Get stuff done well: Willing to work fast without compromising on the quality of the work
What you need to succeed
4+ years of object oriented programming experience with Java
Design, implement, and deploy high-performance, custom applications at scale.
Hands on with any object-oriented language (Preferably Java)
Excellent individual contributor who can step up in the shoes of lead if required
End to end ownership of the module
Strong and proven expertise in full stack development with 5+ years experience in a product development.
B.S. or higher in Computer Science plus 4 years relevant work experience
Working knowledge of distributed computing principles
Industry experience with Linux
Practical experience in writing efficient and performant java
Expert in multi-threading and data structures
Working knowledge of software engineering standard methodologies (e.g. code reviews, unit testing / integration testing, design documentation)
Experience with Jenkins, Maven, Gradle or build tools
Working knowledge of MySQL