Software Development Engineer Jobs Work From Home
Job Description
Flipkart Search Team is responsible for driving enhanced customer experience by helping them browse and find the products they are looking for with ease. The team works on a number of problem statements in information retrieval, distributed systems, data engineering , machine learning, algorithms and search experience. This role gives you an opportunity to solve interesting problems in the area of e-commerce search.
About the role:
You will own a functional area - from product conception to its delivery to customers. You are expected to design and code independently in multiple tech components related to your functional area. You must also develop a deep understanding of non-functional requirements, such as reliability and availability, scale, horizontal scalability, etc.,over time and make tech stack decisions accordingly. You are expected to actively mentor junior engineers. You own the codebase quality.
We are looking for seasoned engineers who are quality conscious, product thinkers, business cognizant and smart – not mere coders. Engineers get to significantly amplify the impact of their work or creations with the scale that Flipkart operates at. The same scale also demands the engineers to produce super-efficient solutions.
Required Qualifications:
Bachelor's degree in Computer Science or related field.
5-7 years of relevant work experience.
Experience designing and implementing distributed software systems (e.g Java, Spark, Hadoop (MR, hive)).
Prior real world experience in building, managing and optimizing ML models and associated infrastructure.
Deep expertise in at least one programming language & tech stack.
Strong object-oriented design skills, ability to apply design patterns, and an uncanny ability to design intuitive module and class-level interfaces.
Ability and experience in designing high-level software designs of the scalable system, taking NFR (non-functional requirement) in consideration.
Desired/Preferred qualifications:
Master’s degree in Computer Science or related field.
Experience in large scale data processing.
1-2 years of work experience in AI/ML tech stack and system design for machine learning.
Experience with one or more of the following areas: Search, Information Retrieval, Machine Learning.
Responsibilities:
Focus on requirements gathering, high level and low level design, architecture, development, deployment, testing, maintenance and improvement of ML models/infrastructure and associated software that uses these models.
Take ownership of planning, execution and delivery of owned modules.
Build the libraries and frameworks that support and optimize the usage of ML models.
Actively be part of grooming and upskilling the junior engineers.
Owning the quality of code, UT coverage, documentation etc
Collaborate with teams by contributing to the shared vision and working closely with cross-functional stakeholders.
Choose the right tech stack for a given situation under guidance from senior team members
Optimise any existing microservices
Take non-functional requirement (Reliability & Availability, Scale, horizontal scalability) into considerations while taking any decision
Build, develop, mentor and coach junior team members