Do What You Love

A good third of the mountain of mail I’ve gotten since my first post has been of the general form:

“What should I study in college/learn to do/work at to get hired at Valve/have a good career/have a good life?”

The most useful response I have is drawn from my own life: Do what you love. There are no guarantees, especially in the short run, about where that will lead – but at least you’ll enjoy the trip, and it is likely to lead to exciting things. It is true, however, that it can take a while; consider my own long journey to being a full-time programmer.

In 1975, I was a freshman at Clark University with absolutely no idea what I wanted to do with my life. I was a Geography major, but only because I had taken an intro course and done well enough so that a professor had decided to mentor me. I did my Geography homework and papers the way I did all my homework and papers – under pressure and generally at the last minute; classwork was just what I had to do to stay in college. Then, as part of my major, I took Dick Howard’s FORTRAN course, and something interesting happened.

Dick had the habit of writing each homework assignment on the blackboard (this was before whiteboards) at the start of the class that covered the relevant material for that assignment. So during class, I’d listen to the lecture with half my mind, and with the other half I’d figure out how to do the assignment, then write the code for it in my notebook (this was before laptops, let alone tablets). As soon as class was over, I’d head for the computer center (this was before PCs), type the assignment out on punch cards (this wasn’t before teletypes or terminals, but those weren’t available to normal users at Clark), and see if my code worked. Once I had it working, I’d extend and embellish it beyond what the assignment required, seeing what I could coax our feeble Xerox minicomputer into doing. It was easy, it was fun; in short, it was what I wanted to be doing.

That summer, I decided to stay on campus, so I had to take a class. I picked the one that looked like the least work, a half-credit class in assembly language taught by Andrea Goodman – and unexpectedly got a hint of just how deep the rabbit hole went. I hadn’t even realized there was a native language the computer used, and suddenly I was learning it. I did well in the class, but Andrea told me I had a lot more to learn, and suggested I TA her programming course the next semester, which I did, staying about one lecture ahead of the students, since I’d never had a real programming course myself (as opposed to FORTRAN for Geographers). I started to learn about algorithms, program design, coding for readability, and the like. I even had my first taste of crunch time, going to Andrea’s house with the rest of the TAs and a pile of pizza and spending a whole day grading finals.

I’d say I loved programming back then, but it wasn’t even that complicated – it was just what I did naturally. I was good at lots of other things I did academically, but they all felt like work. More importantly, the material in those other classes didn’t lead anywhere for me; I learned it, and thought about it no further. Programming was different; I remember my roommate Chris Caldwell and I sitting on our beds and trying to figure out as many different ways as we could to convert from ASCII to binary. How’s that for wild dorm life?

Clark didn’t have a programming major, though – in fact, Andrea was half of the entire computer department – and even if it had, programming was not on my career radar or that of anyone I knew. So I remained a Geography major, albeit one who programmed at every opportunity, often to the detriment of my classes.

After I graduated, I eventually wound up as a PhD student in the Energy Management and Policy program at Penn, studying under Steve Feldman. This was near the end of the great oil price spikes of the 1970s, and energy was a hot area. Steve was a brilliant entrepreneur, landing lots of grants and projects, and one of them involved computer-based energy modeling and analysis, a godsend for me, since I had been starved for programming since becoming a grad student. I headed down to the computer center and started implementing the code on an IBM mainframe…

And found out that, unlike Clark, neither students nor professors got free computer time at Penn. Steve’s project would have to pay for its time – but there was no money for that in the budget. We were well and truly screwed.

I don’t remember what made me think of it, but it occurred to me to check out a microcomputer. By now it was 1980, and I had been seeing ads for Radio Shack computers for a few years, but I didn’t know anything about them. I assumed they were toys, but there were other systems around that seemed more businesslike. There weren’t a lot of computer stores around; I finally found a place in Haverford that had a very sharp tech named Richard Beyer; Richard sold me a Vector Graphics VIP CP/M computer loaded with 56K of RAM and dual 320K floppies (quad density; the controller couldn’t keep up, so every sector read required the floppy to rotate twice, which was incredibly slow – but think of all that storage space!) – and one other very important thing, a Microsoft FORTRAN compiler. (This wasn’t before C, but it was before C was widespread on microcomputers; I had never even heard of it.)

