Senior Manager - Riyadh, المملكة العربية السعودية - Publicis Sapient

    Publicis Sapient
    Publicis Sapient Riyadh, المملكة العربية السعودية

    منذ 3 أسابيع

    Default job background
    دوام كامل

    Job Description

    As a Senior Experience Technologist, you'll be leading & 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:

  • Work closely with client stakeholders and other backend architects to define and design end to end the frontend architecture of the application. Collaboratively deciding on the Frameworks and tools, deployment strategy, devops pipelines, quality gates, defining Non-Functional Requirements, defining Automated Testing solutions.
  • 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 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 / / Gitlab).
  • Support in growing and upskilling the team.
  • Qualifications

  • Excellent hands-on knowledge of JS frameworks like React, Angular or similar.
  • Excellent hands-on knowledge with TypeScript, Node, Express, or similar serverside JavaScript tools.
  • Hands-on experience with GraphQL is a big plus.
  • Knowledge of Kubernetes configurations, Cloud technologies, Web & Application server setup, and setting up of DevOps Pipelines.
  • Hands-on experience with Functional Programming (FP)
  • Hands-on experience working with Object Oriented JavaScript (OOJS), JavaScript - and practical uses in building complex interactive experiences, primarily with ECMAScript 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 and or Microfrontends.
  • Solid understanding of , its core principles - lifecycle methods, virtual DOM etc.
  • Understanding of one-way data flow and the Flux architecture.
  • Experience of implementing Security features in frontend applications, which includes adding the right security headers, CSP policies, protection against XSS click jacking etc.
  • 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 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.
  • Hands-on experience working with server-side JavaScript frameworks like Express, Koa, Hapi etc. (based on ) for server-side rendering and building APIs
  • Good understanding of REST APIs and Microservices. Should have an understanding of how resources are organized and how applications 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.
  • API Contract design. Domain Models
  • Logically understands relational databases like MySQL and non-relational databases like MongoDB, Firebase or Redis.
  • 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.