The Boring Tools That Make You Employable
Nobody makes tutorials about the command line and version control because they are not exciting. They are also the difference between looking like a hobbyist and looking like someone worth hiring.
Beginners spend enormous energy on the visible, exciting parts of software - the language, the framework, the app that does something flashy - and almost none on the plumbing that every professional uses every single day. This is a mistake, because the plumbing is what an experienced developer instinctively checks for when they are deciding whether you are the real thing or a hobbyist who followed some tutorials.
Let me introduce the unglamorous tools that will do more for your employability than the tenth JavaScript framework. None of them are fun. All of them are essential.
The command line
At some point, probably early, you will need to leave the comfortable world of clicking buttons and start typing commands into a black terminal window. It feels archaic, like something from a film about hackers. It is also how professional software is genuinely built, deployed, and operated, and being helpless without a mouse marks you instantly as a beginner.
You do not need to become a wizard. You need to be comfortable - to move between folders, create and delete files, run your programs, install tools, and not panic when the only interface is text. The command line is faster than clicking for a huge range of tasks, it is scriptable so you can automate the repetitive stuff, and it is often the only option on the servers where real software runs. Spend a weekend getting comfortable. It pays off for the rest of your career, and the anxiety fades faster than you expect.
Version control, which means Git
If you learn exactly one professional tool before your first job, make it Git. Version control is how developers track every change to their code, collaborate without overwriting each other's work, and travel back in time when they break something. It is not optional in the industry; it is the ground everyone stands on. A developer who cannot use Git is like a chef who cannot use a knife - technically they might produce something, but nobody serious will let them in the kitchen.
The good news is you can start with a small, boring handful of commands - save a snapshot of your work, look at your history, undo a mistake - and grow from there. The transformative habit is simply using it from your very first project, even the tiny pointless ones from the last post. Put every project under version control. Get used to saving your work in small, meaningful chunks with a short note explaining each one. It will feel like bureaucracy at first. Then one day you will break something badly, calmly step back to yesterday's working version in two seconds, and understand forever why this tool exists.
Git has genuine depth, and I have written elsewhere on this blog about the beautiful ideas underneath it. For now, just start using it. The depth can come later; the habit should come now.
GitHub, your professional home
Git is the tool; GitHub is the place most of the world stores its Git repositories and shows them off. For you, right now, it is two things at once: a backup of your work that survives a dead laptop, and - crucially - a public record of what you can do. When you apply for that first job, a link to your GitHub full of finished projects says more than any line on a CV. We will talk about building that portfolio properly in a later post. For now, understand that every project you push to GitHub is a small deposit in an account that future employers will one day inspect.
An editor you know well
You will spend thousands of hours in a code editor, so it is worth getting comfortable in one rather than fighting it. The specific choice matters far less than the marketing wars suggest - pick a popular, well-supported one and learn it properly. Learn its keyboard shortcuts. Learn to search across a whole project, to jump to a definition, to use its built-in debugger. A developer fluent in their editor moves through code with a speed that looks like magic to a beginner, and it is not talent - it is just having bothered to learn the tool they use all day. Do not endlessly switch editors chasing the perfect one; that is procrastination in disguise. Pick one, learn it deeply, move on.
Knowing how to search and read errors
This is not a downloadable tool, but it is a skill every professional has and most beginners lack: the ability to take a cryptic error message, search for it effectively, and evaluate the answers you find. When your program explodes with a wall of red text, the beginner panics and the professional reads it - because that wall of text usually says, in an unfriendly tone, exactly what went wrong and where. Learning to actually read error messages, rather than recoiling from them, is one of the fastest upgrades available to you. It gets its own post shortly, because it matters that much.
Why the boring stuff wins
None of this is exciting. There are no viral videos about becoming comfortable in the terminal, and "I learned Git this weekend" impresses nobody at a party. But here is the quiet truth: these tools are exactly what separates someone who has played at programming from someone ready to do it professionally. An interviewer can spot the difference in about ninety seconds, because the person who has internalised the boring tools carries themselves differently around a computer.
Learn the plumbing. It is the least glamorous advice in this series and possibly the most valuable. Next, we tackle the skill you will lean on more than any other, every single day, forever: getting unstuck.
Jako Heiberg
Software developer with 40+ years of building things that work. Full-stack, FastAPI, React. Based in Cape Town, working remotely, worldwide.