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 Architects, Project Manager/Onsite Leads and Developers
  • 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 and 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
  • 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

  • A Bachelor’s degree in Computer Science or a related field or have equivalent experience
  • 8 - 12 years of IT experience

Technical Skills:

  • Should be through and through hands on : Java, Micro Services Architecture, Spring Boot, Oracle, MQ, Restful WS/SOAP WS, JMS, Spring, Hibernate, Eclipse, Tomcat, Hadoop, Kafka, Spark, Cassandra, ELK, AWS
  • Should have worked as product/component or enterprise architect
  • Should coach/groom/upskill technical teams
  • Excellent hands-on coding skills in Java
  • Good understanding of multithreading patterns, JVM configurations
  • Data Structures and Algorithms
  • 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, Hibernate is a must
  • Good knowledge on Big Data Technologies like Cassandra and Hadoop 
  • Build and deploy processes, CICD, automation
  • Knowledge of JavaScript 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
  • Proficient with version control, such as GitHub

Other Skills:

  • Strong written + verbal communication
  • Good interpersonal skills, some experience in stakeholder management (PM’s, etc)
  • E2E Product Lifecycle Management experience
  • Understanding of Agile/Scrum practices
  • Good understanding of Technology landscape
  • Hands on – even as a manager
  • Good understanding of dev processes (quality, build, deploy strategies, etc)
  • Experience working in an Agile environment
  • Experience of building products

Nice to Have:

  • Virtualization and strong networking knowledge
  • Experience working in the cloud computing industry
  • Familiarity with concepts of Messaging using JMS
Privacy Policy