The only way to get my work to date off the IBM system (short of retyping the whole thing) was via a serial port; to do that, I had figure out how to write a serial comm program, which resulted in the worst week of my programming life until Richard saved me by explaining the concept of a null modem. Then I finished the project on the microcomputer, uploaded the results to the IBM system and wrote them onto a tape, and delivered the tape to complete the project.

That was just the start for me and the VIP, though. CP/M was pretty lame in terms of built-in utilities, so I wrote a bunch of utilities for it, such as a full-screen disk browser; it was a great learning experience to try to replicate the functionality I had taken for granted on minicomputers and mainframes, and see that I could do it myself. Better yet, the VIP had a button that dropped you into a ROM monitor from which you could dump the contents of memory and do disassembly, which was a revelation to someone who had only ever used computers that carefully sealed users off from the OS and hardware. Best of all, though, was that it had memory-mapped video.

We’re not exactly talking desktop-class RGB bit-mapped graphics here: The VIP could push the grand total of 160×72 black-and-white pixels.

Doesn’t sound like much, does it? In those days, it was magic. I figured out how XOR-based animation works, learned Z80 assembly language, and wrote a Space Invaders-type game; the VIP didn’t have sound, but otherwise it was a complete, smoothly-animated game, complete with levels and high scores. Only a handful of people ever played it – I didn’t even know yet that there was a computer game industry – and none of them understood just how cool it was, but that was okay. Creating the game was its own reward.

As you might expect, the time I spent programming reduced the time I spent doing energy research, and especially the attention I gave to figuring out what my dissertation was going to be. In fact, I did my best to figure out a way I could work programming into my dissertation, with no success. While I was trying to get myself moving on my academic career, something happened that forever changed the course of my life: The IBM PC.

When I read about the new IBM microcomputer, I mentioned to my wife that if I ported my game to the PC, I could probably sell a lot of copies. (By this time I had met Dan Illowsky, who had the best-seller Snack Attack on the Apple II, and I knew that there was money in selling games.) She generously agreed to let me spend half our life savings on a PC (all the more generous since she was the one holding down a real job to support us). I got the PC, ported the game in a few months (to 320×200 – nearly six times as much resolution – with four glorious colors!), and sold it through Dan’s publisher, Datamost. Space Strike shipped in plastic baggies with printed cardboard inserts; I still have one, complete with a floppy that I can’t read on any machine made in the last two decades.

And then one day I came home from Penn, got the mail, opened a letter from Datamost, found a quarterly royalty check for $8,000 – and I was on my way. I immediately dropped out of the PhD program, and went on to write or co-write three more games in the next year. The funny thing is that I never got a royalty check nearly that big again; it turned out that the PC was a business machine in the early days, and apart from Flight Simulator, entertainment didn’t sell nearly as well on the PC as on the Apple II and the like. So eventually I got a real programming job, then moved to Silicon Valley and started writing articles and books; there were plenty of bumps along the way, but it was obvious that I was finally doing what I was meant to do.

If you can read that story and see any master plan – or any planning at all, for that matter – you’re more insightful than I am. The only thread that runs through it is that I did what I loved, even though most of the time it wasn’t what I was supposed to be doing and seemed counterproductive. (My mother was convinced I had thrown away my professional career when I decided not to get my PhD, changing her mind only in the mid-1990s, somewhere around the time of my first meeting with Bill Gates.) The point is emphatically not that you should neglect everything else in order to program; it’s that you should figure out what makes you want to neglect everything else, and do that. It might be video games, it might be repairing cars, it might be starting companies, it might be raising a family. Whatever it is, find it and do it.

Perhaps the most useful way to figure out what you really want to do is to observe what you actually choose to do. Lots of people say they want to write games, and get excited about it and make plans and talk about it, but just don’t find time for it. To be really good at something, you have to immerse yourself in it, and that’s just too hard to do unless it’s what you want to be doing all the time – unless it’s what you have to be doing. Something that seems compelling from the outside may not suit you when you actually try to do it; writing video games is nothing like playing them, any more than writing novels is like reading them. So if you think you want to write games, start doing it, and see what you learn – about yourself, most of all.

