These are exciting times, and in our relentless focus to build a better working world , we are embracing the world of products, cloud and scale to help us serve our clients more effectively and efficiently. We have refocused our Technology teams to work exclusively on client technologies while embarking on the journey of multi-tenant, frictionless, global, cloud-based & scalable products. If you have worked on large scale web products, have keen professional pride in delivering top quality products to users and love to code and coach//mentor other engineers then you will love this position.
Essential Functions of the Job:
As a backend Engineer @EYT, you will be in the thick of things! You will work on the most difficult & fun phases of product engineering, including :
· Design & Development of resilient, highly scalable, multi-tenant micro-services;
· Tooling to facilitate data acquisition, persistence;
Setting up and performing A/B Tests;
· Unit tests, Integration tests, Performance tests and tuning to enable high performance / low latency services
· Great inline documentation in code, code reviews to improve coding standards / performance.
You will also have a lot of fun innovating on Products & Technology, including :
· Work alongside a team of Product Engineers in delivering products;
· Have fun experimenting with emerging technology, participating in hackathons etc;
· Help transform EY Technology into a Product organization
Analytical/Decision Making Responsibilities:
· Be very strong in algorithms, data structures, problem solving, building to scale by leveraging cloud computing
· Handle ambiguity and able to move forward with imperfect information and get things done in a rapidly changing environment
· Must be comfortable working in an environment where ideas are challenged;
· Takes pride in producing clean, re-usable code and takes full ownership of the quality of code;
· Should possess good product instinct and excellent project management skills to push projects over the finish line with sound planning and persistent execution;
· Should know how to align resources to achieve desired results
Knowledge and Skills Requirements:
· Experience in build/CI/CD tools: Ant/Maven/Gradle, Jenkins, GIT.
· Fluent in a scripting languages (Python, Groovy) and Operating Systems (*nix, MacOS). Exposure to Orchestration (Apache Camel), Caching, ESB.
· Experience in developing resilient web services (microservices etc). Great understanding of RESTful architecture. Exposure to Apache CXF/other web services framework would be a plus.
· Proficiency in data modelling, database technologies (both SQL –preferably Oracle - and No SQL), ORM Tools (Hibernate etc) and Data Visualization/Analysis (Splunk, Tableau, NewRelic, Logstash/Kibana).
· Experience in Search Platforms -Elastic Search, Solr.
· Experience in web development with large/internet scale consumption (distributed, scalable and high volume systems)
· Familiar with DevOps, Agile/Scrum.
· Experience in use of cloud computing, OpenStack and infrastructure resilience and elasticity (Azure, AWS, Google Cloud, Rackspace etc)
· Keen understanding of Application, Infrastructure and resilience.
· Experience with software and product development lifecycle (incl. coding, coding standards and reviews, source control, testing, debugging, build, deployment and operations)
· Exposure to Machine Learning
· Regular international and domestic travel. Reasonable extension of the working day should be expected commensurate with the needs to fulfil the obligations of the role
· B.E./B.Tech in Computer Science or related field from a top tier engineering college (such as IIT, IIIT, BITS, NIT, MIT, Stanford etc).
· Masters / PhD in Computer Science from a premier university (such as IIT, IIIT, BITS, NIT, MIT, Stanford etc).
· Preferably 4+ /(With a minimum of 2) years of product engineering experience in renowned product organizations.
· Have deployed code to production that takes very significant traffic volumes. Have dealt with automation / engineering issues
· You are Glocal, ie.
· Can coordinate / collaborate with teams & stakeholders in multiple geographies
· Manage teams with participants in multiple geographies.
· Can quickly form strong working relationships with colleagues within and outside your location.
Note: This job description is intended as a guide to reflect the principal functions of the job. However, it is not an all-inclusive listing of the required job functions and functions may vary depending on the particular geographic location of the job and/or the manager. Further, the job description is subject to change at the discretion of management.