I am thrilled to have started my career as a developer at IFTTT, a company whose mission is to empower users to connect the different services they use everyday. Users of IFTTT’s app can make their own “applets” with simple programmatic logic: If this, then that. The possibilities are endless.
On my first day, I arrived at my beautiful new computer in a lovely office on Market Street in San Francisco, and began to set up my development environment and learn about the different tools we use.
Now, the best analogy I can give to this experience is trying to drink water out of a firehouse. At my bootcamp, I had learned React and Express, everything here felt like it was written in Rails. Where are the curly braces? Also, what is Docker? And Mesos is who? I’m not sure what you mean by a load balancer. Something like this?
I was told to take my time, and that I should try to bring value from what I already did know. So I focused on that, mustered up courage, and started to work on my first project.
After a few days, I was ready for my first pull request. My commit history was a bit of a mess (remember, commit early and often), but I made one beautiful PR with lots of images and explanation. I told my team I was ready for review, and waited.
Sometimes in life, you have the faint hope that maybe this time things will just be easy. You won’t have to trudge up that hill, or go through the pain of getting strong enough to trudge up that hill, that maybe you’ll get a Lyft promo code and someone will literally pick you up and drive you up that hill for $2.64. Or whatever the minimum amount is.
The only other time that I remember feeling this way was my first semester at college. It was the first year seminar, a requirement for all freshman. I thought if I just worked hard and applied what I knew, I’d do well.
Flash forward to my first paper: I got a B-. It actually said C+ at first, but she had bumped it up because “my grammar was excellent.” But my arguments were not thought out, and it wasn’t clear how I was proving my thesis statement. I did not understand. I had always considered myself a good writer, and consistently received As in high school.
I approached my teacher, and asked her what I did wrong. She met with me for an hour in the library, and I still didn’t understand her criticism. Throw in the mix of feeling helpless combined with the overwhelm of getting a subpar grade, and I started to cry in the middle of the library. Needless to say, it was not my finest moment.
I took my first version covered in red ink and dissected it for hours. I resubmitted it to her the next day. She upped it to a B+. I was fortunate throughout that semester to have a teacher who while tough, was willing to put the time in to explain where she thought I needed to improve. My final grade in the class was an A-, and I was proud less because of the grade, but more because of how I had grown as a writer and all the hard work I had to show for it.
So I’d like to think that for all bootcamp grads, the first PR will be like that. I was used to having 2 to 3 weeks to create fully functional apps ready to be shown to employers. If you dig into the source code for my final bootcamp project, you’ll see it’s pretty gnarly. A tech company with high standards for its product is going to challenge you to make your code as elegant and optimized as possible, no matter how long it takes.
Finally, I will say that you should feel confident when starting a new job coming out of a coding bootcamp. In 3 months we learned an entire tech stack and the fundamentals of programming. When told that I had to learn Ruby, I was excited and confident that I’d be up for the challenge. I think that this amazing adaptiveness is the greatest asset we have. We learn quickly, and I can already see how much I’ve grown as a programmer from when I first started at IFTTT four months ago. So don’t be afraid to get tons of feedback on that first PR. You’ll be all the better for it.