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

The position requires strong software design, Database, Object Oriented Programming and Linux skills to redesign a complex rule based multi-channel marketing campaign platform supporting Fortune 100 companies.

The position’s purpose includes, but is not limited to: 

  • Understand the existing product architecture and work with the architects to redesign the system
  • Analysis and design of new and enhanced features for the marketing platform as per business requirements 
  • Setup/configuration of the development environment 
  • Communication with QA, product and production support teams etc. to deliver new or enhanced features and address issues/concerns 
  • Development of features as per design provided 
  • Assistance of Production Support team for troubleshooting issues 
  • Development work for automation of operational tasks. 
  • Support system patch or version upgrade 
  • Assist with reporting tasks 

Responsibilities:

  • Collaborate with developers, project managers, business analysts and business users in conceptualizing, estimating and developing new software applications and enhancements. 
  • Assist in defining software development project plans, including scoping, scheduling, providing time estimates for programming tasks and implementation plans. 
  • Assist in the definition, development, and documentation of software’s objectives, business requirements, deliverables, and specifications in collaboration with internal users and departments. 
  • Develop technical documentation to define the system components, development environment and implementation planning/strategies 
  • Prepare and dispense work assignments, provide guidance, and/or review the work of other team members. 
  • Collaborate with QA team to define test cases, metrics, and resolve questions about test results. 
  • Recommend business process flow improvements and clearly communicate problem/resolution process to project management. 
  • Develops and implements solutions in accordance with policies and procedures. 
  • Facilitate the design and implementation process for new products/projects, informing senior executive of alternatives. 
  • Administer full project documentation efforts in accordance with policy and procedure 
  • Perform root cause analysis (RCA) 
  • Work with cross-functional teams during crisis to address and resolve complex incidents and problems in addition to assessment, analysis, and resolution of cross-functional issues. 
  • Recognizes and identifies potential areas where existing policies and procedures associated with development requires improvement and helps in the process improvement activity. 
  • Update/create Knowledge Base Articles and case studies as necessary. Assist in the creation and improvement of Knowledge Management 

Qualifications

  • Developer with 9-13 years of experience required
  • Education: BE/B.Tech/MCA 
  • Excellent skills in Linux and Python scripting.
  • Strong skills in Oracle databases and PL/SQL. Should be able to understand the existing PL/SQL code and capable of redesigning the solution to use alternate technologies.
  • Need to have knowledge of Korn shell scripting and should be able to translate the existing shell scripts to Python.
  • Should have exposure to web technologies such as SOAP, REST APIs etc.
  • Ability to design and implement solutions that are reliable, scalable, and perform at a high-level to meet the service levels associated with mission-critical Oracle-based solutions. 
  • Knowledge of database architecture and best practices for Oracle SQL and PL/SQL
  • Experience designing and developing complex enterprise applications (ERP, CRM, etc.) on large Oracle databases using SDLC methodologies (agile, waterfall). 
  • Excellent in impact-analysis and root cause analysis. 
  • Proven analytical and problem-solving abilities with ability to anticipate and avoid problems. 
  • Experience in performance tuning, application monitoring and support of production applications with distributed teams. 
  • Ability to define and implement migration strategies from legacy systems to new architecture and technologies. 
  • Ability to work well within a team environment that includes geographically distributed team members. 
  • Ability to work within tight deadlines and effectively prioritize and execute tasks in a high-pressure environment. 
  • Strong communication skills (verbal and written) and an ability to communicate with internal and external customers and all levels of management, including communicating technical information to nontechnical audiences. 
  • Ability to design and build flexible and extensible systems with focus on code reuse and generation. 
  • Experience with writing detailed technical specifications for developers; design, validate and execute software test plans. 
  • Familiar with Application Development Life Cycle and be able to independently participate in each component. 
  • Education: Bachelor’s degree in Computer Science, or equivalent 

Preferred:

Technical 

  • Experience with coding in Object Oriented Programming languages such as Java or C++. 
  • Experience with Informatica or some other ETL tool.
  • Experience with Team Foundation Server (TFS)

Non-Technical 

  • Good Analytical and problem solving skills. 
  • Ability to diagnose and troubleshoot problems quickly to maintain operational stability. 
  • Motivated to learn new applications and domain. 
  • Possess appetite for learning through exploration and reverse engineering. 
  • Strong time management skills. 
  • Ability to take full ownership of tasks and projects.

Behavioral Attributes 

  • Team player with excellent interpersonal skills. 
  • Good verbal and written communication. 
  • Possess Can-Do attitude to overcome any kind of challenges.
Privacy Policy