4th January 2010
Day to day there are many resources and tools that are invaluable to me as a .NET developer. The following article discusses some of the most useful examples.
Without sounding too grandiose about it, the Internet has brought so much information to our fingertips and as web designers/developers we are even luckier. The resource we add to each time we complete a project is also the resource we use to increase our knowledge and complete our work. I certainly do not envy software developers plying their trade before the Internet. The advantage of being able to run off and, in a split second, consult hundreds of thousands of other people's knowledge and expertise is immeasurable.
Not to get off point too much, but sometimes it's useful to remind ourselves how lucky we really are with the abundance of podcasts, blogs, websites and ebooks available to us. This is also why we should do our best to give something back, either via blogging ourselves or contributing to an open source project.
I find that the most regularly used resources, for me, are podcasts. As a commuter the ease of use and ability to add value to an otherwise unused 1.5hr travel time every day is too good an opportunity to miss. Secondary to that are blog posts. Most often accessed through some level of aggregration, whether that be through following respected professionals on twitter/huffduffer or subscribing to aggregated feed services, it saves time on that first sift. The third level then is 'feature length' content such as physical and electronic books. These are often most useful if you want to focus on something particular or train as a beginner in a new area.
Generally the podcasts that stay with me are those with a more discussive tone to them. They tend to hold attention better than more structured presentational style recordings (think Tutorial vs Lecture):
An excellent replacement for a radio breakfast show. Joel and Jeff discuss a range of topics rooted in their StackOverflow trilogy (which also happens to be one of the highest profile ASP.NET MVC implementations right now).
Microsoft Principal Program Manager Scott Hanselman's weekly 'talk show' podcast offers up some real gems as guests. With a knowledgable host able to navigate the useful topics well. Scott is also very good at ensuring any jargon or acronyms are explained (even if only briefly) to ensure you aren't left wondering what something means as it's discussed.
A podcast that I have only dipped in and out of occassionally but that can also throw up some excellent guest content.
Although not strongly development focused the Boagworld podcast is the first podcast that kept me hooked to my subscription. Its broad subject range is also particularly useful to maintain knowledge of the wider web community rather than getting too isolated in a backend developer world.
Most google searches for a .NET based problem seem to throw up a stackoverflow entry at position 1 or 2 (and that's a good thing). An excellent community driven site, with a clean interface and vast catalog of knowledge. The old school forum paradigm is shaken up with a Q&A wiki based approach. Sign up and start collecting your reputation and badges.
Some excellent blog content from contributors such as Jeremy D Miller (StructureMap) and Karl Seguin (Codebetter.Canvas).
A favourite among many .NET dev's DotNetKicks does an excellent job of aggregating .NET related links and resources.
An eBook that I really enjoyed reading and would recommend to any .NET developer - and it's entirely free!
Many employers put effort into becoming Microsoft partners and pushing their staff through Microsoft Certification. Regardless of the pros and cons of this the books put out for the qualification programs can act as excellent references, especially early on.
On top of daily blogs/podcasts/books I'd recommend attending as many events as possible, many are free (although will involve your own time) and others are reasonably priced if you have scope within your organisation for training costs.
A free to attend event that often has a great line up of speakers and .NET folk to meet (I've seen the likes of Scott Guthrie and Jon Skeet speaking at these events).
Another free to attend event hosted at Microsofts Reading campus - very similar to DDD but with a specific web focus.
There are also many localised user groups and events (barcamps, geekups etc).
I try to ensure I write up notes on the events I attend. Even if time is tight a quick post with a sentence per attended talk is helpful to think over some of the information you absorbed throughout the day.
RedGate offer some excellent dev tools. Of particular note are SQL Compare and Data Compare which allow you to perform Diff's on both your DB structure and data.
Now also owned by RedGate, Reflector allows you to browse any dll's contents including those of .NET itself. Very handy if you're trying to figure out why something acts a particular way in the framework (or in worst case scenarios trying to recreate your source from published copies!).
When ASP.NET MVC applications get big routing can become complicated. This is where Phil Haacks small library comes in, allowing you to see a breakdown of which routes match in a tabular format simply by adding a reference and a single line of code.
The IoC I'm currently using on for Cargowire. Very flexible and powerful.
A useful library of additions and extensions for ASP.NET MVC including controller factories, model binders and view engines.
A particularly useful tool allowing you to try out and run linq queries against a data source.
In addition I hear extremely good things about resharper but have never stumped up the cash for it. Regex Buddy is another that can be particularly useful.
This post is intentionally link heavy to try and point to as many resources as possible. I encourage everyone to Blog about your experiences, create test applications, solve random short problems, play around in your own codebases... but do something, and do it regularly to help nail down concepts and to experiment with new things.
N.B: My apologies but commenting is currently not live on cargowire. Please feel free to feedback through other means before commenting goes live.
All article content is licenced under a Creative Commons Attribution-Noncommercial Licence.