A Crash Course for Your First Job in Software

Dear new developer,

This post, “They Didn’t Teach Us This” is a great read.

There’s a curious phenomenon that happens when new web developers take their first job. You’ve just gotten your CS degree or graduated from bootcamp, and you’ve spent months or years learning to write efficient code, practicing for interviews, and building portfolio projects. Finally you’ve accepted an offer, and you’re thrilled⁠—you’re now a Software Engineer™. You march in on your first day, your head held high. And then, in your first week of work, it dawns on you just how little you actually know.

To be honest, that is what this whole blog is about.

But never fear, the author has some suggestions. There are a whole number of items that matter for professional code (like accessibility, scale, and reliability) that don’t really factor into personal projects. He outlines these and a few other concerns. The author also talks about process (with git, environments and deployments, among other things):

So, what exactly happens during a deploy? To start, you’ve been working in a local “development” environment, which gives you the ability to see changes nearly instantly. However, what gets deployed to production often aren’t the exact files you work with on your local machine.

I didn’t have much process when I was starting out as a new developer, but the older I get, the more process matters to me, even when I am the only developer. It takes the complex and layers an abstraction over it, making it easier. In a very real way, the actual content of a process matters less than that all parties agree to it.

The whole article is worth a read.