It’s complicated to describe the world’s best talent. Are they nice, resilient, charismatic? Any array of character traits is defensible with the right prose, rendering all of it useless.
I’d like to debunk that.
An A-Player is someone who gets called “a machine” behind their back.
You can be a nice machine, smelly machine, noisy machine. You can be a machine that shows up late, leaves early, and hates meetings. It doesn’t matter.
Employers (clients, investors, whatever) love working with machines because they just work. It’s why Grandma loves her iPad.
Machines do things that aren’t really their specialty, or department, or within their job title. And because they’re machines, they do this thing called machine learning. That’s a fancy way to say they improve over time, without any effort from the user.
It’s no surprise A-Players don’t play nice with B-Players. Machines and people don’t get along.
- 10 cups of coffee
- 6 mbps Internet or faster
- 14 pieces of ham
- 12 free hours per day
- 1 full weekend
- 7 pieces of cheese
- 14 slices of bread
- 30+ hours of sleep
- 1 month Ruby/Rails experience
- Write 30 ideas in a Google Doc
- Choose 5 and define a narrow scope
- Debug with Google
- HackHands if you get stuck for more than 4 hours
- Tell people you’re doing it (peer pressure works)
A few months ago I experienced a jolt of inadequacy, bolstered by frustration. I had been let down for the last time by software developers who weren’t building the products I assigned them.
I remember saying to myself, “If I was a developer, all I would do is ship…”
Fast forward to September. I hop on a plane to Thailand for 32 days and only one thing is for certain: this will not be a vacation. I wrote a few goals in my notebook:
With the ground rules in place it was time to get started.
First, I went heads down into programming la la land. Besides HTML/CSS my only solo attempt at building software was last October when I launched this. While that product now boasts 2,500+ users and 5-10 new signups /day, piecing it together was frankly a mix of copy, paste, confusion. I never understood how it really worked, a reminder that even broken clocks are right twice.
Next, I substituted moments of debugging hell with books. If you spend just enough time failing at a code problem and then walk away, a sort of “background job” happens in your brain. Several mornings I actually woke up from dreams where fixes to my problems presented themselves. If you don’t believe me, ask a developer.
Lastly, I needed an outlet to interpret various observations and express myself. This is pretty self-explanatory because I already do it on a regular basis (example: you’re reading it).
I spent the majority of my time at the apartment. I ate 1-2 meals /day, drank only water, and slept 4-5 hours. My usual schedule: awake by 9:30a, coding and reading all day, some tv at night, and bedtime around 5:30a. Throughout this minified routine I found that warming up a new skill requires letting another part of your life get hypothermia. The areas I chose were friends, clients, American food, and speaking English. I think it worked out OK.
Without further ado, here’s what I did last month:
- Is Palindrome? — the longest palindrome wins
- Book Worksheet — business frameworks, saved to PDF
- Facebook is Lying — how many friends do you really* have? (joke)
- Before reddit — prediction algorithm for reddit post performance (joke)
- Get Myspace Back — create a nostalgic Myspace profile in 1 click (joke)
- PartnerFriendly — open-source Ruby gem for making user emails more marketer-friendly
- Speedrail — supercharged boilerplate codebase for building new Rails apps
- Scaffold Wizard — simple spreadsheet that helps Rails developers with data modeling
- Enrolled in Tealeaf, an online programming bootcamp
- Why Foursquare will Destroy Yelp
- What sucks about AngelList
- Case Study: Spirit Cares
- Everybody is a programmer
- Abolition of Man, C.S. Lewis
- Meatball Sundae, Seth Godin
- Crossing the Chasm, Geoffrey Moore
- David and Goliath, Malcolm Gladwell
- Rails Tutorial, Michael Hartl
- Watched all 5 seasons of The Wire
- Bought my first harmonica, can play simple songs in C major
- Made a trillion dollars on Billionaire (first iOS game I’ve ever played)
- Many many Thai massages ($6-8 /hour)
- Inbox Zero daily
- Explored cafes, bars and restaurants
- Took a few photos
- Watched movies: Everest, Maze Runner, Southpaw, Cartel Land, etc
Income / Expenses
- $10,000+ in
- $800 out ($350 furnished apt, $100 entertainment, $200 groceries, $150 restaurants)
- $9,000+ profit
I flew home to NYC on Monday. I’m sitting on a plane to Miami currently. Next week I’ll be in San Francisco, then Dallas, then back to San Francisco. So it goes.
With just a month of focus I was able to ship meaningful work and have a bit of fun doing it. But what if instead of coding I trained for a marathon, or learned Thai, or took scuba diving lessons? Better yet, what would happen if any of us focused on something for an entire year?
One of my favorite lines from Shawshank Redemption is when Red (Morgan Freeman) is narrating a clip of Andy (Tim Robbins) who is contemplating an escape from his jail cell:
“Geology is the study of pressure and time. That’s all it takes, really. Pressure, and time.”
In life we never have time for anything — we make time. Now ask yourself three questions:
- What do I want to do, that I’m not doing?
- How can I make time for it?
- What scenario would provide the right amount of pressure to get it done?
I’d love to hear what you accomplish. I hope it blows my list away.
The better I get at programming the more I feel the so-called “tech bubble” has nothing to do with investment dollars and everything to do with developer’s salaries.
If and when the bubble bursts it will be because 22 year old “engineers” building simple CRUD applications are charging a lot more than they deserve.
In life we have many problems. From bad grades to failed relationships, money issues and [sometimes] software needs. For each of these problems we prescribe a fix. Want an A on the test? Study more and go to office hours. Want to win favor from a spouse? Apologize and be nicer to them.
It’s no different in programming. Need a unique identifier for a purchase confirmation? Wire up a UUID library and you’re all set.
For some reason we treat programming like a black box that only a chosen few can access. This is not only demoralizing, it’s completely false.
Business teams at tech companies are under pressure because it’s believed they don’t have as much “leverage” as their developer counterparts. That a sales guy might create, say, $200,000 in profit if he’s a high performer while his developer peer creates $2 million in profit building the apps he sells.
But here’s the truth. I’ve worked with 30+ venture-backed startups and I’ve never witnessed developers leading product management or sales strategy. Most developers I’ve worked with write stuff like “such sales talk goez here” on their home page. Most developers would rather rebuild their app in another framework or dream up features than fix critical bugs that are making customers leave. Most developers like to argue about HTML vs HAML when all the marketing guy wants is a landing page. It’s out of control.
At the risk of losing my startup club membership: most developers are sheep. They need to be led behind the barn and shed for all they’re worth. Their intrinsic value is little because they’re raw materials not yet processed.
While programmers use “code” to turn solutions into software, business people use “direction” to turn developers into profit centers.
We are all programmers really. We just use different languages to get the job done.
When you enter a large market, there will be incumbents. They may be manufacturers or authors, tech startups or institutions.
We read and write about how to compete with such forces. How new solutions must be 10x better than old ones.
But what about the journey to the solution? The means to a purported 10x end?
Compare Uber and Lyft:
They both do the same thing. They both have identical apps. They both compete on price with the same promotions and features (pool/line).
But they both do it in different ways.
Uber connotes a premium, black car vibe. “Everyone’s private driver.” Lyft says “Everyone can be a driver.” Lyft fist-bumps passengers. Lyft encourages passengers to sit in the front seat.
Yet fist-bumps and seating are a means to the end of traveling A –> B. They are not 10x improvements to the end.
Or are they?
A fist-bump doesn’t cost anything. Neither does a suggestion through a cracked window. And this is what great startups do. They make something out of nothing.
When you enter a market riddled with incumbents, you will probably not launch with a 10x better solution. But you can introduce 10x better means. And you should. It’s free.