Epsilon is conducting off- campus recruitment drive to hire candidates for Senior Software Engineer. Interested candidate can read the details and apply as soon as possible.
About: Epsilon is a global marketing company with offices around the world. For 50 years, we’ve been helping brands improve their marketing, build better customer relationships and find new customers.
Position: Senior Software Engineer
- 4+ years’ experience in Software Development.
- Bachelor’s degree or equivalent experience preferred.
- Expertise in developing cloud based solutions with much of the following: SQL in various forms, NOSQL in various forms, Scala, Python, Java, Spark (DataBricks preferred), SparkML, MapReduce, Hive, DataBricks DAG, SQL Server, ETL tools, Parquet (DataBricks Delta Lake preferred), ORC.
- Excellent communication and written skills are a must.
- Excellent organizational and time management skills.
- Proficient in data modeling.
- Ability to design and build for functional and non-functional requirements.
- Experience with Agile and Iterative execution models is important.
- Experience in change management, continuous integration and continuous delivery frameworks and tools a plus (either Azure DevOps, Jenkins or equivalent).
- Good working knowledge of JIRA and its use in delivering Agile initiatives is a plus.
- Ability to deliver solid work in a deadline-driven environment.
- Ability to communicate well with team members, team leaders, drive your deliverables to completion and collaborate with key stakeholders for your deliverables.
- Strong development experience in one or more of: big data, data migrations, data warehousing, data lake solutions on Azure or AWS.
- Strong experience in continuous integration/deployment tool.
- Should be inquisitive/passionate/a self-starter/enthusiastic/curious and open to learning.
- Design, develop, test and deliver production ready data engineering code in Spark and Scala.
- For your assigned tasks, ensure proper definition of requirements and non-functional requirements, escalating where clarifications are needed.
- Create and review your designs with your technology lead making clear the design principles used, the design options considered, the approach chosen, the design and what it will take to build and test that design.
- Working with project and product management, estimate, plan and structure your activities to build the solution, creating detailed documentation.
- Work actively with the team and external partners to resolve issues when your work is blocked.
- Help to ensure strong team morale and personal morale, escalating quickly when you see or sense an active or upcoming issue.
- Create and maintain the design and process documentation for the code/application modules you are responsible.
- Support the production and lower environment releases in a way that minimizes downtime.