OLA - Principal Engineer (7-10 yrs)
About Ola: Ola is India's largest mobility platform and one of the world's largest ride-hailing companies, serving 150+ cities across India, Australia, New Zealand, and the UK. The Ola app offers mobility solutions by connecting customers to drivers and a wide range of vehicles across bikes, auto-rickshaws, metered taxis, and cabs, enabling convenience and transparency for hundreds of millions of consumers and over 1.5 million driver-partners. Ola's core mobility offering in India is supplemented by its electric-vehicle arm, Ola Electric, and India's largest fleet management business. With its acquisition of Ridlr, India's leading public transportation app and investment in Vogo, a dockless scooter sharing solution, Ola is looking to build mobility for the next billion Indians. Ola also extends its consumer offerings like micro-insurance and credit led payments through Ola Financial Services and a range of owned food brands through India's largest network of kitchens under its Food business. Ola was founded in 2011 by Bhavish Aggarwal and Ankit Bhati with a mission to build mobility for a billion people. For more details, visit www.olacabs.com/media
Work Location: Bangalore
Principal Engineer is a senior I/C role at Ola who owns the technology stack for one or more platforms which exposes the capabilities critical to the functioning of multiple Ola business lines. Typical platform teams include Fulfilment, Dispatch, Location & Maps, Payments, Pricing, Consumer, Security, Partner, Safety etc. They are also responsible for mentoring SDE(s) in the team.
Ola's Principal Engineers have built and optimized the technology stack which enables Ola to process millions of pricing, dispatch, personalization decisions every minute. Systems built by Ola's PE(s) include Geo-Spatial Databases, Order Management Systems, Dispatch platform, General purpose data archival systems at the lowest cost per GB of data, Personalization systems, various families of optimization algorithms etc.
- Take the Ola microservices architecture to the next level of scalability, efficiency, observability, and availability.
- Build, deploy & run multi-homed systems that work in multiple regions and cloud providers.
- Build (and open source) data processing, storage and fetch systems at the petabyte scale with the lowest cost/GB while still responding in milliseconds at the 99th percentile.
- Optimize algorithms which influence personalization, fulfillment/allocation, pricing, maps & routing, fleet positioning, payments, fraud prevention etc
- Create platforms, reusable libraries, and utilities wherever applicable
- Write high-quality code that is modular, functional and testable; Establish the best coding practices
- Formally mentor junior engineers on design, coding, and troubleshooting
- Troubleshoot issues effectively in a distributed architecture
- Communicate, collaborate and work effectively in a global environment
- Operationalize releases by partnering with Tech operations on capacity planning and operability of the product
- Deep understanding of one or more of Java/Go/Scala/C++. Ability to understand and critique the core library/language constructs.
- Knowledge of processor, memory, network and storage internals. Familiarity with I/O optimized algorithms.
- Deep understanding of distributed systems including fault modeling, concurrency, isolation, consensus etc.
- Internals of a RDBMS like MySQL
- Conversant with the internals of systems like Kafka, Cassandra/Scylla, Redis, RocksDB etc
- Working knowledge of hosting and network infrastructure (K8s, Envoy, etc)
- Familiarity with binary serialization protocols like thrift/protobuf/flatbuffers etc
- Familiar with gRPC, HTTP/2, QUIC, etc.
- Troubleshooting memory issues, GC tuning, resource leaks etc.
- Strong problem-solving skills, algorithmic skills and data structures.
- Productionizing machine learning pipelines using Spark/Flink/TensorFlow etc
- Familiarity with big data concepts - HDFS, hive, presto, spark, oozie, ambari, airflow, atlas, ranger, etc. Familiarity with formats like avro, parquet, orc, arrow etc
- Good understanding of branching, build, deployment, continuous integration methodologies
- Experience in leading a team and mentoring engineers
- Attitude to get Stuff Done!
- Ability to make decisions independently.
- Bachelor's or Master's degree in Engineering from premier institutes preferred
- 7+ years of experience in software design, development & architecture
- Experience in Product companies working on Internet-scale applications is preferred
- Contribution to open-source software, tech blogs, speaking at tech conferences & having a patents portfolio.
The link provided below will redirect you to a website. Please apply there as well.