In less than a week, we'll be in 2012. I know it's a cliché, but where has the year gone? Naturally, we're now at the time of year when folks set goals for the new year. While you might have some goals for your "real" life, how about a few resolutions for your developer life?
1 - Learn a New Language, Framework, Or Methodology
We must continue learning about the latest technologies.
Along the same lines, now is as good a time as ever to re-evaluate your workflow, and learn better and different tools to get the job done more quickly.
2 - Get Better At What You Know
Set aside some time to also focus on existing languages and software.
3 - Explore a New Field
This resolution is a different twist on the first one. Learning a new language, framework, or methodology in your own field is great, and might even be useful to your daily practice. But if you're like me, you're fascinated with every part of the web. Try exploring new fields. Back-end devs: look into front-end development. Front-ends, explore usability or user experience more than you have before. If you enjoy writing, you might be interested in content strategy, or fostering that design flare. There are dozens of fields on the web; explore!
4 - Engage the Community
Call it engaging, call it networking, call it whatever your want.
The web is a pretty incredible place: I can't think of any other phenomenon that has ever made such strong friendships between people so far apart. In 2012, why don't you try to engage this group of amazing people a bit more? Talk to them on Twitter; read their blog posts and comment or write your own articles in response; contribute to their code via Github, or another code-sharing site. Or, go to meet-ups, user groups and conferences. Call it engaging, call it networking, call it whatever your want; but one thing's for sure: it will (in most cases) benefit both you and the other person. In addition to building great personal relationships, you'll likely gain new referrals!
5 - Teach Others
The most beneficial comments are the ones that hurt your feelings.
Going hand-in-hand with our previous point, you should resolve to teach others more in 2012. Why? Well, how does it go, "Teaching something is the best way to learn it"? I've been writing for Nettuts+ for close to three years, and I can attest that that statement is completely true. Writing down exactly how a concept works forces you to understand it completely; you'll be surprised how much you'll learn about your topic when you try to teach it. On top of that, there's the incredible feeling you get when you know that you've helped someone learn a new skill set.
Undoubtedly, you'll face a few trolls, pointing out legitimate mistakes ( or just making stabby comments). Not to worry (too much); teaching is a learning process, and you'll improve the more you do it. The most beneficial comments are the ones that hurt your feelings.
6 - Take Better Care Of Yourself
We are the martyrs of the web.
We web developers seem to pride ourselves on our dedication to our craft. We'll work long hours, hunched over a computer in the dark, so absorbed in our work that we forget to shower or eat. We are the martyrs of the web, suffering to make the internet a better place.
Sounds heroic, but it really isn't.
At the risk of mommying you, I'm going to suggest that you take care of yourself in 2012. Besides sleeping and eating well, make sure your workplace is ergonomic. It stands to reason that, if you spend a third of your life in your office, it might make sense to make it as comfortable as possible!
7 - Manage Your Time (and Other Resources) Better
Over 1 trillion videos were watched on Youtube this past year.
Perhaps this isn't specificly related to web developers, but it is, nonetheless, something that almost every "knowledge worker" can afford to get better at. For a lot of us—especially freelancers—what you're doing with your time could be the difference between feasting and fasting. Remember all those fun, new web technologies I recommended you learn about? Well, don't let their lure limit your bacon-bringing hours to few and far between. Of coures, the internet at large can be just as much of a distraction. I'm sure you saw this recently; it gave pause when I did:
Assuming that the average YouTube video is 2 - 3 minutes long, we're looking at something to the tune of one whole day. Something tells me I'm not much better off for it.
Of course, "all work, no play" and all that, right? I'm not suggesting you be a slave to your clients, or an unbearably dull workaholic. I'm merely stating that we would all be wise to track exactly where our hours are going and make an effort to use them a little better.
8 - Use Better Programming Practices
I don't think you'll ever have an issue with over-documentation.
No, I'm not repeating resolution two in different words. This time, I'm talking about the practices that surround the actual coding itself. I can't tell you how many times I've eagerly started a new project, and—half an hour later—said, "Hmmm . . . I should create a branch to try this feature. Oh, wait, I forgot to initialize Git when I started . . ." Making sure I remember to use code versioning from the beginning is something I'm going to be working on in 2012; it keeps your project history so much cleaner.
Another meta-coding practice I usually neglect (to my detriment) is commenting. I'll conjure up a few clever lines of code, and be tickled for the rest of the day. Next week, I'll return and spend twenty minutes trying to figure out what it does. This plagues you too? Do yourself a favor and leave useful comments to yourself, and others. Documentation is right along the same lines as commenting. When I was recently learning Dojo, I found its in-code documentation to be invaluable. Of course, the level of documentation will depend on the publicity of your project, but I don't think you'll ever have an issue with over-documentation.
9 - Generate Passive Income
I'm guessing that most of the Nettuts+ audience performs client work, either as a freelancer or otherwise. Well why not make some passive income on the side? Envato has ten (count `em!) marketplaces where anyone with the right skills can profit. Build a theme for Themeforest, write a script for CodeCanyon, the possibilities are close to endless. Of course, if your skills don't trade on the Envato marketplaces—or even if they do—there are bunches of other ways to make passive income. If you're a writer, for example, check out Tuts+ Premium. They're always looking for new passionate teachers.
Selling items on a marketplace or personal website is a brilliant way to passively make some extra cash while still doing exactly what you enjoy.
10 - Take a Break
Put on a completely different hat... sometimes
So far, every resolution has been something you can do to improve your craft as a developer. I'll close by noting that one of the best things you can do to become a better developer is to not be a developer . . . sometimes. Put on a completely different hat... sometimes. Keep another hobby that's not even tangentially related to development, and, preferably, doesn't involve computers. Some play an instrument, some read, some write, some cook. Whatever you do, set aside some get-away time. When you do so, you'll find that solutions to programming problems often show up on during time off.
Certainly, regular breaks are important, but so are those longer, couple-times-a-year vacation / holiday breaks. Throw a few of those in your annual schedule as well!
Well, that's my list of ten resolutions all web developers should make. Have any of your own that aren't on my list? Let's hear them in the comments!