I Am Not Myself

Bills.Pay(Developer.Skills).ShouldBeTrue()

SCNA 2011 Brain Dump Edition

Corey Haines started the conference off a bit worried. Are we repeating the mistakes of the ’90? Are “learn to code in 24 hour” mentalities populating startups with unprepared developers writing tomorrows legacy code? He suggests reading Learn to Program in 10 Years instead. Businesses are desperate for for people who can code. If they were desperate for people who can build houses, would we see a glut of houses falling apart two years from now? He then pointed out a few rays of hope GirlDevelopIt and Craftsmanship Academy; prime examples of the professional community reaching out to beginners and peers to help guide them past the mistakes of the past. We bring value to the businesses that hire us, part of that value is sustainability. Here is a great mind map of the entire talk by Zee Spencer, for more details.

Michael Feathers, a personal hero, followed up by challenging us to invest in learning functional concepts. He describes functional techniques as a DSL for a wider domain and it is time to integrate these techniques into a shared understanding in our programming languages. Traditional OOP developers initially have a “WTF is that?” reaction to functional techniques, proclaiming a lack of clarity. But Mr. Feathers points out that Arabic is gibberish to him, but millions of people communicate effectively every day using it. This reminded me of  Rich Hickey‘s Simple Made Easy presentation at Strange Loop this year. Something that is unfamiliar to you does not make that thing complex. It may be very simple, just not easy from your current context. The line between readable and “clever” is relative to shared vocabulary. Here is a nice mind map of the talk by Chris Powers.

More to come…

2 responses to “SCNA 2011 Brain Dump Edition

  1. Christopher H. Laco (@claco) November 18, 2011 at 11:45 am

    “Traditional OOP developers initially have a “WTF is that?” reaction to functional techniques, proclaiming a lack of clarity”

    It’s not just a clarity issue. The more things you cram into one line of code, the harder it is to debug it and make sure its logic branches are properly covered in tests. I would argue that doing n things (3, 5, 9?) in one like DOES make that thing complex, even if it is familiar to an OOP person.

  2. Adron November 18, 2011 at 4:35 pm

    Ya know, the housing industry actually (especially with the big build out of the last decade) has seen the issue you state. Houses are likely to start falling apart rapidly by comparison to previous housing construction. Shortcuts and hurry it up has negatively affected things. Even the “McMansion” craze of the last 10-20 years is biting people in the ass. They’ve got these big 3000-5000 sq ft houses that are built as cheap as the 1200 sq ft houses that they paid respectively priced increases for, and now they’re falling apart. They assumed though, that because they paid a million bucks the house is supposed to be better. When all they got was the facade of a nice house but the same shoddy construction of the $300k dollar house that’s 1200sq ft.

    It makes me wonder, with the housing industry also giving us a prime example of what happens with unmaintained debt and over leveraging (i.e. translate that to technical debt and focusing on the wrong priorities). The market exploded (or imploded?) Is the software industry heading for the same thing? I hope not, but it does seem to have interesting parallels.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: