Software Development Engineer 3
- Full-time
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 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
Publicis Sapient is looking for a Software Development Engineers (SDE-III) to join our team of bright thinkers and doers. Software Development Engineers (SDE-III) are bright, talented and motivated young minds with strong technical skills, developing software applications and services that make life easier for customers.
The SDE-III is expected to work with multiple agile teams in one or more client accounts to develop, test, and maintain digital business applications.
As an SDE-III 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
Your Impact:
- You will work in the spirit of agile & a product engineering mindset - driving the sprint outcomes, iteratively & incrementally, following the agile ceremonies
- You will help define & prioritize Epics and Business Roadmap; Govern the Epics functionally & address both Functional & Non-Functional/NFRs collaborating actively with stakeholders - locally & in client org., shaping end-to-end customer requirements
- You will govern the technical grooming, brainstorming & whiteboarding design sessions to define & articulate the solution approaches, to identify tasks & estimates, to design and document E2E system(s) along with interfaces, contracts & wireframes
- You will have breadth of concepts, tools & technologies to address NFRs like security, performance, reliability, maintainability and advocate relevant trade-offs
- You will bring in expertise to optimize and make the relevant design decisions (considering trade-offs) at the E2E system(s) level & challenge the status-quo
- You will be a polyglot with a PE mindset – Open & Curious, learning & adopting new languages, platforms & toolkits constantly
- You will work with HoE’s to define & understand the overall system architecture, standards & guidelines, helping with the details of the E2E system(s) landscape
- You will mentor & guide, actively evangelize and inculcate the engineering mindset and culture, share knowledge within Peer groups, SDE-IIs, while providing and receiving constructive feedback
- You will drive change with a continuous improvement mindset working on opportunities to shift left; Proactive about reduction of tech. debts, eliminating waste, increasing automation, using the right productivity tools, understanding client business, using dashboards for monitoring & alerts
- You will be accountable for E2E system design, Governance, Evangelization, Advocacy, Quality with an E2E focus, establishing engineering best practices, standards:
- Solve problems at a Roadmap level, driving and influencing the overall business requirements
- Design & Integrate Systems focused on solving business problems; Ensure Implementations are well integrated with all other parts of the enterprise.
- Evangelize adoption of Test First approach & TDD; Apply BDD for Functional & Integration testing; Govern Engg. Metrics focus & adoption within all teams in an account.
- Govern elimination of Tech. Debts
- Govern Engineering Maturing Model Adoption, within cross cultural teams spread across Geo’s
- Perform Reviews of E2E system integration & Architectural validation
- Identify & adopt new and relevant tools, practices, platforms taking the technology & solution focus to the next level in the spirit of Continuous Improvement
- Practice & Inculcate the PE & DevOps mindset, with automation as core-focus
- Devise Training strategies; Evaluate and Appraise technical talent within team
- Work with other departments in the organization like Recruitment, Hiring, People Success to Identify, Nurture & Recognize talent.
Qualifications
Your Skills & Experience:
- You have 13+ years of professional work experience building large scale, large volume services & distributed apps., taking them through production and post-production life cycles
- You Identify & create POC’s on new business segments, technologies; building quick and usable solutions
- You 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 styles
- Lambdas, Streams, Performance Tuning, NIO, HTTP2, Websockets, gRPC, ProtoBuf
- You practice Imperative, Functional Programming styles
- You use Cloud Platforms like AWS, GCP, Azure etc.
- You practice distributed, cloud design patterns & architectural styles
- You use API gateways and Management Tools, load-balancers, CDNs, Edge caching, reverse proxies
- You use search solutions like Elastic Search, SOLR, Endeca
- You use performance testing tools like JMeter, Gatling
- You use distributed tracing apps/platforms, debug and troubleshoot with relevant tools
- You use distributed caching solutions like Redis, Memcache etc.
- You use side-cars, service mesh along with microservices
- You practice reactive programming, observables (e.g. Spring Reactor/RX Java), Actor models, Akka, Play etc.
- You use GraphQL, Aggregate services, API Composition, SAGA pattern
- You use K8S, Container Orchestration, Mesos, Consensus algorithms like PAXOS
- You are a problem solver - choosing the relevant data structures, algorithms considering the tools for Time & Space Complexity
- You Govern & Steer relevant technology & tools selection, build/buy decisions to solve the business problems
- You are an expert at reviewing & guiding the adoption of SOLID, DRY design principles, design patterns & Clean Code
- You are an expert at String Manipulation, Data/Time Arithmetic, Collections & Generics
- You practice & guide on handling failures à Error Management & Exception handling
- You build reliable, scalable & high-performance apps, services leveraging relevant architectural styles and patterns like Eventing 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 NFRs
- You define real-time solutions to scale up/scale out/Auto Scale as relevant, with robustness and resilience, applying patterns like circuit breakers & back propagation
- You understand CAP theorem and work with multiple databases (RDBMS or NoSQL)
- You deploy to production, trouble shoot problems & provide live support
- You 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 Frameworks
- Spring 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)
- You use logging frameworks like Log4j, NLog etc.
- You use build tools like MsBuild, Maven, Gradle, Gulp etc.
- You understand and use containers, virtualization
- You use proactive monitoring & alerting, dashboards
- You 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 set-up a CI/CD pipeline infrastructure & stack from grounds-up
- You articulate the pro’s, con’s of designs; along with tradeoffs influencing key stakeholders
- You use gherkin and cucumber for BDD automation
- You use selenium for UI automation
- You use rules engines like Drools, Easy Rules etc.
Additional Information
Growth Culture:
Learning is part of our DNA. We always support exploratory behavior to help you deliver innovative solutions, staying ahead in the curve. You also get opportunity to share your knowledge across the organization through technical sessions and active contribution to various engineering groups.
Education:
Bachelor’s/Master’s Degree in Computer Engineering, Computer Science, or a related field
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 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.