Roles and Responsibilities
• Code, develop, design and architect features related to the existing application. We expect you to own modules end to end and take pride in the work products you ship. • Lead from the front, when it comes to delivering high quality work products. Serve as a mentor to the team members • Create and define performance metrics. Ideate, innovate and hack through the existing systems to improve performance. • Perform code reviews, set coding practices and guidelines within the team. • Make sense of the product specs, be nimble in getting the issues resolved. Be a thought leader.
Critical Functional Skills:
• Solid understanding and knowledge of Java/C/C++. You should understand the concepts of multithreading, I/O, messaging, instrumentation etc and their implementation in Java/Any other Object-Oriented Language.
• Proficiency in the implementation of algorithms and the use of advanced data structures to solve problems in computing. A solid foundation in the principles of computer science is desired.
• Ability to write clean, modular, and loosely coupled code by the use of design patterns.
• He/She should be able to break down and architect complex software systems. For example- Build
• Cars Availability Engine for Ola.
• Strong decision-making ability
• Deep expertise in at least one programming language & 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) a plus.
• 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. Experience Required: • Typically with an experience of 5+ years of development experience in a product firm. • Must have lead, designed, architected and delivered at least 1 project in his previous assignments independently. Minimum Qualifications Required:
• Btech/MS from a reputed Institute • Deep expertise with any or combination programming languages: Java, C++, C#, Ruby, Scala, • Go 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 • Machine coding • Single machine in-memory program • Need a working code with functionality • Readable and well-designed code with right abstractions, separation of concerns, • right design patterns • Performant code with concurrency and efficient data structures • Write test cases covering the happy path and edge cases • Problem Solving • Choose the right combination of data structures to solve the problem • Identify most edge cases for the problem
• Identify opportunities of parallelism: utilizes multi-core solutions where applicable • Design & Architecture • Distributed systems design and system interaction • Identify API signatures • LLD with class design • Solve for performance & availability