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 ObjectOriented 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
BuildCars Availability Engine for Ola.
Strong decisionmaking 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 multicore solutions where applicable
Design & Architecture
Distributed systems design and system interaction
Identify API signatures
LLD with class design
Solve for performance & availability