So, you’re gonna go to code school, huh??
As this is my first blog post, I wanted to touch on a broad topic that I think will be relevant to more people, especially if programming interests you but you don’t know how to write much or any code yet. If you are thinking about furthering your education and are pursuing doing so at a code bootcamp, here are the experiences I’ve had and advices I can give based on such.
I want to explicitly say, right out the gate, that I am a complete and total n00b when it comes to coding. I’ve been seriously coding for maybe 10 weeks of my entire life, and all of that has been while I’ve been a student at Turing. I’d dabbled, before, sure, but never seriously, and never in such a way as to really understand how one actually creates software from the ground up. So, maybe this can put your mind at ease, dear reader, especially if you are coming to this from a similar background as I-passionate about creating, and with zero technical knowledge on how to make my ideas happen using software. I myself have created, built, and innovated in the world of classical music. That was my world for 10 years! I barely touched a computer. Everything I used was analog. I had not owned my own computer in 5 years. I honestly was (am ironically still am) very anti-tech in many ways. So, if I can get through this, so can you.
After that brief consolation, reader, I am afraid I must tell you a hard truth. If you enter a bootcamp in such a state as I, it will be *brutal*. And I don’t mean “oh, this is really hard but I’m getting it”, I mean “being William Wallace in the last scene of Braveheart” brutal. My code school dumps *tons* of knowledge on you from day one, and it never lets up until the last day of your classes. If you are struggling, as I did, with terminal commands (and/or what the hell is a terminal??) and vocabulary terms at the same time, be prepared for a big ol’ tearful meltdown in the private bathroom stall on your second day of class. (I mean, I didn’t do that…what are you talking about??)
Fortunately for you, dear reader, you can have faith that your school admitted you because they believe in you and your ability to adapt, learn, and overcome.
I promise you, you *can* quickly learn these things and not fall horrifically behind. But, in the sprit of good faith, here are my first advices for you, technically and otherwise, to ease that part of your struggle, so you can, you know…struggle with other things. Like getting RSpec to run. Or, you know. Whatever.
- Do a tutorial on terminal commands.
This is prime. I so wish I had done this. The terminal is essentially the fastest way to get your computer to do stuff, without having any kind of fancy interface to click through. To me this was terrifying, as I rely so heavily on visuals, but after some practice I found my stride and now prefer to use it to interact with my machine more than anything. A great tutorial can be found here:
Learn Enough Command Line to Be Dangerous
A tutorial introduction to the Unix command line
2. Read these books, immediately, and apply the concepts as you do your programming pre-work (or some such other coding challenges before coming into school).
The first is “A Mind for Numbers”, and the second is “Deep Work”. They teach you how to learn complex concepts FAST, as well as train you to focus in and get in that flow state faster while you are working. They also teach you how your brain works, especially in regards to learning complex ideas and being able to work with them fast. Here are the links to buy them on Amazon, or hit up your local library!
Deep Work: Rules for Focused Success in a Distracted World
One of the most valuable skills in our economy is becoming increasingly rare. If you master this skill, you'll achieve…
3. Get an emotional self-care kit and adapt a “breaks are more important than pretty much anything” mindset.
Ok, so, programming can be a blow to your ego. I am not perfect, and I still get frustrated and can get dammed upset when something just *isn’t working*, and I can take it personally. I also came into school with a bad habit of becoming obsessed with solving a problem without a break for however long it took. Please, do not do this. You’ll deplete your emotional reserves, which TOTALLY impacts how you think and your energy levels. Adapt the pomodoro technique and adhere to it religiously. Train yourself to do deep breathing exercises *before* you need to actually breathe deeply. Figure out what makes your soul sing and figure out how to keep doing that while in school. My thing is music. I still make it every day.
4. Get obsessed
Now is the time to become insatiably curious. Ask a zillion questions of anyone you can. Adapt a curiosity-based mindset. Mess around with code and make weird mistakes and find out cool stuff merely by doing weird things in a pry session (or whatever you use for whatever language you are working with). When you are programming and encounter an error, ask yourself immediately, “hm, where is this coming from? How can I follow this issue to the source and debug like superman?” Do NOT do as I did and immediately tell yourself “oh God, I’m an idiot. What kind of idiot gets this many errors?” Spoiler alert: a LOT of programming is dealing with error after error after error. Success is not a “finished product”, success is training yourself, with a curious mindset, on how to solve problems with greater ease. If you become a software developer, I imagine you are going to be getting paid to a) feel dumb a lot b) learn all the time and c) solve problems under pressure. Please note-*that* is going to be your JOB. That will be your day-to-day and you will get paid to do that. You are NOT getting paid to write perfect, bug free code from the get go. You get paid to solve problems.
Also, get super curious about the industry! Find out about the issues, and where you feel that you can make a difference. My big thing is helping people with mental illness break into and thrive in this field. Figure out where you want to make an impact socially, as well as technically, and start brainstorming ideas of how you may be able to help out and pay it forward. Also, tech is huge and amazing and vast-don’t limit yourself immediately to one language or field. Learn how to *program*, and get obsessed with everything that entails.
5. Go to meet ups!
“But Ruth, I’m an introvert! Ruth, meetups freak me out! Ruth, I don’t know anyone!”
I get it. People think I’m super extroverted. I’m not. I’m an incredibly shy and private person who has practiced faking it for a loooong time. It doesn’t mean I’m inauthentic around people, but I’ve learned to force myself out of my comfort zone, socially, and the dividends are huge. Who knows who you will meet? They could be a hiring manager who you run across later when you are looking for a job! Or maybe a mentor! Or maybe even your new best friend! I find that the people who work in tech are intelligent, and even more importantly, overwhelming kind and interested in improving the word around them. Of course, there are a few outliers, but thats life. Force yourself to get out there and find your tech tribe. Maybe its folks into hacking, maybe its UX, maybe its data science, who knows? The point here is that you need these people to succeed, and inversely, they need *you* to succeed. At my last meetup I met founders, developers, UX designers, and most importantly, super cool people who were stoked to connect with me and give me advice. Its win/win, imo.
^^ Yes, this is my life.
6. Get selfish.
People associate selfishness with being a terrible person to other people. I say nay nay, selfishness is important when it comes to focusing on changing your life, which you are obviously doing by choosing to put so much time and energy into a career change and learning a new skill. Communicate often and early with people in your life that you love and care about them, and that for the next however long, you are going to be focusing almost exclusively on school. Brainstorm some ways that people can support you, so when they inevitably ask how they can help while you are there, you have actionable steps for them to take. If your friends are jerks to you because of this, well…repeat the above step and find some new friends. Put yourself first. Your wellbeing and future is your number one priority right now. Its a glorious attitude to adopt and pays out in positive ways to those around you!
And lastly: pay it forward. Pay it forward immediately and often.
You got this.