One of my main goals for this year was:
I really need to ante-up my geek game.
I know what you are thinking - “don’t we all Rob?” – for sure, but the truth is this I have been learning relatively little and I feel pretty “mediocre”. I’ve been making efforts to meet more people, making me realise that there are some really skilled people out there. I want to be known as a “skilled” developer, so it is up to me to step up to the plate and fill the void(s) in my skill set.
Cutting code is one thing, but cutting good code is quite another.
Sometimes you need to just keep repeating stuff to yourself until that little light bulb goes on, you leap out of your chair and think “I should do something about it!”.
I came up with the code:
After several iterations, I came up with the following:
- I have been spending a lot of time studying for the old 1.1 certifications.
- I am a real MS nerd, I rarely use other techs, even if they are open source (not for any reason – I just “never got round to it).
- I get wrapped up in thinking about doing it rather than actually doing it.
- I waste a lot of time doing things the “old way” when I could be using tools to cut a lot of the fat.
It’s obvious all of the above have to change, so here is the plan:
Memorise Less, Code More
This may seem a little “weird” and anti-what-the-paper-says, but certifications do not make you a good coder. I have completed the MS 1.1 certifications for Windows and Web development – did they make me a better coder? Not really. Sure, they taught me a lot of the core concepts and classes - but they didn’t improve the quality of my code, nor did they help build experience. Both of those are what really matter with code.
I spent a long time really trying to force everything in my head and be able to memorise the entire book. While this may seem a noble cause, I realise it is also a lost one. A lot of the information I learned is so outdated already I would have been better off getting the fundamentals down, cramming for the exam and just moving on.
So, I am gunning for the MCTS - .NET Framework 3.5 and ASP.NET Applications (70-536 & 70-562) I really think I will take this approach: cram, get it done, code. KISS and all that. I am much more valuable to me, my employer and the community actually writing code rather than sitting in my little apartment hugging a book.
Thinking about it, the above should be applied to technical books as well – read the book, get what you need and close it. Skim read the chapters rather than just read it page-by-page. Highlight key areas of the book and then read them thoroughly.
Get What You Need, Lose What You Want
Being a nerd I often look at lots of things and go “ooOooOO" – that looks cool! I want to play with it”. While this can be great sparking the interest, it can be a real pain in the ass when you just spend lots of timing trying to check out lots of different techs. You are not helping yourself.
So, I have started my “Tech ToDo” list. Whenever I see a tech I know I need/want to have a play with, it goes straight on the list. Take a look at it – see some techs that I really should know? Tell me about it, this is why I am here writing this post!
Stop Thinking Nerd! Do It!
This one can always be the hardest.. It’s so easy to say “get on with it” but we are all busy and it can be hard to “find the time”. I knew I wasn’t going to “find” it so I just went ahead and “made” it. We have recently been asked if we can reduce our working hours at the office.. Sadly I could not really afford to drop to 4-day weeks, but I did drop to a 9-day fortnight. This gives me two days a month to do what I want. Right, now I have time! Sure, it’s costing me, but that just motivates me more to use it wisely.
I have dubbed these days “Tech Days” and will blog about them as they occur..
Keeping It Focused
The “Tech ToDo” is a real simple concept, but it really has helped in me focusing my efforts on getting the skills I need to improve. It also provides great opportunity to ensure you are prepared when external opportunities arise. As an example: ORM’s were on my list as priority two – but then a presentation was scheduled at my local user group meeting on NHibernate – BOOM! Comes right up to the top of the list so I could align the presentation with my Tech Day. Just keep working the top of list and the skills should gradually come along as you need them!
Thoughts? How do you keep your skills fresh?