What do I plan to do over the next 6 months to become a better developer

Now I don’t usually do memes, though I got tagged on this one by Daniel Moth, but I had something interesting to say on this.

Some of the best advice on becoming a better developer comes from the Pragmatic Programmer and a number of the philosophies towards improvement I have directly come from that book, particularly their comments on taking responsibility for your work and career by investing regularly in your knowledge portfolio. I try to commit to at least 6 hours of professional development a week, be that coding, reading, etc outside of the day job and I’ve spoked a couple of times about how Ruby is my ‘new language‘ this year.

But in addition this year I have decided to improve what I would call my ‘keyboard proficiency’. I’ve always been a bit of a ‘drive by mouse’ guy, but I think it is creating dead-ends for me that are stopping me moving further.  I’ve taken to learning the keyboard shortcuts in VS 2005/8 more thoroughly (by the expedient of moving the mouse out of reach) and brushing up on my CodeRush templates with the interactive window. As the Pragmatic Programmer says: Use a single editor well.

But more than this a lot of the developers I respect seem to have a real fluency with shortcuts, consoles, scripts and use them to automate repetitive tasks. It occurred to me that a  lot of the practices I champion, like TDD, Automated Builds, Continuous Integration probably came from individual developers whose mind sets were focused on using scripting tools for productivity. Indeed the Pragmatic Programmer says: Use the Power of Command Shells, Learn a Text Manipulation Language, Don’t Use Manual Procedures…

So my goal is to stop being a WIMP and start using command shells, write ruby scripts to automate parts of my work, make sure that any procedure I’m engaging in is automated. Prompted by a conversation with Zi I have downloaded Powershell, and I am going to walk through the pain of using that instead of applets or explorer. I’ll try to learn how to use P4 and Subversion from the command line instead of relying on P4win and Tortoise SVN. I’ll manipulate IIS 7.0 from the command line, instead of from its shell.

I don’t imagine it is an easy journey, old habits die hard especially under pressure. But I think a lot of Windows developers fall down by comparison to Unix developers, because of our over-reliance on the GUI, which makes it too easy not to have to understand exactly what we are doing, or look for efficiency opportunities through automation. Even playing with PowerShell and understanding the power of pipes and cmdlets is a powerful journey for some people.

Of course once again the pragmatic programmers were right. I must re-read their book again, to see how I can improve again.

This entry was posted in Computers and Internet. Bookmark the permalink.

24 Responses to What do I plan to do over the next 6 months to become a better developer

  1. Andrew says:

    The command line tool with IIS7 – appcmd.exe is excellent.  I love using it to administer IIS7, indeed in my session which I delivered at DDD and will be doing at the VBUG Conference this year I try and split between using appcmd and indeed using the windows forms based UI.  You can do everything you need to with appcmd, but you can also write PowerShell scripts for IIS7, although I haven\’t played with them much yet.  Would be interesting to hear your opinion of appcmd as you use it more.

  2. Unknown says:

    wow gold wow gold eve isk wow power leveling wow power leveling wow power leveling wow power leveling warhammer gold warhammer power leveling bestchina traveland ugg bootsor ghd straighteners

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s