About Us : GO-JEK is a Super App. It's one app for ordering food, commuting, digital payments, shopping, hyper-local delivery, getting a massage and two dozen services. It is Indonesia's first and fastest growing unicorn building an on-demand empire. In the last 36 months, the startup's total order volumes has grown a devilish 6666x and diversified into 18 verticals. The company runs the equivalent of three Indian unicorns rolled into one. GO-FOOD alone does more orders in Indonesia than all Indian food tech startups combined. 3 years since the mobile app launched, GO-JEK does more rides than India's largest taxi-sharing service. A total of 1,000,000 drivers collectively cover an average distance of 16.5 million kilometers each day, making GO-JEK Indonesia's de facto transportation partner. GO-JEK is a verb. GO-JEK is a way of life. It is quite simply the operating system of Indonesia. 200 engineers spread across Jakarta, Singapore and India make software decisions that impacts about 260 million people in the country. GO-JEK Tech is the product development and training centre of GO-JEK. The tech team comprises of developers, data scientists, designers and product managers who work on product innovation, mining data and crafting consumer experiences. The average age of the team is 29 and it runs one of the largest jruby, Java and go clusters in Asia. About The Role : - Design and develop highly scalable, reliable and fault tolerant systems for one of the world's fastest growing unicorns. - Translate business requirements into scalable and extensible design. - Pair with team members on functional and nonfunctional requirements and spread design philosophy and goals across the team. - Coordinate with cross functional teams (Mobile, DevOps, Data, UX, QA etc.) on planning and execution. - Continuously improve code quality, product execution and customer delight. - Proactively manage stakeholder communication related to deliverables, risks, changes and dependencies. - Communicate, collaborate and work effectively across distributed teams in a global environment. - Building and managing fully automated build/test/deployment environments. - An innate desire to deliver and a strong sense of accountability for your work. - Willingness to learn new languages and methodologies. Experience & Skills : - You greatly value humility. - A strong sense of ownership. - You understand the dangers associated with being attached to your code. - You write code because you like to. You never stop wanting to get better at it. - A passion for crafting delightful customer experiences. - A desire to be part of a team that delivers impactful results every day. - A commitment to writing understandable, maintainable, and reusable software. - 4+ years of experience in software development or a serious open source track record. - 2+ years of hands-on experience in designing, developing, testing and deploying applications large scale applications in any language or stack - 2+ years of hands-on experience working on one or more front end technologies - Web, Android or iOS - and understand their nuances - Deep knowledge of Linux as a production environment - Proficiency in OOP, including design patterns. Experience with functional programming is a plus. - Data modelling experience in both Relational and NoSQL databases. - Prior experience being a founder is a huge plus. - Well versed with Lean methodologies, TDD and Test Engineering and Automation. - Ability to design and implement low latency RESTful services. - Experience troubleshooting server performance - memory issues, GC tuning, resource leaks etc. - 2+ years of hands-on experience in designing, developing, testing and deploying applications large scale applications in any language or stack - We primarily use Clojure, Golang, Ruby, Kotlin, Swift and Java. Familiarity with one or more is a plus. - Excellent understanding of interactive application development paradigm, memory management, performance/resource optimisations, database interactions, network programming, concurrency and multithreading, fault tolerance, monitoring, security and operability of systems.
At Hotstar, we have over 350 million users on Play Store & capture close to a billion clickstream messages daily. The engineering team at Hotstar is at the centre of the action and is responsible for creating the unmatchable user experience. Our engineers solve real-life complex problems and create compelling experiences for our customers. As an engineer in the Data Products team, you will be responsible for building products, using data, that solve business and engineering use-cases for the company. In this role, you will be building a pub-sub infrastructure for Hotstar that will support 20 million concurrent clients. You will work on protocols such as: MQTT, WebSockets, technologies such as: Apache Kafka, Apache Spark and, databases such as Cassandra, Redshift to build a scalable and real-time pub-sub infrastructure. The pace of our growth is incredible. If you enjoy working on problems at scale and if you want to build our platform, join us! Key Responsibilities • Build low-latency distributed pub-sub infrastructure that can handle more than 20 million concurrent clients • Build tools and platform that allow engineers to rapidly build pub-sub applications • Write MQTT bridges and plugins that connect pub-sub infrastructure with the existing Hotstar infrastructure • Build monitoring tools to track performance and detect anomalies at scale What to Bring • Strong understanding of TCP and MQTT protocols • Proficiency with Erlang and GoLang • Experience in working with any MQTT broker. Experience with an Erlang based broker is a plus • Experience with AWS stack • Experience with Apache Kafka • Experience writing plugins and bridges for MQTT brokers • Experience with databases such as Cassandra, Redis, Redshift