Overview

Our client is seeking a developer with at least 2 years experience in building large applications with JavaScript and React who is initially responsible for designing and building efficient JavaScript React UI components and applications and eventually for learning to implement solutions across the entire technology stack ranging anywhere from the UI to back-end services, database design and cloud deployment. 

Responsibilities:

Contribute to the team by employing best practices, design to build, and maintain efficient, reusable, and reliable source code utilizing a broad platform of technologies within a cloud native development environment

• Provide expertise on user interface architecture, best practices and design patterns for designing and building components and applications.

• Significantly contribute to software design and architecture, develop both new applications and improve existing ones in performance, capability, and reliability.

• Apply critical thinking, problem solving and an emphasis to building quality software.

• Participation in a paired Agile programming environment where the development deliverable is an ecommerce solution.

• Collaborate with the Product Owner, team lead and other team members to interpret feature requests and develop pragmatic and effective technical solutions in iterative design/build/test cycles using an Agile development process.

• Participate in requirements gathering sessions to review what will be developed and to produce detailed technical designs.

• Proactively seek opportunities to implement improvements to internal team processes and contributes to an atmosphere of cross-functional teamwork within the Agile project lifecycle.

• Perform code reviews in a pull request process to further software quality and provide feedback to other team members.

• Develops and suggests alternative approaches to resolving problems and assists in resolving production support problems.

• Embrace change in a dynamic environment that is tool agnostic. Be flexible enough to use the tool that will best fit the requirement.

• Work with and mentor junior team members to identify areas of improvement in both hard-technical skills and soft skills. Required Skills:

• High level of experience and proficiency in building large applications with JavaScript and React.

• Experience with applying theming to UI components and applications.

• Experience with build and package management for JavaScript applications using technologies such as Yarn, Node.js and Webpack.

• Experience with JavaScript unit testing (Jest).

• Experience with consuming data from APIs in JavaScript.

• Solid understanding of browser security, cookies and reverse-proxies.

• Proficient understanding of source code versioning tools.

• Experience mentoring engineers in coding practices and process.

• Experience working with Agile Scrum team process, collaborating closely with fellow developers, QA, team leads, and stakeholders.

• Experience troubleshooting and supporting software applications.

Great to Have Skills:

• Proficiency in Java and its ecosystems.

• Proficiency in Spring Framework, Spring Boot and its ecosystems.

• Experience with building and deploying 12 factor, cloud native applications.

• Experience with Google Cloud Platform.

• Understanding of object-oriented programming.

• Understanding of back-end architecture, REST APIs, queues, databases, micro services.

• Experience building and consuming REST based web services.

• Familiarity with various software design patterns.

• Familiarity with Postgres, MySQL, MongoDB, or MS SQL Server.

• Fundamental understanding of DB design and normalization.

• Experience with or a solid understanding of Docker, Kubernetes, or similar container and related technologies highly preferred.

• Ability to create database schemas that represent and support business processes.

• Proficient understanding of source code versioning tools.

• Experience mentoring engineers in coding practices and process.

• Experience working with Agile Scrum team process, collaborating closely with fellow developers, DBAs, QA, team leads, and stakeholders.

• Experience troubleshooting and supporting software applications.