A peek into Meesho’s Android Crash Course
Most of our campus hires have no prior experience with Android development. So we devised a syllabus for our freshers!
Massachusetts Institute of Technology, or MIT as it’s better known, is one of best engineering colleges in the world. However, MIT doesn’t offer a single course on Android.
The story is similar at Harvard and Stanford — both ivy league giants haven’t taught Android-related courses since 2019 (these classes were recorded — so if you have a few hundred thousand dollars laying around, might be a good idea to check them out 😝).
Massachusetts or Manipal, the point stands: colleges don’t prepare you for Android development.
That doesn’t work for us. After all, when you’re one of the most downloaded apps on the Play Store, you might need an Android developer or two 🤷♂️
We’re not an edtech company, but we did develop our own syllabus.
Say hello to Meesho’s Android Crash Course 👋
Plus, you’ll also get to hear from three of our recent joinees who started off as interns and now work full time with us.
Ready to learn? Hop on 🚀
First day at school 📚
A first job is daunting. More so, when you’re joining a ~$5 billion e-commerce company reimagining commerce.
Our onboarding process is designed to help our freshers!
After initial interactions with the reporting manager, we assign a buddy to every new hire. The intern then follows the buddy around till they get comfortable with our setup.
This gives an intern an idea of the magnitude of work, while developing a trust with the respective buddy.
Next up, some light reading.
Oft-used acronyms within Meesho such as AOV, F6OA, and TOSS can be confusing. We provide a cheat sheet with such common terms.
All joinees also read our Engineering Guidelines, which talks about the ethos of our entire engineering arm. It’s a good read — you can get acclimated with it here.
Ahoy, Android! 🏴☠
By this time, an intern has been through enough interactions and reading.
Bring out the toolbox 🧰
Interns learn about architecture tools such as MVVM, Hilt, RxJava, and Retrofit from some of our senior leaders. Here’s a glimpse into the course structure:
From Basics (Kotlin) to Advanced levels (Dependency Injection [Hilt]), we have you covered!
In the ‘Connect to the Internet’ class, we teach how to fetch data from an API using three tools: Retrofit, Moshi, and basics of RxJava.
We have a separate class later that goes into RxJava in detail. Learning and understanding RxJava concepts is essential for every Android developer in the team as it’s one of the tools that is extensively used throughout the codebase.
Meanwhile, the MVVM class is all about Model-View-ViewModel architecture, which is a basic building block of Android Development. Other topics taught include Data Binding, WorkManager, and Android Multi-threading.
Access to observability tools like Crashlytics and the Play Store console is provided early on. Senior engineers provide demo and walkthrough sessions on these tools.
Post the session, individual folks can reach out to the presenters to clear any doubts. It’s an important session for us, because at this stage we can gauge their preparedness.
We also ask our freshers for feedback on the sessions. This helps us ascertain the difficulty level for our joinees, while also constantly improving the process for the next year’s batch.
Unfortunately, assignments don’t stop after college 📝
We give our interns small assignments to work on, which they take up after the onboarding sessions are completed. This is provided so that they get early hands-on with all the concepts they’ve learnt in the last few weeks.
Time to get your hands dirty 🧑💻
After this month-long crash course, we believe in them enough to handle real world challenges.
Almost immediately, our newly-minted Android developers are firefighting crashes and exterminating bugs 🚒
In this instance, the first task is on Mesh Design enhancements, which involved modification of Snackbar, Info banner, and Rating Badges.
The engineers also worked on implementing new fonts and colours into the Mesh Library.
Some of their contributions also go into code cleanup exercises and refactoring legacy code flow. In a way, this helps them to go through various code flow, and also improving our codebase.
In addition to this, removing dead code and their resources have always helped in reducing our app size.
Finally, if someone’s up to the challenge, folks can also choose to give a Tech Talk to our engineering team based on their experience (and show off a little 😉).
We don’t want you to take our word for it — so we invited three SDE-1s to write about the learnings from their first dedicated project.
Vaishali Gojra, Keshav Pandya, and Ishan Alabhya joined us last July. Having no prior experience with Android development, all three echoed the sentiment of being nervous about joining the team.
All three were tasked with migrating events from Mixpanel to our in-house Analytics Layer. Although they were given 2 months to finish it, our Android wizzes finished it in half that time.
Graduation 🎓
Ever since completing the migration project, all three Android devs have moved on to other assignments:
- Vaishali worked on implementing some legal attributes to the Product Description Page, before being assigned to the Android Platform team
- Keshav refined our Farmiso app, before settling in the Discovery team
- Ishan worked on data validation and SDK integration, focusing on hygiene tasks, and is working with Keshav in the Discovery team as well.
Huge thanks to all three for writing about their experiences, and to Joel Fernandes for helping out with the information needed for this blog!
Additional thanks to Aman Arora, Pavan PM, Sweekriti Dhawan, and Vibin Reddy for working on creating these onboarding sessions, and helping in mentoring the new joinees.
If you would like to join our rapidly growing Android development team, check our careers page to see the available opportunities!