Culture / Op-Ed / Top Stories /

Code n00b: One Year In, We Can Drive It Home

8 Sep 2017 12:08pm, by

So I recently passed a milestone significant mainly to me: one year since finishing front-end boot camp. As readers of previous Code n00b columns will already know, completing an academy course, no matter which one and no matter how good, is only a start. A tremendous amount of learning remains to be accomplished before a newbie coder is ready for actual employment as a professional developer. Everyone’s path to proficiency is different, in part because there is no established track between “hey, I can kind of code now!” and working in production on a team with other programmers.

The one year mark is a good time for looking back and taking stock, I am taking this anniversary as an opportunity to summarize a few observations from the journey thus far. Everything: The good, the bad, the ugly.

Let’s start with the bad.

Boot Camp Alumni Aftershock. Also known as “What do you mean I just spent thousands of dollars and three months of my life and I’m not actually job-ready yet???” Syndrome. Pretty much every organization that teaches folks to code makes fairly extravagant promises regarding employability, once graduated, in order to get us in the door. And maybe there are a handful out there — extremely rigorous and, not incidentally, extremely expensive programs — that actually do turn out turn-key coder pro alumni.

Remember, rejection is what started the X-Men.

By and large, though, it’s a shock to emerge from a rigorous learning experience to learn that your brand new skills are not yet proficient enough, or even actually extant enough, to get you through the door of a tech company as in employee.

Here, Hold This Firehose. One reason for the aftershock is there is just an unbelievable amount to be learned. Besides whatever programming language or languages we start out with, there are all the satellite skills that we also need to learn. The command line. Version control and navigating GitHub. Node. IDEs and the bazillion different platforms and libraries. and testing and debugging and deployment… To name but a few of the necessary skillz we need to acquire along with the ability to string together functional JavaScript that actually, you know, does something.

Self-esteem? Oh, Maybe I Left That in My Other Pants… The preparatory “read this first” materials out there about jumping into a new coding career all fail to mention how freaking stupid you are going to feel, pretty much all the time. Learning something new, especially something as intricate and demanding as computer logic and programming, is really hard. But for me, and many other new coders I’ve talked with, the even harder part is feeling less than. Less than professional devs who already made it, less than the other students who seem to be getting it when you don’t. Less than a human being of even modest intelligence when the fairly simple chunk of code that should work just. Does. Not

All that is pretty much constant, and the only answer is shut that bad brain sh*t down and keep working. You are smart. You just don’t always feel that way. Google “Imposter Syndrome” and you will see that everyone else, everywhere, basically feels exactly the same.

And then there are a few downright ugly aspects of the Learning to Code Life Journey.

Get Used to Rejection, Because It’s Constant. Sending your carefully crafted resume, with your by-now reasonably impressive portfolio of projects and… crickets. Not even an acknowledgment email thanking you for applying, much less inviting you in for an interview. Lather, rinse, repeat because that is what the job search process looks like 90 percent of the time. (The other ten percent, you get an email right away telling you that your pathetic showing doesn’t even qualify for initial consideration). But what else is there to do but suck it up, buttercup, and send your cv once more into the abyss? Remember, rejection is what started the X-Men.

Ditto Embarrassment. The great thing about the coding profession is it is one of the few places where what you can do is the only thing that matters. Writing clean, functional code is more important than where you went to school, or your social connections/status, or personal attractiveness.

The downside to a culture that prizes performance over all else is how relentless its denizens can be when, inevitably, you fuck up. Just fix your mistake, as fast and best as you can, and bear in mind that absolutely everyone screws up on occasion. Then change your name, move to a different state — or country, depending on how dire the screw-up — and start over where no one knows the horrible, humiliating thing you did.

Oh, ho, I kid! I kid. No one ever died from embarrassment. It only feels that way. (By the way, don’t forget to change the name on your GitHub account, too).

I saved the good parts for last because these are the ultimate takeaway from today’s exercise.

Hey, Look, Ma, I Am Actually Kind of Good at This! Pause for a moment to really think, in detail, about where you were skills-wise a year ago. Now, look at whatever you’re working on. Despite all the ugly, you have made progress. You know a few things, can do a few things. It’s easy to forget how far we have come when the horizon of ever more complex skills we need to learn next keeps shimmering and moving ahead in the distance.

For my own personal example, I’ve been structuring my workflow as 25 minutes on/five minutes off — taking those five minutes to get up, move, get a drink, look at Slack. It’s called the Pomodoro Clock and is a huge boost to my focus and productivity. But I was using the timer on my phone for a ridiculously long time until the day I took 45 minutes to throw together a quick desktop app. Which I did without thinking too much, or even really breaking a sweat. A year ago this would have been completely beyond my just-outta-boot-camp self. And now I get to take it for granted.

This Is Fun! At Least Some of the Time. Those moments where the code does work, where what you wrote does do what exactly what you wanted it to. Or when it didn’t, but you cracked open the console and spotted the bug right away. Or when you attempt a real-world interview code challenge and knock it down, presto, perfecto. Feels good, right? Sure, there are many un-fun, frustrating moments in between, but the down-lows are why the highs feel so, well, high.

You’re No Quitter. If you’re still at this, if there has never come a point in your pilgrimage of learning to program where you threw down the keyboard and simply said, I can’t do this — then that is huge. Becoming good at any serious new skill is hard — it takes dedication, focus, sacrifice even. Many, many people drop out along the way. But you didn’t. And you — having made it this far — will not quit. It is as close as we get to a diploma in this learning curve. Go, us!

We Are Sexy. Being a coder is cool. The world has changed profoundly in the past 15 years, and here we are at the forefront of the technology that drove all these changes. This is us, right there, in the driver’s seat. With an unimpeded view of the wide-open road ahead.

Photo by Jakub Gorajek on Unsplash.

A digest of the week’s most important stories & analyses.

View / Add Comments