Dear new developer,
Sometimes you just have to grind.
It’s easy to find yourself beaten up. Development, while not physically difficult, can be mentally and emotionally taxing. Screwups can be big. You’re typically on the sharp end of the stick when it comes to building something. Sometimes you’re part of a team, but often you’re working on something that you have insight into that no one else knows quite as well. So they can give you advice, but not definitive action. (If you work at a place where your manager is telling you how to do your job in minute detail, there’s a word for that–micromanaging.) Deadlines loom. You’re often learning on the job. Figuring things out. There’s always a new technology or framework or language or technique or term to learn.
Phew. It can be tough. Not digging ditches tough, but tough none the less. It’s easy to get discouraged and think you aren’t making any real progress.
But, just showing up and making the effort every day is often enough. I was talking to another senior developer the other day and we agreed that there is so much innate built in knowledge that you gain over the years. Things like how to navigate the command line in the most efficient way possible. How to read a regular expression. When to ask a question and when to keep going with the problem you are working on. How to ask for a raise. How to google. How to scan logs. Keeping your head in a crisis.
This stuff can’t be taught, it has to be learned. And that means showing up every day.
And this is true of any skill you want to gain. Do you want to be really good at design? At writing? At public speaking? Find some way to practice what you want to do every day or every week. A timeframe of about six months is the minimum to commit to anything serious. This is a nice amount of time because it isn’t insurmountable (who can’t commit to something for only half a year), yet you’ll be more than a beginner at the end. And then you’ll have the context to know if you want to continue the effort.
The tough thing about consistency is the opportunity cost. Committing to say, writing a blog post every week means you’ll have less time to watch your favorite TV show. It also can be scary to commit to something. What if I choose the wrong technology? What if I don’t like writing a blog? Good news–you can stop. Especially early in your career, you can take a mulligan pretty easily, because you’re being hired for potential rather than skillset.
The great thing about consistency is that it gives you a chance to improve and the permission to fail. If you are working on hard problems (for you) every day, you can’t expect to hit a home run every time. Heck, you can’t expect to hit a single every time. But you can show up, put in the hard work and you’ll improve. If you write a blog post every day for a year, some will be good, some will be bad, and some will be horrible. But even if only ten percent are good, that’s still more great content than twelve awesome monthly blog posts.
I’ve found that having a printed out calendar can be a big help when trying to be consistent. I print out the calendar and put a big fat X every time you do something. Especially if I am trying to do the task daily, getting to put that big X on the calendar has motivated me, sometimes even forced me out of bed.
Keep it up.