A Software Journeyman's guide to being jobless and homeless
@robashton
So you want to be a programmer?

Why?

To make games?

To make people happy?

To make millions of dollars?

So where did we end up?

Obligatory Audience Participation Time
Everybody stand up

Sit down if....
You work too much

You have too many meetings
(definition: meeting) - A practical alternative to work
You don't feel as if you're learning anything

You're planning on quitting in the next six months

don't be shy now ;-)
You're bored at work a lot

Those that are left....
Where do you work?
Are you hiring? ;)
My story

The year was 2012

I was working for one of those companies

I was so good at programming that...

I was asked not to code any more

I was doing....
- 50% meetings
- 20% politics
- 30% managing a team
- 0% building software
So one day....
I rage quit

I left the country

I threw away most of my belongings

I blogged
"I am not looking for a job"
My offer
You pay to get me to your location
You find me somewhere to live
I will work on anything you want for free
My rules
Rule #1 - If it's not on my calendar, it isn't happening
Rule #2 - First come first served - make a decision
Rule #3 - I'll bend the rules if you're somewhere warm and sunny
My goals

Build cool stuff

To make new friends

Get a sun-tan

Thus began a journey

ALL THE PLACES
The outer hebrides

A Lithuanian Wedding

Greece

Israel

Hawaii

San Francisco

Eurovision

France

Joined a start-up

Quit a start-up

Learning Clojure

What did I learn?

A year compressed into 45 minutes
Come see me after if you want to
hear the more lurid details ;)
Lesson one - Coping with Failure
Failure...

Risk mitigation
-
Driving slowly due to adverse conditions
- Wearing a seat-belt
- Paid up-front to remove the insurance excess
Moving on
"Can I have a new car please?"

Car crash software
- Most software mistakes aren't as bad as a car crash...
- So why do we end up afraid of making mistakes?
- Blame culture
- Fear of failure
- Fear of the cost
Tests are a good seatbelt

Short iterations make for a good insurance policy

Responding to failure with "what's next?"

Lesson two - It's not the Platform
The .NET Framework

"I just don't know what went wrong"
A tale of two clients
Working for Ayende Rahien


Working for Truthvine



We shipped a lot of code


We shipped a start-up
We wrote all the features for a major release of RavenDB
We delivered
.NET was never the problem

The problems were?
Bad tooling
Low trust enviroments
Bad management practises
Poor shipping mentality
In other words......
Enterprise!!
Lesson three - Learning is possible
The agile Greeks

"I've no idea who you are"
But an extra pair of hands wouldn't hurt
IN THE CALENDAR WE GO

Oh you're getting on a plane?
Do you know what we do?
You might want to read this PHD thesis
Confronted with a challenge
PathSegment =
'/'
ResourceName:resource
(
("(" Number:key ")")?
(
(seq("/$links") PathSegment:link)
| PathSegment: next
)?
) -> { resource: resource, key: key, link: link, property: next }
,
9 days to ship a feature in an esoteric language?
A breakdown of time spent
20% staring at a screen feeling stupid
20% in a rum bar weeping into my glass
5% writing a "hello world" learning exercise
30% days flinging code manically
25% writing blog entries about this
20% in a rum bar weeping into my glass
5% writing a "hello world" learning exercise
30% days flinging code manically
25% writing blog entries about this

Shipped it
(with caveats)

Ashton's law
Given a concrete feature and enough rum, we can ship and learn at the same time.
We are not .NET developers, PHP developers or Java developers, we are Developers.
Lesson four - Excess Baggage

23 kg

Attempt #1
Clothing
Toothbrush
Coffee beans
Coffee grinder
Coffee pot
Minimal technology
Attempt #2
-
2 pairs of trousers, a week of underwear, 10 t-shirts
-
Mac-book Air running Debian for EVERYTHING
-
Windows laptop for Visual Studio :(
- iPad for "entertainment"
- Lots of cables for all my things
It was like that for the whole year
Things I miss
My xbox
My giant beansack
GRAND THEFT AUTO 5 IS OUT AND I CANNOT PLAY IT YOU GUYS
All that stuff? You don't need it
Except GTA 5 - we need that
Lesson five - Having fun
I have worked very hard but...

For a change this year I decided to drop work occasionally
Sports



Tourism


Making new friends

Drinking



Work might be 50% of your life

But LIFE is the other half

Of course, mixing the two never hurt

Lesson six - People are Amazing
After the car crash....

Ambling through Greece

Walking in Hawaii

The unsuspecting parents

People are basically cool

Lesson seven - We're never stuck
No, we can't all...
-
Throw away everything we own
-
Quit our jobs
-
Travel the world and work for free
But we can....
Get better jobs
Improve our current jobs
Look towards life outside of work for fulfilment
How?
Pick something new and learn it
Write about what you learned
Talk about what you learned
Diversify
Use this to show new employers how awesome you are
No, you don't have to be an expert

You can always change it up

Next up...
Rum.




A Software JourneyMan's guide to being jobless and homeless
By Rob Ashton
A Software JourneyMan's guide to being jobless and homeless
- 2,624