Why Shuttl ?
Shuttl makes it possible for thousands of daily commuters to travel with dignity. We are solving a huge infrastructural gap in our mass transport system with a lot of success. Our services are available to both the end consumer as well as businesses across many cities in India.
Our company culture reflects the responsible, liberal and creative mindset of our team. We believe that technology is and will be a key differentiator and we are excited to apply and create technology to solve problems in the mass transportation space.
Our engineering team is composed of three groups – consumer, business and platform. The consumer group builds solutions that allow ordinary citizens to use Shuttl. The business group builds solutions that service transportation and fleet management needs for businesses. Finally, the platform group is responsible for building the platform that is leveraged by the consumer and business groups.
What will I do ?
You will work as a Team Lead (TL) in the Consumer Team of the B2C Engineering group. The Consumer team is primarily responsible for the development and maintenance of all the solutions that are used by the end users. These solutions include the consumer mobile apps and the entire backend system associated with that. These mobile apps are the primary way that our customers regularly interact with Shuttl for finding routes and booking their rides.
You will report into the Engineering Manager for the B2C Engineering group. Your team will comprise of mostly Senior Software Engineers working on mobile, backend and web technologies developing high quality software.
As a Team Lead at Shuttl you are responsible for a team of software engineers. Your team is expected to deliver high quality software in reasonable timelines. You are also expected to contribute to architecture, review code, guide code design and work with product managers to understand, design, develop and deliver features.
How do we work ?
Our engineering process is a five step process which consists of phases for planning, developing, testing, releasing and monitoring.
The planning phase consists of documenting of the feature/task to be done followed by various discussions. These discussions cover product, delivery estimates, release plan, monitoring plan, test plans, architecture, code design, technology choices and best practice adoption.
The development and testing phase coexist and involve writing code, unit tests, performance tests, stress testing, code reviews and QA testing. This phase is punctuated with daily scrums and standups.
The release phase is largely about managing and communicating the release to customers and internal stakeholders and activating features.
The last phase is the monitoring phase where relevant metrics and exceptions are tracked and any critical refinement for the delivered feature is undertaken. This phase culminates with a retrospective.
What skills should I have ?
For this role we expect you to have over 6 years of experience in software development of which at least 1 year should be team management experience. You should be knowledgeable about programming languages – specifically Java, Python, operating systems, networks, databases and SQL, algorithms, advanced architecture, code design, system design, design patterns, project and people management. An aptitude for product thinking is preferred. You should also hands-on experience on mobile app development. Knowledge of Python is a plus.