Short Description
Flipkart is seeking a Software Development Engineer who has the ability to do deep problem solving and build elegant, maintainable solutions to complex problems.Job Description
- 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 in an exemplary way
- Be able to conceptualize and develop prototype quickly
- Drive technical roadmap of the team in collaboration with Engineering and Product
- Deep expertise with any or combination programming languages: Java, C++, C#, Ruby, PHP, any objected-oriented high-level proprietary or open-source language with strong programming constructs. 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
- 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) a plus.
- BTech, MTech, or Ph.D. 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 a scalable, large and complex business application using some of the above technologies and mentoring junior engineers.
- Good sense of system characterization and identification of technical requirements
- Good learnability and adopt technologies that help build large scale, performant, reliable
- and sustainable systems.
- Architectural & Design Choices, Deep knowledge on one or more tech stacks, 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
- Good exposure both with tech breadth and tech depth
Software Development Engineer