With the 3 months programming boot camp drawing to a close, I thought I should do a retrospective on it.
I was recommended the boot camp by a programmer friend and qualified for the IMDA subsidy. You’d think it’d be an easy decision, but it took months of deliberating and attending the showcase night of the previous JumpStart batch before I took the plunge.
Ultimately, it was the culture of ThoughtWorks and their approach to the boot camp that made me choose JumpStart instead of General Assembly or Alpha Camp. ThoughtWorks is a global tech consultancy, and JumpStart is their initiative to give back to the community. From the interactions on showcase night, the instructors seemed passionate about teaching good programming practices.
The good parts
Instructors
The instructors went above and beyond to help us in our growth. They stayed back late during project weeks with us. On weekends, I still get pinged with messages from them sharing useful resources. They organize class activities outside of work hours. They made the effort to get to know each of us, and where our strengths and weaknesses lie. They encouraged us when we felt frustrated and corrected us when we tried to take harmful shortcuts. They pushed us to be stronger and better than we were. I’ll leave this as a non-exhaustive list of the things that they did for us lest it goes on indefinitely.
Dev practices
ThoughtWorks practices the AGILE methodology and takes it seriously. At the boot camp, we did pair-programming, TDD, refactoring and learned about clean code. We learned about AGILE and used it in our group projects, which includes standups, dev huddles, desk checks, sprints and having a kanban, etc. We had multiple opportunities to present during showcases and were given major responsibilities during the group projects. We learned about GIT merge conflicts, CI and pipelines, and learned to integrate them into our group projects.
Location
Classes are held in ThoughtWorks Singapore office, and we were treated like an extension to the family. We had free access to the pantry and the ping pong table, and ThoughtWorkers routinely included us (with offers of birthday cake slices, and invitations to workshops held at the office). It is a treat to be able to see how a software consultancy function. For my team’s group project, we occupied an office table right smack in the center of the office. I could see other programmers practicing what we were learning (such as pair programming), so we knew we were on the right track.
Short feedback loops
The instructors collect feedbacks often and react quickly to industry changes. The stack we’re taught (MERN) is in high demand. Instructors collect feedbacks for classes and act upon them. We also had one-to-one feedback sessions with the instructors. It’s cool that the AGILE methodology extended to crafting classes as well.
Invited speakers and workshops
They brought in invited speakers to our class to talk to us about cybersecurity, QA, UI/ UX, and BA. It helped me form a bigger picture of my role in an AGILE team, and what other avenues I can explore (such as going through OWASP’s top 10 list).
ThoughtWorks also hold regular tech workshops, and we attended many of them. For instance, attending the Vue workshop gave me a clearer overview of React, Vue and Angular, as well as the similarities between Vue and React.
Materials
Even before the course started, we had access to a comprehensive gitbook for JumpStart. It offers a clear roadmap to learning development and even included topics outside the scope of the boot camp, such as how to learn effectively, and advice for junior developers.
The hard parts
Time crunches
Projects often tested our time management abilities to their limits as the time allocated were short. I’m glad to have completed both the MVPs of my personal projects but I had to postpone some social outings during those weeks. I was also still involved as a program coordinator for a non-profit (Academic Internship Council) that I work for, which I spent a minimum of an hour every day for. Some of my peers had various commitments as well, such as motherhood, being a teaching assistant or being involved in a hackathon. Some put in multiple late nights. Everyone managed to go through the boot camp relatively unscathed and stronger, but it was not without any sacrifices.
Adapting to different teaching styles
There were three instructors, with varying experience in teaching and programming, and different teaching styles. I found some lessons harder to follow and sometimes had to ask the instructors for clarifications. Over time, I adapted to the teaching styles, but kudos to the instructors for adapting according to our feedbacks. For instance, multiple times, the instructors explained the same concept in different ways because we didn’t quite understand it.
Imposter syndrome and brogrammers
I am very cognizant of the psychological trap of imposter syndrome, as it is something that many artists struggle with and eventually have to overcome. But the shift to programming was not only an issue of competency but an existential one. I always identified and was labeled as an artist. I am at home with the liberal, anti-authoritarian leanings of the community and its eccentricities.
As a programmer, not only do I still have a lot to learn, I don’t fit in with the image of a programmer. Before the boot camp, I had serious doubts about a career in programming being the right fit. I am lucky to have worked with and befriended some programmers. Almost all of them are men and some of them perpetuate stereotypes about artists and women. I have been harassed and stalked by some of them. But I also had encouragement and mentorship from at least one of them.
Since joining the boot camp, some of my concerns have been assuaged. I’ve learned that developing software is a collaborative effort and that my expertise in design (which can translate to UI/ UX), project management and various soft skills are assets. The stereotype of an introverted, nerdy (often white or asian) male who has coded since young is not only harmful to diversity, but to good software development.
The unexpected parts
My classmates
I can still remember being nervous on the first day of class. I wondered if they would be mostly men. I wondered if I would be woefully inexperienced compared to them. It was a relief on the first day to learn that we had an equal balance of women to men and that we were roughly compatible in terms of skill level. Both of which are not incidental.
My peers are humorous, good-natured, and eager to learn. I had a lot of fun working with them and learned a lot from them.
How fun it is
During the months before the boot camp, when I was self-learning after work, I sometimes felt negative about programming. It didn’t feel as fulfilling as creating artworks. I was in a silo, and I didn’t know if I’m on the right track. It often felt like I was just murking about, even though I had a clear roadmap and schedule.
I knew that passion comes with competency and purpose, but I did not realize how big a role the boot camp would play. Halfway through the boot camp, I realized that I was enjoying programming in a way that is different from art. I liked solving the challenges and collaborating with my teammates. It felt more visceral than creating art, which frequently approaches the meditative.
How much I learned
It’s no secret that the process of creating art isn’t considered cerebral. In pop psychology, artists are relegated to being right-brain dominant, oversimplifying the lateralization of the brain. At one point, a programmer once flat out told me (and a group of artists) that “artists aren’t good at maths”.
Even though there are famous polymaths, such as Leonardo da Vinci, Edward Tufte, Isacc Asimov, and Richard Feynman, we tend to think of such people as gifted exceptions, despite evidence of neuroplasticity (even in adults).
I felt encouraged when some of my peers and instructors recognized my strengths in programming even before I did. Looking back, three months is a short time. For my classmates and me to progress so much in that period is a testament to the human brain.