We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Becoming an Outlier: Career Reboot for the Developer Mind

00:00

Formale Metadaten

Titel
Becoming an Outlier: Career Reboot for the Developer Mind
Serientitel
Anzahl der Teile
170
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
As a developer, your image and your mind are your product. So to get what you’ve never had, you must do what you’ve never done with these precious tools. If you want to make a bigger impact, raise your income, and code with purpose, join us. This session is about making a paradigm shift in how you manage your career. We’ll discuss concrete activities and skills that transform average developers into outliers. You’ll learn why developers can't afford cable, ways to improve your “luck surface area”, and techniques to compress your career through accelerated development. This session is loosely inspired by Malcolm Gladwell’s “Outliers”, Chad Fowler’s "The Passionate Programmer" and Seth Godin's "Poke the Box". Prepare to think about your development career in a whole new way.
3
Vorschaubild
59:06
71
112
127
130
CodeMixed RealityMultiplikationsoperatorDesign by ContractProzess <Informatik>PunktLeistung <Physik>OrtsoperatorVollständiger VerbandAggregatzustandDigital Rights ManagementSoftwareVideokonferenzGruppenoperationOffene MengeFitnessfunktionComputeranimation
ServerBildschirmmaskeFramework <Informatik>CodeGewicht <Ausgleichsrechnung>Quick-SortComputerspielOrdnung <Mathematik>Resultantet-TestMultiplikationsoperatorWeb-SeiteMathematikSoftwareProzess <Informatik>SystemaufrufGewicht <Ausgleichsrechnung>Weg <Topologie>Message-PassingMinimumDigital Rights ManagementMinkowski-MetrikVideokonferenzSiedepunktStochastische MatrixGeradeZustandsmaschineBildverstehenPhysikalisches SystemRechter WinkelFokalpunktBitComputeranimation
Kartesische KoordinatenKonfiguration <Informatik>Ausreißer <Statistik>SpezialrechnerTrajektorie <Kinematik>Bildgebendes VerfahrenStallman, RichardAusreißer <Statistik>PunktKonfiguration <Informatik>SoftwareentwicklerMultiplikationsoperatorHill-DifferentialgleichungTwitter <Softwareplattform>Prozess <Informatik>EinsBroadcastingverfahrenFlächeninhaltBitDifferenteAusnahmebehandlungComputerspielTrajektorie <Kinematik>SoftwareQuick-SortWort <Informatik>FreewareRechter WinkelLokales MinimumNormalvektorGleitendes MittelKartesische KoordinatenZahlenbereichFitnessfunktionBesprechung/Interview
ProgrammiergerätWasserdampftafelLokales MinimumProgrammierungThreadMultiplikationComputerspielFamilie <Mathematik>MultiplikationsoperatorGüte der AnpassungNotebook-ComputerProgrammierungPunktVertauschungsrelationVierzigProgrammbibliothekComputerspielLokales MinimumQuick-SortProzess <Informatik>Rechter WinkelAutorisierungSpieltheorieSchreib-Lese-KopfFlächeninhaltGruppenoperationDifferenteKonzentrizitätMomentenproblemFunktionale ProgrammierspracheMessage-PassingHilfesystemExpertensystemBitDatenfeldDateiformatComputerschachPolstelleDatenverarbeitungssystemQuellcodeZahlenbereichSystemaufrufGebäude <Mathematik>FastringSprachsyntheseProgrammierparadigmaBeobachtungsstudieHauptidealAusreißer <Statistik>MultiplikationLie-GruppeErwartungswertInverser LimesQuadratzahlMailing-ListeTeilbarkeitKonfiguration <Informatik>Office-PaketMehrrechnersystemAppletNP-hartes ProblemMixed RealitySoftwareentwicklerProgrammiergerätReelle ZahlLeistung <Physik>Lesen <Datenverarbeitung>Gewicht <Ausgleichsrechnung>SummengleichungComputeranimation
QuellcodeProgrammschemaOffice-PaketBitProgrammiergerätInterrupt <Informatik>SynchronisierungStapeldateiSchreiben <Datenverarbeitung>TelekommunikationWort <Informatik>Treiber <Programm>HypermediaHackerCodierungstheorieUnternehmensarchitekturDefaultProgrammierungStellenringCodeVollständigkeitAnalogieschlussElektronischer FingerabdruckGewicht <Ausgleichsrechnung>Digital Rights ManagementAutorisierungFlächeninhaltMultiplikationsoperatorUnternehmensarchitekturVollständiger VerbandTotal <Mathematik>HypermediaComputerspielVersionsverwaltungVirtuelle MaschineDifferenteOffice-PaketGewicht <Ausgleichsrechnung>SchedulingSoftwareLesen <Datenverarbeitung>TUNIS <Programm>RuhmasseGeradeSchreib-Lese-KopfDatenflussZahlenbereichVerschlingungVideokonferenzEntscheidungstheorieInternetworkingZweiKomplex <Algebra>MehrwertnetzStreaming <Kommunikationstechnik>Ausreißer <Statistik>Interrupt <Informatik>CodeNP-hartes ProblemRauschenApp <Programm>Quick-SortStapeldateiTwitter <Softwareplattform>DefaultATMGüte der AnpassungFehlermeldungWeg <Topologie>SpeicherabzugSoftwarearchitekturTreiber <Programm>Äußere Algebra eines ModulsKonfiguration <Informatik>GamecontrollerInformationSoftwareentwicklerVollständigkeitWeb SiteEntwurfsmusterProzess <Informatik>p-BlockRechter WinkelGraphiktablettMathematikKontrast <Statistik>BitComputeranimation
Ausreißer <Statistik>Treiber <Programm>SpezialrechnerDreieckSoftwareentwicklerPlastikkarteMeta-TagDivergente ReiheFächer <Mathematik>SpieltheorieYouTubeMathematikRegulator <Mathematik>SoftwareCodeTwitter <Softwareplattform>MultiplikationsoperatorDigital Rights ManagementCodeZweiBildgebendes VerfahrenTeilmengeZahlenbereichSoftwareTurm <Mathematik>Schreib-Lese-KopfEinfach zusammenhängender RaumArithmetisches MittelFächer <Mathematik>RobotikHackerDreieckSprachsyntheseProzess <Informatik>Vorzeichen <Mathematik>Umsetzung <Informatik>BitProjektive EbeneOpen SourceStochastische MatrixFlächeninhaltGoogolAuswahlaxiomSchnittmengeUmwandlungsenthalpieWeb logAggregatzustandSoftwareentwicklerComputerspielAusreißer <Statistik>FokalpunktQuick-SortWasserdampftafelGüte der AnpassungDifferenteAutomatische HandlungsplanungRechter WinkelIdeal <Mathematik>LochkarteGeradeVerknüpfungsgliedGesetz <Physik>Perfekte GruppeSuchmaschineSummengleichungMetropolitan area networkDifferenzkernAssoziativgesetzResultanteValiditätAutorisierungGewicht <Ausgleichsrechnung>Computeranimation
SichtenkonzeptKonvexe HülleElektronisches ForumWeb logQuellcodeDesign by ContractWort <Informatik>Elektronische PublikationFiletransferprotokollVorzeichen <Mathematik>Trajektorie <Kinematik>Normierter RaumAusreißer <Statistik>UmwandlungsenthalpieResultanteSuchmaschineSchreib-Lese-KopfWeb logMultiplikationsoperatorDatensichtgerätProzess <Informatik>Einfach zusammenhängender RaumDreiFlächeninhaltUmwandlungsenthalpieGüte der AnpassungTopologieCoxeter-GruppeAutomatische HandlungsplanungWellenpaketPhysikalischer EffektSprachsynthesePunktTrajektorie <Kinematik>SoftwareQuick-SortApp <Programm>Kartesische KoordinatenMAPOrtsoperatorProjektive EbeneWort <Informatik>Twitter <Softwareplattform>FacebookSoftwareentwicklerElektronisches ForumGemeinsamer SpeicherSoundverarbeitungDesign by ContractUmsetzung <Informatik>Digital Rights ManagementLesen <Datenverarbeitung>MomentenproblemInformationInstantiierungZahlenbereichProgrammierparadigmaWeb-SeiteRechter WinkelDatenfeldMathematikEinfache GenauigkeitComputeranimation
Kurvenanpassungt-TestLesen <Datenverarbeitung>MaßstabProzess <Informatik>Produkt <Mathematik>Framework <Informatik>C sharpMAPZahlenbereichTrennschärfe <Statistik>Web logDifferenteComputerarchitekturAppletAutorisierungProzess <Informatik>SprachsyntheseMultiplikationsoperatorSchreiben <Datenverarbeitung>ProgrammierungGüte der AnpassungZentrische StreckungTrajektorie <Kinematik>ComputerspielKurvenanpassungProjektive EbeneSoftwareentwicklerSchlüsselverwaltungCAN-BusFlash-SpeicherInformationSichtenkonzeptQuick-SortSoftwareProdukt <Mathematik>Dienst <Informatik>FlächeninhaltQuellcodeRechter WinkelSkriptspracheInstantiierungAggregatzustandProgrammfehlerOffice-PaketFramework <Informatik>
SpezialrechnerTotal <Mathematik>FlächeninhaltFlächentheorieWeb logCodeGebäude <Mathematik>Framework <Informatik>MittelwertMathematikEinfach zusammenhängender RaumCodeSoftwareentwicklerMinimalgradElektronisches ForumWeb logProzess <Informatik>MultiplikationsoperatorMittelwertWeb SiteComputerspielWarteschlangeBasis <Mathematik>GruppenoperationInformationDienst <Informatik>TeilmengeMailing-ListeFlächeninhaltTotal <Mathematik>MaschinenschreibenPufferüberlaufSoftwareFormation <Mathematik>Twitter <Softwareplattform>SprachsynthesePunktProgrammiergerätZahlenbereichFlächentheorieBildschirmmaskeSchlüsselverwaltungLesen <Datenverarbeitung>MathematikVollständiger VerbandZweiKeller <Informatik>Gebäude <Mathematik>Computeranimation
Computeranimation
Transkript: Englisch(automatisch erzeugt)
Good morning. Wow, I got a full house. There's still some open seats. If anyone would be willing to scoot away from the aisles, if there's an open seat just so people can sneak in on the end, that might make it easier so people don't have to crawl around. We'll see a few opens. Thank you. We'll all get to know each other better.
Very cool. So while we're getting settled, I'll go ahead and get started. I'm really excited about this talk, and I want to begin with a confession. This is a talk that is really two years in the making for me.
I spoke for my first time at a conference just two years ago in my hometown of Kansas City, Kansas, back in the States, the United States of America. And through that time, a lot has gone on, and it's pretty surreal for me to be standing up here at NDC, a conference that I really respect. It's just awesome to be here. I'm really excited.
And I want to back up and tell you about that story. So two years ago, I was in a job that I enjoyed, and I spoke for my first time at a conference in Kansas City. Now, from speaking at that conference, I had a recruiter reach out to me and offer me an interview. And the interview was for a contract position that sounded pretty cool. So I said, all right, I'll go ahead and take it.
So I take the interview. The interview goes well. I get offered the contract. But then the manager that I'm speaking to throws a twist at me. He says, if you'd like to manage a development team, we have an opening, and I think you'd be a good fit. And my first reaction was a mix of things. The first reaction is, wow, that kind of freaks me out,
because I've never managed a development team before. I don't think I could do that, like a lot of people, anytime you haven't done something before. And then my other reaction is, but I really like writing software. I don't think I want to move away from writing code every day. And I was pretty candid with him about my thoughts there, and he said, okay, that's cool. And he said, but if you take the job,
it'd be a $30,000 raise for you, which, multiply that by six if you want to think in New England kroners. Or I'm not New England. Norwegian kroners. I've been traveling too much. Excuse me. So a lot of money was the point. And the sad fact is that the minute you said that, I go, oh, I'm in. Great. You sold me. This must be the job for me.
And so that should be the first smell, right? That money was the only thing that changed the tide for me. And ultimately, I took that job. And from that job, I remember sitting at my desk at the second day on the job looking at a week full of meetings about things that I really didn't care about.
And I thought, this was a mistake. I shouldn't have done this. And I thought about turning in my notice that day, and I didn't. Ultimately, I stayed. And I stayed for about a year. And it was just about that time, when it had been almost a year, that I saw this video that spurred me into action.
What makes you itch? What sort of a situation would you like? Let's suppose I do this often in vocational guidance of students. They come to me and say, well, we're getting out of college
and we haven't the faintest idea what we want to do. So I always ask the question, what would you like to do if money were no object? How would you really enjoy spending your life? Well, it's so amazing as a result of our kind of educational system,
crowds of students say, well, we'd like to be painters, we'd like to be poets, we'd like to be writers, but as everybody knows, you can't earn any money that way. Or another person says, well, I'd like to live an out-of-doors life and ride horses. I say, do you want to teach in a riding school? Let's go through with it. What do you want to do?
When we finally got down to something which the individual says he really wants to do, I will say to him, you do that and forget the money because if you say that getting the money is the most important thing, you will spend your life completely wasting your time.
You'll be doing things you don't like doing in order to go on living, the only thing that is to go on doing things you don't like doing, which is stupid. Better to have a short life that is full of what you like doing than a long life spent in a miserable way.
And after all, if you do really like what you're doing, it doesn't matter what it is, you can eventually turn it, you could eventually become a master of it. The only way to become a master of something is to be really with it. And then you'll be able to get a good fee for whatever it is. So don't worry too much, somebody's interested in everything.
Anything you can be interested in, you'll find others in it. But it's absolutely stupid to spend your time doing things you don't like in order to go on spending things you don't like and doing things you don't like and to teach your children to follow in the same track. See, what we're doing is we're bringing up children and educating them
to live the same sort of lives we're living in order that they may justify themselves and find satisfaction in life by bringing up their children, to bring up their children to do the same thing so it's all wretched, no vomit, it never gets there.
And so therefore it's so important to consider this question, what do I desire? So imagine yourself in a situation where you've just been in a job that you hate for a year and you see this video and you recognize that you basically sold your life away
so that you could go on doing things that you don't like doing. And that's a sad place to be. Ultimately, I saw this video and realized I needed to make a change and I decided to go back to my previous job and it's been wonderful since then. It was absolutely a wake-up call for me.
Now, ultimately, I'm not out here saying anything about whether management is a good or a bad thing. I just know for me, I've always loved writing software and this video resonated with me because I go, go do things that you find naturally interesting and rewarding and you're very likely to come out pretty successful in life.
This was the bottom line, one of my favorite movies, The Shawshank Redemption, get busy living or get busy dying. So I'm going to sum up for you the whole premise of this talk. If you want to boil it down to a simple idea, it's this. The amount of success that you're going to have in life is directly proportional to the amount of time that you spend
doing things that add value for other people. That's it. And when you start to think about your life through this lens, it's going to draw a lot of attention to things in your life that are not adding value for others. And ultimately, when you look at people who are really successful, they spend a massive amount of their time adding value to the world
and you think if this person wasn't born, the world would be a different place. And that's what gets me so excited about speaking here today because I want to pass this message on and spur other people because that's what makes life really rewarding is changing the world and adding value for others and we can do that through software.
Now, we're all on this technical treadmill, right? We understand that the old goes away and then we move on to new things and you look back at 2000 and the technologies that were popular and these are old news and we've moved on to totally new tech that wasn't even envisioned back in that era and this is going to continue to move.
We all understand this. And this is particularly clear if you happen to be in the .net space and you see the old things at the top and the new things at the bottom and my guarantee is this, that these things at the bottom will shift to the top of the page and the stuff at the top of the page will shift completely out of our focus. We know that's happening. And so because of that, you really have to spend your time very wisely.
And you have to ask yourself, why am I even bothering with this? Development is hard because you are constantly having to reinvent yourself. The technologies that you know today will very likely be irrelevant in a few years. You have to keep moving. So the question you have to ask yourself is, what is my outlier y-axis?
Imagine that we have this chart and you can see that there's a bunch of data points, right? And you can see that there seems to be some kind of a general trend here over time but the question is, what is this trend all about? And then we have this one data point out here. This is the outlier. That's the whole premise of this talk, right? And the question is, what is this about? Why do you want to be an outlier,
this data point that doesn't fit in? So over time, you're seeing something trend upwards and then you see someone that has just totally bucked the trend and ended up standing out from the pack. Now there's a lot of reasons that you might want to stand out from the pack and become exceptional. So let's talk about a few of those. The most obvious one that people think about is money, right?
And it's absolutely true. If you become exceptional in software, then you will likely be able to command exceptional money. Now I don't recommend doing these sorts of things that I'm going to talk about solely for money, but it's certainly a piece of it and it shouldn't be your only motivation or you won't be able to stick to it. You know the old story of Sisyphus that was cursed to push a rock up the hill
only to see it roll back down again and do it over and over again? This is a big reason to become an outlier. When you have a job that feels like it's worthless, that feels like you're not really adding value to the world, you can vote with your feet. You can walk away and go find another job. Maybe you're like Richard Stallman and you want to change the world. Richard Stallman lives ridiculously simple.
He keeps his finances really, really simple so that he can do the work that matters to him. He founded the Free Software Foundation, GNU, if you're familiar with Emacs, these are all things that we can attribute to Richard Stallman. And he was able to do those things because he lived a really simple life and he was deliberate about it. If you become an outlier,
then you can very likely find yourself in a situation where you don't need to work 40 hours a week to pay the bills because you can be very, very simple about your life and deliberate about the way you spend your money so you can change the world through software. Chris Rock is one of my favorite comedians and strangely enough he said something
that I thought was very profound on an episode of 60 Minutes, which is a news broadcast in the United States. And he pointed out the difference between being rich and being wealthy. And it's a simple premise that wealth isn't about money, it's about options. Being wealthy is about options and this is one of the big reasons that I strive to be an outlier.
Having the option to take another job, having the option to be able to travel like I do today, having the option to move into another technology because that sounds interesting. The more that you stand out, the more options that you have in the world and the more ways that you can decide how you want to make an impact. Arnold Schwarzenegger was a really well-known bodybuilder
and he became wildly successful basically by getting really good at lifting heavy things, right? He won Mr. Olympia for five years straight, 1969, 1974, and then retired for a while, came back later, won again. Now, it's an interesting story because here's an outlier, right, who was spending a ridiculous amount of time focusing on working out.
And depending on your viewpoint on exercise, if you think exercise is just something that you reluctantly do, that you do merely to stay healthy, then he was bizarre. He was totally out of the norm. He was doing a lot more than he needed to and you don't necessarily look at him with respect. You look at him like he's nuts. You think he's crazy, right? So it depends on your viewpoint about his motivation
and that's the real caveat that you have to worry about with becoming an outlier. The more time that you spend becoming really exceptional in software, the more likely that some people aren't going to be able to relate to you because you become really deep in this one area. You have to sacrifice a little bit in some other areas
and ultimately, if you don't stick to it, then you'll get a little sloppy. In his defense, he looks great at his age. It's just an interesting story. So ultimately, what I want to talk about are three practices to become an outlier for the rest of our time. I propose that we have three problems that we need to solve as software developers. First, we do not have enough time to learn in practice.
That technical treadmill that I showed you, it is really hard to keep up. So I want to show you how to command your time. We also don't have enough people that know about our skills. Ultimately, there's a lot of people in here who are awesome at different technologies and the right people don't know it. And if they did, you'd probably be in a better job making a bigger impact. So ultimately, I want to tell you how to hack your image
so that more people know what you're already really good at. And then finally, we tend to be passive about our careers and basically let chance dictate the trajectory. And that's a real problem. So instead, I want to talk about how you can own the trajectory of your career.
So let's dive into number one. I want to talk about how to command your time. Kent Beck, a well-known author, father of TDD, said, I'm not a great programmer. I'm just a good programmer with great habits. Habits are absolutely key. Habits are who you are, right? And there's an interesting fact here, that habits are 40% of your day.
So 40% of your day, nearly half of your day, you're walking around like a zombie. You're not doing anything conscious. You're just doing the same thing that you did previously. When you get up in the morning and you choose to brush your teeth before you go to work and when you order a certain thing at breakfast and then when you decide what time you're going to work each day,
all these things are habits, right? And we don't consciously think about them. We just do them. And just one example of it. So in Kansas City, I work on the tenth story of a building near downtown. My very first day, I decided I was going to take the stairs because as a developer, we sit a lot, right? So we have to find time for exercise somewhere in there. So I run the stairs each morning, ten flights.
Okay, I'm lying. I run seven flights and then I about pass out and I get through. But ultimately, this is about habits, right? You don't walk in the next day and think about whether you should take the stairs to the elevator. You just make a habit and you do it. Now when you start looking at all the different ways that you could set a habit in your life,
it becomes really clear what's a good habit and what's a bad habit up here. And it's interesting that some of these aren't particularly easy to grasp. I mean, you think about are you pessimistic or optimistic? Are you doing the minimum or are you exceeding expectations? What have you been known for? And also the company that you keep can really impact this.
Are you someone who is known for the status quo or for pushing the limits and constantly thinking with a growth mindset, accepting that the only reason that I don't know this thing is because I haven't spent the time to learn it? And that's a very important piece of it. There's a lot of brilliant people here this week,
but keep in mind that they're brilliant because they've done hard work. Very few people are just naturally brilliant. That has a very small piece of the puzzle in your success. So much of it is just hard work. And I probably don't have to tell you that you can't learn Java in 24 hours, right? I mean, this book sounds really nice,
but this is the lie, right? What you could learn is the basic syntax of Java in 24 hours, and you could probably get a job at that point because, you know, the bar isn't that terribly high. Now, ultimately, this is the truth, though. You can learn programming in about 10 years, and Peter Norvig has a great post that justifies this,
and there's a lot of other studies in other industries that get down to this. Ultimately, the book, Talent is Overrated, gets into this idea and talks about, ultimately, you need 10,000 hours of deliberate practice to become an expert in really any given field, whether that be chess or Olympic swimming
or pole vaulting, whatever it may be. They've found that this is a bit of a magical number, and a lot of you have probably heard this one before. Now, here's the interesting takeaway. You may think, okay, well, I work eight hours a day at the job, so then this is just assuming four hours a day, so it didn't take me very long to reach expertise. You are not getting eight hours of deliberate practice in your day,
not even close, because deliberate practice is hard, wicked hard. You will find yourself exhausted. Deliberate practice should feel like this. You are hanging on a limb, and you're hoping that you're going to land this, and if you don't, it's going to really hurt. It should scare you, it should be painful, and you should be exhausted at the end. Deliberate practice is me choosing to learn Erlang from square one,
when I know nothing about it. Deliberate practice is picking up a whole new paradigm. If you haven't done functional programming, then going in and starting there. It is not doing what you already know repetitively, and this is the divider between those that are okay and those that are awesome.
If you can spend a little bit of time each day, and going back to this slide, realistically, you can probably spend an hour or two a day if you have a full-time job. So look at how many years it takes to reach expertise. This 10-year number starts to become pretty realistic. There's just a massive amount to know. And then when you factor in that that bar is constantly moving,
there's no arrival. It's a journey, so hopefully you... And this is the feeling that you should have. If you're doing deliberate practice, this should come up a lot, right? There should be those moments, because it is frustrating. Now, ultimately, we all spend our time in these seven areas of life, right?
And we have to balance all of this. And what you're probably thinking is, if you're going to become an outlier, then you've just got to spend all your time on self-development and your job, right? Because all this other stuff isn't going to help you be an outlier in software development. Well, if you do that, you'll probably find yourself miserable. That's not what I'm recommending. But I am pointing this out, because the fact is you will have to balance this, right?
You're going to have to say, what am I going to spend a little less time doing so that I can spend a little more time on these other areas? Think again about Arnold Schwarzenegger. He was spending all his time on health and probably not doing a whole lot of time, spending a whole lot of time on these other areas. Now, because of that, he was able to become an outlier in bodybuilding.
But there's another interesting takeaway from this that I call multithreading your life. Multitasking is an idea that's really gone out of vogue because people joke that basically multitasking is a way to do two or more things badly, right? Well, that's not exactly what I'm talking about because I'm very specific
when I suggest multithreading your life. Multithreading your life is about doing something related to programming while you're doing something that doesn't take much brain power, right? There are all sorts of times in our lives that we're really not directly fixated on anything that takes much concentration. So when you have those moments, find a way to incorporate a little bit of learning
into the mix. Start hacking your commute. There's a lot of ways to do so. If you have public transit options, then obviously that's a great approach because now you have that extra time where you could be reading, you could be learning, you could be on your laptop. If you don't have that, then start thinking about whether you could work from home some days.
When I went back to my previous job, I brought that up in the interview. I said, if I'm going to come here, I need to be able to work remote some days. I don't want to spend my time commuting. Every single day that I work from home saves me an hour in my day. That's an hour that I can spend on deliberate practice instead. So it is moving you forward. Another approach is work different hours. Think about coming in earlier in the morning
so you can avoid rush hours, so you can have a completely quiet office. That is really nice. I go in at 7 in the morning each day. And because I do that, traffic is lighter and there's no one in for a while. That's a big win. The other big point here is to use your commute, if you have to commute, listening to things that add value. There's absolutely an opportunity to go get books from the library.
Now I find podcasts are obviously really useful. There's all sorts of great podcasts out there on programming. I also like to just go to the library and get books that will make you better. All sorts of books on, that's how I learned public speaking, that's how I've learned a lot about economics, that's how I've learned other principles related to business
that help make you a better developer too. Just one example is the Lean Startup. I have handouts up here with a bunch of recommended reading that's related to this. When you walk out, grab these papers up here. You can get a lot of these books in audiobook format. Listen to them on your drive. And then also out on outlierdeveloper.com I have a list of books that I'd recommend on your commute.
When I work out, I like to get two things done at the same time. We went out and we bought a gym-grade elliptical, which was money well spent, because I could set it up just how I wanted to. I don't have any excuses. I don't have to drive to the gym. I just go downstairs whenever I can find time and do it. And ultimately, I'll take my big hefty laptop and set it up here,
and I'll watch InfoQ, I'll watch Pluralsight, I'll watch TED Talks, but I'll watch things that are going to help move me forward. So during my workout time, and I look forward to those things, I think it's fun to learn, and that helps spur me to exercise too, because I go, okay, I'm not just spending a half hour trying to get through a workout,
I have something else that's engaging me, so I don't think as much about the time involved. I find this helpful. Other people may find that you just want to spend the time quietly thinking. That's fine too. This is something that works for me. Here I am out shoveling snow. And again, I've got headphones on. I'm listening to .NET Rocks, one of my favorite podcasts. So I'm getting multiple things done at the same time. It's these sorts of things where it doesn't require any real brain power
to just sit and shovel snow, right? But why not get something else done at the same time? I like to watch movies, but if I'm going to watch a movie over here, I'm going to spend the first 30 minutes over here. If you have time to sit and watch TV, you also have time to exercise, and this is really important, because as developers, we are pretty sedentary.
Ultimately, if you're not healthy, then you don't have anything, right? So if you can squeeze in a little bit of time, then you're ahead of the game. My wife is willing to drive on long drives when we have to go out of town if I'm sitting in the passenger seat billing by the hour and getting things done. So some people don't like this idea, and I'm not recommending it for everybody,
but I'll say this. By sitting in the passenger seat and billing, it means that we can stay on the beach another day on vacation, because I made money while we were driving. So if that's worth it to you, it might be a good trade-off. There's been times when I had really tight deadlines and we would have had to cancel our trip, and I said, OK, we can go on the trip, but I'm going to be at least working while we're on the drive. Once we get there, I'll close my laptop,
we'll play, we'll have fun. Also think about philanthropy. When you're going to give back to the community, maybe the most valuable thing you could do is write software for them. You can go out there and participate in a give camp or do pro bono development, just like lawyers are known for doing this. They'll do pro bono work and represent people.
We probably are most valuable sitting at the machine writing software for somebody, and there are a lot of non-for-profits that don't have the money to pay talented people like you to add value for them. So if you're willing to donate your time there, that's a good win for you as well. You're getting to improve your skills, increase your network, and help them out. Now, to be a successful software developer,
you need to be modal. You need to be focused on a single thing at a time. Thomas Edison said, you do something all day long, don't you? The only difference is that you do a great many things, and I do one. That's the definition of being modal. So let's talk about Paul Graham and his idea of the maker's schedule.
This is exactly why I couldn't write code as a manager. Managers have a schedule where they break up their day into a bunch of these little bits, right? It doesn't matter. They have a half-hour meeting here and an hour meeting here, and they do this and that, and it's no big deal when you slot another meeting in. As developers, that doesn't work because we need large chunks of uninterrupted time so that we can focus on the problem.
And ultimately, if somebody walks in and interrupts us, it's really hard to get back in focus, to get back in flow. So we need to set up our days with that in mind. Now, Joel Spolsky owns Fog Creek Software in New York City, and this is their offices, and notice what they have here. They have sliding doors,
and this lucky developer is sitting here behind doors. How many people here have private offices for writing? Wow! I need to move to Europe. This is great. That's the highest number I've seen. It's not very common in the United States, and that's a shame. The book Peopleware spends a lot of time explaining
why developers really would benefit from private offices. And ultimately, there's not so much that you can do about this other than switching jobs, and it's hard to find those. So I want to talk about some other ways that you can resolve this problem of interruption in your life. If you can get a private office, great, but good luck. You can work from home, which I do a few days a week. I tend to save the hardest work that I'm doing for working from home
because I can bank on not getting interrupted. I just shut my office door, and I do my work. Work an alternate schedule. The earlier you can get in, the more likely you are to have a chunk of time in the morning that no one interrupts. Try to batch your meetings together. This is managing up, right? Ask your manager, hey, can we move all of our meetings
to just this one spot early in the afternoon, right? After lunch, so that I know I have all morning to be able to do the hard work, right? And not get interrupted. Your manager will probably go for it. Just explain that you need big chunks of uninterrupted time. That's the core idea, right? And when you are interrupted, fire up Notepad
or whatever it may be, write down where you were, or put a build error in. Sometimes I do that, too. If the app won't compile, I'll remember where I was, too. Whatever helps you get back into flow as soon as possible. I also recommend noise-canceling headphones. So I spent this money a while back, and so this is me sitting out on the deck working,
and you can hear this big land mover next door. They were building a house, and that thing is ridiculously loud, but with noise-canceling headphones on, I was able to work out there and get things done. The same story. We have a stand-up that meets next to my desk. About 20 people are in this stand-up,
which is a little ridiculous for other reasons, but nonetheless, when you have a bunch of people milling around talking each morning, it's hard to get things done. Pop on noise-canceling headphones, and you can still be productive. If you want to keep track of your time, I find rescue time really useful. Know where you are spending your time. The nice thing about rescue time is it points out areas
where you're starting to pick up bad habits. My new bad habit is Twitter. I'm spending about five to six hours a week on Twitter, which is really ridiculous. I've got to get that together, and I know that because rescue time knows it. You can install it on your mobile phone, on your home machine, on your work machine, and then you get totals each week of how much time you're spending in what areas.
To become an outlier, you also have to think about leisure time. This is the area where you will really separate yourself. That's what you have to be really strict about. Ultimately, if you want to live on 24 hours a day, remember this. Your day isn't full. You spend seven hours working, seven hours sleeping,
and I'll give you another two. This leaves eight hours. You underuse these. This was written back in the early 1900s when apparently people worked seven-hour workdays. They were more fortunate than we are. Eight hours is more common, at least in the United States. Is that common here, too? Eight-hour days? A lot of head nods. Okay, cool. Well, ultimately, when you get home, though,
you have this decision to make about what you do, and we all have habits, right? And this gets to the heart of it. I was on the phone with my mom a while ago, and she was talking about a show that she really enjoyed, and I said I hadn't seen it, and she said, Well, wait, then what do you watch on Tuesdays?
And I get chuckles. I always do on this. And that was my first thought, too. And then I thought, Well, that really speaks to the difference because my default mode isn't what can I watch on Tuesday nights. It's what am I going to get done on Tuesdays, and that is fundamental. And I love my mother, and ultimately, growing up,
we did this all the time. Growing up, we would get home, and we would watch TV from the time that I got out of school until we went to bed. We'd even sit in front of the TV to eat dinner. And then on commercials, my dad and I would wrestle, and it was great, and it was fun. But in software, we can't afford to be spending our time defaulting to this. You can't default to watching television every night.
Again, ask yourself, Am I doing things that add value for other people? Because becoming an outlier is all about that, and watching television isn't adding value for anyone except the advertisers that are getting your eyeballs, getting your attention. You have to manicure this stream of information, and we have more options than we ever have before, with RSS feeds and all these different videos and television
and the internet never ends. So you need to focus on slow media, not the mass media. The mass media isn't going to make you better as a developer. It will just add noise to your life. So think about this, all these sort of mass media areas, and then there's an alternative in every one of these areas
for a developer that could help you become better as a developer. So if you spend your time over here, then you're on the right track to becoming an outlier, right? Now, I want to clarify something, too. If you spend all your time over here, you're going to be a weirdo. People will not understand you. You need to spend some time here, and this is necessary, too, just to unplug, right?
So me, I'm big into cars, so I read Car and Driver. I really enjoy that. I like watching Top Gear. The British version is amazing. If you haven't seen it, you should. It's an awesome show. And this is really analogous to the Agile Manifesto. It's not that these things don't add value,
but as a developer, spend your time focusing more on this side, and you'll find that you move forward more quickly. You need to spend your time searching for life-changing media, and this is the takeaway. When I read Code Complete, it changed the way that I wrote code. It also gave me the opportunity to author my first Pluralsight course,
which is called Clean Code, Writing Code for Humans. If I hadn't read this book, then I would not have been capable of writing that, authoring that course. It was really foundational to a lot of the ideas that I covered. This book changed the way that I interact with people, one of the most popular books on soft skills. And as developers, we're known for not being great at interacting with others,
so why not become an outlier in this area? An excellent book. Architecting Apps and .NET for the Enterprise. This is another book that really prepared me for writing my second course at Pluralsight, which is about pragmatic software architecture and thinking about justifying the complexity in our code. That changed my life, again, in a very concrete way.
Headfirst design patterns, again, really improved the quality of my software, and I can look back at certain pieces of software and say, the way that I wrote this was directly changed by the time that I spent reading this book. That's a life-changing piece of media. Contrast that with watching the evening news. I used to get home from work each day when I got out of college,
and I would immediately plop down on the chair, turn on the evening news, and sit there and eat a bag of potato chips. Not a great habit. Now, I felt like I was doing something value-added because knowing about the news is valuable, right? Well, I have changed my tune on that, and I consume virtually no news,
and this is becoming a more and more common approach. Tim Ferriss, author of The 4-Hour Workweek, also pushes this idea. And the bottom line is this. The less mass media, the less news that you consume, the bigger advantage that you have because it opens up your time to consume things that you can control. This is really the key idea. This is a link to the article.
Also, if you grab these handouts down here, I have a reference to the name of the article, and you can download it, but this will change the way you think about news and its value in your life. This is why news is a problem. If you spend all your time focusing on things that you can't change, then your realm of influence is never going to change. Almost everything that happens out in the news
isn't anything that I control as a software developer in Kansas City. If I spend my time focusing on things that I can change, then I slowly see my realm of influence grow, and I've absolutely seen that. I am here standing in front of you getting to speak in Oslo because I have focused on development really heavily, and that helped me get there.
That has increased my influence, and now I get to speak to you, which is a huge gift. It's really exciting. Now, I can't think of a better example of this than Bill Gates. Bill Gates created Microsoft, and ultimately, by becoming really an outlier as a software developer, he's been able to change the world in ways that you could have never imagined, because he got great at it.
Now, all of a sudden, he's one of the biggest donators for helping children in education, for all sorts of issues with water and with philanthropy. He is a standout. The same story with Arnold Schwarzenegger. Who would have thought that getting really good at lifting heavy things
would somehow lead to him being the governor of the state of California? It's bizarre. Those two things are completely unrelated, but it happened. By becoming really awesome at software, you really have no idea how you're going to change the world. People say that time is money. I like to flip that around and say that money is time.
Every time that you get a raise or you make more money, when you're handed a paycheck, you're being handed time, because you have a choice on how you spend that money, and you can use that money to buy yourself more time. This is what successful people do every day. You wouldn't see Donald Trump, who's a well-known millionaire.
Have you all heard of Donald Trump? Okay, a lot of head nods. Cool. You wouldn't see Donald Trump out mowing his own yard. That's because he has more valuable things to be doing. He knows what his time is worth, and he knows it wouldn't make sense for him to be doing this. As software developers, a lot of us are fortunate enough
to make enough money that we can delegate some of this work to others. My wife and I live beneath our means so that we can afford to get a housekeeper, so that when the house needs painted, I pay someone to do so. When the deck needed stained, I paid someone to do so. When our lawn needs mowed, pay someone. All of that opens up more time for me to focus on software development,
because again, the more I focus on software development, the more successful I can be there, and the more I can continue doing these things, and I can keep spending my time doing things that matter to me. This just isn't how I want to spend my time, so I would rather have this opportunity than be driving a fancy car or living in a huge house. It's all a matter of values, but outliers delegate
so they can continue getting better. So that was about managing your time. Now let's talk about hacking your image. In my management job, I learned something simple. Perception is reality. I had a very successful team. We wrote great software, but we were a failure
because we weren't perceived to be successful. I didn't spend my time out with other managers selling our success, so we were viewed as a failure. And that was my mistake. I'm good at writing software, but I will tell you, I found I was not very good at managing people. That is a very different skill set. And even as software developers, you need to manage your perception.
How people perceive you is really important. And what you want to be viewed as is something really purpose-built. You look at the people that are best known in the industry, and right away, I could say the name of someone, and you'd go, oh, yes, I associate them with certain technology.
DHH, who created Ruby, is absolutely known for that in that area. And the other takeaway from this is these cars are really good at a specific purpose, and they're also really expensive, and they're rare, and they're hard to find. So if you can market yourself as somebody who is really amazing
in a certain small area, then you can stand out from the crowd. It's really hard to do so if you go broad. So strive right now to think about where you want to start diving deep, and that will set you apart from the crowd. Once you do so, you no longer need these job search tools, because instead, this is what happens to you.
Friends will call you up and ask you to work with them. That is a huge benefit of becoming an outlier, is no longer having to look for a job, but instead, anyone that you worked with previously or that has read your blog or seen you speak or whatever it may be goes, that's someone that I'd like to have on my team. So you don't need job search because you have the connections.
I'm a big fan of graduation speeches, and it's weird that I'm so fixated on these, but Neil Gaiman, a well-known author, had a graduation speech that I just thought was hilarious and had some really good points in it. And his premise was that there are three things that you can do in your job.
You can be easy to work with, do great work, or you can deliver on time. Now, ideally, you do all three, right? But the punchline is this. You just have to pick two. So think about that for a second. What are you known for in your job? This is the way it plays out.
If you're easy to work with and you deliver on time, then we'll accept that your work isn't exactly great, because, hey, you got it here on time, and you're a pleasure. If you do great work and you deliver on time, then we'll accept that you're a pain to work with, right? And if you're easy to work with and you do great work, we'll accept that, yeah, okay, it's late.
It was amazing work, and you're a pleasure to be around, right? All of those stories work, and you can probably think about people that you work with that fill two of these. But if you want to become an outlier, strive to do all three of these. You're also going to always find yourself back against the wall from time to time having to decide where you sacrifice
one of these three areas. So I want to talk about the developer image triangle. This is related to those three areas. So you can see the three areas here that we're all striving to do, right? Well, if you're someone who is known for doing great work and being easy to work with, but you rarely deliver on time, then you're the cordial craftsman. So this plays out in your manager just viewing you as unreliable,
because managers need you to deliver on time. They're going to become frustrated by it. And your team is going to look at you as the ivory tower developer. You've always got to have everything perfect, but you never deliver on time, so you make life miserable, right? So there has to be some balance here. Or maybe you're someone who's known for doing great work,
delivering on time, but you're not easy to work with. You're the reliable robot. You're not the one that's going to get invited to lunch, but you get your job done, right? So your manager will probably really like this. You're the dependable brainiac. That's a really useful role on the team. But to your team, you're smart, but you are cold.
You're going to find yourself feeling rather alone on your team if you're not easy to work with. So that's not really attractive either. Maybe you want to be the happy hacker. This is someone who delivers on time, is easy to work with, but is not really known for doing great work. Your manager's going to love that, though, because your manager doesn't see all the technical debt
that you're generating when you're the hacker, right? Managers love seeing work delivered on time and working with someone that's easy to work with. Your team, on the other hand, is going to view you as the debt generator. Is that how you want to be viewed, right? Is the person, oh, man, I've got to go into Corey's code again. This is going to be painful. That guy doesn't know what he's doing.
So as an outlier, ask yourself where you want to be focused. I will tell you this, that if I sacrifice one of these, it is usually deliver on time. I will have a conversation up front of going, okay, I've been coding for 15 years. I can see that I'm not going to be able to deliver this at a quality that I'm comfortable with. If people won't move on timelines, then I'll end up sacrificing, doing great work.
I strive to always be easy to work with, because I've found if you're likable, then almost everything comes out in the wash. People will put up with a lot if you're just likable and friendly and you're candid about this triangle and what you're having to sacrifice.
I've interviewed a lot of developers, and I will tell you, before I interview someone, I go on Google and I try to find you. I try to find any references to you doing development. I'm looking for anything you contributed to. Do you have a blog? Do you have open source projects out there? I should be able to find that you're a developer online. If I can't find any reference to you, that's a bad sign. There should be some kind of a reference,
because you want to be out there showing off what you know and what you can do, right? And I have a bit of a problem in this area myself, because if I go over here and I Google for my name, let's just see how this goes. Oh, I don't want to translate this page, but thank you, Google.
So I'm going to Google for me. Okay, so the good news is I came up number one and number two. The bad news is that nearly everything else is this Disney show called Cory in the House. And if anybody ever looks for me... Which one of these would be an image? Would that be Bieler? Wait, say that again.
Bieler? I don't think I said that. Does that look like me? No, no. So this is what's hard. And if you scroll long enough, you might find somebody that looks a little like... There I am. No, no, okay. So it's hard. It's hard to get your search engine results valid.
But I've at least gotten my blog up there by continually blogging along the way. I can't compete with Disney. They're just too big and too powerful. But strive to get your work out there on display for others. And one way to do that is to think about recycling your work. Every piece of work that you do can probably be repurposed in another area.
Do the work. Then write a blog post about it. Tweet about it. Do a lunch and learn. Speak at a conference. Answer questions on forums. Contribute to open source. Go take a side contract using that new technology. Think about this. Whatever project you just worked on, there are probably areas up here that you could go ahead and go do now
that would be very easy. If you just learned a new technology, go ahead and leverage it. The fact that I'm here today, the other session that I'm giving this afternoon is on single-page applications. I just spent the last year building a big single-page app. All the technologies that I've learned, the lessons learned from that, I'm telling here. And I didn't really have to spend much extra time. I just had to think about the last year and wrap that up in a presentation
that will help add value for other people. So that is recycling work along the way. Scott Hanselman, who's speaking later today, has an awesome post, Your Words Are Wasted, just really pointing out that spending your time on Facebook and Twitter is a waste, because you're contributing to this walled garden that at any point
could be pulled away from you. They could change the paradigm, and it might not be very useful. The most valuable place that you can put your information, your knowledge, share things, is on your blog, because you own it. Now, ultimately, those other things are useful, but the blog is the most valuable place to spend your time, and it will change your perception. I'll tell you this. When I set up my blog,
I had two little posts on it, and I took an interview, and the interviewer said, and I looked at your blog, I was so impressed that you're a thought leader in the field, and they were genuine. I'm going, I wrote two blog posts, and they weren't even good. It's kind of you to say so, but that's not really anything impressive. I'm just getting started.
So it doesn't take very long for you to get a halo effect from doing the sort of things that I'm talking about here. People will start to look at you differently. Also, keep in mind, Scott Hanselman, speaking today, getting new keynotes, this is his start at blogging. Now, look at the time, 2002.
So we're rewinding 12 years. So for 12 years, he has been diligently blogging and has slowly built up this massive following and a huge amount of impact, and this can be you at any given point. I went through his blog and looked at the first year or two, and the funny thing is, you'll find hardly anybody was listening,
virtually nobody was commenting. His blog posts were really short, and they aren't particularly interesting. Scott wasn't an amazing writer at first. He got really good over time by continually working at it, like anybody else, right? We all start out at beginner level and then slowly get better. He's exceptional now because he's kept working at it,
and this can be you at any point. I'm still a big believer in good old dead tree books. This is my bookshelf at work, and the reason that I believe in this is this is how you show people what you know. I love when somebody new comes in and they set their books up on the shelf, and then I can look at the shelf and go, oh, hey, cool, yeah, I read that book.
Let's chat about it. And by the way, make sure you've read the books. It gets rather awkward if you haven't. Not that I know, but this is a physical reminder of the idea. That's why I love this. Something on Kindle, for instance, I don't have any physical reminder. Once I've read it, it's just gone. Whereas whenever I look at my shelf, I can look at that book and go, yes, I remember those ideas.
I can tell you in rework I remember learning that planning is often just guessing. This is a trophy of knowledge that people can see. It's a visual summary of what is in your head. You need to find ways to get what's in your head out on display for other people because if I don't know about your knowledge and your skills, I can't use them. I can't hire you unless you really make that obvious.
It shows that you spent time outside of school learning these things. These aren't textbooks from college. These are books that I bought after school so that I could get better. And they're going to foster conversations in your office and make sure that your skills are known. All right, so let's wrap up with step number three. You need to own the trajectory of your career.
That's exactly what I wasn't doing when I took that management position. I was letting someone else say, hey, why don't you come do this? Well, okay, sure, and that didn't work out very well. So you need to move from a passive mindset to an active mindset. Let me just read some things that somebody passive would say. They changed tech because their employer required it. They interviewed because a recruiter called them.
They stay at their job because changing jobs is risky. They learn technology when training is provided. They read because it's assigned, and they're here at this conference because someone required them to do so. Now, at a conference, I don't expect many people have all these viewpoints, but there are a lot of people out in software that would be described by these things,
and I certainly filled all of these at one point in my career, but I have learned to be active. Let's think about the active side of this instead. I changed technology because I wanted to. I interviewed because I found a cause in a company that I believe in. I stay at my job right now because I'm valued and respected there.
I learned technology on my own to achieve specific goals for me, and often those are goals completely outside of my full-time job. I read because it moves me forward, and I am here right now because I want to grow as a software developer and connect with others. So that is an active mindset. Strive to be active.
This is not a proud moment for me, but I did say this in 99, and I really believed it. And I'm not necessarily wrong either. Flash is still alive. It could come back, but we don't know. So this is why owning your trajectory is so key
because I bet on the wrong horse, right? We've pretty well established Flash is not going to kill HTML, so I left Flash many years ago and moved on to HTML5, JavaScript, CSS, and all sorts of different server-side technologies. Think about the adoption curve. There is no right answer on this curve.
There's no place that you should be or shouldn't be. Your place on this curve comes down to values. I choose to be here in the middle. C Sharp and Java are very, very popular. There's jobs all over the place. I'm obviously not familiar as much with the market here, so I don't know how much this reflects the market in this area. But in the States, for instance,
COBOL is on its way out. That's pretty safe to say. Things like NoSQL and Node.js are quickly gaining steam. Now, where you choose to be on this curve is interesting because I choose to be in the middle because I love going to really big conferences. I love seeing technology change a lot, and things change often right in here.
I love being able to switch jobs from time to time and have no worries about staying employed. Now, ultimately, you can sit over here, and the benefit is the technology treadmill that I talked about really doesn't move. Once you've learned what you need to know in COBOL, then it's pretty well going to stay the same, right? You can stay employed for years. You can also make pretty good money
if it's hard to find developers there. That's true over here as well. If any place that demand outpaces supply, you're going to make great money, right? Now, this is very, very risky because anything here may never come up into here, right? It may just fizzle out and jump right over to this area. So, where do you want to be? How many people like being in the very middle of this curve?
Okay. How many here like to be on the far left-hand side, bleeding-edge technology? Okay, so that's about maybe 15% of people. How many like being over here on this other side? You don't raise your hands as high. There's nothing wrong with this side. I said that.
So, there were five or six hands over here. And again, that's a fine place too. Regardless of where you choose to be on the curve, the key is to learn to teach yourself better than any institution can. And I want to talk about programming your brain. This was easily my most popular blog post of all time.
I got around 60,000 views in just a few days from this post, which blew my mind. And I bring it up too because this is one of those posts that I had an idea and I thought, you know what? I'll just go ahead and quickly get my thoughts out on paper and just post it up and see what happens. And it caught fire. The art of learning in three steps is this.
I'm going to summarize the post. You need to watch someone do something, whether that be watching on portal side, info queue, whether that be sitting at work and pair programming with somebody. You have to learn, maybe reading a book. Then you need to try it and experiment, right? And trying and experimenting is key because that's where you're really going to start to internalize the knowledge.
This is the learning pyramid. And what's interesting about this is how much you retain when you sit down here at the 75 to 90 percent area, right? And by the way, these numbers are just general ideas. There's no known source behind these, even though this is attributed here.
So take it with a grain of salt. But ultimately we do know that practicing and teaching others are the best way to learn. And that's one of the reasons that speaking is really helpful because you'll have to obviously learn it well. And then that step number three is teaching someone else, right? And whether that be speaking at a conference or writing in your blog or tweeting about it,
whatever it may be, maybe doing a lunch and learn at work, we all have an opportunity to teach others. So learn to program your brain. Do not work for money. Work to learn. Don't take a job where the only reason you're taking it is for money. That's what I did before, and I wasn't learning anything that I wanted to learn. Now I'm back in the technology that I want to work with, getting better.
Because there's no sideways in software development. You're either continually progressing or you're slowly falling behind because that treadmill keeps moving. Also remember that you can only sell an hour of your life once, and then it's gone. It does not scale. That hour that I billed yesterday, I can't get it back. So think about searching for scale.
There's really three levels to this. At level one, you're just doing the work. You're fixing bugs. You're billing by the hour. You're doing what you're told, right? At level two, you're leading, and you're getting to select architectures and tech, mentor people, define the project and different processes. So this is a really valuable place to be. Once you start scaling here, then you see the money go up
because you're making a bigger impact on people. And then finally, at level three, this is where you own things, where you have products, software as a service, product as a service, frameworks, you author things. And this is a lot of why I'm a Pluralsight author because I scaled by recording this session as a Pluralsight course. It's a two-and-a-half-hour course.
So you're seeing a small portion of this becoming an outlier course that's on Pluralsight. And that has been watched by thousands of people in the last month, and I wasn't doing anything. I just spent the time recording it, and it's done. That scales. So look for ways that you can scale your time. That's a summary of the three, and I want to close with some challenges to you.
First, think about your Lux surface area. Your Lux surface area is directly proportional to the degree to which you do something you're passionate about, combined with the total number of people to whom this is effectively communicated. So this is key, really. Lux surface area is all about how many people know
that you really like doing software and know what you're into. That's the key. And how do you increase that number? One obvious way is, of course, to speak, to blog, to do all the things that we've talked about before. Go to a startup weekend, start consulting, tweet, ship software. A couple other points here. Don't eat alone. Instead, go eat with someone else regularly at work,
invite other people out, attend user groups, and then stay in touch with those people. The more that they know what you're doing at your job, maybe you can land them a job, maybe they can land you a job. Also, try to make the hang. If there are some developers in town that you really respect, that you feel like are a tier above you, offer to buy them lunch.
Don't ask for a mentor. Just ask, hey, can we do lunch? See if you can make a friend out of the deal, and you're going to find that you're able to get better as a developer by doing so. There's an interesting story out of The Passionate Programmer, a great book. Again, it's on the list up here. And the story is this, that he found that working on a jazz band,
where the jazz instruments were really well played, where everyone around him was talented, he played better as well. And in the same way as developers, when we write code with other people that are better than we are, we tend to write better code. And when we write with people that are worse than we are,
we tend to slip a bit and pick up some of those same bad habits. So strive to make the hang with really talented developers. I also recommend chasing your fear. I'm up here speaking because I was chasing my fear. Two years ago, this would have terrified me. And that was exactly why I needed to do it. How many people in here are scared of public speaking?
A lot of hands, just like you always see. Okay, now I want you to look at hands up here. How many people have ever submitted to speak at a conference? Okay, now keep your hand up for a second. Now, put your hand down if you've spoken at a conference. Okay, so basically, nearly everybody,
and this is what I usually see, nearly everyone that has ever submitted to a conference has eventually been accepted. There is a bar here, but whether it be a conference or a user group, if you keep submitting, I've been rejected from many, many conferences, but I've also gotten acceptances. If you want to speak, people will accept you. You don't have to be anybody special. You just need to have an interesting thing to talk about.
So write it up, start submitting. There's no gatekeeper other than getting it in there and continually trying. Strive to choose yourself. A buddy of mine, Lee Brant, started a conference in Kansas City. No one chose him. No one said that he could. He just decided to do it. He started it. If you start a blog, then you just go ahead and do so.
And also, choose the hardest things. Notice how hard these things are. When Jeff Atwood chose to build Stack Overflow, that was a hard thing to do. That was the hardest thing. That's a lot harder than merely lurking on a forum or spending time posting on a forum. A lot riskier, too. When John Resig created jQuery, again, nobody gave him permission. He just chose to do the hard things.
Be very careful about who you spend your time with. You are the average of the five people that you spend the most time with. So I want to challenge you to find really good people. Now, these are people that I spend a lot of time with. Now, it just so happens I've never met any of them, although maybe I'll get to meet Uncle Bob because he is apparently here.
I haven't seen him. But nonetheless, these are people that I read all the time. So they influence my life more than most people that I'm around because I'm reading what they do on a regular basis. These are effectively my mentors that I've never met. Now, I'm challenging you with all these things because change leads to insight
a lot more often than insight leads to change. I just challenged you with a whole lot of things and gave you a lot of information. But what I want to challenge you to do is to make changes. And if you want a list of all the goals that I've talked about here and ways that you can change things, this is the website that I've built that's really a sister to this course. And you can go out there.
You can connect. I'm encouraging people that don't have a blog to do guest blog posts. So far, I've got a queue of blog posts lined up of people that have seen the course or that have seen this talk at a conference and then went out and started blogging, put their first blog post up there, and then promoted their blog through Outlier Developer. I'd love to see you join.
Two years ago, I could have never been here because I was doing something that I wasn't passionate about. I was off the rails. So I want to encourage you to find your passion. And if software development's not your passion, that's fine. But if you do, then you really can't help but find yourself very, very successful. There's a very simple premise that I want to close with,
and that is if it's work, we try to do less. And if it's art, we try to do more. Software development is art to me. It is my art, and I hope that it's art to you as well. Thank you for listening.