Keynote at php[tek] 2014, in which I speak about the attitudes and behaviors one needs in order to accomplish one's goals.
How To Get There
Larry Ullman, @LarryUllman!
[[ASK]] What did you want to be when you were a kid?
[[ASK]] What do you want to be now?
When I was a child, I spent a lot of time around doctors and in hospitals, and so I wanted to be a doctor when I grew up. Years later, after I had grown up
some, I decided I wanted to be a lawyer. This was partially because of an 80’s TV show called...
LA Law. I’m where I am today, in part because of LA Law. There’s a dirty little secret for you. Can anyone else make the LA Law claim?
So how do I go from wanting to be a lawyer, to being whatever it is that I am today? Well, a big inﬂuence was my need not to make more than $23,000 per
year. Seriously. Which, of course, rules out being a lawyer.
So I got here in part because of a tacky 80’s TV show and a desire to live in a better apartment. But does that mean that leaving things to chance is the only
way to get there? Absolutely not. And I’ll talk about strategies again later.
But because I wanted to be a lawyer, I choose to go to a college with a dedicated pre-law program. There weren't many because, as I would eventually
learn, the concept of a pre-law undergrad program is pretty much crap. But I selected a school that had one, and you could be pre-law political science,
history, or English. I choose English.
In college, as an English major, I decided that I wanted to become a writer. Largely thanks to...
...this man. I will be most impressed, and your friend for life, if anyone knows who this is. Anyone?
I *loved* Kafka in high school and college. Deep, depressing, absurd. Great stuff for an angst youth.
I discovered that I wanted to be a writer. I wanted to be a writer well before I ever knew what that meant or entailed. I wanted to be able to have an impact
on someone’s life, someone that I didn’t even know, or didn’t even share the same country, language, or era with.
And so, I read and read and read and I learned how to write good, er, well.
Be a Writer
PHP for !
I left college wanting to be a writer. Some years later, I was working at Georgetown University, and I took a continuing education course on how to get
A couple years later, after I learned PHP, because I didn’t want to make more than $23,000/year, I used what I learned in that publishing course to get my
ﬁrst book deal for my beginner’s PHP book. Which has since turned into more than 20 books.
Of course, I’m not writing the kinds of books I imagined, but I’m much more of a legitimate writer than I ever expected I would be. But how did I really get
here? Not the facts or historical events, but what did I do that put me here? More importantly, how do you get to where you want to be?
Surprisingly, I really didn’t read much as a child. Basically I tested out of childhood at an early age and quickly moved on to being a precocious young
adult. But there’s this classic scene in Lewis Carroll’s “Alice’s Adventures in Wonderland”, where Alice meets the Cheshire cat. In goes something like this...
Alice said to the cat, "Would you tell me, please, which way I ought to go from here?"
"That depends a good deal on where you want to get to," said the Cat.
"I don’t much care where--" said Alice.
"Then it doesn’t matter which way you go," said the Cat.
"--so long as I get SOMEWHERE," Alice added as an explanation.
"Oh, you’re sure to do that," said the Cat, "if you only walk long enough."
In this presentation, I’m going to provide some advice as to how you get there: how you get to where you want to be. The ﬁrst piece of advice, and perhaps
the most important, is that you’ll need to walk long enough. This is true whether you’re the kind of person that plans your life out and then achieves those
goals, or you’re the kind that just wings it, or, like me, you do some of both.
How far is “long enough”, you may ask. Well, it you’ll know when you get there.
What did you want to be when you were growing up? What do you want to be today? What do you think you’ll want to be tomorrow?
Here’s another big inﬂuence on my life. Anyone know who this is?
Here’s some better context for you.
Jim Henson did amazing things. He dreamt big and he did what he set out to do. He realized his dreams.
Henson said, “If you care about what you do and work hard at it, there isn't anything you can't do if you want to.”
I’m not a motivational speaker. I’m really not an optimist. I’m not a person of faith. But I truly believe that if you really want to do something, if you really
want to get somewhere, you absolutely can, if you work hard enough and walk long enough.
❖ Be Honest!
❖ Work Hard!
❖ Never Stop Learning
Towards that end, I’ve come up with 24 best personal practices, sorted into three categories: gaining knowledge, getting experience, and earning money.
This presentation isn’t about using LinkedIn or applying for jobs but rather general attitudes and behaviors that will lead toward success. Attitudes and
behaviors that will help you achieve your dreams, whether you have speciﬁc goals, or are winging it.
The too long; didn’t read version is this: be honest, work hard, and never stop learning.
I’m going to go into speciﬁcs now, and at the end of the presentation there will be time for questions. Or you can catch me whenever and however after
I’ll also add that I’m going to mention several references that I’ve either found to be enlightening, or that just reinforce what I already believe. I’ll be
mentioning these in my keynote, but I’ve posted them on my blog as well. I’ve done so both to give credit where credit is due (me being a writer and all),
and also in case you’d like to read, watch, whatever them yourself.
“Perplexity is the beginning of knowledge.” !
- Khalil Gibran
To start, you must learn. You must expand your knowledge base. Here are eight tips for doing that.
Number 1: Know Thyself. This was inscribed on the Temple of Apollo at Delphi (of course). The ﬁrst thing you need to do is know who you are. What are
your strengths? What are your weaknesses? What are your interests? What do you hate doing? Know these things, don’t guess.
For example, for almost all of my life, I’ve dreaded public speaking. Hated it. When I was the best man at a friend’s wedding, I was so nervous about the
speech that I was almost literally sick.
Knowing yourself is important so that you know what will be easy and what will be hard.
Malcolm Gladwell “David and Goliath: Underdogs, Misﬁts, and the Art of Battling Giants” talks about two types of learning. The ﬁrst is “capitalization
learning”: we get good at something by building on the strengths that we are naturally given. Michael Jordan was obviously physically talented at
basketball. I always had a natural affinity for math.
“Compensation learning,” on the other hand, is really hard. This is where you work at making up for what’s not natural for you. But compensation learning
can be really rewarding. My ACT scores…
And be prepared to re-evaluate these things. People change.
Understand Your Brain
So lately, I’ve been eating up cognitive psychology. Not sure why, but I ﬁnd it to be the just the most fascinating thing ever. I just read a book titled "Why
Students Don't Like School?" by Daniel T. Willingham, which is really geared towards teachers, so it’s probably not for you, but it provides amazing insight
into how we think. This is kind of heady material (see what I did there?) but it’ll be relevant to some of the things I say later. You have to understand how
the brain works.
First, "the mind is not designed for thinking”
"when we can get away with it, we don't think. instead we rely on memory. most of the problems we face are ones we've solved before, so we just do what
we've done in the past.”
"most of the time what we do is what we do most of the time"
"successful thinking relies on four factors: information from the environment, facts in long-term memory, procedures in long-term memory, and the
amount of space in working memory."
Similar to computers.
To be a better thinker, you need to improve the efficiency of how your active memory is used. A few of the things I’ll say today will speak directly towards
Say "I Don't Know"
Number 3, be willing and able to say “I Don’t Know”. These are very important words as they begin the path to knowledge. A hallmark of a professional is
being aware of what she doesn’t know. By admitting that you don’t know something, you put yourself in a position to learn.
Don’t be ashamed to acknowledge that you don’t know something. I know a fair amount, but what I know is only a fraction of what there is to know. Even
within my own ﬁeld. I only have a cursory familiarity of Node.js. I’ve never touched the Laravel PHP framework. There’s so much I don’t know. And there’s
nothing wrong with that.
Except That You !
Could Be Wrong
Kathryn Schulz is known as the “being wrong” person. She wrote the book “Being Wrong: Adventures in the Margin of Error”, and writes a Slate series called
“The Wrong Stuff”.
She did this great TED talk three years ago in which she talked about being wrong.
being wrong feels exactly like being right
always right in the present and we live our lives in the present
so convinced we’re right, when others disagree they are: ill-informed, stupid, or evil
Loosen the attachment to your own rightness.
Learn How to Ask
the Smart Way
Number 5, learn how to ask questions. This is one way you learn, one of the best ways. Or I could be more precise and say “Learn how to ask questions the
What does this mean? Anyone?
Right. You need to learn how to:
- ask the right people
- ask exactly what you need
- be terse
- provide all the requisite information
- be appreciative of the help you get
There’s a classic Web page titled “How to Ask Questions the Smart Way” which discusses this further. If you’re taking notes write that one down: “How to
Ask Questions the Smart Way”.
If we ask the right questions, the answers generally are easy to get.
American view intelligence as a ﬁxed attribute like eye color. Eastern countries view intelligence as being more changeable.
Carol Dweck “ﬁxed mind-set” think talent is a ﬁxed thing; don’t like being challenged in areas they aren’t going to do well; think of them as measuring
sticks for how smart they are; further, the ﬁxed mind-set will seek out easier things they know they can do well at (aka self-handicapping). if you don’t try
very hard and fail, then it’s because you didn’t try very hard
“growth mind-set” relish challenges; think of them as ways to improve
"It is virtually impossible to become proﬁcient at a mental task without extended practice."
"The ﬁrst way to cheat the limited size of your working memory is through factual knowledge."
tying shoes; driving
you can't be an expert until you put in the hours
edison regularly worked 100 hour weeks
Two things to take away: 1) it’s not ﬁxed; 2) you become more brilliant by working harder.
Never Stop Learning
Number 7, never stop learning. There are a few people that still do Fortran or Cobol, but most everyone is working with technologies that have only
recently been invented, or have recently been expanded in signiﬁcant ways. It should go without saying that you can never stop learning. Don’t get
complacent. Never stop learning.
Further, there’s a great concept I like called “managing your intellectual portfolio”. This comes from the book “The Pragmatic Programmer”. The idea is that
you manage what you know--your intellectual portfolio--just as you’d manage a ﬁnancial retirement portfolio. Because what you know represents your
value, and is a resource that’s vital to your job. Even where I’m at, if I stopped learning today, I’d be irrelevant in two years.
You should attend to your intellectual portfolio as you would your retirement portfolio. This means that you need to constantly put new knowledge into it.
But the more interesting idea is that you should also balance how you invest your knowledge. Spend a little bit of time learning something that’s riskier,
that may not be useful, because it could pay off big. But spend most of your time learning something that’s guaranteed to be useful. Manage your
Get Oﬀ the Computer
The last recommendation I have for gaining knowledge is to get off the computer. Seriously. You’ll beneﬁt tremendously from time not on the computer.
This is true for debugging, for your own mental and physical health, and to broaden your knowledge base. Get off the computer. Take a walk. Take a nap.
Run an errand. Read something unrelated to computers. Interact with people IRL! When you work with computers for a living, getting off of the computer
(and your tablet and your phone) is one of the healthiest, most rewarding things you’ll ever do.
“You cannot create experience. !
You must undergo it.”!
- Albert Camus
Experience is similar to knowledge, in that experience can help you gain knowledge, but knowledge can be obtained by reading and listening, whereas
experience requires doing, action. So what should you do to gain experience?
This is just one of those good life rules that everyone knows but not enough people abide by. Be honest. Or be as honest as you can. Be honest with
yourself. Be honest with others. Just be honest. It will open the world to you.
If you want a practical argument, being honest is easier. The lies you make up are lies you’ll have to remember and maintain.
Without Blindly Guessing
Number 10 is a tricky one, particularly for beginners. To gain experience, you’ve got to try things. Occasionally, I come across beginners that ask and ask
and ask questions, which is great, but at some point you’ve got to get into the pool. At some point you’ve got to extend yourself, to reach a bit. You’ve got
Tell them that if they’re not occasionally failing, then they’re not aiming high enough.
This goes the other way, too: some people try to early or try to do too much. So my modiﬁed suggestion would be to try, but without blindly guessing. You
should try to do things you think you understand. Try to do things that you have reason to believe will work.
Numero 11, fail quickly. You are going to fail. You are going to fail often. Big failures, little ones, hopefully few catastrophic failures. Do yourself a favor
and learn to fail quickly. This idea is a main tenant at Pixar. One of their directors, Lee Unkrich, said, “Screw-ups are an essential part of making something
good. That’s why our goal is to screw up as fast as possible.”
Fail quickly. What does that mean? It means that you should, as quickly as possible, get to the point where you’ll know whether it works or doesn’t,
whether you’ve done something right or wrong, good or bad. This isn’t my strong suit, but if you can do it, you’ll gain better experience at a faster rate
than those that can’t or don’t.
Learn to Fail Gracefully
Further, learn to fail gracefully. You’re going to screw up. When you do, be a professional about it, don’t hide or make excuses. Screwing up is one thing;
handling that screw up poorly just compounds the problem. Own your mistakes, resolve them, and move on.
Next, I know this is crazy, but smart people make mistakes. It’s not preferred, but it happens. So even if you make a mistake, it doesn’t mean you’re an
idiot or are going to get ﬁred. Going back to the Kathryn Schulz reference on being wrong, some of what I “know” right now, I’m wrong about.
Once you accept that you will fail sometimes, learning to fail gracefully becomes a useful skill and applies in many areas.
Vary Your Strategies
13. Christensen, Clayton M.; Allworth, James; Dillon, Karen (2012-05-15). “How Will You Measure Your Life?” talks about two types of strategies: deliberate
and emerging. What you intend to do and how you respond to unanticipated opportunities.
So you may start off deliberate: I’m going to be a lawyer, so I go to a pre-law program. I’m going to be a writer, so I take a publishing course. Then
something happens, and a new strategy emerges: I’m now working for myself and learning PHP and there aren’t any good books on PHP so maybe I should
Or it can go the other way: get out there and try stuff until you learn where your talents, interests, and priorities begin to pay off. When you ﬁnd out what
really works for you, then it’s time to ﬂip from an emergent strategy to a deliberate one.
Of course there’s a trick to varying your strategies, and that’s to…
Watch Your Assumptions
14 If I want to be hokey, I’d say you need to unit test your life.
This if formally called “discovery-driven planning,” but Clayton Christensen rephrases it as “What has to prove true for this to work?”
You need to articulate what assumptions need to be proved true in order for a strategy to succeed. The assumptions on this list should be rank-ordered by
importance and uncertainty. At the top of the list should be the assumptions that are most important and least certain, while the bottom of the list should
be those that are least important and most certain.
Again, if we ask the right questions, the answers generally are easy to get.
When You Can, !
Start Helping Others
Number 15: when you can, start helping others. I could make a noble argument here: how great it is to give back, to return the favor, to pay it forward if
you will. Or I could make the economic argument: helping others is a way to network, which in turn can make you money.
But I’m talking about experience here, and helping others ends up being a great way for you to gain experience. And knowledge. I am a better programmer
because I write about programming. I am a better writer because I help people with their problems. You’d be amazed by how far your skills will expand
when you start helping others.
Being a Decent Person
Finally, and perhaps most interestingly, being a decent person matters. Whatever job you’re trying to get, however smart you think you are, there are
dozens of other people that are just as qualiﬁed, just as smart.
Good companies, companies like Stripe, when given any choice in the matter, are going to hire decent people.
At Stripe they have the “Sunday test”. If this person was alone in the office on a Sunday, would that make you more likely to come in just to hang out with
him? We only make a hire if the answer is a strong yes. Not only should working with your coworkers be tolerable, it should be something you actively
enjoy. Bringing someone on board who isn’t a good ﬁt will only make it harder to hire other talented engineers in the future.
“All I ask is the chance to prove that money
can’t make me happy.”!
- Spike Milligan
So you have some knowledge and you have some experience, how do you make money? Again, I’m not going through rote mechanics here, but rather
focusing on behaviors and attitudes that will serve you well in your trek to get jobs, to work with clients and co-workers, and to pay the bills.
Rethink How You Think
normally just think of money
but also experience
and a portfolio
and potential future clients
businesses spend too much time trying to get new customers; not enough keeping their current ones
above all, empathy
Number 18: communicate well. You really cannot overstate how much this counts. Even in technology. Even if you’re not a writer, you’ve got to be able to
communicate well. With your co-workers, with your clients. With those you’re working for, with those you’re expecting something from. Communicate well.
Always, regardless of the medium. You don’t need to be brilliantly terse like Hemingway or poetic and deep like Lorrie Moore. Be clear. Proofread. Put in
the effort to communicate well. It’s not that hard.
Number 19 is a good one: value time. By this I mean both your time and other people’s.
As for your time, there’s an adage that good programmer’s are lazy. This does not mean lazy as in not wanting to work, but rather lazy as in not wanting
to work more then you have to. Find the most efficient ways to do things. Find great tools and master them. The seconds you save through automated
work ﬂows add up.
Learn to fail quickly. That’s a great way to save time. In the office and in your life, choose your battles: spend your time and effort on the things you can
control, don’t waste it on things you can’t.
And value other people’s time, too. When you’re talking to them, asking them questions, doing whatever. Value time.
From a business perspective, there’s only so much time, and from a life perspective, there’s REALLY only so much time. Don’t waste it.
Although I should add, that this goes for screwing around, too. You want to blow off an afternoon and have fun, then do that, but value it.
Worry Most About What
You Can Do For Others
Number 20: if you want to be a great employee, a great co-worker, and just an all-around great person, then worry most about what you can do for
others, not what others can do for you. I’m channeling Kennedy here, but it works.
If you spend your time helping other people to succeed, making life easier for others, you’ll be invaluable.
Give It Away
Number 21 sounds counterintuitive, but it really, truly works. Give it away. This works time and again. Over the past year I’ve been self-publishing a book
on the Yii framework. I’ve earned about $50,000 on that book so far. Largely because four years ago I wrote a series of blog posts on the Yii framework
which became very popular. The time and effort I put into those free, online articles is now paying off in spades.
My boss at Stripe got his job there after voluntarily helping others use Stripe. He helped others for free, then got the job at Stripe.
People create libraries of code, or contribute to open source projects, and those efforts turn into good, paying jobs.
Altruism aside, giving it away is an amazingly effective way to get a good job doing something you love.
Number 22 is simple: work hard. This is another one of those that should be obvious, but needs to be repeated time and again.
Jim Henson said “The only way the magic works is by hard work.”
Don’t cut corners. While it’s best to look for efficiency shortcuts, to value time, never shortcut quality.
When I was in college, I worked for the university’s maintenance crew. I’d work with the painters one day, the carpenters the next, the electricians the next.
There was a painter by the name of Charlie, who’d been doing it for years. Seasoned man, had had a hard life. One day we were painting something that
involved an area that was high up, behind something else, and unable to be seen by anyone not on that ladder painting. I asked Charlie why he put in the
time and effort to paint that spot when no one would see it. He answered “I’ll know”. He would know that he didn’t do his best, that he didn’t do everything
he should have done.
Or, as another standard, imagine that the work your doing is something you’re paying for with your own money. Do the kinds of work you’d be happy to
Hard work gets a bad rap, when it shouldn’t. The full Jim Henson quote is “The only way the magic works is by hard work. But hard work can be fun.”
Do What You Say
Number 23: do what you’ll say you’ll do. Maliciously or not, too many times we let each other down. If you say you’re going to send an email, then send it.
If you say you’re going to get X done by Y date, then hit those marks. Being organized, creating good habits, and valuing time make all this much easier.
If you can’t do what you said you’d do, then be honest about that, correct the problem to the best of your ability and the other person’s satisfaction, and
do better the next time.
Do More Than You Say
Finally, suggestion number 24: do more than you say you’ll do. Whether it’s for clients or co-workers, do more than was required and do it faster. Many
people can do what they say they’ll do, few do more. Set yourself above the rest.
clients and little extras
How To Get There
Larry Ullman, @LarryUllman!
From what I’ve learned, from being a wanna-be lawyer, to a wanna-be writer, to being an actual writer, to being whatever I am today, those are the things I
believe you must do, and the attitudes you must have, to get to wherever it is you want to be.
Be honest, work hard, and never stop learning. If you do these things, and if you walk long enough, you’ll get there.