We are seeking a strong individual contributor backend engineer with hands-on experience architecting and building large scale distributed web applications. You should be able to own the end-end architecture from front end to back end systems and guide the team on core technical design.
Responsibilities
- Collaborate closely with peers, Architects, Product Managers, Business Analysts, Quality Engineers, and Operations teams to develop innovative solutions that meet functional and non-functional standards and expectations.
- Be involved in development, testing, release, triage, bug fix, documentation and work in an Agile environment. Use of tools like JIRA, Git, CI/CD and other internal company tools on a regular basis to organize work and deliver features.
- Evaluate and define storage needs and make technology recommendations, define domain services and interface definitions and testing architecture.
- Design and build high-performing, reliable solutions for high-throughput, distributed systems using a variety of third-party and company internal libraries and frameworks.
- Participate in technical design and code reviews and provide feedback to other engineers on the team.
- Estimate engineering efforts, roadmap planning and be responsible for operational processes, such as automation and controls, to help with efficiency and quality of both manual and technical operations.
Requirements
- Bachelor's degree in Computer Science or related field plus 12+ years of experience in Java in building large-scale web based distributed systems.
- Thorough understanding in computer science fundamentals, data structures and algorithms and extensive experience in building highly available, scalable and robust applications.
- Excellent object oriented design and coding skills in Java or other OO languages, hands-on experience using unit/integration test frameworks like Karate to build fully automated software applications
- Solid understanding of relational and NoSQL databases, data storage/access patterns, caching techniques, messaging systems and asynchronous workflows
- Experience with bug triaging and debugging techniques, logging and monitoring systems, application and query performance tuning
- Good understanding of web services and SOA related standards like REST/OAuth/JSON
- Familiarity with front end technologies and patterns is desirable
- Excellent verbal and written communication skills