Mentoring & Learning
At Codebrain we practice and encourage continuous learning from a wide variety of sources:
Podcasts
Below is a list of recommended software development podcasts (with .NET bias):
- .NET Rocks! - .NET Rocks! is an Internet Audio Talk Show for Microsoft .NET Developers hosted by Carl Franklin & Richard Campbell.
- 43 Folders - A bunch of tricks, hacks & other cool stuff. A weblog by Merlin Mann.
- Agile Toolkit Podcast - Conversations about Agile Development and Delivery.
- Alt.NET Podcast - Discussions about the Alt.NET movement.
- Stack Overflow Blog - Joel Spolsky & Jeff Atwood discuss stackoverflow.com and wider software development topics.
- Deep Fried Bytes - Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers Keith Elder and Chris Woodruff. The show discusses a wide range of topics including application development, operating systems and technology in general. Anything is fair game if it plugs into the wall or takes a battery.
- Hanselminutes - Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds.
- Herding Code - The Herding Code Podcast.
- IT Conversations - IT Conversations is the longest-running podcast on the planet, publishing a new audio program nearly every day, from the most important tech conferences to our unique programs. Not just IT, it's everything tech and beyond.
- Polymorphic Podcast - Object oriented development, architecture and best practices in .NET
- PowerScripting Podcast - A Podcast for people learning and using Windows PowerShell.
- Pragmatic Podcasts - Pragmatic interviews, news, techniques, and more from the Pragmatic Bookshelf.
- RunAs Radio - RunAs Radio is a weekly Internet Audio Talk Show for IT Professionals working with Microsoft products.
- Software Engineering Radio - The podcast for professional software engineers.
- Spaghetti Code Podcasts - Spaghetti Code is a online series consisting of podcast interviews, technical screencasts, and online articles focused on issues and technologies that are of interest to application developers.
- The ASP.NET Podcast - Wallace B. (Wally) McClure presents interviews and short technical talks on .NET Technologies.
- The Rissington Podcast - Messrs Oxton and Hicks, broadcasting from the ex-RAF base in Upper Rissington, UK. Think of this as a geek version of Gardeners Question Time. We take your questions, be they concerning semantic HTML, CSS, cheese, cookery or whatever is on your minds. We are your expert panellists, agony aunts and general life-gurus. We will also have regular spots - jokes from an 1940's RAF magazine, typeface of the 'week', and any geek/technology thing we care to talk about.
- ThoughtWorks - IT Matters Podcast - ThoughtWorks - IT Matters Podcast is a show discussing the business and technology issues facing the IT Industry, and sharing insights on improving the state of how business value is delivered.
- ThoughtWorks - Talks - ThoughtWorks Talks.
- TWiT.TV - Home to the world's most fascinating netcasts: this WEEK in TECH, MacBreak Weekly, Windows Weekly, Security Now, net@night, and the Daily GizWiz.
Download the OPML file for your RSS Reader.
Books
We would discourage purchasing any technology-specific books, the chances are you'll find more accurate information
online, often with example downloads and tutorial videos. However, there are many great books which transcend any
particular technology which we'd highly recommend:
Software Development
Facts and Fallacies of Software Engineering - Robert Glass
A great resource which covers often overlooked topics in the software engineering field. Compiled from a vast
amount of experience, reading this book should help you understand some of the 'rules' surrounding your software project.
Agile & Iterative Development
Design Patterns
Head First Design Patterns - Eric & Elisabeth Freeman
New to design patterns? This book teaches you the what, why and how's of several different patterns in a novel
and compelling format. Excellent use of pictures and humorous illustrations ensures that the information is
easily digested and stored in your brain.
Refactoring to Patterns - Joshua Kerievsky
Stuck with a big ball of mud code base and desperate to introduce some order? This book provides valuable instruction on how to
refactor your code using design patterns and some great step-by-step guides on complex refactorings.
Domain-Driven Design
Test-Driven Development
Test Driven Development: By Example - Kent Beck
The creator of Extreme Programming, Kent Beck, guides you through the creation of currency converter project using
test-driven development. Also contains a running dialog on the motivations behind TDD.
Management
The Mythical Man Month - Frederick Brooks
Whilst technology may have evolved in the 30+ years since this book was written, the problems in large-scale software
projects still remain unsolved. Think that adding more developers to a late project will bring it back on schedule? think again.
A must read for every project manager.
Peopleware: Productive Projects and Teams - Tom DeMarco, Timothy Lister
Give your developers an appropriate work environment, intellectual responsibility and managers that remove obstacles
and you'll create a winning formula. The most successful software companies recognise this and reap the benefits. Considered to
be the first book to properly examine the role of people factors in software development.
Death March - Edward Yourdon
Are you are stuck in a mission-impossible project? or even worse embroiled in what appears to be a suicide-mission?
This book is packed full of great advice on how to bring even the worst projects back on the track to success.
C# / .NET Framework
We'd normally not recommend technology-specific books, but every .NET developer should read:
C# in Depth - Jon Skeet
At comprehensive examination of the C# language, its features and the motivations
behind developing them. An excellent read for developers wanting to learn more about LINQ, Lambda Calculus,
Generics and the new C# 3.0 features. You could argue that
Jon Skeet
is actually a manifestation of C# in human form!
Feedback
Through LinkedIn:
"I've had the immense pleasure of knowing and working with Stuart since 2002. He has been my mentor in .Net since v1 and has put me on the right track so many times I've lost count. To coin a phrase 'he has the brain the size of a planet', how he crams all those skills and knowledge into his head, I have no idea. He's an asset to any company that hires him and his experience can help the smallest to the biggest project with ease. Great communication skills and adept and explaining complex ideas to all levels of developers, designers and managers, able to lead or be led with no problem. Great bloke to work with and has that dogged determination and infectious enthusiasm money just can't buy! From experience I know his design skills are fresh and up to date and he has the ability to create clean, W3C compliant pages which are cross browser compatible which is as important in these days of AJAX, UI design and Web2.0 policies as breathing air. A good web developer is just that, but an excellent web developer is one who also understands the medium and can translate those 'code development skills' to a visual front end without losing anything in the translation; Stuart is such a developer. Problem solving and planning are a breeze, his lateral thinking combined with his skills offers you the best commercial value out there. The best developers are those that have hybrid skills, the guru's out there are the ones who are the masters of those skills rather than the Jack's of all trades; Stuart is such a guru and a very rare one indeed! Now, if I could only get him to do a 'brain dump'..."
Jay Hayman - Senior Web Developer