Day 1 as a Software Engineer? Do This.
If you’re like me, you’re starting your first Software Engineer job or internship with absolutely no clue about what the job entails. You just have a computer science related degree, a desire to learn, and the skills to pass a totally unrelated technical interview (no, there’s no overlap between Leetcode and actual software development!). But beyond that, who knows? Your “Principles of Programming Languages” class that you aced isn’t going to be immediately relevant (you’ll still be glad you took that class though).
That’s okay. Relax and understand that its the job of your employer to teach you everything you need to know. Instead, on Day 1 (and Week 1 and Month 1 and Year 1…) focus on getting productive, fast.
Have you ever witnessed a Senior Software Engineer, or your professor, or your older sister, code really really fast? It’s very impressive — the knowledge and muscle memory of years of typing on a keyboard makes that senior person faster at what they do. Understand that you are slow, for now. You are slow to research that one task that someone has detailed for you. You are slow in getting context for how to fix that “good first issue”. You are slow at typing, too. Again, it’s okay because you are expected to be slow, but it sure would better to be fast!
So here’s how to be fast. Learn vim
. Or emacs
, fine, but the point is that knowledge of a screen-based text editor is the essential tool in an engineer’s toolbox. And really learn vim
, because just knowing the basic commands of i
and dd
and :wq
won’t cut it. I’m talking spend Day 1 and beyond practicing your vim
skills, like actually taking time out of your day to go over a vim
tutorial like this one and set up your .vimrc
file as the first thing you do. Because being a faster typer is like adding extra MPH on your fastball. You can get the job done as an MLB pitcher if you have 90 MPH and tremendous accuracy (looking at you, Zach Grienke), but it’s far easier to just be tossing a causal 100+ MPH (hello, Aroldis Chapman!).
If the baseball analogy doesn’t stick, the point is that you can have a long and illustrious career typing the way you did in college. But far more senior engineers are wizards at the keyboard.
So become a wizard, starting day 1. It’s the best advice I wish I got when I started.