Lead Software Engineer

  • Full-time

Company Description

Epsilon is the leader in outcome-based marketing. We enable marketing that’s built on proof, not promises. Through Epsilon PeopleCloud, the marketing platform for personalizing consumer journeys with performance transparency, Epsilon helps marketers anticipate, activate and prove measurable business outcomes. Powered by CORE ID®, the most accurate and stable identity management platform representing 200+ million people, Epsilon’s award-winning data and technology is rooted in privacy by design and underpinned by powerful AI. With more than 50 years of experience in personalization and performance working with the world’s top brands, agencies and publishers, Epsilon is a trusted partner leading CRM, digital media, loyalty and email programs. Positioned at the core of Publicis Groupe, Epsilon is a global company with over 8,000 employees in over 40 offices around the world. For more information, visit epsilon.com. Follow us on Twitter at @EpsilonMktg.

Job Description

  • Work closely with Senior Architects, Project Managers / Product Leads / Developers and business users in conceptualizing, estimating and developing new software applications and enhancements.
  • Should own product component end-to-end until productions.
  • Product configuration in productions for HA and Scale.
  • Work with onsite to understand product needs and articulate that through requirement and functional specifications, and through design playback sessions.
  • Detailed design, Coding, Unit Testing, Performance testing / Analysis, Troubleshooting & Bug fixing, as and when required.
  • Document use cases, flow chart, sequence diagrams, class diagrams Individual contributor or lead teams of size 3 - 8 members to complete small application development or a module in big projects or a Proof of Concept.
  • Hands on coding skills Client interfacing for technical explanations and discussions.
  • Collaborate with QA team to define test cases, metrics, and resolve questions about test results.
  • Troubleshooting and resolution of product issues from production environment.
  • Interacting with the Engineering for supporting/maintaining/designing backend infrastructure for product support.
  • Automation of deployment, customization, upgrades and monitoring through DevOps tools meant for Cloud management.
  • Performance tuning, monitoring, maintaining fault tolerant/HA infrastructure.
  • Disaster recovery design, implementation, and maintenance.
  • Participate in long-term strategies and scalability efforts.
  • Build documentation of operating procedures and provide knowledge transfer.
  • Lead/manage a team and provide timely updates and reports to senior management.

Qualifications

  • Total engineering experience: 6 -13 years (Senior Engineer/Lead Engineer/Principal Engineer)
  • Experience with the development of full stack applications using technologies such as Java, SOA, JSON, web services and implementing cloud integration technologies
  • Hands on experience using AWS Services (EC2, S3, RDS, Cognito, Kinesis, Step Functions, Dynamo DB, Cloud watch, SQS & EMR etc.)
  • Hands on lead responsible for Architecture, Solution design and deployment of products on AWS cloud and responsible for design and architecture, administration (costing and provisioning) and dev operations as team lead on Amazon Web services
  • Strong architecture & design experience of Deploying Enterprise applications on AWS
  • Experience in Large scale, high performance enterprise application deployment and Solution architecting on complex heterogeneous environments on AWS
  • Experience in security solutions on AWS, in Infra capacity sizing, costing of AWS services to drive optimized solution architecture, leading to optimal infra investment vs performance and scale
  • Should be through and through hands on with Java, Micro services Architecture, Spring boot, Oracle, MQ, Restful WS/SOAP WS, JMS, Spring, Hibernate, Eclipse, Tomcat, Hadoop, Kafka, Spark, Cassandra, ELK
  • Should have worked as product/component or enterprise architect
  • Should coach / groom/ upskills technical teams

Technical Skills:

  • Excellent hands-on coding skills in Java
  • Good understand of multithreading patterns, JVM configurations, Data Structures and Algorithms
  • Experience in AWS foundation services are must (EC2, S3, RDS, Cognito, Kinesis, Step Functions, Dynamo DB, Cloud watch, SQS & EMR etc.)
  • Experience in architecting systems comprising one or more of the following: Kinesis, Cassandra, Kafka, Redis, AWS SQS, DynamoDB
  • Working Experience of Data Technologies in the Cloud such as AWS services of compute, storage, messaging, RDS/Redshift or Snowflake
  • Ability to suggest usage design patterns and algorithms while following the best practices of software development
  • Solid understanding of JEE web and app containers
  • Connection and Thread pools, memory management and configuration, balancing and scaling systems, tuning for scale and performance, security
  • Specific knowledge of Spring
  • Build and deploy processes, CI/CD, automation
  • Knowledge of JavaScript/TypeScript UI frameworks is desirable (Angular, React, etc.)
  • Working experience on any SQL/No-SQL database preferably MongoDB
  • Prior experience of TDD and strong adherence of Unit Tests

Other Skills:

  • Good interpersonal skills, some experience in stakeholder management (PM’s, etc)
  • Big Data Ecosystems: Hadoop, Spark, Kafka
  • Machine learning, MLlib, Spark, Python
  • E2e Product Lifecycle Management experience
  • Understanding of Agile/Scrum practices and the Technology landscape
  • Good understanding of dev processes (quality, build, deploy strategies, etc)
  • Experience working in an Agile environment
  • Experience of building products
Privacy Policy