2018 – Silicon Valley, 42 and programming (part II)

As explained in the previous post, I picked up programming in 2018 at a place named ’42’ (as in Hitchhiker’s guide to the galaxy) and got very much addicted to it. This post will outline how that happened and my somewhat non-traditional path in learning programming.

42 Silicon Valley campus

It all started one winter night in 2017 at a random hostel in HongKong, I went there for a few days between trips to pick up my Canadian visa. After visiting Disneyland and re-visited a few tourist attractions I found that there’s not much to fill my days with in this humid and bustling city. As I browsed blogs randomly, I stumbled upon this article, which described a new concept school in Paris that is apparently highly selective and completely free.

I was immediately curious about the place and learned that they have opened a campus in Silicon Valley. Without better things to do that night, I decided to make an account and try the ‘logic puzzle quiz’ which is the pre-requisite for entering. At 4 am I finished the quiz (which had the time limit of 4 hours and I was only partially aware when started). The next morning I received an e-mail invitation to their Silicon Valley campus for the 4-week long ‘piscine’ (something like bootcamp before the full-time program for further selection), which comes with free accommodation.

42 admission process as of Jan. 2018

Since I do plan to spend some time in the Bay Area and have alway had a slight regret on not having been properly introduced to actual programming (I learned a bit of VB in elementary school and didn’t like it, then took a graduate courses in purely theoretical algorithms and a computer graphics course in C++ without completing any coding pre-requisites). I signed up for the Piscine in March with the idea of treating it as a month-long puzzle-solving vacation to catch up on some missed liberal arts education. (the full program was said to take 3-5 years and I obviously won’t want that much more schooling)

The Piscine:

It’s beginning of March, my plan was to fly directly from London to Oakland and land the night before the program starts. I managed to miss the plane due to a combination of London train delays, over-confidence in being the last person to check-in built from McKinsey days and the famous black-cab taking a lot longer than legend has it… Anyways, I ended up having to fly through Scotland then Iceland and spending a night at an airport hotel. So by the time I arrived at the Piscine it was already mid-night of day00 (all counting starts at 0 here, the way John Conway used to teach us).

A team speed-coding game

So the piscine starts, to me the school felt somewhat like a place in a sci-fi story, ran by aliens/robots/rats, everything is automated, there were no staff aside from a few student volunteers:

  • We code in C by learning from sequence of videos ordered by day
  • A new set of puzzles is released every weekday morning at 8:42am and due at 11:42pm the next day (so they overlap)
  • One exam per week on Fridays where you log-on to complete
  • One group project and one individual project for each weekend

There is an interesting ‘correction points’ economy, where each submitted day has to be peer-reviewed 2 times before it can be computer corrected (i.e. one needs to schedule corrections and spend points to get people to go through the submitted code; one earns correction points by grading others). I was able to catch up on the first day’s problems in the next day but between corrections and all the other events, time was quite tight if one aims to finish all problems, even for me.

The automated correction system is designed to be quite brutal, lots of edge case testings and one small error in one exercise would stop the grades from all the later exercises to count. So even though I managed to solve all problems I still failed a couple days.

A day where a small error sneaked in and a few harder problems doesn’t count

The goal of the Piscine is to gather XP from days, projects and exams to level-up as much as possible. This gamification worked really well on me as I found myself working till 3 am regularly trying to be the highest leveled person in the piscine. It’s perhaps the most fun I’ve had in solving puzzles after Mathcamp back in high school =)

Piscine aftermath:

It was mid-April, the Piscine ended and I felt that I haven’t had enough… Since I had no concrete plan on the horizon (vaguely my plan was to start a new career in Toronto for a few years, ideally doing something new and exciting), I decided to enroll in the full-time program ‘while I’m figuring out what to do next and leave anytime’… this turned out to be a dangerous plan as I am still here after a straight 8 months of coding and having completed the entire program (beside internships), now winding up my interview process and choosing offers for software engineering.

This post is getting a bit long and I haven’t even gotten into any actual programming yet… I’ll probably do a separate post (or two) to describe some projects and the time I spent in their Paris and Ukraine campuses…

2018 – Silicon Valley, 42 and programming (part I)

Hi friends, it’s been another year & time to (finally) write an update on what’s keeping me busy! =)

Super-brief summary:

I got addicted to programming and am landing my next career in software engineering.

Brief summary:

  • January: I took a back-country split-boarding course with NOLS in Wyoming
  • February: I briefly moved to Toronto, obtained my permanent resident card while making some long-overdue progress in drawing and painting before taking a short touristy trip in Abu Dhabi and London
  • March – October: I came to Silicon Valley in response to an invitation from a French programming school named 42, initially I intended to stay for one month, solve some puzzles and pick up some basics of coding (which I always thought might be fun but never actually managed to take the time to learn). This last part turned out to be highly addictive and before I knew it, I have programmed non-stop till the end of the year and found myself interviewing as software engineer at various tech companies.
  • November – December: Stayed for 6 weeks in France and Ukraine to visit other campuses of 42, collaborated with local students and more level-ing up kicked off the interview process for my next career.

Due to the different nature of topics, I’ll spilt the post into two parts: Part I contains various bits of random trips/things I do till I started programming and Part II describes some programing projects and how I got intensely interested in the field.

So let’s start by rewinding time to January 2018:

Split-boarding with NOLS:

I took a 14-day backcountry split-boarding course with NOLS which includes a 10-day expedition into the mountains of Wyoming (i.e. drag a sled containing all gears, food, cooking equipment; built quinzhee to live in etc.). Was a lot of work but an extremely rewarding experience, learned a lot about rations, avalanches, cold injury, how to crafting snow into useful structures… Now I feel ready to head into the wildness even in the winter.

…and of course there’s the snowboarding part where we made marks on lots and lots of untouched powder!

Some drawing and painting in Toronto:

I got back to Toronto late January to finish some logistics and immigration paperwork (was planning to work in Toronto for a few years, although that plan didn’t end up happening). While in the city I signed up with a local atelier managed to do some drawing and painting there (the above are mostly my works from a Sargent workshop in which we learned to reproduce the technique used by John Singer Sargent, I also did some Bargue drawing and life portraits)

Abu Dhabi & London:

In mid February I went to UAE for the first time to see a friend and visit the Louvre of Abu Dhabi and the most expensive painting ever sold. Stopped by London for a week to catch some shows, museums and good food, before flying to California for what I thought was a one-month intensive programming camp… (continue in Part II)