Wednesday, October 05, 2016

RubyConf 2015 - Hacking Spacetime for a Successful Career by Brandon Hays

ht does anybody here know how to play guitar or sing?
That's essentially like being asked
if anybody here knows how to fly a plane.
Does anyone know how to fly this thing?
Alright, thanks firstly to the organizers,
to Ernie Miller.
We are going to have some fun this afternoon,
we've had some requests.
("Stairway to Heaven" by Led Zeppelin)
Yeah sorry y'all, no Stairway, denied.
(audience sighs)
♫ I can't talk, I gotta go
♫ Don't call me back, I won't get the door
♫ Got to focus on the job
♫ 'Cause I got a new job climbing the walls
♫ I was grinding my teeth I was wasting my youth
♫ And using up my teeth
♫ It got so bad I quit my job
♫ And I got a new job climbing the walls
♫ Too much junk, too much junk
♫ Can we please clear out this house
♫ In the trunk, in the trunk
♫ Then we'll take it all to the dump
♫ Then we won't need a car
♫ 'Cause we'll stay where we are
♫ And I'll have all this room
♫ I got tired of pacing the floors
♫ Sick of it all
♫ I'm done with the floor
♫ Walked away ever since I
♫ Got a new job climbing the walls
♫ I was grinding my teeth
♫ I was wasting my youth
♫ And using up my teeth
♫ Now I'm done pacing the floor
♫ Sick of it all, I'm done with the floor
♫ Walked away ever since I
♫ Got a new job climbing the walls
♫ The deep end, the deep end
♫ People talk a lot but they don't know they pretend
♫ They pretend
♫ They don't really know how deep it goes
♫ Now I misunderstood that the walls were just good
♫ For staring blankly at
♫ I got tired of pacing the floor
♫ Sick of it all, I'm done with the floor
♫ Walked away ever since I
♫ Got a new job climbing the walls
(guitar music)
♫ Now I'm done chewing my nails
♫ Hanging my head, chasing my tail
♫ Got so bad I quit my job
♫ And I got a new job climbing the walls
♫ Got a new job climbing the walls
♫ Got a new job climbing the walls ♫
(guitar music)
(applause)
Good Afternoon, you'll be surprised to learn
that that went better than last time so.
(laughter)
So thanks again to Ernie, to the Wetware track,
it's all very exciting.
We're gonna have some fun this afternoon.
I know there's been a lot of talk lately
about Back to the Future,
but I just want to clear something up.
I have been obsessed with that movie to a point
where it was added to the DSM-5,
so to be congratulated on that.
My name is Brandon Hays, I'm @tehviking on Twitter.
I work at The Frontside,
where we try to make nice software for people.
Ruby is my first language, my first love.
But you'll have to accept my apologies,
it's all going to be in Ember.js today.
So, for some bonafides, it's awesome to be in San Antonio,
it's my first visit to The Alamo since I was a young kid.
I actually descend from somebody who died at The Alamo.
I don't really know the history of the whole thing but
from what I understand there was some sort of dispute
over squatter's rights.
So my problem isn't really so life and death, right?
Even if they do keep me up at night.
So, why did I just play that song?
Well, to do that I'll tell you a little bit of my story,
not a lot of it, but I had a bumpy transition into coding.
From the start of 2010 to the end of 2013
I worked at seven different workplaces
and this song haunted me.
After six months of working somewhere,
I'd start regretting my job decision,
and after nine months or so, I would just peace out.
(laughter)
But I'm not really here to tell you my story,
and I'd probably tell it to you wrong if I was.
So, I do remember Tweeting these lyrics periodically,
about six months in as this sort of existential scream,
but not so much that my boss would read it and fire me.
Alright so, we're giving people pretty bad advice.
This is a real article, let's read this.
"Nothing early in your career is more important
"than achieving success, and nothing signals success more
"than working for a successful company."
Achieving success, I don't know, but that sentence makes me
want to flip this whole podium over. (laughter)
My brain won't even let me parse this without exploding.
What the hell is defining success.
Alright, so I've got some bad news for you.
Like really bad, so brace yourselves.
Achievement and success are a system of control.
Win or loose you are playing somebody else's game.
They set the rules, they define success,
they manufacture the trophies and you run the race.
And we're made to believe success and happiness
are tied together in some way.
When really they're completely
orthogonal, unrelated concepts, but who cares?
If it makes us feel good to go chase and get those trophies
why does that even matter?
Well because the other half of this bad news
is that the world doesn't care if you're happy.
It just wants your output.
They want what they want on time, under budget,
they're not evil they're just being pragmatic.
Success and achievement are defined by people
trying to maximize your output
and minimize the cost of getting it from you.
And whether that makes you happy is completely irrelevant.
If that makes me sound like a fringe nutjob
I don't blame you. (laughter)
But did you know this?
Starbucks' new red cups are a mind control device
that's planted by the government to distract Twitter
while they put fluoride in your orange juice.
Think about it.
(laughter)
So whether my theories sound bananas to you or not,
bear with me, and let's set aside the notion of success
and achievement for the next few minutes
and we'll wipe the slate as clean as we can
and pretend like we're starting our careers over.
But first we need to get
a foundational concept out of the way.
And that's leading versus trailing metrics.
Leading metrics are like a gas pedal,
and trailing metrics are like your speedometer.
You want to go fast, but the gas pedal doesn't
control how fast you go,
it just controls the flow of electrons or gas
and then you observe the speed later.
Leading metrics are things you have some control over,
like hours worked, conversations you have,
code that you delete, the value you create,
or things you publish.
Trailing metrics are things that you influence indirectly
but actually care about.
They measure output things like your income, titles,
your recognition or influence in the world.
Alright, enough heavy stuff, let's play a game.
So, here, is anybody here from New York?
(audience cheers)
How fast is little Mac running right now?
So I'm guessing like 140 here
to be able to cover Manhattan at this rate.
So that's pretty good he's in boxing shape,
I'll work up to it.
Alright, so how to play the game.
We're gonna set up a baseline,
we're gonna tweak some leading metrics
and then observe the trailing metrics that pop out.
We're gonna fast forward time and see what happens
to those trailing metrics over a period of time.
So, the stats are your baseline.
They're pretty much the way that we're wired.
There's three main areas of focus,
technical skill, connection, and vision.
There are a limited number of slots for these,
so we have to choose carefully.
Technical skill represents a strong desire
to achieve technical goals, solve puzzles, level up,
teach others, just do high quality work.
Connection is the desire to connect new ideas
to real world applications,
often relying on other people to produce results
while providing some guidance.
Vision is the desire to achieve something
that hasn't yet been done.
It's the difference between the way the world works now
and the way it could work in the future.
So think of these three stats as the layers of abstraction
that people generally like to work at.
Technical skill is solving problems at the computer level.
Connection is solving problems at the people level.
And Vision is solving problems at like, a societal level.
So once we set up our skills, we'll pick our inventory,
which we have more direct control over.
The first item is leverage,
that's how well you understand your current value.
Basically, somebody needs something that you have.
The second item is ambition, which is believing that
future you has capabilities
the current you doesn't yet have.
The third item is education, which is the investment
that you plow back into yourself.
And the fourth item is community impact,
this is the amount of investment that you make
into making things better for other people
with no expectation of return.
The final inventory item is dedication, which is the time
and focus that you plow into the previous four items.
So that's the formula, let's boil it down.
Do these things and you will have a platform.
And we'll come back and explain this.
From there we get to see the results.
We can't directly turn the knobs to change things like
income, stress levels, amount of free time,
impact on the world, but they can be influenced.
And we're going to observe those indirect effects
later in the game.
Then, we'll watch for the changes, those results that occur
over two, five, ten, and 30 years.
So we'll follow the careers of nine different people
and see how they diverge, based on their preferences
and the platforms that they create for themselves.
That's a lot, so we'll tell it in pretty broad strokes.
We'll pick a mantra for each of those people,
give them some natural inclinations,
help them build their platform, and then
we'll see what happens over the course of a few decades.
So, you ready?
(laughter)
Okay, so the first person here
just wants to be left alone to code.
Alright, we get 10 points to start,
so we're going to allocate,
this is a pretty skill based person.
And they're going to have seven skill,
a couple of connection, little bit of vision.
But they mostly want to solve code problems
and not get involved with a lot of other stuff.
So, we'll give them
a couple of, a little bit of understanding their value,
not a ton of ambition, they don't really see
what they could be doing, they wait for other people
to tell them what their value is.
They'll, marginally interested in improving themselves,
they're gonna work pretty hard,
so let's give them a pretty hard worker there.
And not a lot of time left over for community.
So, alright.
Let's see what happens when we do that.
Alright so they start off,
we'll call this person the Code Slinger.
They start of as Junior Developer,
their income starts pretty low,
stress, free time, all that stuff is pretty marginal,
it's not going to be a really high impact scenario.
At year five, they move into a more Mid-Level Developer,
they're kind of waiting for other people to
recognize their skill and reward them,
so that's gonna lag a little bit.
But the income does come up over time,
after 10 years they're a senior developer,
their income jumps up, stress is marginal, they don't have
a ton of impact, but they're pretty satisfied.
And then, over time that starts leveling off,
the income levels off, everything levels off
because they're, people are getting what they want
out of this person which is code.
So, let's see what happens.
So, we'll call this person the Code Slinger,
it's relatively low stress, relatively low risk,
relatively low reward and it levels off pretty fast.
The only kind of leverage they really get to exercise
is leaving their job and getting a new one.
And it's kind of a nine to five thing
and that works for them.
This might be a signal that someone
falls into this archetype, a snarky t-shirt.
Alright, so the next mantra is
"Climb the ladder and wait your turn."
And we have a connector here, so let's give this person
lots of connection.
And remember that thing,
where we're doing all the allocation that's not actually
super fun, so we're gonna bypass that part.
So, this person is a strong connector type,
and wants to climb the ladder.
So let's see what happens for the connector.
Let's give them some inventory, they're not going to have
a ton of leverage, they're ambitious and they're hardworking
but they don't have much else going on.
So, let's say that ambition translates to taking anything
that looks like a promotion.
And we'll just cruise through all the promotions we can get.
So they start as a Junior Developer,
we'll call this person the Cat Herder.
Some of you are going to empathize with this.
They move quickly and the first promotion they can take
is to a Dev Manager, their stress jumps up a lot,
but the income jumps up which is kind of nice,
their impact goes up a little bit.
They move at 10 years into an Engineering Lead position,
stress starts moving up pretty fast, income is high.
And then at year 30, they're running a development team
trying to pull all the different strings together
and the stress is just off the charts.
Let's see what happens.
So they like connecting people to results,
but they aren't really interested in getting better
so there's a danger that their knowledge
sort of ossifies pretty quickly.
But that puts them in a world of management,
like middle management, a lot of golden handcuffs.
The income is pretty good,
stress levels are obviously, off the charts.
Anybody who's managed a team at a larger company
can kind of empathize with the feeling of that person.
And if you find yourself in that Cat Herder position,
this is probably how you were taught to delegate.
(laughter)
You never really learned the difference
between delegation and abdication.
Alright, so the next person just doesn't want somebody
telling them what to do, they just want their freedom.
They quit a few jobs pretty quickly, they realize
they can pick up contract work on oDesk,
work part-time, keep the lights on.
So, let's see what happens to them.
Alright, they don't want a boss so they're
a little more vision, they're a little vision dominant,
let's give them some inventory.
They're not going to have a ton of leverage, again,
they're waiting for other people to kind of recognize them
but they want to hang a shingle up somewhere.
So they're going to work really hard to get what they want.
And let's see what happens over time.
Alright, so they start as a Junior Developer,
I don't know if you're noticing a pattern yet.
So, we'll call this person the Harried Freelancer.
Quickly they jump out into becoming a freelance developer.
They start pulling stuff off and realize
they don't like working for other people.
Stress goes way up, income doesn't climb very much,
there's not a lot of free time.
But at 10 years that starts getting better,
their income climbs,
they're able to kind of manage their workload better.
And by 30 years, it looks like a pretty sweet life actually.
Income is high, stress is low, lots of free time,
they're pretty satisfied.
So, we'll see what'll happen there.
It's just you, your clients, your code and making ends meet.
It's starts slow, picks up well over time, income wise,
and this can be like a really satisfying lifestyle.
Anybody that's doing a lot of freelance stuff,
knows that this can be really great.
But, caveat, lots of small sales jobs, administrative stuff,
eats more of your productive code time than you think.
You never get to stop hustling for those gold rings.
So the next person has something important to share with us.
They totally get that they're high value
and they want to make a big impact.
They're willing to put in
a significant amount of effort to get there.
So let's see what that person does.
Alright, so this is going to be skill oriented person,
and we're going to give them,
they have lots of understanding of their leverage,
lots of ability to understand that they have future value.
They're not going to have a lot of time to educate themself
but they are going to work really hard
and have a moderate level of community impact.
Alright, let's take a look at the results.
Junior developer, we'll call this person the Thought Leader.
And as quickly as they can, jump out of the Dev track
into a role that allows them to take more advantage
of the skills they know they have with connecting people
or communicating their technical skill.
So we'll call that person the Dev Evangelist.
Income jumps up a lot, stress jumps up a lot.
They're going to travel a bunch not have a lot of free time.
At 10 years they're gonna keep putting that kind of work in
and they're gonna be an author and speaker.
Maybe they have the ability
to get in front of people and tell people how to code.
And by year 30, they'll be a keynote speaker.
Things get a lot better.
That looks like maybe a satisfying life for them.
They like it they're having a lot of impact, income is high.
Let's see what happened there.
So, having a public persona actually has a big impact
on your income.
Speaking, authoring books, gathering that authority,
having people come to you for answers,
they may decide to skip development entirely,
and just Evangelize.
It's a lot of work, ask anybody who's ever written a book,
I haven't because I know people who have,
and that sounds awful.
There is a light and a dark side to this.
You can slowly build a reputation by teaching others
how to create great work, or you can build a reputation by
telling everybody how they're doing it wrong and,
or maybe that computers are stupid.
Or you can become an internet celeb and collect
lots of Hacker News Karma, which, if you're unfamiliar,
is basically like Chuck E. Cheese tickets for nerds.
Except the Chuck E Cheese is in Mordor.
I think it's next to Applebee's.
Don't go there.
So, our fifth person is always worried
about how they're being viewed and valued.
They want to provide the most value possible.
Alright, so how can I provide the most value?
Similar to the last person, they're willing to put a lot of
effort in to it, they understand they have value to offer.
They just don't necessarily know how to
make that overlap with what they want.
You may see this person feel really guilty,
they may come from a different career track
and jump into software development
and understand their capabilities as a Junior Developer
don't match up with their previous ability
to deliver value in some job.
And they jump into managing people so they can produce
more value to the organization as quickly as possible,
not because it's necessarily what they want.
So, let's see what happens here.
So, obviously they start as a Junior Developer,
we'll call this person the Product Manager.
At two years they jump out of the Dev track
into Project Management.
Stress goes way up, income comes up, income comes up again
at Director of Products, stress doesn't really let up.
And then finally as the V.P. of Products,
the income level and stress level stay pretty high.
But it's pretty satisfying, it looks like a life
that maybe somebody would like to have.
So, the result though, is you have high stress forever.
The income jumps up quickly,
the hours are gonna be pretty rough.
This person likely finds themselves doing stuff
that they don't like.
And there's not enough pay in the world to make
somebody like something they hate.
So, they bounce from job to job.
And for a certain personality type, the peer connector maybe
if you don't mind taking a bullet for the team
and handle meetings and conference calls,
I say go for it.
If you're like hey, I want to be able to work
while I'm on a NordicTrack, this might be the job for you.
So the next person wants to build their dream workplace.
They have something akin to a vision,
but it's mostly a vision of what they don't want.
But that's enough to start a business,
make some money, hire some people.
Actually start seeing that dream come true.
So, they want to build the company
they always wanted to work at.
So they're gonna have a strong vision,
similar to the last one, they're gonna have
a moderate amount of leverage and ambition.
They're gonna educate themselves, be pretty hardworking,
and a desire to impact the world.
Let's take a look at the results.
We'll call this person the Lifestyle Business Founder.
Start as a junior developer, quickly move
into Senior Developer because they understand
their value well enough to communicate that to other people
and kind of move up and pull teams together.
But, watch their satisfaction dive here.
They're not really digging it.
And at 10 years, they jump out
and become a solopreneur.
They start a business, their income drops significantly,
stress jumps, free time drops.
This sounds like its a really bad idea.
Why is this person doing this?
Well it's because they're targeting maybe year 30,
where they are a small business CEO
and they have all the free time they want
and their income is high, it's a very satisfying lifestyle
for this person.
So, let's take a look at what happened there.
So, you'll notice that
for those type satisfaction just completely nose dives
whenever they're working for somebody else.
And eventually they realize the problem might be them.
There's a big income hit though
when you try to do that for yourself, there's a
big risk there, but a solid reward, potentially, at the end.
They wind up cleaning messes all day for other people
to make a nice work place, and that's the curse right.
If you start a business, you get to create your dream job,
but then you have to give it to somebody else.
And like freelancing you spend a lot of time hustling.
However, unlike freelancing, if you stop, if you survive
and stick it out, it gets really nice later on
as the business takes on it's own life.
Don't you want that feeling?
(laughter)
Person seven wants to teach the world to create great code,
solve hard problems and build things that last.
They understand their value, they're totally willing
to work for it,
So, let's find out what happens with person seven.
Let's build better software together.
They're going to have a high sill level, but their inventory
they're going to really have a grasp of their leverage,
they're really going to understand their value,
they're going to understand that they have a lot to give.
They're going to be willing to work pretty hard,
and they have a really strong tie to community
and a desire to impact the world, so they're
going to be less flexible about their value system.
And they're going to be really education oriented.
Alright, so let's take a look at the results.
Start as Junior Developer,
we'll call this person the Chief Architect.
They quickly move into Senior Developer,
through both ability to market themselves internally
and technical merit.
A lot of income jumps up here, stress jumps up, free time,
then they move to a Distinguished Developer track.
Where they really focus on teaching people
and mentoring people.
Income stays high, stress is really high, but they're
more satisfied, they're having a good time.
And by year 30, we'll call this person the Chief Architect.
The income is really high,
the satisfaction is off the charts for this person.
So, let's take a look at what happened there.
Everywhere they go, teams get better.
They have a multiplier effect, because they can't help
leveling up the people that are around them.
They're responsible for growing great developers
and great code bases and the stress levels decrease
once you reach that level of meta-responsibility
because they're not directly responsible for
shipping a feature by date X or whatever.
The demand for this largely only exists in bigger companies,
which can be kind of a mess,
but for technicians this is basically as much fun
as you can have at a job.
You really want one of these people on your team.
This is definitely Charles at The Frontside.
The feeling of getting that clean test suite
right after a big refactor is like.
It's a pretty good feeling.
(laughter)
So person eight is a connector who has
a purpose to their work that is not negotiable.
They want to point a great group of great people to a hard,
important problem to make sure, and make sure
they have everything they need to tackle it.
They're willing to put a lot on the line for it,
and understand how valuable they are
in helping connect the dots and get that problem solved.
So, let's solve an important problem together.
They're gonna be a strong connector.
Let's look at their inventory,
like the last time, they're gonna pour everything.
They're not gonna work crazy, crazy hard for it
because part of their thing maybe is work-life balance,
but they have a really strong understanding
of their leverage and their ability to contribute.
Alright, let's look at the results.
They start as a Junior Developer.
We'll call this person a Badass CTO.
At year five they move into a team lead position
because they're so good at connecting people
that people see that their teams get better
at delivering when this person is helping divvy tasks up.
The income jumps up, by year 10
they're V.P. of Engineering at a start-up maybe
that they wanted to work at, seeing that they can deliver
those kind of results repeatedly.
And then by year 30, this person is a CTO,
and you'll see their free time doesn't get a ton better,
but income levels stay high,
stress stays pretty high it looks like.
So, let's take a look at what happened there.
There's very high income potential here,
stress levels never really let up,
because you're helping run a company.
It's not super friendly on allowing lots of free time.
But it is extremely fulfilling
to solve problems at this scale
and feel like you're making an impact on the world.
Getting a team to pull together is really fun
and satisfying for these connector types.
And you see things really sync up
when something cool happens.
(laughter)
The last person on our list looks at the world
not as it could be, but as it should be.
And is willing to carve a path to get to that future.
They're gonna pour their entire lives into it if necessary.
Their dedication, their time, they're voracious learners
and fiercely devoted to the vision.
Let's take a look at what happens with them.
Alright, well, so we have a person that is not balanced.
At all, they're not really going to let up on any of it.
They describe it to other people,
and then they feel compelled to follow along
because the people around them
want to have an impact on the world too.
So, let's see what happens with those people.
Alright, so they start as a Junior Developer.
We'll call this person the Visionary CEO.
They quickly jump out to be a founder of a company,
they realize very quickly this is not getting them
where they want to go.
Their free time drops to zero and is never gonna get better.
Stress stays pretty high, they crash a few companies
into the sides of mountains, and that's probably fine.
They have their third company by year 10,
none of this stuff really lets up.
But by year 30, they, we can call this person
The Chairperson of the Board, they have the kind of
experience necessary to teach other people
the ideas of entrepreneurship.
And their impact is right where they want it to be,
it's exactly what this person wanted.
Balance wasn't really on that list, and that's okay.
So they hop out of the Dev track at the first opportunity.
It doesn't mean they stop coding necessarily,
but all that individual contributor stuff
does feel like it gets in the way for them
They're gonna fail a few times, sure, but they're always
learning and improving, and not giving up.
It's extremely high risk, high stress, low free time.
Not a lot of people can pull this off
because balance tends to get lost.
But there is nothing like seeing your vision come to life
through the work of other people.
And after they've built a business or two
some of the most difficult aspects of this level off.
It's not all sunshine and roses though.
You are responsible for payroll,
and it feels very much like this.
Oh hey, (laughter) how are ya?
I'm not kidding that's.
Anybody that's run a business will definitely feel that.
Alright, so those are the nine paths.
They all start as a Junior Developer.
They all involve learning to communicate,
working for sociopaths and can all result in a happy life.
Depending on the role of work you want to play in your life.
These fit generally into three tracks but to understand them
we are going to have to jump
into management philosophy briefly.
I noticed a pattern in effective teams I worked for,
these three archetypes that pull against each other
and create a productive kind of tension.
These three types correlate generally with the skills
that we talked about earlier,
and they fit together in important ways.
First is the Technician track,
I also call this the Distinguished Developer track.
Technicians are skill dominant, that means they are looking
to level themselves up and level up the people around them,
solve hard problems, they're often wonderful mentors, and
they want to stay close to the code for as long as they can.
The technician makes sure what ships is of high quality,
they focus on how, and explore new technologies
and techniques.
And you may find them building stuff on the side
just to learn and sharpen their skills at new technologies.
Manger types are more connection dominant, they can
still be coders, but they're often social problem solvers,
connecting the people in their network with hard problems.
The Manager type likes making sure that the right things
are being worked on.
They gather information about new things, and come up with
novel ways of combining the ideas that are
out there in existence and people to serve a novel need.
My dad, who was an Entrepreneur type, once tole me,
"Son, some day you'll realize you are unemployable."
Which kind of stung because I worked for him at the time.
(laughter)
That is true.
A couple years later he's like, "No, no, no I meant that as
"a compliment, because you get tired of working for idiots
"and then you start realizing they're all idiots."
So I guess entrepreneurship is the act of volunteering
to be the idiot. (laughter)
With the best of intentions he was using his value system
to impose on me the value system I should use
to measure my own life.
Even though he and I wanted different things.
Entrepreneur types look for that gap between
the way things are and the way they could be,
and they way they see it working in the future,
and then they try to describe that gap to people
in a way that lets them build it.
Entrepreneurs dream of beautiful technologies
to solve big problems. (laughter)
This was actually the foundational idea of the most
successful start-up company I ever worked for.
We called it The Magical Taco Fairy,
and it IPO'd for three billion dollars so laugh it up.
(laughter)
Alright, who here is a fan of oversimplification?
Alright I see some hands out here, alright.
You are in for a treat.
You know those subway tunnel maps that bear no resemblance
to reality in order to simplify the concept.
Well this is way more oversimplified than that.
But it does communicate the idea that you have
a lot of options and some of them sort of lead
more naturally to other opportunities more naturally.
On the freelance track, people, you know it looks
like an island there but people bounce in and out of that
all the time, but it is a leap to get in and out of it.
All these tracks start at Junior Developer.
Which depending on your background can feel like a step down
it's tempting in the first couple years of,
especially switching careers into development,
to think hey I have other skills, I can be more valuable
in a Non-Dev role.
But if you stick it out and level up as a developer
from Junior to at least Mid, and preferably Senior,
all kinds of doors just magically swing open to you.
Everything from freelancing to management
to entrepreneurship will go better because of
the skills and empathy you develop by shipping
great software as part of a team.
If you're certain you know what you want,
and it isn't code, I say go for it.
But bailing out early can lead to unexpected results.
(laughter)
Okay, so which one are you?
That's a trick question because we have aspects
of all of them.
While one is likely dominant,
I'm not much of a problem solver or a big dreamer,
but I love connecting new ideas to people who can help.
I think I fall pretty squarely in the manager type.
What you do when you're stressed can tell you a lot
about where you enjoy spending your time.
When I'm stressed I talk to people,
when I have a problem I think who can help me solve this?
Each dominant type is pretty passionate
about their value system.
My technician friends say, "Do it right."
My entrepreneur friends say, "Hey, go try something new."
I will always ask, what's the practical application of this?
When it's based on mutual respect this is a very healthy
and productive tension within a team.
But when it's rooted in a sense of intrinsic rightness,
things can break down pretty quickly.
Many others noticed the emergence of this pattern.
You can read more about this stuff online,
it's pretty fascinating.
The difference between the various outcomes within a track,
happen because of the kind of inventory that we start with
to build a platform.
Again, it's really important to strip these
of any value judgements.
Some people simply have more of these to give than others.
So what's a platform?
Basically your platform is the connection between
what you can do, what you want to do,
and what other people believe you can do.
And they can be amazingly cool.
You can build your platform every time you create something
and put it out in the world, every time you help someone
or do good work worthy of recommendation.
As your platform grows, it actually starts
fighting battles on your behalf.
If you feed it right, it will open doors
and create opportunities for you.
So, back to the formula.
Understand your present value, and your future value.
Invest in yourself and others,
and then you'll have a platform.
Alright, so I'm going to talk to you
from a marketing perspective for just a moment.
Bear with me.
You need to know your value in terms of real dollars.
The absolute minimum is to understand
what the market pays for your kind of work.
But that is not enough.
The next level up is using value based pricing
to avoid being priced like a commodity.
I recommend you look into value based pricing
as this is the very definition of leverage.
In a developers case, often you can know
the actual profit you generated.
But you probably bring a lot more to the table than that.
Almost all developers outsource this undertanding
to their bosses, or even abdicate it.
That means bosses can pay exactly just enough
that people aren't complaining and quitting.
If you understand your value though,
you can actually get creative about adding more value
and feel good about taking more of that
and asking to keep it.
But more than money, knowledge of your value
strengthens your platform because it makes it more portable.
I can't know how much time you have to devote to learning,
but I can say that having a curious mind means that every
interaction you have is an opportunity to learn.
Everything you learn, you get to keep.
It becomes a part of your platform.
The community impact, investing in others can be
kind of tricky because it's almost all extracurricular.
How you do this and how much is different for everybody.
I'm more of an organizer than a pole request opener person.
But everything you put into the world to help somebody else
goes into your platform.
Effort means carving out what you can to focus on mistakes.
If you can make a few meet-ups a year
or experiment with a new programming language,
or turn an office conversation into a new blog post,
you keep those things for your platform.
You're the only one that can make these decisions for you,
and no you're not going to pick the right job all the time.
You're going to work for sociopaths and idiots
and, in my case, a half dozen coins.
And no, it's not going to tank your career.
All this stuff, the app, the jokes, the song,
it's just a fancy way of trying to get across
three main points that have been transformative in my life.
The first thing I learned is to look for
the climbing the walls anti-pattern.
I would take a job, six months later I would realize
oh my gosh my boss is a jerk, and I would quit,
after suffering for six more months to make it a year,
so I didn't look bad on LinkenIn.
But maybe it was me, maybe I had a type,
just realizing this can give you the awareness
and patience to wait for the opportunity
that's actually different and make a deliberate choice
rather than just trying to escape.
The second thing I learned
was to understand your preferences
to really embrace them, and not feel guilty for having
different inclinations from other people.
Because of those differences we can fall into the trap
of spending our lives hustling to cover for our weaknesses
instead of playing to our strengths.
Learning your preferences can help you find creative ways
to compensate, rather than spending your life
trying to be something that you're not.
Your career is more impactful and more fun
when you start pouring your energy into your strengths.
The third thing is to be intentional
about building your platform.
Which is going to be different for different people.
But the most important part of building a platform
is that it forces you to be explicit about what you
really want rather than just doing
what other people expect of you.
Speaking at conferences is a great way to build a platform,
and I love it, it's so fun to get up here, and talk at you,
and act like a thought leader.
However, this is a picture of my son last night,
finding out that I wasn't coming home
so that I could come here and speak.
And my daughter consoling him and telling him it's okay.
So, I plan to speak a lot less in the near future
if my platform was just about leveling up,
in terms of my authority, that would be harmful.
But my platform is about being happy 30 years from now,
and having a relationship with my kids.
So that's a crucial part.
If your platform is barely enough to shelter you
and your loved ones right now, that is okay.
Maybe look around for somebody
to be a support to you right now,
so you can be that to somebody else in the future.
At the minimum, just do the best work you can
and be kind to who you can.
So as achievement what we really want, money, influence,
recognition, does that stuff make us happy?
Is it possible that instead what we actually want
is to be the kind of person that we've seen achieve things?
You can do that on your own terms, and in your own time.
There is no one path to success
because there's no definition of success.
That doesn't stop us from making one up,
and whacking people upside the head with it.
Oh your code's not clean enough.
Not one, nobody, not me, not anyone has a right
or authority to make you feel bad because
you aren't following the path they did
or you want different things.
So, the world defines success mostly,
as the overlap of money and your bank account.
I like to define it as the intersection of
what you want to do and what you feel capable of doing
and what you're actually doing.
So, I'm not telling you to jump out and quit your job.
I am asking you to please check your compass.
Is it pointing toward what you really want?
Are you checking on it from time to time
and following it when two roads diverge?
I'm going to level with you.
I've done the Whitman Sample of these career tracks by now,
I'm 36 and I still have no idea what I want to do
when I grow up.
And you might feel like this dog sometimes.
If you're a programmer you probably feel this everyday.
But if so, I promise your powers of intuition are stronger
than you are giving them credit.
You are not computer dog or helicopter dog.
You're calculus dog.
(laughter)
So, I want to take one last moment to tell you
how grateful I am and ask something of you.
Anything I have, that a person could label success
I owe to people who reached out to me.
From the person who introduced me to programming at work
to the people at the Utah Ruby Users Group who
reached out to me, took me in, mentored me,
and help me get the guts together to go for
my first programming job.
Every job since has been found through the community.
If I could time travel back six years and go find
the sad, frustrated, upset, broken-down marketer
and try to show him what my life is like right now,
he would not believe me or recognize it at all.
That's just six years.
I couldn't have done this talk without help.
My friend and coworker, Lydia, stepped in
and helped me build the Time Travel App, a lot of the
graphics came from Jenn Schiffer's make8bitart.com
and a lot of inspiration for this
and advice came from Sarah May.
My friends have done the work that changed my life.
Up here on stage is not where that work happens.
My most meaningful interactions have been when
supportive people nudge me and challenge me
because they knew my goals and wanted to see me succeed.
And think of somebody please, that's done that for you.
At some point you'll have an opportunity
to contribute in a meaningful way,
you'll recognize it when it arrives.
You won't feel ready, you won't feel qualified,
but my hope is that you'll have a clear enough memory of
your experience that you'll be that hand for somebody else.
Because wouldn't it be cool if these amazing, powerful,
Voltron-like platforms we go build for ourselves,
had a heart.
Thanks very much.