Norwegian Developers Conference (NDC) is a the largest conference in Norway targeting the .NET community. It’s a 3 day conference with 2 days of workshops beforehand. The speaker line-up was also awesome, and the topics offer something for everyone.

I’ve had the opportunity of attending the conference and have had 3 intense days of learning, networking and eating… yea, lots of food.

Expectations

This has been the first time I’ve attended a large conference of this kind, and I didn’t really know what to expect. I hoped to be wow’d by speakers and technology. Mainly I hoped to gain some insight and inspiration…. I had no idea!

I had initially thought to summarize each talk I attended, but quickly threw away that idea. So this is a write-up of the impressions I’m left with after NDC 2012. Hope you enjoy it.

What an opening

Aral Balkan pushed the boundaries this year and opened by performing the song “Pity the Child” from the musical Chess. This took us all by surprise and I was in awe; it was an awesome experience.

He moved on to emphasize the importance of our roles as developers. We are all designers of software experiences. Emphasizing the emotional reaction people have consciously and sub-consciously to the using our software. He moved on to describe the process involved in product design, and that this has to come from the top-down. It has to be something ingrained throughout the company itself, and effects ALL business decisions. Design and experience is NOT about pushing pixels and changing a color theme on your home page, it’s about commitment to your customers and a shared vision.

Truly inspiring, if you’re open to it… watch it here.

Decisions, Decisions

Dan North had a really challenging session on how software architecture is based on trade-offs. There are no absolute best practices when designing software, but there is a need to make conscious decisions based on the real needs.

He debated certain topics with the audience, or rather, he debated with himself, and the bored norwegian audience just sat and hoped someone else answered :)

Even though what Dan said isn’t new, it put things into perspective. He made some good arguments around Test-driven vs Test-first vs Test after.

The big take-away here for me was the concept of product half-time. How implementing features without tests / tests after could add more value. This, however, requires the developers to have an extremely solid grasp of how to write software, and structure the code in decent way. It doesn’t give you the right to write crappy code.

Code Ninjas

I went to the talk from Hadi Hariri named “Developers: The Prima Donnas of the 21st Century”, expecting a face-slap or a wake-up call of some kind, and behold…. SLAP!

Hadi had an awesome rant on what the software industry has become, and how developers put themselves on a pedestal above others. How we don’t know how to engage in customer communication, and expect people to understand our technical jargon.

At the end of the day, we don’t make software to have flame-wars on what technology to use, but to delivery good, working software to the end-user.

Also, I sat on the front row, and was addressed to as an Australian (something to do with whom I was sitting between).

Loved this session and recommend it to EVERYONE.

Creativity

Billy Hollis had a couple of great talks on user experience. The first was about thinking outside the box. The time for features only is gone. Now the users expect features, but leveraged in an extremely easy to use way. Billy took what Aral mentioned in his keynote and dove into theory and gave suggestions about how to take this back into the wild.

In his storyboarding talk, Billy emphasized the need to have lots of ideas or prototypes, and to not become attached to them. He showed some techniques and alternatives, and strongly suggested using paper / pencils for your creativity sessions. This reminded me so much about John Cleese’s talk about creativity.

He also made me promise to try storyboarding at home… I’ll save that for another blog post :)

Conclusion

To me, this conference has confirmed a lot of things I’ve been thinking and doing. It’s reinforced the fact that we, as developers, have to think about the user, even when “the business” gives us a defined user story / layout. It’s our job to say ‘no’, when people force us to remake the same old crap.

I’d also like to say that there’s a ton of other talks I loved from Robert C. Martin, Venkat Subramaniam, Jimmy Bogard, Damian Edwards… . Not to mentioned those talks I have yet to see.

I’m inspired, I’m eager and I’m ready to focus on what’s important.