The subtitle of this book is "Guidance for the Aspiring Software Craftsman" and early in the book the authors, who presumably see themselves as software craftsmen, distinguish between the career levels of apprentice - those starting out who are learning their trade; journeyman seen in this context as a team member who is expanding a portfolio of applications that demonstrate progress and may be a mentor to less experienced team members; and master who "view the acquisition, usage and sharing of superior skill as the most important part of being a software craftsmen" - there is a recognisable influence here. In fact the slim volume is peppered with apt quotations and they are culled from many sources - from Arab to Zen.

The idea of using patterns has long been recognised in software development - it boils down to identifying and giving a label to a commonly encountered problem so that you can employ a variation on an already defined and well rehearsed solution.

The book adopts this idea but rather than using it in the context of software development applies it to personal and career development and presents thirty five "behavioural patterns".Each pattern is presented in the same way. First comes the all-important title - which acts as a summary of the scenario. This is acompanied by a pithy quotation and sometimes an illustration. One or two sentences provide the Context followed by a short description of the Problem. The bulk of the text is devoted to each Solution - from half a page to two pages or more - and often this distils advice from a variety of people the authors have interviewed or whose work they have read. Then comes Action - what you can do to work towards a solution.

I liked the way in which the various patterns were linked together in the See Also note at the end of each one. The fold-out "road map" inside the back cover also shows conections between them.

So what patterns will you find in this book. Appendix A at the back of the book has an alphabetical lists of all them - title plus problem. Some are rather obvious: Confront Your Ignorance; Expand your Bandwidth, Unleash your Enthusiasm and Study the Classics. Others are more intriguing: Be your Worst, Sweep the Floor, and Stay in the Trenches.

This is a readable and slim volume - and it doesn't need to be any longer or long-winded - having seen the format most readers will find that they can come up with more patterns to add to the collection.

If you expect this book to tell you something about being a software developer and how to negotiate career hurdles you may be disappointed.
]]>mike.james@infomaxgroup.co.uk (Sue Gee)Career developmentTue, 24 Aug 2010 00:00:00 +0000Driving Technical Change http://www.i-programmer.info/bookreviews/64-career-development/1703-driving-technical-change-.html
http://www.i-programmer.info/bookreviews/64-career-development/1703-driving-technical-change-.htmlAuthor: Terence RyanPublisher: Pragmatic Bookshelf, 2010Pages: 150ISBN: 978-1934356609Aimed at: Team leaders and team membersRating: 3.5Pros: Readable and mostly reasonable adviceCons: Formulaic, tends to be repetitive

Reviewed by: Sue Gee

Is a book about office politics that relates to the software industry and talks its language - a useful resource?

This book started out in a more optimistic age - in 2004 to be exact. In the current economic environment its message of "life is too short for a job you don't love" might seem over idealistic. Many people would settle for a steady job. On the other hand it does contain some good commonsense advice for competing in the jobs market and that is something everyone trying to land a job probably needs - and if you can gain a job that you are enthusiastic about so much the better.

Andy Lester, who is a software developer, starts with a few basic principles including "be honest with yourself" and with others and "be positive". The second chapter "What do you want in a job?" is about motivation and asks you to consider a dozen factors - from money to the technology used (for the author using non-Windows technology is an important factor) to dress code and working hours and suggests you rank these in a spreadsheet.

There follows two chapters on creating an effective résumé: the first theoretical - what to include and leave out; the second practical - create three versions in Word, plain text and HTML. Andy's advice here seems very sound and I certainly agree with some of the main points - creating a résumé that is going to achieve success isn't a quick and easy task, in fact it’s a long and arduous one. Later in the book he makes the important point that you need to customise your résumé for each specific job, that a cover letter is important and never to disclose your salary history.

The message of Chapter 5 "Finding Your Job" is that "it's all about the people" and urges personal communication as the optimum method and not to rely on employment agencies but to hunt out opportunities.

Part 2 of the book goes on to provide advice about a job interview with a chapter on preparing for the interview, which includes devising a relevant portfolio followed by three on the interview itself - a general one, one on handling tough questions and one on how to deal with topics that should be avoided. These are peppered with examples and case studies - from the employer's perspective as well as the potential employee's. There follows a chapter on references, negotiating once you receive a job offer, how to resign from your current job and how to make the best of being rejected.

The book rounds off with a chapter on "Staying Hirable" which tells the reader to remain on the lookout for a better job. It also advises you to improve your network and to start a technical blog to promote yourself.

This book does hammer home the idea that finding a job is hard work - but that it is a task that can repay a lot of painstaking effort. Reading this book can probably help but it doesn't have any sure fire answers.