Friday, November 30, 2007

Becoming a Software Engineer

I was recently asked by a former disertation tutor to do a talk at my old university on being a software engineer at an open day for prospective university students. I was happy to oblige, and I've put up the slides on slideshare.net. However, in true Downey form there's not much in terms in written text, but there's more pictures and hopefully, engagement with the audience by the presenter.

This led to some interesting debates on my return to work, with some questioning the need to do a computer science degree at all. It seems there are plenty of people with other technical degrees that move into the software field, and seem to do rather well for themselves.

My take is that my degree was very vocational, and the things I learn't at university I apply directly to my job today. Also that I picked up a lot of theory and hopefully have a more rounded and thorough understanding of the technical problems we face. Hopefully. I have to say though that probably for each useful module I had, I had one useless module. Go figure, I could have tried harder at university, I could have learn't more, but I came out with a good degree and have a good job so no massive loss.

On reflection, a lot of the books I bought at uni are either sitting on my shelf largely unread or have been sold on eBay. But now adays I tend to read a lot of technical and 'business' books, so what would I recomend to prospective students?

'Technical books'

Agile web development with Rails - an excellent introduction to web programming in a cool language, though it leaves testing a little late.


'Business books'

Mavericks at work - a look at innovative solutions to common business problems.
Cluetrain Manifesto - how the web has changed business and made us communicate again.
Getting Real - 37 Signals answer to bloatware.

'Methodology books'

Practices of an agile developer - excellent practices to follow for an agile developer
Lean Software Development - lean and trim software development.

There's probably a whole bunch more I can't think/remember of and a bunch I'd like to read.

What would you recomend?

2 comments:

Anonymous said...

- An HCI book, e.g. The Design of Everyday Things

- GoF Design Patterns

- At least one old-school classic (Mythical Man-Month, Peopleware, The Psychology of Computer Programming), if only to show them that many of the problems we face today aren't new at all and many of the New, Improved (TM) solutions are also the same

Robbie said...

Hey Michael,

yes, Design of Everyday Things was a great read. I must admit I've only ever flicked through the GoF.