About the role
Responsibilities:
- Research, design, and build highly reliable, available, and scalable platforms.
- Complete ownership of Service/Services that your team is responsible for.
- Lead by example, mentor and guide team members on everything from structured problem solving to development of best practices.
- Platform components as libraries, utilities, and services and promote reuse.
- Own large technical deliverables and execute them in an exemplary way.
- Be able to conceptualize and develop prototypes quickly.
- Drive the team's technical roadmap in collaboration with engineering and product.
Requirements:
- Deep expertise in at least one programming language and tech stack.
- Substantial experience in building complex and scalable solutions.
- Strong object-oriented design skills, ability to apply design patterns, and an uncanny ability to design intuitive module and class-level interfaces.
- The ability to do deep problem-solving and build elegant, maintainable solutions to complex problems.
- Experience leading multi-engineer projects and mentoring junior engineers.
- Experience with full life cycle development in any programming language on a Linux platform.
- Comprehensive operational experience including, optimizations, deployments, and tuning servers like Apache/mysql/tomcat/solr.
- Prior experience in working with Agile software methodologies (XP, Scrum), TDD, and Continuous Integration(CI/CD) is a plus.
- BTech, MTech, or PhD in Computer Science or related technical discipline (or equivalent). Or high technical acumen and rich technical experience.
- Experience in building data-driven web application design and development is a plus.
- Expert-level experience in building scalable, large, and complex business applications using some of the above technologies and mentoring junior engineers.
- Apart from all the general benefits of best-in-industry compensation, equity, healthcare, etc., Flipkart prides itself in calling out the big hand for you to be.
- Great Work, Great People, and a Great environment. We call ourselves an incubator for engineers where you get all the optimal conditions to do and experience your best.
- Previous work experience: 7+ years of experience.
Skills/ Tech Stack:
- Deep expertise with any or combination of programming languages: Java, C++, C#, Ruby, PHP, any object-oriented high-level proprietary or open source language with strong programming constructs. We are not skill-specific but go by strength in competencies.
- Strong System Characterization and identification of technical requirements.
- Distributed Systems Architecture, components modeling, data flow, Scaling, and managing large pieces of data.
- Articulating system requirements, problem comprehension, and identifying high-level building blocks.
- Non-functional requirements (NFRs) include scalability, fault tolerance, high availability, slashing, replication, load balance, application-level security, etc.
- Architectural and Design Choices, Deep knowledge of one or more tech stacks, and identify alternative tech choices and trade-offs.
- Strong problem-solving skills, Identify feasible alternatives, and freeze on the optimal choice of data structures and advanced algorithms.
- Ability to work in fuzzy environments and complex environments.
- Able to take high ownership of complex system components and drive it to the next level.
- Machine Coding (Able to write modular and functionally complete object-oriented code, NFR implementation, abstractions, separation of concerns, concurrency and thread safety, extensibility, hooks, etc).
- Good exposure both with tech breadth and tech depth.
- Good skills in Metrics and Monitoring.