Senior Full Stack Engineer
The Purpose of Your Role
The teams build APIs and digital capabilities that support large-scale digital presence. You will help design and develop reusable APIs that focus on customer experience needs and optimize quality and deployment practices. You'll work across the entire development lifecyclefrom concept to deploymentas a member of an agile, cross-functional team.
You will have the opportunity to share your technical knowledge to help strengthen the engineering community and further pursue your own learning of new technologies and platforms. We're looking for software engineers who enjoy a team-based environment and have a passion for releasing high-quality software through iterative development practices.
The Expertise we're Looking For- You have a passion for technology and can navigate your way across complex and rapidly-changing landscapes by staying on top of latest trends and thrive by sharing knowledge.
- Are a creator, a doer, and a disruptor who will help us solve real-life problems and meet real customer needs. You'll be helping us build things, taking an idea, and creating rapid prototypes that are shippable and learn from real-life feedback.
- Are a self-starter, who actively challenges status-quo, is curious and not afraid to ask "Why and "What if?
- Are experienced with the tools of the trade including a variety of modern programming languages and frameworks
- Understand cycle time priorities and use CI/CD practices, tools to rapidly deploy changes to customers while minimizing risk using practices like A/B tests, blue-green deployments, and feature toggles
- Stay on top of Algorithms, Data Structures and Design Patterns and love the challenge of building highly scalable systems that can support thousands of transactions/sec.
- Have a mindset of test first development and are experienced in modern test frameworks.
- Are data-driven and can measure, collect and use data to make decisions. We understand the value of intuition and the need to balance decisions accordingly.
- Have strong communication skills and technical expertise to drive and participate in lively discussions.
- 6-9 years of hands-on software development experience in Java Web services and API solutions.
- Hands-on experience with Service Oriented Architecture (SOA), building RESTful services, XML/JSON, and modern Application Servers.
- Proficient in Java, J2EE, Spring MVC, and Spring Core
- Deep understanding of API design, including versioning, isolation and micro-services.
- Experience in documenting APIs leveraging an API documentation framework (Swagger)
- Experience with DevOps, Continuous Integration and Delivery tools like Jenkins, Maven, Stash and Docker.
- Proven understanding of developing highly scalable distributed systems using Open-source technologies.
- Working knowledge of testing frameworks like Junit, Mockito, Spring Test.
- Experience in Agile methodologies (Kanban, SCRUM)
- Knowledge of cloud computing environments and applications (AWS, Azure).
- Knowledge of relational and NoSQL database management systems.
- Excellent collaboration skills to work with multiple teams in the organization globally.
- Strong team player and able to mentor junior team members.
