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,545