It's a new year, and with that comes new opportunities for growth, change, and all the other type of things that you read on motivational posters. In the past, I've been pretty good about keeping resolutions, so I thought I would jot down a few and see how many of them stick.
As the title mentions, these are developer resolutions, so this is certainly not all I'll be focusing on this year, but I'm sure it'll still be a major part of my year.
Reading, Writing, but Not Arithmetic
Resolutions are about becoming better.
Quite often these changes are physical ones like losing weight and eating right, and while these are great things to focus on, it's important not to neglect the mental side of things. As a developer, there are countless big name books out there that folks commonly recommend as the seminal works to become a great developer and for the most part, they are great.
Last year, I managed to knock a few of these off my lists:
- Code Complete
- The Mythical Man Month
- C# in Depth
- Soft Skills
- Design Patterns: Elements of Reusable Object Oriented Solutions*
Most were extremely easy and enjoyable (as far as technical books go) reads, and often provided a great deal of insight that I believe that will provide value to just about any developer. Note the asterisk next to Design Patterns will indicate that there was some jumping around, as the book is an extremely dense, dry read and will likely serve better as reference than anything.
So this year, again, I'll make an endeavor to read a few more of these development classics and may chime in with some reviews as well :
- The Pragmatic Programmer
- Programming Perls
- Clean Code
- Code: The Hidden Language of Computer Hardware and Software
In addition to these, I'm hoping to just read more in general, both technical and non-technical books.
Screens fill too much time of our everyday lives as developers, so it's nice to grab a book by the cover and spend some time letting your mind fill in all those blanks. Again - it's not for everyone, but it's something than I plan to do.
Resolution: Read at least one book a month, and aim for an even split between technical and non-technical books. Maybe consider writing reviews or summaries and becoming a total sell-out?
Tu Parle F#? Learning a Language or Two
As a developer that has spent the majority of his career within the .NET stack, it's easy to become spoiled with C#. It's an incredibly useful and well-designed general purpose language, but sometimes, you just need to spice it up.
For years, the following languages have summed up 90%+ of my everyday development activities:
While I don't really count things like HTML or CSS in there, and the occasional legacy sprinklings of Visual Basic, or at worst VB6, it's safe to say that things don't change too much. So I thought, why not mix it up and either knock the rust off of something that I learned long ago, like C or Python, or learn something new entirely, like F#?
F# is a fairly safe language to learn as it still falls within the Microsoft umbrella and would likely see a bit of play in my day-to-day work. So if I was going to learn a functional one, why not F#? But then I figured, let's break the mold entirely and learn something else like Go, which as a concurrent language might shake things up.
Resolution: Learn at least one new programming language, preferably two that are quite different from what I normally use.
Community is Key
The development community is still extremely important to me, and it has given me far more than I could ever reciprocate. Despite this, I'm still going to try and make my best effort to keep helping my fellow developers in any way that I can.
Regardless of the medium; blog posts, discussions on Slack, answering questions on sites like Stack Overflow or the ASP.NET Forums, or even talking to developers locally, I want to continue to help developers succeed and continue to learn along the way.
For the past few years, I have done this with a ridiculous level of vigor, however last year quite a few things changed with the birth of my son. While I may not spend as many late nights as I used to answering questions or having discussions about application architectures, I'm still there always willing to lend a helping hand.
Resolution: Blog at least once or twice a month, and continue to heavily participate in forums, user-groups, and other events. All done while my son goes through his terrible twos.
There are a ton of other "small" things that I'd like to focus on during the year, which didn't quite deserve a larger section within this post, but include:
- Taking advantage of Pluralsight and watching more courses. They are always so well-done and generally you can get quite a lot out of them.
- Consider furthering my education and enrolling in a Master's program, in case I ever wanted to do a bit of teaching on the side (or just to see how some of those Computer Science courses look with some experience behind them).
- Giving a little TLC to some of my open-source projects and being a bit more mindful of just how many people actually use them. Basically, just updating them more frequently...