Five takeaways from DevTeach Toronto 2008


Share
  1. Languages are more important than they used to be
    An ASP.NET web developer might intellectually/emotionally resist the surge of new dynamic languages running on the CLR/DLR, but think nothing of switching between HTML, Javascript, SQL, CSS, and C#. Delivering the next generation of experiences requires paying a tax with a slew of new languages: Iron/Ruby, Iron/Python, F#, Boo, Binsor, and the language you write yourself.

  2. True separation of concerns demands that you surrender your ego
    Separating concerns is more than slicing code and inverting dependencies to increase testability and maintainability. It’s also about recognizing that there are tools that exist that solve the same problems that your hand-rolled code can solve, but much better. Being open to a variety of tools that solve a variety of challenges makes you a better separator/AOP developer. We can practice “elimination of concerns” and lean on solutions that are already proven.
  3. Achieving tool symmetry through blind vendor bias is not a good thing
    Choosing a set of tools to drive a solution forward by evaluating how well they integrate with each other is a good practice, but your inner compass should dial around if, on paper, the obvious choice appears to be selecting each tool from the same vendor. Often a set of disparate tools with strong minds behind them will integrate as well, or better, than the obvious choice. As an example, in my previous post about .NET startups I recommended LINQ to SQL, which depends on SQL Server 2005. If you don’t use SQL Server, and you don’t want the overhead of EF for a lean web application, then you will have to look outside the Microsoft eco-system for a solution; and there are greyer scenarios where it’s still helpful to look.
  4. There are some brilliant minds working with .NET
    Oren Eini. Ted Neward. James Kovacs. These developers will turn you on your head. If there’s a reason to attend a conference it’s to be around people like these, and to have the time away from daily development work to simply allow yourself the chance to use the stimulation to propel your own new ideas.
  5. We like to repeat ourselves
    There are plentiful solutions for unit testing, mocking, scaffolding, inversion of control, object-relational mapping, some from large vendors, some open source. Follow any flavour and you’ll see the same challenges crop up and disappear as each team advances their knowledge and grows the space. On the one hand the variety is welcome, on the other there is always a technical and a marketing leader; when they are not one and the same, everybody suffers, from the developer using a less mature product to the company accepting risk.
  6. PowerShell rocks (by way of Colin Bowern)
    Stop writing console apps and start writing Cmdlets because you’ll spend way less time writing command line argument parsing or output formatting code while enabling people to do cool stuff with the output of your command.
Technorati Tags: ,
Kick It on DotNetKicks.com
blog comments powered by Disqus