Chad Fowler Keynote
Before any of the breakout sessions, Chad Fowler gave a fantastic keynote.
To me, the mark of a great keynote is that many attendees can take away different messages. I’m sure other blogs and discussions about Chad’s keynote will highlight different moments. Here is what I’m taking away: Software as a Craft may help to define our industry better. Chad defined a continuum with form or art at one end. The other end had function or commodity. Craft is at the center of that continuum. I think that’s a great analogy. We are not creating art, like a painting or a musical composition. Some people argue against developers never finishing, instead continuing to polish their code forever. Of course, the other side where minimal effort produces software that “works” but has no other redeeming factors has just as many problems. Our job as professionals is to find the middle of that continuum.
That journey is more difficult than it sounds. The middle of that continuum is where that very subjective adjective of “quality” lives. Chad’s point is that quality is very difficult to define. It’s subjective, and it’s one of those things that we can’t define, but “we know it when we see it.” Our job as professionals is to do what we can to make this subjective metric of quality the outcome of something that is objective.
The last section of Chad’s talk discussed outsourcing, business models, and mentoring. My thought on this is that our industry does not do a good job of mentoring the next generation. I was struck by how much of the current push toward offshoring could be mitigated by having our more experienced technical leaders mentor those new individuals joining our profession. (Notice that I didn’t use ‘senior’ or ‘junior’ in that description. It’s possible that a younger person has more experience in this industry than an older person. Mentoring should be based on experience, not age.)
OK, no clear answers from this post here. But, that is a great keynote: it asks a lot of questions, and makes me think. Actual answers will come later.
C# and VB.NET Futures
For the start of the day, I went to Kevin Pilch-Bisson’s C# and VB.NET futures talk. This was similar to the PDC talk on the same subject, but it gave me a review after spending a little time with the CTP and reading about it.
I am always impressed with how the language team continues to enhance C# with features that make me so much more productive, without removing those lower level abstractions that we all sometimes need. The more I understand it, the more impressed I am with the async and await features being added.
Of course, they are not perfect, and as I keep digging deeper, I’ll find those areas that do cause pain and confusion. As I learn more, I’ll be blogging more about what I learn, and what I hope helps others.
Lunch and Launch
My talk was right after lunch, so I caught some of the WebMatrix launch, but not all of it. My impressions come from the perspective of coming in and out of the launch, so I’m not going to review the launch content in full.
I’m incredibly proud of everyone that has been involved in CodeMash over the years. To go from a small conference in Jan of 2007, keep growing through the recession. It’s a great thing for CodeMash that Microsoft recognized that and chose this venue for the WebMatrix Launch. For those that don’t know, CodeMash is a cross-platform, community driven conference. That gave Microsoft the chance to reach out to some members of the non-microsoft developer audience for WebMatrix.
After lunch, I gave my talk. I’ll post the slides and demos on Monday. (I wanted to wait until after my talk because posting the puzzles and answers beforehand kind of defeats the purpose.)
Thanks to all that came. The feedback and the Q & A gave me lots of ideas on ways to make it better.
Dinner and Keynote
The evening keynote brought us information about the Ford Sync platform. There are quite a few different design considerations for creating an interactive computing platform for the car. UX is totally different. You can’t have people paying more attention to the compute platform than driving. Feature set changes: some features that might be super cool become super dangerous while driving.
The feature I liked the best was the ‘caravan’ set. This links several Sync vehicles through the cloud to communicate with each other using small messages. You can notify everyone about food breaks, gas station breaks, upcoming speed traps (yes, they said that), and so on. It’s a great step forward.
CodeMash Attendee Party
This event shows one of the reasons CodeMash is so different from other conferences. The attendee party is for whole families. It’s at a water park. We had more than 1000 people in the water park at midnight. Kids, developers, spouses. I met one attendee’s parent at our cabana. That’s why I love CodeMash.