Mark Needham

Thoughts on Software Development

University coding

with 4 comments

We went to do some university recruitment recently and pairing with some of the students reminded me of some things that I’ve started doing better since I started working professionally.

I wanted to note them down so that I’m more aware that these might be common areas to improve on for university graduates that I work with in the future.

Naming of things

I don’t remember there being that much focus on naming variables/methods/classes in any of the programming courses that I studied.

It seemed the same for the students I paired with and I therefore found it quite difficult to understand some of the code that they’d written.

A typical example would be a method which had variables ‘x’, ‘y’, ‘num’ and ‘a’ and was named in a way which suggested it was a command when in fact it was a query.

A couple of colleagues I paired with at the end of 2007/beginning of 2008 showed me the value of naming things expressively in terms of how much easier it makes a program to read.

Sometimes there’s a bit of a tendency to try and shorten variable names which tends not to work that well from my experience.

If we can use the same language in our code as we do when speaking about a problem then we’re doing reasonably well.

Solving problems in one go

This is something that I’m still sometimes guilty off although I think I’m getting better at spotting when I’m doing it.

At university on the other hand I had the tendency to try and write the whole solution to a problem in one go without ever actually running it until I thought I’d finished.

As you might imagine those programs never worked first time around and resulted in hours of debugging to try and work out what had gone wrong.

Incremental development certainly seems to work out much better for me these days.

Using Google

One thing I noticed was that the searches being done on Google were written in natural language which meant that the results weren’t particularly helpful.

Google seems to work well if you’ve narrowed in a bit on what it is you want to know how to do.

I think the development of that ‘skill’ comes through practice but it’s certainly something that I used to struggle with a few years ago as well.

Be Sociable, Share!

Written by Mark Needham

February 6th, 2011 at 4:57 pm

  • Devdas Bhagat

    I wonder what would happen if you were to pair in a functional language, or a scripting language?

  • Interesting observations. When working with graduates you often realize what you’ve learnt which now seems natural/second nature.

  • @Devdas – not sure we didn’t try it! I’m not sure they would have been comfortable enough to work in anything other than Java though.

  • Pingback: Tweets that mention University coding at Mark Needham --