About the job
As a Lead Experience Engineer, you’ll be working as part of an agile team with other passionate, driven, and talented people, creating innovative solutions for our clients. Your primary responsibilities will include developing interactive web-based, mobile, and/or desktop applications using Sapient as well as industry best practices to deliver high value and quality to Publicis Sapient clients.
Your Impact:.
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 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
Qualifications
Your Skills & Experience:
6 to 10 years of Experience in FrontEnd Technologies
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, 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, and its core principles - lifecycle methods, virtual DOM, etc.
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, and CPU/Memory profiling on the browser.
Hands-on experience with test-driven development using Jest or equivalent. Familiar with snapshot testing, and code coverage. Experience working with utilities like Enzyme
Experience using fluid grids, and building responsive/adaptive websites using Bootstrap, etc.
Understanding SEO and accessibility and making it part of the development workflow
Set Yourself Apart With:
Logically understands relational databases like MySQL and non-relational databases like MongoDB and can manage to work with it.
Hands-on experience with GraphQL.
Hands-on experience working with client-side templating languages like Handlebars, Mustache, etc.
Hands-on experience with Functional Programming (FP)
Hands-on experience working with frontend build systems and automating the same using any task runner
Understanding of hybrid vs native mobile apps – and pros/cons with respect to PWA.
Hands-on experience working with server-side JavaScript frameworks like Express, Koa, Hapi etc. (based on Node.js
Good understanding of REST APIs and Microservices. Should have an understanding of how resources are organized and how an application should align based on the same. You are expected to have an understanding of how CRUD operations map to HTTP methods for a well-designed service.
Hands-on with DevOps pipeline and able to tweak/change build/deployment pipeline as needed in the context of a module (e.g. Jenkins / Travis / Now.sh / Gitlab)
Experience with configuring Webpack from scratch and working knowhow of Rollup / Parcel.
Any Graduate