Speaker Deck

Why cats make better freelancers than foxes

by Linn Øyen Farley

Published March 16, 2015 in Business

Slides for my talk at Smashingconf Oxford 2015.

NOTES

The Fox & the Cat

- Old fable
- Fox and cat meet in forest
- Fox brags about hundreds of tricks to escape danger, makes fun of cat for just one (climb a tree)
- Dogs come, cat goes up tree, fox gets eaten
- Parallel to freelance developer work is obvious, right?

“How many tricks do you understand?” asked the fox.
“I understand but one,” answered the cat, modestly.
“Is that all?” said the fox. “I am master of a hundred tricks, and in addition to that I have a sackful of cunning. I feel sorry for you.”

- Pretty sure I've had this exact conversation with a developer

Just then a hunter came by with four dogs

- Dogs = friend with a side project/aunt with a small business who just found out you make websites

“You and your hundred tricks are left in the lurch”

- Fox = dev who starts thinking about frameworks/languages/tools he uses for full-scale projects
- Gets caught up in possibilities, makes project more complicated than it has to be
- Should be quick favour but turns into classic working-for-friends nightmare
- Friend feels strung along, dev resents friend

“When the dogs are chasing me, I can jump into a tree and save myself”

- Cat = dev who sits down with friend for an afternoon & helps sign up for service with pre-made templates
- Friend gets site up and running and avoids bad/overpriced services
- Dev can get back to projects that pay the bills and go in her portfolio

Related: military jets

- Keep It Simple Stupid origin: aircraft engineers told to make planes repairable under high-stress conditions with limited tools
- Not about stupid engineers or end users
- Have a repeatable process you can rely on every time (even under stupid conditions)

1. Have a plan

- When danger strikes (friend needs a website/empty coffee cup + full inbox), having a process can be a lifesaver
- Not everything we do can be reduced to a simple process, but lots of it can
- Find & take advantage of opportunities to do this
- Spend time up front with automation tools to create a repeatable workflow, so you can outsource those tasks or at least do them mindlessly
- If projects share steps, create easily repeatable workflow (checklists, cloning, install scripts)
- Invoicing, filing receipts, replying to email: if your system for dealing with this stuff is complex, you probably won't do it
- Resist the urge to hand-craft that email or manually keep track of expenses (canned responses and accounting programs exist for a reason)

2. Stop reinventing the wheel

- We take pride in our work, but risk becoming too precious with it
- I learned by viewing other people's source code and would love to hand-code every line of my own
- Let go of being clever and doing everything yourself
- If plugin/template exists that achieves same thing, can be smarter than starting from scratch

3. Question everything

- Complexity not always coming from us; sometimes client requests complex feature
- Always ask why they want it
- Maybe essential, but maybe not — won't know till you ask
- Just want it because "everybody has it" but not actually right for them
- Talk client out of more expensive option = increase trust

4. Pare it down

- Teaching beginners how to code (workshops/writing tutorials): figure out bare minimum of knowledge required to build something functional
- We have a broad and deep knowledge of this field, with a lot of baggage (how things used to be done, multiple ways to do the same thing)
- Self-taught = maybe came at it a bit sideways (didn't get a where-to-start introduction)
- Tempting to include interesting or "will be useful later", but can obscure fundamental principles for beginners
- Find opportunities to teach/volunteer at a hands-on workshop: instant feedback (blank stares) when something non-essential comes up

Process & workflow resources:
Zoe Rooney zoerooney.com
Marie Poulin mariepoulin.com
Michelle Nickolaisen bombchelle.com
Lisa Kelly admin-guru.ca

- Great blogs and/or workshops about figuring out a process that works for you
- Some web dev focused, some not