The offer email arrived at Lilian’s inbox at 10:09pm, at a chilling Friday night in late October. She printed, signed, scanned, attached, checked the spellings, and hit “Send”. Hearing the Apple mail “whoosh” sound, she officially landed her first developer job.
In this post, you would hear about her story and how I helped as a partner. In particular, for those who thought similarly about switching career to tech, reading her experience may help.
She wanted change
Lilian has a master degree in linguistics from University of Toronto. After graduation, she taught Mandarin at a private school in Toronto. Students were mostly professionals who take nighttime classes to learn new languages.
The headmaster was a senior lady who spent her 20 years teaching and running the school. She could start from noon, speak non-stop in 3-4 back-to-back classes, and still greet each student a warm goodbye at 9:30pm. She genuinely believes that teaching is fun and helping people.
Lilian found it differently. Although students liked her way of explaining vocabularies and her rating was high, being with people for a long time was exhausting. She often got home late, collapsed into the sofa and glued her face to the phone screen. Knowing she had a worn-out throat, I avoided letting her speak any more.
After one year, she quit her job and later joined an EdTech Customer Success department. Her job was to answer enquiries from clients, mostly parents and students, who live in different timezones.
She thought she didn’t have to teach any more. Yet the job turned out to be intrusive and demanding. Since clients were in different timezones, she often took calls at night and had to patiently explain to them on the phone while gathering information about North American university program requirements.
She sticked through four months, and got the bonus for the highest client retention rate among the team. Regardless, she decided that the job wasn’t for her.
She wanted something that requires less interactions with people.
What about coding?
Lilian has a good taste in shopping and apartment decorations. I was amazed by her ability that, with just one glance, she could single out one outfit, among hundreds of others in ten aisles, which often suits me perfectly.
She’s good with colours, patterns, layouts, and all other visual patterns. I guess she might enjoy making web pages.
To test my hypothesis, I decided to show her some HTML source code.
I launched Chrome, and went to her fashion website: https://www.sephora.com/, and opened dev-tools on the right side of the page. Then I used the selector to hover over images, buttons and text. As I did that, the dev-tools auto-focused on the HTML section.
“Look, to make this image, you simply put together these codes. Let me show you how to change the button colours.”
I picked a button, clicked on the Styles tab, and modified the colour to #ffc0cb (pink), her favourite colour.
“See? Making websites isn’t that hard, and you can make your site yourself, with whatever colour and layout?”
“Yeah! I will help you.”
Next was to plan how she learned. Since I had a full-time job, home-schooling her would not be possible. Reading books was slow and boring.
I picked a few highest rated classes with large student counts. Below were my selections:
For a programming newbie, she would definitely come across concepts or jargons that were completely alien to her. When that happened, I told her to take a note, and then move on. When I got home from work, we would go through her questions together.
A good thing about online courses was that she could play back the video right at where she got lost. She could also switch to another instructor explaining the same problem in different way.
By then, Lilian was still working full time. So she only had nighttime and weekends.
Nevertheless, our strategy worked. In two weeks, she could:
- recognize the basic HTML elements, like a, img, input
- use VS Code to edit the CSS stylesheets of an existing web page
Going through such exercise built up her confidence. When seeing the underlying mechanics, coding became something tangible, sort of like legos, that she should tinker and assemble to make new things.
However, her understanding was rough. Recognizing the elements was the first step. She still looked things up from time to time. To go further, she would need to use those elements more often to form working memory. Two weeks were a very short time for a brain to absorb all those knowledge, after all.
To qualify as a front end developer, she would at least need two things: 1) hands-on experience of building real websites, 2) master one front end framework, like React.
We came across HackerYou coding bootcamp. A friend graduated from there and landed a job not long after, and highly recommended it.
However, the next cohort would be in two months. And the tuition was $12K, a price that we needed to think about it seriously.
She hesitated, because we were not sure whether web dev was the right fit. To reduce the risk, we decided to take a slower approach.
Timing and curriculum were perfect for her. So she signed up for the part-time course.
It turned out to be a right decision. For the following two months, they had experienced teachers explain the concepts to her. She’s also required to write several PSD conversions, translating a design to responsive landing pages with HTML / CSS.
By the end of the course, she had good working knowledge with CSS, including
- flex / grid
- media queries / responsive
- accessibility (HackerYou was big on this)
When the course was over, she took the bootcamp coding challenges. It had two questions, one was for modifying a given HTML / CSS files to implement some visual effect. The second question was writing jQuery to manipulate the DOM to implement a dynamic effect.
Knowing that, I was particularly patient. And tried my best to use different ways to explain to her why people invented this. When I saw her confused, I advised her to let it go, and everything would make more sense when she learns more frameworks, like React.
Web development bootcamp
The part time course ended. Lilian couldn’t wait to learn more. The natural next step was the web development bootcamp.
To decide whether it’s worth, I looked at the bootcamp intro page again. A few keywords stood up to me: immersive, best practices, high employment rate.
I went through the curriculum again and saw that they taught React, which was nice. If she could get enough exposure to React, then she would be able to build modern, component based frameworks. She then could deliver stand-alone web apps, and complete her front end stack. From there, she would branch out to learn more things like Redux, testing, Storybook, etc., or to learn more server side, like NodeJS, bash/Linux. At the minimum, knowing a little React could probably land her a job.
Foreseeing the benefits, we finally decided to sign up for the bootcamp. She borrowed money from her parents and paid the tuition.
There were still 1.5 months before the bootcamp started. She worried that the bootcamp was too fast-paced and she would not be able to catch up. To prep for that, she took more online courses from pluralInsights.com. I used my personal learning budget to pay for an one-year subscription, and shared the account with her.
Her prep effort paid off. She understood most of the lectures and only focused on the parts that she missed or was fuzzy about. For the milestone projects, she tried using different ways to write functions while her partners were struggling with basics.
Near the end of the bootcamp, she signed up for the Visibility:Hidden coding contest. The “traditional” HackerYou event went like this: Given a PSD image, each contestant was required to write a landing page on his/her own laptop. The laptop was connected to a rendering screen facing the audiences. The contestants were not allowed to look the rendering screen. They could only write code based on their own memory and familiarity with HTML and CSS.
The first prize went to an experienced dev who graduated years ago. Lilian won a SECOND PRIZE! When Heather, HackerYou CEO, was giving the prize, she announced that Lilian was the first current enrolled student to enter the contest final.
“Lilian’s graduating soon. If your companies are hiring, she’s right here!” The crowd cheered loud.
Hearing those words, I bottom-up’ed my beer bottle and couldn’t stop feeling proud.
As she practiced more, ES6 syntax became a second nature to her. She started to appreciate how Redux made her code much more organized. She could’t believe just two month ago she had a hard time explaining what is a callback function .
At Week 9, she submitted her final project zip. The intense nine-week bootcamp ended.
Lilian’s become a good junior dev, eager to build stuffs, and qualified for hire.
For a newbie in tech, coding interviews are challenging.
To prep her for the last mile of getting hired, we did quite a few things together:
- Keep in mind that her target is junior positions, and set the expectations.
- Solve two or three LeetCode questions (Level: Easy) every day, to practice her algorithmic thinking.
- Keep learning other frameworks and tools, including React router, redux saga, jest / enzyme, Storybook (I basically pushed her to learn our company’s front end stack, since I was quite familiar and could provide guidance. Our goal was mainly exposure.)
- Take each interview seriously. Whenever there is an upcoming interview, we did a few mock interviews before. I would ask her to do whiteboarding, solve puzzles, explaining her recent projects, and also ask cultural questions, just to de-surprise her about the interview.
Tech scenes were booming in Toronto in 2019. But for junior developers, getting interviews from local companies wasn’t easy. Most companies ask for 3+ years experience, which creates this bootstrap problem for juniors.
Lilian sent out 20+ cover letters, and only got a few rejections. Most HR didn’t even bother to reply.
Luckily, one month later, she had a referral from a friend at a dev agency. It was a good opportunity and we took it seriously.
We prep’ed the interview together the night before. I tried all the questions I could think of. The whole process took 3 hours. It turned out to be worth it.
The next day, she went for an on-site. Her performance at the interview impressed the Director. They were not planning hire any junior dev, but made an exception for her.
She got the offer.
I’m so glad to see Lilian pulled this off. Quite a few of her bootcamp classmates quit, or went back to their old job afterwards. She didn’t. It was not easy when her mom expressed doubt about what she’s doing. She deserved the praise for the courage, determination and persistence over the past year.
Also, it’s a judgement call. We tried to balance her interests and the resources / time / money / connections we had at the time. We were lucky to find something she likes doing at our first try.
Another lesson I learned is patience. After making a decision, don’t overthink. We simply have to accept a leap of faith. Things don’t always appear to be moving ahead straight. But patience wins at the end.