When I was in college I used to teach school students Mathematics and Physics, which still are my favorite subjects. I also presented a few tech related topics in my college to help my friends understand them better. I enjoy teaching, it’s fun and it is always a good learning exercise for me as well. It gives an entirely different perspective to learning and being on the other side makes me feel more confident of the things I already know. But after I graduated and started working in the software industry I didn’t get enough opportunities and couldn’t find time to do it. I attended tech meetups and thought of presenting a few topics but couldn’t, for me preparing a presentation was a herculean task that time.
Opportunity and Time
I am working with Gojek right now and they organize a 3 months bootcamp for the new joiners(fresh graduates) to pick up the pace. The participants must enrol for all the courses in the bootcamp. These 3 months are divided into Core Engineering, DevOps, Data Engineering, Mobile Development and other tech stuff, you can read more about the Gojek Engineering Bootcamp here. Since I am an iOS developer, the organisers asked me if I was interested in coaching the iOS bootcamp. Coaching the bootcamp means I will be out of the office for a week and doing so will affect the timelines of deliverables I already have. I was interested in taking this opportunity but first, it had to be approved by the manager. My manager is a great guy, I knew he won’t disappoint me, 2-3 meetings and little rescheduling helped us figure out ways through which I would make it to the bootcamp.
iOS bootcamp was short and so was Android, no offence intended and none taken. One week is a very short period to teach iOS to people who have never done it before. You have to teach them the language, tell them about the ecosystem, the development environment and also about UI components. One good thing about teaching iOS in 2019 is that you don’t have to teach Objective-C, which actually is a great language but teaching it in a bootcamp will probably take more efforts and a lot more time, Swift on the other hand can be taught easily. So we planned to teach the basics of Swift. Also, to let the bootcampers get the feel of iOS and mobile development in general, we decided to build a TicTacToe game within the bootcamp timeline. Building the game kept the bootcampers engaged and interested in learning iOS, it also helped us cover important topics like building user interfaces with the Cocoa Touch, unit tests and concurrency etc. Other important topics like data persistence, animations, audio support were given as part of coding assignments.
For the final two assignments, we had split the bootcampers into teams, each team had 4 members. The last two days we didn’t teach them much, we gave them assignments, solved open issues, review code and let them present what they had built in front of everyone. Some of the teams made apps that were so good that with a little polish they can be uploaded to the App Store. I personally liked the last two days, seeing their progress made us feel proud of ourselves and implicitly gave us feedback that we did well. The last session of last was all about this, one on ones with the bootcampers, feedback for them, feedback for us and a few fun activities. We received some negative feedbacks as well but they were just for the initial days where the participants felt that the theory was boring and they needed more hands-on exercises. Overall, I enjoyed the bootcamp. The next bootcamp will be in Jakarta and if given a chance I would definitely enrol again and fix the mistakes and use the learnings in my first bootcamp.
If you reached here, thanks for your time. Also, if you are interested in working with Gojek please shoot me an email or maybe head to the careers page to see the current openings.