Julia Evans

Some possible career goals

I was thinking about career goals a person could have (as a software developer) this morning, and it occurred to me that there are a lot of possible goals! So I asked folks on Twitter what some possible goals were and got a lot of answers.

This list intentionally has big goals and small goals, and goals in very different directions. It definitely does not attempt to tell you what sorts of goals you should have. I’m not sure yet whether it’s helpful or not but here it is just in case :)

I’ve separated them into some very rough categories. Also I feel like there’s a lot missing from this list still, and I’d be happy to hear what’s missing on twitter.

technical goals

  • become an expert in a domain/technology/language (databases, machine learning, Python)
  • get to a point where you can drop into new situations or technologies and quickly start making a big impact
  • do research-y work / something that’s never been done before
  • satisfy your intellectual curiosity about something
  • get comfortable with really big codebases
  • work on a system that has X scale/complexity (millions of requests per second, etc)
  • scale a project way past its original design goals
  • do work that saves the company a large amount of money
  • be an incident commander for an incident and run the postmortem
  • make an contribution to an open source project
  • get better at some skill (testing / debugging / a programming language / machine learning)
  • become a core maintainer for an important OSS project
  • build an important system from scratch
  • be involved with a product/project from start to end (over several years)
  • understand how complex systems fail (and how to make them not fail)
  • be able to build prototypes quickly for new ideas

job goals

  • get your first job
  • pass a programming interview
  • get your “dream job” (if you have one)
  • work at a prestigious company
  • work at a very small company
  • work at a company for a really long time (to see how things play out over time)
  • work at lots of different companies (to get lots of different perspectives)
  • get a raise
  • become a manager
  • get to a specific title (“architect”, “senior engineer”, “CTO”, “developer evangelist”, “principal engineer”)
  • work at a nonprofit / company where you believe in the mission
  • work on a product that your family / friends would recognize
  • work in many different fields
  • work in a specific field you care about (transit, security, government)
  • get paid to work on a specific project (eg the linux kernel)
  • as an academic, have stable funding to work towards your research interests
  • become a baker / work on something else entirely :)

entrepreneurship goals

This category is obviously pretty big (there are lots of start-your-own-business related goals!) and I’m not going to try to be exhaustive.

  • start freelancing
  • start a consulting company
  • make your first sale of software you wrote
  • get VC funding / start a startup
  • get to X milestone with a company you started

product goals

I think the difference between “technical goals” and “product goals” is pretty interesting – this area is more about the impact that your programs have on the people who use them than what those programs consist of technically.

  • do your work in a specific way that you care about (eg make websites that are accessible)
  • build tools for people who you work with directly (this can be so fun!!)
  • make a big difference to a system you care about (eg “internet security”)
  • do work that helps solve an important problem (climate change, etc)
  • work in a team/project whose product affects more than a million people
  • work on a product that people love
  • build developer tools

people/leadership goals

  • help new people on your team get started
  • help someone get a job/opportunity that they wouldn’t have had otherwise
  • mentor someone and see them get better over time
  • “be a blessing to others you wished someone else was to you”
  • be a union organizer / promote fairness at work
  • build a more inclusive team
  • build a community that matters to people (via a meetup group or otherwise)

communication / community goals

  • write a technical book
  • give a talk (meetup, conference talk, keynote)
  • give a talk at a really prestigious conference / in front of people you respect
  • give a workshop on something you know really well
  • start a conference
  • write a popular blog / an article that gets upvoted a lot
  • teach a class (eg at a high school / college)
  • change the way folks in the industry think about something (eg blameless postmortems, fairness in machine learning)

work environment goals

A lot of people talked about the flexibility to choose their own work environment / hours (eg “work remotely”).

  • get flexible hours
  • work remotely
  • get your own office
  • work in a place where you feel accepted/included
  • work with people who share your values (this involves knowing what your values are! :) )
  • work with people who are very experienced / skilled
  • have good health insurance / benefits
  • make X amount of money

other goals

  • remain as curious and in love with programming as the first time I did it

nobody can tell you what your goals are

This post came out of reading this blog post about how your company’s career ladder is probably not the same as your goals and chasing the next promotion may not be the best way to achieve them.

I’ve been lucky enough to have a lot of my basic goals met (“make money”, “learn a lot of things at work”, “work with kind and very competent people”), and after that I’ve found it hard to figure out which of all of these milestones here will actually feel meaningful to me! Sometimes I will achieve a new goal and find that it doesn’t feel very satisfying to have done it. And other times I will do something that I didn’t think was a huge deal to me, but feel really proud of it afterwards.

So it feels pretty useful to me to write down these things and think “do I really want to work at FANCY_COMPANY? would that feel good? do I care about working at a nonprofit? do I want to learn how to build software products that lots of people use? do I want to work on an application that serves a million requests per second? When I accomplished that goal in the past, did it actually feel meaningful, or did I not really care?”

Why sell zines? What's a senior engineer's job?