Most New Year’s Resolutions fail within the first few weeks of the year. Now that those weeks have passed, and you’re feeling bad about not exercising, eating that chocolate and washing it down with the beer or wine you promised you wouldn’t have, why not pick up a few suggestions that you MIGHT actually stick to?
Start A Blog
Yes, everyone says this all the time but maybe that’s because it’s good advice. Write about what you know, what you learn or just “Build your personal brand”. Don’t use third party blogging services – they make it easy for you for a reason: to drive traffic to their domains. Get your own domain, set up blogging software on a host of your choice and just start. You’re a software developer; act like it!
Yes you’ll make mistakes. Yes there will always be people who criticize your writing, but it really doesn’t matter. Your writing will get better with practice and what really does matter is that you’ll “get your name out there”; people will find your site and read it. You might even decide to monetize the site but, at least to start with, just get on and write regular articles. They don’t even have to be overly long – just an observation, thought, or a problem you solved.
If you’re still not convinced, think of it like this: one day you’re going to be looking for a new job. There’s not much more frustrating than looking for a job and seeing in the press that “companies can’t find enough skilled workers”. If people search for “software developer
Pay It Forward
If you find an interesting blog or article, link to it, tweet about it, put it on Instagram or maybe even link from your own blog. Linking to other people’s blogs from your own seems to have gone out of fashion at around the same time as bloggers moved to platforms. Bring it back, and you’ll see your own site’s search position rise up too.
Learn Another Language
It’s great to be an expert in a particular programming language, but remember that languages are just tools. Knowing more than one language is always an advantage so start learning one now. Take a look at C#, Python, C++, Go or even Java. If you use strongly-typed languages, try a scripting language or vise versa. New languages can help you see new ways to implement solutions, so the sooner you start learning the better.
Get A Raspberry Pi Or Arduino
An Arduino will teach you about writing C on embedded devices and interfacing with the real world. All you need is a USB cable to connect it to your PC.
A Raspberry Pi also lets you interface with the real world, but using a multi-core Linux machine that you can plug into your TV or access across your network. You can even experiment with containers, media server software or anything else. If you manage to trash the system, you can just re-image its SD card and start again.
Both machines are a cheap and effective way to enhance your skill set, and with the right projects, maybe get a few more skills like alternative operating systems and “IoT” onto your resume.
Automate your build, your unit tests, your integration tests, ANYTHING! Use NUnit, Selenium or whatever else suits your system or takes your fancy. Once you’ve written the first test the rest will be easier. Automation will help you improve your system’s design because of the changes you’ll need to make to some parts to make them testable.
A word of warning: you may encounter opposition from people who have a vested interest in keeping testing manual and the products unreliable. This can be a good thing – it should encourage you to put your new automation skills on your resume and move to a company that is more likely to survive the next competitor that arrives.
Give Them A Try
Any of these ideas will improve either your skills or your reputation or both. They’re all worth a try and they’re not just abstract vague concepts – I’ve done them myself and they work. As an added bonus, trying these doesn’t mean you have to stop enjoying yourself now that you’ve given up on your original resolutions, so you get to have some fun too!