Bengaluru, Karnataka, India
12 hours ago
Software Development Engineer 2 (SDE-2)

Company Description

Publicis Sapient is a digital transformation partner helping established organizations get to their future, digitally-enabled state, both in the way they work and the way they serve their customers. We help unlock value through a start-up mindset and modern methods, fusing strategy, consulting, and customer experience with agile engineering and problem-solving creativity. United by our core values and our purpose of helping people thrive in the brave pursuit of the next, our 20,000+ people in 53 offices around the world combine experience across technology, data sciences, consulting and customer obsession to accelerate our clients’ businesses through designing the products and services their customers truly value.

Job Description

We at Publicis Sapient, enable our clients to Thrive in Next and to create business value through expert strategies, customer-centric experience design, and world class product engineering. The future of business is disruptive; transformative; and becoming digital to the core.In our 20 + years in IT, never have we seen such a dire need for transformation in every major industry, from financial services to automotive, consumer products, retail, energy, and travel.

Your Impact:

You will work in the spirit of agile & a product engineering mindset - delivering the sprint outcomes, iteratively & incrementally, following the agile ceremoniesYou will groom the stories functionally & help define the acceptance criteria (Functional & Non-Functional/NFRs) collaborating actively with stakeholders - locally & in client org., understanding end-to-end customer requirementsYou will actively contribute in technical grooming, brainstorming & whiteboarding design sessions to define & articulate the solution approaches, to identify tasks & estimates, and to document the module/sub-system design with their interfaces & wireframesYou will have breadth of concepts, tools & technologies to address NFRs like security, performance, reliability, maintainability and understand the need for trade-offsYou will bring in expertise to optimize and make the relevant design decisions (considering trade-offs) at the module / components level

You will be a polyglot with a PE mindset – Open & Curious, learning & adopting new languages, platforms & toolkits constantly

#LI-REMOTE

Qualifications

Your Skills & Experience:

You have 8+ years of professional work experience building large-scale, large-volume services & distributed apps., taking them through production and post-production life cyclesYou create POCs on new technologies, building quick and usable solutionsYou use more than one programming language with deep expertise in language features, concepts, and protocols; Ex:Memory Management, GC, Templates/Generics, Closures, etc.Multi-Threading, Sync/A-Sync.; Blocking/Non-Blocking execution stylesLambdas, Streams, Performance Tuning, NIO, HTTP2, Websockets, gRPC, ProtoBufYou practice Imperative, Functional Programming stylesYou work with Cloud Platforms like AWS, GCP, Azure, etc.You are aware of API gateways and Management ToolsYou are aware of GraphQL, Aggregate services, API Composition, SAGA patternYou are aware and familiar with reactive programming, observables (e.g. Spring Reactor/RX Java), Actor models, Akka, Play, etc.You are a problem solver - choosing the relevant data structures, and algorithms considering the tools for Time & Space ComplexityYou help in relevant technology & tools selection, build/buy decisions to solve the business problemsYou are an expert at reviewing & guiding the adoption of SOLID, DRY design principles, design patterns & Clean CodeYou are an expert at String Manipulation, Data/Time Arithmetic, Collections & GenericsYou practice & guide on handling failures à Error Management & Exception handlingYou build reliable, scalable & high-performance apps, and services leveraging relevant architectural styles and patterns like Event Sourcing, CEP, Restful APIs, CQRS, etc.You develop web apps using HTML, CSS, Java script & relevant frameworks (Angular, React, Vue)You design and build microservices from grounds up applying DDD, Bounded Contexts; Considering multiple perspectives and tradeoffs to meet the NFRsYou define solutions to scale up/scale out/Auto Scale as relevant, with robustness and resilience, applying patterns like circuit breakers & backpropagationYou understand the CAP theorem and work with multiple databases (RDBMS or NoSQL)You deploy to production, troubleshoot problems & provide live supportYou practice and ensure coverage of security aspects & compliance to data, code & application security policies; You write secure code to prevent known vulnerabilities; You understand HTTPS/TLS, Symmetric/Asymmetric Cryptography, Certificates, SAML, Vaults, Key rotation, OAuth, JWT, MFA, DDOS, etc.You are an expert & advocate the use of the relevant Web Application FrameworksSpring or Spring Boot or Micronaut (Java)Flask or Django (Python)Express or Meteor or Koa (Node)Asp.net MVC, WebApi or Nancy (.Net)You use one or more messaging platforms (e.g. JMS/RabbitMQ/Kafka/Tibco/Camel)You use Mocks & Stubs & related frameworks (Moq, Mockito, JMock, etc.)You use logging frameworks like Log4j, NLog, etc.You use build tools like MSBuild, Maven, Gradle, Gulp, etc.You use containers, virtualization (Docker, Vagrant)You use proactive monitoring & alerting, dashboardsYou use Logging/Monitoring solutions (Splunk, ELK, Grafana)You practice & ensure infra. as code (cattle over pets) using tools like Terraform, cloud-formation, ansible, etc.You are able to set up a CI/CD pipeline infrastructure & stack from grounds-up (Jenkins, Bamboo)You are able to articulate the pros, con’s of designs & tradeoffsYou use distributed tracing apps/platforms, debug and troubleshoot with relevant toolsYou practice distributed cloud design patterns & architectural stylesYou use load-balancers, CDNs, Edge caching, reverse proxiesYou use performance testing tools like JMeter, GatlingYou use search solutions like Elastic Search, SOLR, EndecaYou use distributed caching solutions like Redis, Memcache, etc.You use selenium for UI automation

Set Yourself Apart With:

You are aware of K8S, Container Orchestration, Mesos, Consensus algorithms like PAXOSYou use sidecars, service mesh along with microservicesYou use gherkin and cucumber for BDD automationYou use rules engines like Drools, Easy Rules etc.

A Tip from the Hiring Manager:

Software Development Engineers (SDE-II) are bright, talented and motivated young minds with strong technical skills, developing software applications and services that make life easier for customers.
The SDE-II is expected to work with an agile team to develop, test, and maintain digital business applications.
As an SDE-II you will get an opportunity to work with industry leading clients and global teams to solve complex business problems and build your skills on the full stack of application development technologies

Education:

Bachelor’s/Master’s Degree in Computer Engineering, Computer Science, or a related field

Additional InformationGender Neutral Policy18 paid holidays throughout the year.Generous parental leave and new parent transition programFlexible work arrangements Employee Assistance Programs to help you in wellness and well being
Confirm your E-mail: Send Email