In general, try things that seem worthwhile, set goals and work hard to achieve them, and see where that leads and how you respond. It’ll be clear when something becomes compelling, because it’ll be where you choose to spend your time and attention. It may not be what you expected or wanted it to be – but by definition you’ll find it fascinating and satisfying. And when you think about what you could do with your studies/career/life, really, what more could you want?

There’s no universal prescription for such things, but I’ve seen similar patterns with many other people with interesting careers. Your mileage may vary, of course; it’s your own personal journey, and, in fact, that’s the whole point.

This is just my own opinion and experience, offered in response to some major life questions I’ve received; it’s strictly personal, and doesn’t represent Valve’s position in any way. That said – if your journey eventually brings you to Valve, all the better!

33 Responses to Do What You Love

  1. Chris says:

    A great story about finding something you love and following that passion where it may take you.

    Thank you for sharing it!

  2. Rustam Akhtyamov says:

    Thank’s for post. I’m on right way :)

  3. Jon says:

    A post like this, at the given time in my life, really means a lot. It takes a phrase often heard, “do what you love”, and puts meaning to it. Thanks for sharing!

  4. A fantastic and eloquent writeup. Thanks for sharing.

  5. Isaac James says:

    I have had great respect for valve for many years. I just want to thank you all for being a beacon for the industry. The way you approach employees, customers and products is a remarkable example. I wish you had more company at the top.

  6. MJK says:

    I don’t know what I love anymore. Everything that I used to like is joyless, now.

    • Sage says:

      The current METHODS of what you love are joyless. Consider what you like, and how you WANT to create. Then chart a path through to creating it. Go differently then done now, it’s a lot more fun. :D

  7. Stefan says:

    I love reading stories like these – thanks for writing!

  8. spencer says:

    This is a really great read, and very inspiring. Especially for myself, having just graduated with a music degree. I suppose its what I’ve been telling myself for the last 4 years, but its easy to forget when reality hits and you have to pay the bills. So this is a nice refreshing reminder. Thank you!

  9. Alex Campos says:

    Great journey.
    As Confucius said:
    “Choose a job that you enjoy(love), and don’t have to work any day in your life”

  10. eric says:

    Thank you for the blog post. I’m glad to have stumbled upon it! :)

  11. Chris W says:

    Great article, Michael.

    This has been very similar to my situation. I’ve had several jobs where I couldn’t wait to come up with a programmatic solution to a problem. While I presently work in a business capacity, I absolutely love developing software to speed things along.

    Thanks for sharing your experience,

  12. Loafers says:

    Inspiring story. Thanks for sharing.

  13. Someone says:


    Very inspiring to read that! Actually, today i quit my job to start doing what i really love doing. That’s not for a company.. I’ll have to work real hard to get somewhere. At least i do it while liking and even loving it. The only downside is no payment at the end of the month though those efforts probably will pay off in the long term.

    It’s actually blog posts like this that really inspire me! Thank you for that :)

  14. Frank Buss says:

    Great advice, thanks for the article. A side effect of doing what you want is that the results of such work are usually much better than ordinary work: If you read some source code (from good programmers), you can see immediatly if the coder was proud of it and has enjoyed coding it, or if he/she wanted to just finish it.

    Since demo coding on the C64 I try to do projects which I enjoy. And it helps a lot if you can see that the users enjoy it, too, like with my Lua Player project for the PSP, which inspired some people to start programming for the first time. And for me it helps to have new challenges in projects: I’ve done Java GUI and database programming, server side programming and C++ embedded coding, and finally FPGA programming, which I enjoy the most at the moment. Hopefully I can find some time to finish my C64 cartridge hobby project ( ) . This would close the circle to my roots.

  15. Veli-Pekka Piirainen says:

    Love your story :) It reminds me, that I was just like that when I was a young student :)

  16. Dan Long says:

    “…figure out what makes you want to neglect everything else, and do that.”

    That really struck a chord with me! I love reading your blog. I know you are way busy, but it would be great to see a post once a week, even if it’s a short one.

  17. Greg Benison says:

    My story is similar except I was a bit further along when I realized that programming was what I wanted to do (I had already finished the PhD.) Perhaps for that reason – and perhaps just because of my personality – I’ve been less willing to take a large leap of faith such as switching to full-time freelance game developer part way through a graduate program. For me, it has been a more measured process of looking at long-term goals and figuring out ways to work towards them without making sudden large changes in my life. I’m not saying that the “leap of faith” is a bad thing. For some it probably is the best way. I’d just like to make the point that some might get the impression that a large, sudden, risky decision is the only way to change course in life, and I don’t think that’s true.

    • Michael Abrash says:


      True enough – and that’s a much safer approach. Note that I didn’t make the change until I thought I could make good money writing games, and I had my wife earning enough for us to live on too. Thank you for pointing out that it’s not wise to bet everything on a big change; instead, lay the groundwork and make sure it’s a good decision before making a clean break.


  18. Joel says:

    Thanks for the post, a good read.

  19. Fahim Farook says:

    It’s quite cool to read about how things were back in the day :) I didn’t get started on computers till about 10 years after you did and so I missed some of the things you experienced but I can see some parallels.

    I got into computers by writing BASIC programs on paper while at school after reading a book on BASIC. The school had one computer – a Sinclair Spectrum but we weren’t really allowed to use it. It was reserved for 12th graders and such. Being a lowly 9th grader, I could only write programs out on paper and hope the logic held up :D

    I haven’t done FORTRAN but did COBOL and Assembly when I actually took my one and only programming course after leaving school. Loved it while I was doing it but have not used that knowledge much since then.

    Thanks for the walk down memory lane! It’s always good to remember how much fun it was back then and how much fun it still continues to be as computers (and programming) evolves :)

  20. Amit says:

    Excellent post! this made me remember my college days.

  21. Dias says:

    I’m happy for you, but I’ve heard so many stories like your own, there just always seem to be some stroke of luck that just lands you in the right place. I’m 23 years old & I feel like I’d have better luck winning the lotto before finding what I love before I die of old age.

    It’s easy enough to do what you love, but how do you find what you love? I’ve never had anything come naturally to me or even have an active interest in anything that I hadn’t tried & immediately disliked. I didn’t care for any topic in highschool, all I cared about was getting it over with. That & watching tv or playing videogames when I came home. It was the same in college. I couldn’t settle on a major, hated every class & couldn’t help but drop out after 2 years. It’s been 2 years since then & It’s been getting harder & harder to get a job since I was last fired.

    I’ve imagined someday working at Valve, If only as a playtester & if only because that’s all I could ever be qualified to do. Maybe one day I will, if I ever visit Washington. At least I can say I’d have a hard time imagining that I’d hate it.

    • MAbrash says:

      Good question, to which there is no easy answer. All I can say is to keep trying things that seem interesting, do them well, and see where they lead. There are no guarantees. And in my case, it was many years before it really worked out, not only in terms of what I wrote about in the post, but also after I became a full-time programmer. I was lucky that microcomputers happened to come along at the right time for me, but I’d like to think that if that hadn’t happened I’d have found something else. For example, I had spent a fair amount of time writing SF, and while I wasn’t good, I had gotten better. If it hadn’t been for the siren song of programming, maybe I would have had a career in writing SF; even as it was, I wrote a great deal of non-fiction about computers and programming.

  22. Who says:

    I was just pointed to this blog post, I’m currently doing Computer Science at university as I love learning how things work, and nothing is wrap in more mystery and confusion then the inner workings and programming of a computer.

    I have exams starting Monday and this has motivated me to keep going with my studies (right now I as I type this, I am reading through lecture slides in a separate screen). Naturally I’m stressing out and wondering if I know enough information just not to pass, but to do well in my exams. reading this just made me feel a bit more confident that I made the right choice by choosing Computer Science.

    Thank you.

  23. Darcy T.C. says:

    A fantastic read, and a great insight into an industry with a history I think a lot of us take for granted.

    It’s amazing the parallels between writing fiction and writing code, I think there’s a game idea in that :)

  24. JohnW says:

    Having read over this and other posts, I have a honest question for you about your thoughts on the whole idea of following what you love.
    I’m a recently graduated high schooler, and I’ve been reading the various things that I find on Valves game blogs, and now on these blogs, and I’ve been twisting around with the whole idea of that for quite a while.
    I’ve tried programing, and despite making a small mod for Minecraft, I could never get to the point that I really felt like I knew what the heck I was doing. The whole time I felt like I was just ripping code from various other parts and modifying it slightly to function the way I wanted.
    I’ve tried Art, and I always seem to never quite have the skill for fine shading and realistic detail that many other people tell me I should focus on.
    I’ve found that the thing that I am reasonable at is coming up with ideas. I do a lot of writing and drawing, and a decent amount of paper prototyping, (I’ve been working on a card game I hope to start testing this summer) but I honestly can never seem to find the time to truly go out and fully develop these projects.
    Right now I’m set up to major in Economics, which I find kinda interesting, but having read this, and some other posts by Valve employees, I have a honest question.
    Is there any room in this industry for someone who is good at coming up with ideas, but is not necessarily a great at finishing them?
    And if not, do you have any advice on how to really focus on and finish a project?


    • MAbrash says:

      My perspective on the industry is pretty narrow, since I’ve only worked at two places, and they’re both pretty unusual. However, the general rule is that it’s very hard to do anything or to get a job unless it involves doing the hard work to deliver something people want, and that means implementation as well as concept.

      I think this has some good insight into your question.

      I’ve found that talent often has a lot to do with interest – it’s hard to be good at something unless you do it a lot and think about it all the time. I would have liked to write science fiction, but I didn’t really want to spend most of my time doing it, so I never got good at it, and it wasn’t fun for me to play with story lines and techniques and see what worked. However, it turned out I did want to spend most of my time programming, and it was fun to make stuff work, so I did get good at that. Try to make your card game, and if you find you’re not spending enough time to make it happen, well, maybe that’s useful information about what you really want to do.

      Good luck finding your path!


  25. Hey webmaster, the above comment (from digirev) is a spambot.

    Great post Michael. It has made me re-think what I am doing, hopefully I will be able to do what I love as soon as possible.

  26. Markus says:

    This is really, really relieving to read. I’ve discussed with so many people what I should do with my life, and almost every grown up person I have spoken to tells me that I should get an education that pays well and settle with that. The general idea of just settling with a job that I don’t really enjoy but pays well seems strangling to me, and it’s not something that I want to do. I always tell people that I’m just doing what I like doing, no matter if that’s programming, making music, writing, reading, etc, but many people still tell me I’m chasing rainbows and should give in to their advice about settling with something that pays.

    It’s awesome and it’s a relief to hear that there are people who agree with me, and who have been doing just what they love their whole life. It seems I’m not hopeless, after all. Thank you.

    • MAbrash says:

      Markus – best of luck with whatever you decide to pursue! Of course, there are no guarantees; there’s a huge amount of luck and chance involved, and as we grow and try things, we learn more about what we’re really good at and what we want to do. So I don’t pretend that “do what you love” is a formula for success; it’s one of many ways to approach life, one that worked well for me. But I was fortunate enough to have been born into a middle-class family in America, gotten a decent education, and become an adult just as microcomputers appeared. So let me emphasize: YMMV!


  27. An international student too addicted to Valve's games says:

    Hello Mr. Michael,

    First thing first. Thanks for taking the time to share very personal information with just a slimmer of hope that people out there would find something worthwhile to take away from it. It isn’t an easy thing to do and you must be commended for it. And if nothing else, reading about bygone times is absolutely fascinating.

    Now, let’s move on to what I have.

    I am writing a comment here today out of essentially a whim. I have been doing things on whims for a while now but I did entertain the idea of writing to you from the day this blog went public (I was fortunate enough to be directed to it early enough!). You could say I procrastinated but in all honesty, as much as I enjoy reading blogs and find worthwhile information and what not through and on them, I still subscribe to a generally cynical view of blogs and find it hard to bring myself to participate. Actually, I am cynical about almost everything in the world. I am interested in a great many things but somehow or another, I have ended up at a state where I am not entirely enthusiastic about anything.

    And that essentially leads to the first set of query I have for you. Did you ever have a time when you found yourself turning bitter and cynical? Did you ever feel like all was going to hell and really fast at that? From the sounds of it, you must have had felt very agitated during your grad school years, what with having to juggle what you felt like doing vs what you were pursuing as a career and trapped in a relationship where you were the lesser contributor, at least financially. I am honestly surprised you even had the will to ask your wife for that favor that changed your life but I suppose that only means I am different from you and / or that I haven’t yet found a person to support me like your wife supported you. Regardless, did you feel hapless at any point of time? Since I am rather sure everybody goes through feeling agitated here and there, I mean to concern you about only the severe “back to the walls” situations and if you did have those moments, how did you get out of them? What would you recommend to somebody like me who has had many, indeed far too many, things they loved doing over the years but has somehow had their life hit a screeching halt of sorts?

    Let’s change the topic a bit. I have spent a fair bit of time trying to figure out the right way to do things etc. over the past couple of years (to the detriment of many things but I just couldn’t not think about these things) and one of the very interesting opinions, one that I don’t necessarily share but definitely understand the argument for, comes from Cal Newport. You may have heard of him but in his blog, he presents essentially the antithesis of this post of yours here. He advocates very strongly that “doing what you love” is overrated and not at all a good way to go about building a successful career, and ultimately, finding happiness. He points out how most people who think they like something don’t actually know the grueling detail that goes into most everything at an advanced level and how people who choose a career path based on their passion more often than not end up hating their jobs and getting trapped in feeling hapless. He recommends rather to work hard and focus on finding a stable subject and building a strong career out of it through rigor then doing what you love on the side with the income you obtain from your career. As I said, I don’t subscribe to his ideas. But the points he puts forth are good food for thought at least. The problem, however, is that I just don’t see myself being able to fight my way up and build a career if I don’t actually love what I am doing. But then I can’t subscribe to what you suggest wholly either for more than one reason but mostly that I have lost my love for things more than once before, and as such, no guarantees that I wouldn’t lose the passion for whatever I build a career based on my passion for it around and even more importantly, and immediately pressing, I can’t convince myself that I actually love anything anymore. What do you suggest I do?

    And lastly, I am deeply fascinated by what you had to say about the work culture at Valve and I really must wonder if having smart and entertaining colleagues to form Cabals with is the spark I need to bring my life back on track. However, I grew up in an extremely competitive cut-throat environment and I have been trained, almost everywhere and even by life, to fend for myself and / or be the alpha wolf. My experiences with anything involving teams has been nothing short of a farce thus far and I find it really difficult to picture a group with essentially full democracy being productive. But then again, I haven’t really had a group with very smart, qualified and entertaining individuals to work with thus far. It’s always been either the kind where people realize I am competitive and will get all the work done even if they don’t do anything and thus they leave it all to me or the type where people spend more time talking more than doing and I for my part spent almost all of my time going through some fantasy in my head while on endless meetings. Do you have any suggestions on how to approach being on a team? Even for video games, say Dota 2, the quintessential example of where team-effort is everything, my experience thus far has been that either you find the right team and hit it off or it’s not even worth trying and you’d have better luck being a fierce lone wolf. I have many thoughts on this but my comment is seriously way too long already so I shall put an end to it now.

    Thanks for everything again!

    An international undergrad student studying CS and Maths seriously considering working for Valve because of your blog and CS, DotA and Portal!

    • MAbrash says:

      Sure, I’ve had times like that. The only useful thing I know of to do in situations like that is to keep going as best you can, knowing everything moves in cycles, and there will be an up cycle coming along – and to keep my eyes open for ways to improve the situation, or for opportunities for change.

      Cal Newport’s approach is right for some people, and do what you love is right for others, and both may be right for many people at different time. As I noted, what I wrote about was my personal experience, but the world is a very complex place, and people vary wildly from one to the next and also over time, so there’s no formula or “correct” advice. I do find it’s useful to be excited about something you’re trying to accomplish, although of course that can lead to wild goose chases as well. Again, all I can say is that if you keep trying to do good work, it’s likely to lead somewhere useful eventually – but there are no guarantees.

      Btw, I didn’t ask my wife for a favor with the money to get my first PC, and it certainly didn’t bother me that she earned more than I did. We were and are a team, and that’s been very productive over the years. She had faith that what I was doing would be worthwhile, and she was right. But if it hadn’t, I would just have tried something else, and that would have been fine.

      Every team is different, and again there’s no formula for being on one. My best advice is to find a team of people you like working with, working on a problem you feel is interesting and worthwhile. Easier said than done, I know :)

      Good luck with finding a path that suits you well, and remember, as long as you keep doing your best to make forward progress, things will change in unpredictable but likely interesting ways in the future.