One of the things that’s becoming more and more prevalent in programming culture is that everyone should learn to code, and even that some people should aim to try to write code every day.
And don’t get me wrong: I think educating others who are interested is extremely important.
I’ve written about the former topic before, but the latter is something with which I wrestle. On one hand, I really like the idea – that is, in theory. I mean, it’s a great argument for how to get better at what it is that you’re doing on a daily basis, right?
It’s a way to help you become world class.
Write Code Every Day
And depending on your stage of life, it’s likely easier to write code every day more so than others. Some people travel for their careers, so their ability to code is hindered a bit by exactly that. Some people have families and so the amount of code that they’d like to write is shared between time invested with their families.
Others see writing code as a means to an end – a part of a 9-to-5 job that provides a salary and a relatively comfortable working environment (well, some places, at least :).
Personally, I’d like to think that this is a tension that other developers feel, because it’s something that I feel – quite often, even. There are plenty of things that I want to do, there are plenty of things that I need to do, but there are plenty of things that I should do.
And the latter is something that I don’t think is discussed enough because it’s true for many of us.
What I Have to Do
First and foremost, I get to write code every day – some days more than others, sure – and I’m extremely thankful for that. It’s something that I love doing be it for my own projects or be it for client projects. Regardless of the code I’m actually writing, I’m generally happy simply to be writing code.
Furthermore, I’m happy be to able to be challenged with new problems, experiment with new technologies, and interact with other people who have great ideas with each project.
On the flip side, there is other type of code that I’d love to write every day, too. For example, I’d love to be able to commit code to the WordPress Plugin Boilerplate every day (the next version is in development, I promise). I’d love to commit to WordPress core way more than I have been able to do so thus far. I’d love to create a few additional products other than the one I have available right now.
But here’s the thing: The work that I do day to day are the things that I am privileged to do. I get to do that. I don’t take it for granted.
What I Want to Do
The things that I want to do – such as contribute to, say, WordPress core more often – are balanced by priorities. By that, I mean when the evening rolls around, I am offline. That time is strictly reserved for my wife and daughters.
Sure, I could technically opt to spend another hour or two working on a project, but I wouldn’t trade seeing my wife and daughters for the sake of a project that will either continue to thrive as they age, or will continue to open opportunities for work that I already do.
The short of it is, I want to do those things, but I don’t want to do them more than other things.
Priorities, you know?
What I Should Do
When it comes to writing code every day and attempting to becoming world class at what I do for a living (as opposed to what I should do as a husband and a father – after all, that’s content for another post, or an entirely different blog) is also to read more material from experienced developers.
I’m not necessarily talking about other blog articles that are published each day. I recognize that the content that we push out are flashes in the pan compared to some of the more professional publications that are available.
For example, books that have greatly influenced the way I approach writing code include Code Complete, Clean Code, Don’t Make Me Think, Ship It, and so many more. Each of these books has so much content included within them that it’s impossible to adopt the habits and practices shared after a single read through.
So although I absolutely applaud anyone and everyone who attempts to write code every day and has the ability to balance both reading material and incorporating it in the same day, not all of us are able to do that because of other priorities and obligations and no one should make you feel guilty for that.
So Do What Every Day?
“To each their own” comes to mind here and I firmly believe that. So although I may spent a portion of my day working on blog posts, proofing content for other educational sites, and only writing a few lines here and there, that doesn’t mean I don’t care about the pursuit of becoming great at what I do.
It means that I have obligations, responsibilities, and other things that I’m doing to become a better developer – it may not be writing code every day. Perhaps it’s just reading a lot about it on a given day.