Top Stories

Code n00b: What They Don’t Tell Us About Dev Life

6 Apr 2018 12:00pm, by

Many, if not most, of us learn to code on our own. It’s a straightforward process: try, fail, try again, fail again, repeat until you actually figure stuff out. As a new programmer, you don’t even know enough to differentiate between good code and bad code — it’s either code that works or code that doesn’t. And that suffices…

… Right up to the day you start work at your very first developer job. That long-awaited, hard-won day when you get paid to build cool stuff. Unfortunately, working a real job in a real office with, well, real people around you is very, very different from learning to code in isolation. There’s all kinds of skills involved that the boot camps don’t teach and that most of us probably don’t even know to anticipate. I am still working on freelance projects myself, so I have not personally experienced these pitfalls. But many of my learn-us-JavaScript network of self-taught coders are now landing in professional, if junior, developer gigs, and I have been paying close attention to their reports from those first days on the job. So as to avoid as many pitfalls as possible when I am at last the one to roll up that ergonomic desk chair to my brand new desk and set to figuring out wtf I’m supposed to do now.

Soft Skills

Hard skills are the abilities that get you hired, while soft skills are pretty much everything else. How well you work with others, communication skills, personal habits — if it doesn’t involve the command line, it’s probably a social skill.

Not everyone hits this particular pitfall because some n00b devs have held other office jobs before switching careers and hopefully figured out the basics of conducting oneself in a professional environment without getting fired or making instant enemies. If, however, you’ve never had a job where you had to dress with at least nominal professionalism (shirt with collar aieeeee!) while remembering you can’t simply just take anything you feel like eating out of the communal fridge — let’s just say there is a learning curve.

The problem: You learned to code pretty much in isolation. Now you are surrounded by people. Who expect things from you, like friendliness. (The right kind of friendliness. Not too much of it, though).

The solution: Keep your mouth shut. Seriously. Watch, listen, and learn about how things work socially in your new place of employment. Then do as the natives do.

For example: Is the office culture procedural or chummy? I.e., is it OK to simply request some info, say thanks and get back to work — or are you expect to have a friendly chat too? Or, is it OK to wear earbuds while working, or is this not something that people do? I’m surprised by how frequently being chastised for doing something so simple seems to come up as a first-week-on-the-job issue, actually. But that is what multiple dev friends have reported back, and with a bit of intentional observation of cultural habits of coworkers (you can pretend you’re Marlon Perkins), easily enough avoided. Probably best to reserve most of your screwing up for the hard skills arena.

Hard Skills

The problem: The work requires you to know how to do many things that you do not know how to do.

The solution: Keep your mouth shut — for two hours, in this case. Make a genuine effort to figure whatever it is out on your own. Chances are, you’re not the first person to ever run into this issue and the fine folks on Stack Overflow will be happy to guide you. If 120 minutes pass, however, and you are still stuck, then ask for help. You’re the new kid, and also a junior developer. Nobody expects you to know all the answers.

That said, there are times to ask for help. My longtime Java study buddy Asa reported somehow locking himself out of Jira before lunch on his very first day — embarrassing, but easily enough remedied, and not the worst screw-up debut ever. That honor, incidentally, belongs to this unfortunate first-day’er who accidentally deleted his company’s production database.

Everything Else

This is a more miscellaneous category of “who knew?!” observations I have heard multiple times from multiple newly-employed dev friends.

Real production code is colossal. Report from my friend Dee on her first day on a contract front-end job: “Today is the first time I’ve ever seen actual live production code and it’s totally overwhelming. So many mysteriously named folders — and my god, the dependencies. It takes 28 JavaScript files just to define all the database schemas. I literally didn’t even know where to start. It made me want to put my head on the desk and sob.”

Setting up your dev environment is ridiculously time-consuming. Asa reported that most of his first week was devoted to doing just that. He also managed to talk serious smack about what turned out to be a senior developer’s favorite IDE, right in front of that editor. See “Soft Skills” above.

A terminal case. You may think you know your way around the command line pretty well, but chances are that was on one computer with just one user account. How do you configure, say, Redis, mySQL and MongoDB to launch automatically when you fire up your new, networked work computer? Chances are, as a n00b newly released into the work world, you know just enough to be dangerous. Don’t ever try a command you think is going to work.

It’s hard to be humble. Inevitably, that first day is going to be humbling. This is all uncharted territory, from first viewing of the monumental and inscrutable production codebase to “where the hell is the bathroom?” It’s simply going to happen. And you will feel stupid. Slow. Possibly petrified that they will realize what a terrible mistake was made in hiring you. Maybe if you hide under your desk…

But: take a deep breath. Another one. Here’s a paper bag, breathe into that if it helps. Just keep breathing. Because it’s ok.

It’s ok to not know everything. Or even feel like you don’t know anything. It’s OK to be slow and it’s OK to make mistakes. After all, you worked damned hard to learn this much and get this far. All this new job stuff?  It’s just the next thing to learn.

We got this.

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

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.