Saturday, May 31, 2008

DHH Keynote: the Surplus, 'Go Dubai', and balance notes from the RailsConf keynote for anyone interested... a lot of non-software wisdom by DHH... i thought it was an impressive talk. Not a lot of ego in this (i.e. not interested in taking over the world, etc... more interested in pragmatic fundamentals). Very refreshing and inspiring. ...hopefully they recorded it and posted it on ConFreaks in the coming weeks... it was entertaining and engaging. Sorry if notes were brief or in some cases inaccurate, tried to capture the ideas as I heard them and understood them

Friday: 7:30 pm

the Surplus

What kind of surplus?

Productivity surplus.. but even with a great productivity surplus, it's a relatively small community

There have been surpluses in productivity in software throughout history... Smalltalk... Lisp...

So what can you do with this surplus?
Sell it! Cash it in! Hookers, fur coats, gold rings! ... (laughs, cheers)

Rails is a bluechip in this space... even though it's a small space... this productivity gain space... it's a blue chip, but this space is still just a tiny slice of the overall picture.

So how did Rails become a blue chip in this space?

1. we confessed commonality -- building a web app... companies are alike when it comes to building a web app...
2. ceded flexibility -- one way is convention over configuration.. why are we deciding file structure, etc all the time.. make the choice ONE time and move on for crying out loud!
3. TECH matters -- is that really your goal "not to fail". That's really a pathetic goal. Isn't there more to your life than that
4. utlimately... all of this meant, we cared about US! the developers

...there is some bad news to this... in general... in history surpluses won't last forever

3 ways DHH sees this could happen:
1. mainstream copies rails (although he doesn't see a high liklihood of this happening... remember when a couple years ago Java created their version of scaffolding? "claim victory! we have the crown jewel!"). so this could very well happen... but could also be that so many people have their head down in the "110%" productivity work society that they fail to pick their heads up and see some of this
2. a dramatic alternative arrives. this has to be a massive improvement. Not 5% or 10%... has to be huge. Like 50%, 100%, 5x, 10x... like Rails was
3. third way... if Rails becomes mainstream. He has thought to himself... is that cool? would that really be cool, or not? If everyone did it. Not sure. For one, we'd lose our surplus productivity... some ways it's not a bad thing to have ideas out there like 'rails doesn't scale', we want our competitors to use crappy tools! ...retain the surplus. ..also there's this idea that with everyone doing it, the surplus goes into the bottom line

We could be like Private Hudson... "game over, man!", and just blow the surplus! blow it on hookers, fur coats, gold rings! (cheers)... but that would be..... BUSINESS AS USUAL for the mainstream ;)

With no surplus, there is this mentality that it's "another day another fire".... you get "lost in the mechanics" when you are working at 110%... become fatigued, disinterested, passionless.

We need to have resolve. The most depressing thing I can hear is... "it's just a job". How depressing is that??? You spend 8, 10, 12 hours per day there... and it's "just a job"

so rather than blowing the surplus... we need to have resolve... no hookers, fur coats, gold rings... instead... what about... GOING DUBAI!... turn the surplus into someting durable, long lasting.

So how can we do that? Invest in YOU!. Investing in YOU, makes this last. No matter what happens, if you develop the skills, you develop the techniques and we grow, it makes it last beyond this framework and the next 10 frameworks.

Not going to do any studies talking about Rails being 10x faster...lot of subjectivity there. Well, some programmers themselves are 10x faster, this is well known. This is valuable. There's this notion of a 'rock star' programmer.. that's bullshit. You get out of it what you PUT INTO IT. Just like anything. Nobody's born a rock star, you LEARN this stuff. You sharpen your skills.

So what are the TECHNIQUES for doing this:
- recharge tangentially -- DO SOMETHING ELSE. Unplug. Get away from your screen, get out of your editor
- SLEEP MORE. We have this superman mentality, and glamorize no sleep. That's ridiculous, and just not true. How many projects benefit from 1 day of extra productivity and many hours of non-peak performance after taht. Would rather have peak performance for 4 hours per day, than one day of peak, and then you fucking up the code the next 2 days! Drop the cape crap, it wouldn't look good on you anyway!
- cut down on your RSS feeds. How much of that is durable? Much of it is fad. Most doesn't matter. Read books to last... design patterns.. .fundamental... implementation patterns... Kent Beck... innovator's dillemma
- Go Renaissance! Go Da Vinci!!!
- programmers are affected by business... so read about business... read about design... that's another one! Tufte, Envisioning information... another discipline where u will be better in your own work, and communicating with designers
- Programming less crystallizes value
- Bettering yourself... that's what XP is about...
- start from scratch sometimes... I learn the most when I start a new project... HighRise an example..
- SHARE! learn by sharing!! writing blogposts, talking at conferences, publish a gem or plugin. YOU get more out of it, than what you give. Companies have a hard time recognizing this. They get so much out of it, but they foolishly want to retain it all. Spread the message
- Why betterment?? Cockburn quote: "[the point of trying to improve in this game] is to get the best position in the next game"
- there's a lot of slack available for extraction in your daily lives ... think about this time you waste and apply fundamental principles during that time
- at 37Signals... we work 4 day weeks. People cry "how can you do that? how can u be productive???" How in the hell can that matter, 20% less time when my ass is in that chair. Broaden yourself, it will make you MORE efficient in what you do. Programming is not like swinging an axe back in the day... the time your ass is in the chair does not correlate to productivity

No comments: