The one with coding bootcamp
Act 1
Kate is a new graduate of a coding boot camp. A music major originally, she was frustrated about her job prospects and her boyfriend suggested her to join a coding boot camp - WeCode.
Chicago, in a cozy, artistic coffee shop in LakeView.
The music of Jackson 5 is playing in the background, and the sizzling sound of espresso machine mingles with people’s chatter. It’s January in Chicago with drizzling snow, air a bit cold and dry, but feels fresh. Kate hugged her green coffee mug and looked down at the latte art - a little cat shaped like a heart. She silently admired the artistic skill of the barista, and took a sip of the latte. Her boyfriend Michael sitting across her with his MacBook open, concentrated.
“It’s so cozy in here, and I love snow.” Kate said, feeling relaxed.
“Yeah, snow is nice.” Michael replied absent-mindedly. His eyes still fixed on the computer, and his fingering are moving fast on the keyboard.
Kate knows what this means. Michael is probably working on some coding again, she thought. Sometimes she wishes that Michael is more present with her, but also she likes when Michael focuses on coding. Michael is a software engineer at Google, writing code for work, but he also enjoys writing code for fun. To Kate, coding is like a foreign language, sometimes she wishes that she can also decipher that language.
“What are you working on, babe?” Kate asked. Michael sometimes work on something interesting, but sometimes he works on something that is very foreign to Kate.
Michael looked up with a smile on his face. He likes to share with Kate what he’s working on, and likes to show it off to Kate with a sense a pride. He slighted turned his computer and leaned over a bit.
“Look babe, I’m trying to build an app that can transform a picture based on an artistic style. It’s like Instagram, but better!” He declared. He has two pictures showing on his screen - one Kate and him took recently on their trip to Miami, and another Picasso’s “Abstract No 6”. He clicked the button that says “transform”, after a few seconds, a new picture showed on the screen, it looked the original Miami picture but with a style of Picasso.
“Woah, how did you do that, it’s so cool!” Kate’s eyes broadened.
“It’s a machine learning technique called style transfer, it’s a specialized neural network that...” Michael went on explaining it for like another two minutes while waving his arms to demonstrate his points, Kate was lost even before he finished his first sentence.
“Honestly I don’t know how you do all of that”, Kate chuckled, “Coding is like a foreign language to me, but I don’t know, I also kinda want to learn this ‘foreign language’, it will make finding a job a lot easier!” Kate graduated from Michigan State this year with a music degree, but still having trouble finding a great job. She currently works at a brewery and is looking for other jobs.
“You can do it babe! And I think everyone should learn how to code nowadays, there is a saying that ‘software is eating the world’, literally it is!” Michael replied, “Also nowadays you don’t a college degree to be in tech, there are coding boot camps that teach people how to be productive in code and then help them find a job.”
Michael opened the browser on his browser and typed “wecode.com”, A website pops up with a cover of two people and a computer screen together, with a tag line “Finding your next career in tech”.
“I know this coding boot camp is in Chicago, and they teach beginners in a 3 month course. Maybe we can join one of their information session.”
Kate looks at it and pondered, she also heard Chopin’s Nocturne in the background, Chopin is one of her favorite composer to practice growing up.
“Maybe I should give a shot”, she nodded, “I have been frustrated at the brewery, and honestly babe I see how much you enjoy your work, and you make decent money for what you do!”
Michael nodded.
“Well, this will be start of something new”, Kate sang the last half of the sentence in “High School Musical” melody, and sipped her coffee. Michael laughed and leaned over, kissed her.
“Haha, it sure will be!” said Michael, “and I’m excited for you babe.”
Act 2
Kate joined this 3-month boot camp with the excitement and nervousness. It’s a 3 month course on JavaScript and Ruby that has a very intense structure - and they are expected to build a fully functioning website in 3 months! The teacher Hasan words stuck with Kate - “If you feel uncomfortable, you are growing; if you feel challenged, you are learning”.
Kate arrived at the 10th floor of a big modern building downtown. Right off the elevator she saw the “WeCode orientation this way” sign showing her the way. The orientation is held at an open space with plenty of chairs, there are about 30 people seated already. Kate chose an empty seat in the middle row, so that she can get all the information but also less likely to be picked for questions, an old habit from college.
A young guy was standing near the podium, working on the computer for the presentation. He’s slim, tall, and wears a casual smile on his face. 5 minutes in, the orientation for WeCode orientation starts.
“Welcome everybody, my name is Hassan, your main instructor at WeCode. You are here because you want to land a career in tech.” The young man started to speech, and directly cut to the case, “We are in to help you get there, and you will get there.” Hassan looked at the audience with a slight smile on his face. The crowd looked nervous and excited at the same time. In order to join this coding bootcamp, most of them has to pass a basic reasoning test (Kate was given a problem on rubric cubics). Plus, they must dedicated full 3 months to the program, and pay a high tuition ($15,000) for the full program.
“For the next three months, you will experience a lot of highs and lows,” Hassan said slowly, with an emphasis on ‘highs and lows’, and he clicked on the computer to switch to the next slide, it is a full picture of a mountain climber striving to go up on a stiff cliff. “One sentence you will hear me say throughout this program - if you feel uncomfortable, you are growing; if you feel challenged, you are learning.”
“If you feel uncomfortable, you are growing. If you feel challenged, you are learning.” Kate repeated the sentence in her head. For a moment it took her back to the days when she first started to learn piano at the age of 12, she remembered her love and struggle for the instrument, the hours of practice, that frustrated feeling of not getting it right, and that amazing feeling of connecting to the instrument.
The rest of orientation was packed with bootcamp timeline and teaching logistics. WeCode centers the bootcamp on two projects - first one being a guided project and lasts for 1 month, and second one being a self-chosen project that expand the rest of the 2 months. In the syllabus WeCode also laid out the learning objectives:
After this bootcamp, the member will build out following skills:
- Proficient in HTML/CSS
- Skillful in JavaScript
- Skillful in Ruby/Rails
- Fundamental understanding of MySQL / PostgresSQL
- Fundamental understanding of Git / Github
Kate read through the skills and have rough memory of Michael saying some of these words. “The words are all English but they feel foreign”, she thought while playing with her hair.
The first week was a good start - Kate learned about HTML/CSS, and see how code transformed into web pages. She really enjoyed seeing the effects right away, say, when she changes 'h1' to 'h3' and saw the title in the webpage got smaller immediately. After the bootcamp when she went home, she will spend extra time to modify CSS and make sure the colors and fonts are the ones she like. Michael came home from work and saw Kate concentrated on her laptop and typing, and he immediately realized what’s happening.
“Enjoying being a developer, babe? Haha” Michael laughed.
“Yes, I like it!” Kate looked up from her computer, “I mean it’s pretty cool to learn about code and stuff, it’s only first week so we will see.”
“What are you working on?”
“Let me show you.”
Kate turned her computer to Michael, and she started to use her trackpad to hover the mouse. On the screen it looks like a simple personal page for Kate: it has her picture in a rounded shape in the center, her full name, and a blob of the text centered in the middle. “It’s kinda a personal blog page, and we are building it from scratch using HTML and... CSS”, it took her a minute to think of the new term she just learned.
“Nice!” Michael was impressed, “It’s a great start and it’s only the first week!”
“Yeah, I feel like I will learn a lot of stuff in this bootcamp.” Kate smiled, “Also I’m so so so tired!”
“Haha I know, but no pain, no gain right?” Michael wrapped his arms around Kate on the couch, and gave her a big kiss on the cheek. “I’m proud of you babe.”
“Thanks babe! And like our instructor said - if I feel uncomfortable, I am growing; if I feel challenged, I am learning.”
Act 3
As the boot camp moves on, each month more people quite. But Kate’s musician instinct kicks in, she combined her curiosity of solving a code puzzle with her rigorous practice in piano playing. She successfully graduated with deliberate practice, and built a website that connects piano teachers with students.
As the weeks pass on, the bootcamp schedule got more difficult - the first week Hassan taught them HTML/CSS, before Kate felt that she’s comfortable with it, the class moved on to JavaScript, but this time, the ‘texts’ on screen looks different, with ‘functions’ and ‘event’ highlighted in the editor. Still, whenever Kate made a change, she can get a feedback right away - either nothing shows up, or something changed on the webpage. She sighed a little every time she made a change in text but the effect didn’t show up on the webpage.
“I wish the computer just knows what I want it to do!” She said out loud during a practice session, after having tried 5 times to try to show her name on the webpage on the screen.
“If you feel challenged, then you’re learning.” Hassan said softly, acknowledging Kate’s frustration. “Now let’s see how we can solve this problem.”
Hassan sat next to Kate and started to focus on her computer, he studied the text a little, pondered for a while. “Hmm, I see, what have you tried?”
“I tried to put my name on the website not by using HLTM but by using JavaScript”, Kate said, still half annoyed by her own frustration, “but I don’t know, it just didn’t work.”
“Let me show you something”, Hassan continue, he pointed at the right upper corner of the web browser, “could you click into it, and find the developer console tab and click it?”
Kate followed the instructions slowly, it took a few scanning to find ‘developer console’ hiding the menu. She clicked it open, and at the bottom of the web browser a separate small opened and attached to the existing browser. Then she followed Hassan’s instruction to click on the ‘console’ tab inside the new window, and inside there’s a line of red text: ‘Error: names is undefined’.
“Can you see how is this text related to your program?” Hassan said softly, Kate had a feeling that Hassan already knew the answer, but wanted Kate to find it out herself. It took a few rounds of guiding and searching, and finally Kate realized that she misspelled “name” in her program.
The rest of the second week followed the same pattern - every day there’s a new task to work on, and everyday Kate encountered a new problem to solve, but every day she learned something new. She made a few friends in the class, and all of them seem to struggle with the class, which made Kate feel that she’s not alone. Every day she came home feeling exhausted, whenever Michael came home, Kate would hug him and told him about her day. “Today I learned how to write a function in JavaScript!” She said cheerfully, “but I’m so exhausted.”
“I’m so proud of you babe.” Michael always replied with an affirmative message and kissed her, Kate always supported by Michael, and he had his way to make her feel better in no matter what situation, Kate loved that about him.
Week three and four Hassan introduced the class to Ruby. “Again, another new style of texts we have to learn.” Kate thought, yet she told herself that it’s only for three months and she told herself that she can focus and conquer it. She noticed that a few of her classmates stopped showing up, but Kate is not a quitter.
Slowly in the practice sessions, Kate felt more comfortable in solving problems on her own and started to ask less direct help from Hassan. She sometimes will put on her headphones listening to classic piano music while doing programming. Mozart, Chopin, and Debussy are her favorite composers to listen to, sometimes she even let her head and hand follow the melody, imagine herself playing a certain piece. Kate enjoys playing piano and feels that connection of the music and her own emotion.
One month passed by fast, Kate felt really tired, but happy because she learned a lot and the computer seemed less “magical” to her now. For the next two months she would build a project of her choosing, and she would have to build everything from scratch - from database to Rails application to website. She felt a bit overwhelmed at the thought of building everything on her own, and Hassan will always remind the students in the bootcamp, “if you feel uncomfortable, you are growing; if you feel challenged, you are learning.”
For her personal project, Kate decided to build a website for piano students. it has all the information about learning piano - videos from piano teachers from various sites, tutorials on music theory and how to practice, etc. She chose it because she’s personally passionate about helping other people learn about piano, music is beautiful and the practice of it takes people to a journal of craftsmanship - it comes with the satisfaction of struggling and then constantly improving at something. Just like computer programming.
When Kate brought this project idea to Michael, he was excited. “You know, I always wanted to learn about piano because I see you practice every morning, but I feel that I don’t have a plan on how to start.” He paused, and thought for a while, “You know what would be helpful? If there’s a website that kinda maps out a journey of a piano student, and show the resources at each step of the journey.”
That’s an interesting idea. Kate thought, maybe with something like a visual timeline like Facebook, except that timeline maps out the journey of piano learning, with resources attached to each milestones within the timeline.
Kate started with building the timeline using HTML/CSS/JavaScript. She started by building out a React application because it’s easy to start and she learned how to build visual components with data in the class. She searched online for “how to build a Facebook timeline” and found some interesting source code from Github. Never re-invent the wheel is another lesson Kate learned from the bootcamp. It’s comforting to know that she doesn’t have to build everything from scratch, and can use other people’s open source code as a starting point. It’s like building with Legos, she sometimes thought.
Building a specific thing requires constantly iteration, Kate found one project that she can start with, but it’s never exactly what she wanted - it’s in pure HTML/CSS so she had to fit it into a React application, and the styling isn’t exactly what she envisioned. Hassan suggested Kate to visualize the end goal of this product, and try to make things simple - for example, instead support different types of tutorials, maybe Kate can start with providing web links that take to either an online video or blog post. Start with baby steps, and build it from there.
The whole process of building out this project took Kate back to the mentality of a pianist. It’s just like piano practice, she thought, only this time she’s applying the same techniques to build a website for piano students. First, visualize the end goal, then break it down, and then zoom in to work on a small section, a few bars in music or a small feature in programming. Whenever she felt frustrated about not getting a specific thing to work, she reminded herself of that “craftsmanship” mentality - focus on the small step and make incremental progress, and gradually it amounts to something big.
At the end of two months, it’s demo day at WeCode. It’s the time when all the students graduating from the bootcamp to show case their project. Family and friends were invited to the event, Michael was excited to see Kate’s demo even thought he has seen pieces here and there. Kate was the among the 20 students who finished their personal projects - about 10 people have dropped out during the program. She’s proud of her journey and felt that she’s learned a lot along the way. She decided to name her website “PianoSteps”, because just like anything other skill, learning piano is about taking incremental and sensible steps.
When it’s her time to present, she showcased her work - she had a generic log in page with a beautiful piano as the background, after she logged in, the webpage turned into what looks like a Facebook timeline. On the right side, it has grades 1 to 10 listed as the navigation, and in the center, each grade has resources like “video: how to play C major scale”, “blog: 5 easy piano pieces to learn.” The crowd cheered for Kate after her presentation, as she came off stage, Michael hugged and kissed her, “I’m so proud of you, baby.”
“Thanks!” Kate still felt excited after her presentation. She is ready for a new career in tech, and she learned that computer programming is very much like piano playing - it’s about incremental progress towards a larger goal.