Front-End Developer (Javascript, React.JS, Next.JS and GraphQL)
Job Description
What are we looking for in you?
• Technical end-to-end design for stories by collaborating with business analyst/product owner, technical architect and clients
• Implement stories end-to-end, which includes Frontend, Backends for Frontend (BFF), Caching and also service orchestration in some cases) using best engineering practices like test-driven development, SOLID principles and consideration of non-functional requirements like performance, scalability, security or cloud readiness (as applicable) at the story level
• Automates testing at unit, module and integration level as needed using tools relevant for the platform (e.g. Jasmine, Jest, Karma, Webdriver.io etc.)
• Focus on quality by implementing best practices like logging, calling out technical debt, meeting KPIs using code quality tools like SonarQube, ESLint (customize and sync with Sonar), Stylelint/Sasslint and so on.
• Hands-on with automating redundant work, like common component structure, both in terms of scaffolding as well as using the right design patterns / creating abstractions.
• Mentor junior engineers in helping review code, guiding on technical decision making
Key Requirements:
• 4-9 years’ experience
• Hands-on knowledge of HTML5, CSS3, JavaScript
• Hands-on experience working with Object Oriented JavaScript (OOJS), JavaScript - and practical uses in building complex interactive experiences, primarily with ECMAScript 2015+. You should be up-to-date with new specifications (different stages), and also, using transpilers like Babel to use features from all stages
• Good understanding of creational and structural design patterns in JavaScript
• Experience working with Single Page Applications (SPA) with universal rendering capabilities.
• Good understanding of React.js, its core principles - lifecycle methods, virtual DOM etc. and at least 6 – 12 months hands-on experience with the same
• Understanding of one-way data flow and the Flux architecture.
• Understanding of stateful (container) vs stateless (presentational) components and how to break down the application page into components
• Core understanding of how React’s state management works out of the box.
• Understanding of different CSS architectures that go hand-in-hand with React.js application development. Pros and cons of component-level CSS vs global and where to apply each
• Thorough understanding of Webpack bundler (version 2+).
• Good understanding of the Web Components standard.
• Hands-on experience with building Progressive Web Apps (PWAs) on any framework.
• Hands-on experience with Frontend Performance Optimization – especially in a React application with respect to resource loading strategy, CPU/Memory profiling on the browser.
• Hands-on experience with test-driven development using Jest or equivalent. Familiar with snapshot testing, code coverage. Experience working with utilities like Enzyme
• Experience using fluid grids, and building responsive/adaptive websites using Bootstrap etc.
• Understanding of SEO and accessibility and making it part of the development workflow
• Moderate to Strong graphics manipulation/optimization skills using Photoshop is a plus.
