* – Disclaimer: if you’re looking for a simple list of “You Must, You Must Not” rules, this isn’t it. And you should be wary of any list that claims to be that list. Read on for more details.
Agile is not about specific rules. It is about attitude – willingness to change, adapt, and continuously improve and expand. There is no clean-cut set of rules that make one an aglie developer- it is a craft and a way of thinking that must be practiced and honed. That is not to say there are not resources out there to put you on the right path- Headspring offers an agile boot camp that shows what steps you can take to put the agile attitude into practice. But there is no easy list of things that one can do to be an agile developer- and the push to find this list of things can create what some call “Agile Theater.” This is where teams use the “right” names for meetings, and call it agile development, but don’t really change their old ways of thinking. This can actually be quite detrimental to a software development team, as the added semantics of agile just add more work without actually changing the way things are done on a daily basis.
The name agile implies something other than just raw speed- Read the rest of this entry »
Humans learn from experience. Learning to be a consultant is a pinnacle of this idea- you cannot pick up a book, read it, work a few exercises in an isolated setting, and be a consultant. However, The Clean Coder by Robert Martin puts readers in the right direction and starts them down the path to being a true professional by giving the reader both a code of conduct to live by and plethora of stories detailing Martin’s own experiences and pitfalls. This second-hand experience is the best possible resource that can be put into text, and while it will not guarantee that the reader will never make spills of their own, it reveals several of the obvious- and not so obvious- pitfalls that are on the path to being a professional developer.
This book is thin, but a very dense read; it covers a true variety of subjects, many of which that are crucial for consultants – when and how to say no and yes professionally, test driven development, project management, teamwork, and estimation, to name several. But it is because of this wealth of topics that Martin is able to show readers that professionalism and the path to a long and respected career involves dedication, practice, and time.
This is a book I would recommend not only to new software professionals, but experienced ones as well- because Martin also delves into the more detailed issues of professionalism and career development, even established professionals might learn a thing or two. There is also a section on mentoring that should prove useful to current professionals- because sharing knowledge is just as, if not more, important than obtaining it.
Overall, this book provides a solid foundation for any new software development career by giving the reader contextual experience as well as well-thought-out, time-tested rules to govern the start of a new (or existing) career as a software developer. The Clean Coder pulls all of these important topics into a central text, lending a much-needed resource to the software development community.