Improve programming techniques
My girlfriend gave me the well-regarded Code Complete, Second Editionfor my birthday. I shall read it cover to cover and adopt good practices I am not currently practicing.
Manage my life
I have started reading GrinGod’s copy of Getting Things Done: The Art of Stress-Free Productivity. I will move tasks out of my head and concentrate on what is achievable right now.
I have set-up these tasks now in Midnight Inbox (great but a little rough) and will keep an eye on OmniFocus. I will be prepared to use my free Moleskine I won in the Moleskinerie summer draw if neither does the job and not immediately write my own software.
Interact with other developers
My Subversion talk at the Guernsey Software Developers Forum went well. I will seek new members and engage in discussions of development with regards to local issues such as those in the finance industry.
I will spend less time on IRC as it is distracting and the non-persistent nature means good answers are lost. Instead I will help more on forums and be prepared to wait for answers to my own questions.
Learn new technologies
I will investigate technologies and learn them where they appear applicable to my work or I find personally interesting. These include:
- Ruby on Rails – clean MVC development with AJAX support… but what about libraries and performance?
- LINQ – simple but powerful object-relational mapping as standard but far away in .NET 3.5
- Cocoa – Apple’s OS X development based around Objective-C giving compilation and dynamic typing
- MonoRail – if I’m going to continue with ASP.NET it won’t be with WebForms
- SharpDevelop – the Visual Studio API is terrible and this project looks well designed and usable
Contribute more to open source
I will contribute more to my favorite open source projects. This includes:
- AnkhSVN – improve user interface and head up the 1.1 release
- SubSonic – refactor more code and help out where I can
Lead development at work
At my new job I will concentrate on the new technology and vision for the next-generation of tools to deliver to our staff and customers and lead my team as appropriate.
I will distill my experience contracting for the last 7 years into the best practices for the company and continue to lead them in adopting modern practices. We now have have source control, formalized request for change and release management procedures however we still need to embrace new tools, write comprehensive unit tests and switch to object-relational mapping for new development.
Switch key-map to Dvorak
I have swapped out my DAS 2 at work for my Apple Pro with the key caps rearranged for Dvorak. I will stick to this layout until I can properly touch-type. I won’t actually make me a better developer but it should keep RSI at bay. (This post was written using Dvorak)