Senior Associate, Experience Technology (SA - XT)Job Summary
As a Senior Experience Technologist, 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 Sapient clients.
Our environment and culture foster growth and present exciting opportunities to hone your skills in the industries that we support, and in business problem solving. You will be responsible for software from idea to code to test to operations. You will make an impact on our clients directly through your work, and will see your ideas become reality. You will build your technical skills, expand your collaborative methods, and grow your leadership talent.Responsibilities Will Include Several Of The Following
- 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 story level
- Automated testing at unit, module and integration level as needed using tools relevant for 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 decisions
- Hands-on with devops pipeline and able to tweak/change build/deployment pipeline as needed in context of a module (e.g. Jenkins / Travis / Now.sh / Gitlab)
- Hands-on experience with Functional Programming (FP)
- Experience working with Single Page Applications (SPA) with universal rendering capabilities.
- Solid 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,
- React Hooks, Suspense, Memo etc.
- Core understanding of how React's state management works out of the box. Understanding of different libraries available to better manage application state like Redux/MobX. Difference in the way each library works (pure functions vs observables etc.) and the workflows as well as best practices
- Different middleware implementations available for async actions in Redux like redux-thunk, redux-saga, redux-observable etc. Hands-on experience with at least one
- 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. Experience with configuring Webpack from scratch is a plus. Experience with Rollup, Parcel is a plus.
- 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.
- Good understanding of REST APIs and Microservices. Should have understanding of how resources are organized and how application should align based on the same. You are expected to have understanding of how CRUD operations map to HTTP methods for a well-designed service.
- API Contract design. Domain Models
- Logically understands relational databases like MySQL and non-relational databases like MongoDB, Firebase or Redis.
- Hands-on experience with GraphQL is a big plus.
- Knowledge of Kuberneters configurations, Cloud technologies, Web & Application server setup is a plus
- Hands-on experience working with frontend build systems and automating the same using any task runner.
- Understanding of hybrid vs native mobile apps. Experience with implementation of mobile/hybrid frameworks/libraries like React Native, Ionic, Flutter is a plus.
- 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.
- Excellent speaking, writing skills for effective communication. Any demonstrated ability with blogs, speaking at conferences/meetups is a plus.
Learning is part of our DNA. As an organization, we promote self-learning and the continuous development of yourself and others. We offer plenty of opportunities to build critical core consulting skills and learn new technologies. In addition to that you will be given the chance to support the growth of others as part of your own journey by becoming part of our ever-growing learning ecosystem, in which everyone is both a producer and consumer of learning.Education
Bachelor- s/Master's Degree in Computer Engineering, Computer Science, or a related field, and/or equivalent military experience
As part of our dedication to an inclusive and diverse workforce, Publicis.Sapient is committed to Equal Employment Opportunity without regard for race, color, national origin, ethnicity, gender, protected veteran status, disability, sexual orientation, gender identity, or religion. We are also committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures.