Advice, Software Engineer

Possible Career Goals for Software Developers

I came across Julia Evans's awesome blog post on Possible Career Goals for A Software Developer and even though I am no longer a software developer, I thought I'd take a look back at my almost-20-years career and see how I did.

technical goals

  • become an expert in a domain/technology/language
    โœ… I was a front-end and performance expert.
  • get to a point where you can drop into new situations or technologies and quickly start making a big impact
    โœ… I worked as a contractor for about 4 years, and worked on pretty large projects.
  • do research-y work / something thatโ€™s never been done before
    ๐Ÿ‘Ž I don't think I have done this.
  • satisfy your intellectual curiosity about something
    โœ… I am always exploring and picking up tech and ew way of doing things.
  • get comfortable with really big codebases
    โœ… See above.
  • work on a system that has X scale/complexity (millions of requests per second, etc)
    โœ… Did that a few times by working for high-traffic and profolic websites and apps.
  • scale a project way past its original design goals
    ๐Ÿ‘Œ I think so, although I am not sure.
  • do work that saves the company a large amount of money
    โœ… I did a few things that brought in revenue.
  • be an incident commander for an incident and run the postmortem
    โœ… If I were completely being honest, way more often than I'd have liked.
  • make a contribution to an open source project โœ…
  • get better at some skill (testing / debugging / a programming language / machine learning)
    โœ… I was a web developer and then a really good backend developer and then a front-end expert.
  • become a core maintainer for an important OSS project
    ๐Ÿ‘Ž Haven't done that.
  • build an important system from scratch
    โœ… I was lucky enough to do that a few times in my career. Right place, right time.
  • be involved with a product/project from start to end (over several years)
    โœ… Except for one or two jobs I had where I worked for an agency.
  • understand how complex systems fail (and how to make them not fail)
    โœ… Yes, and I learned so much every time.
  • be able to build prototypes quickly for new ideas
    โœ… This was my jam. I loved hackathons and bringing ideas to life. Actually, I still do.

job goals

You can check out my LinkedIn for more information on my job history.

  • 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) โœ… So far, my record is 6 years.
  • 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
    ๐Ÿ‘Œ I've always been in the tech industry, although in different sectors like agency, media, telco, startup, e-commerce and software.
  • work in a specific field you care about (transit, security, government) โœ… See above.
  • get paid to work on a specific project (eg the linux kernel) โœ… A special project for a news media.
  • as an academic, have stable funding to work towards your research interests ๐Ÿ‘Ž
  • become a baker / work on something else entirely :) ๐Ÿฃ Does becoming a mom count?

entrepreneurship goals

  • start freelancing โœ… I was freelancing on the side as I held a full-time job back in my developer days.
  • start a consulting company โœ…
  • make your first sale of software you wrote โœ… It wasn't a software but a script.
  • get VC funding / start a startup โœ… Founded a startup but no funding.
  • get to X milestone with a company you started ๐Ÿ‘Ž Haven't done that.

product goals

  • do your work in a specific way that you care about (eg make websites that are accessible)
    โœ… Yes, delightful user experience (incl. accessibility & performance) was an area that I cared about so I put effort to make sure smaller things were done right, eg: adding smooth animation, optimising images, code splitting, etc.
  • build tools for people who you work with directly (this can be so fun!!)
    ๐Ÿ‘Œ I built lots of tools but they were part of the role, so I don't think it really qualified. For example, I built a simple CMS and Competition winner picker so my product team could be more self-sufficient.
  • make a big difference to a system you care about (eg โ€œinternet securityโ€)
    โœ… I lead a few refactoring projects to ensure tech stack was up-to-date and more maintainable.
  • do work that helps solve an important problem (climate change, etc)
    โœ… Underrepresented hiring, career growth for women in tech, education for disadvantaged childen
  • work in a team/project whose product affects more than a million people
    โœ… I was lucky to work for profilic companies with good missions.
  • work on a product that people love
    โœ… See above.
  • build developer tools
    ๐Ÿ‘Ž I built some Chrome tools for myself, but not for other developers.

people/leadership goals

As an engineering leader, it's been a privilege for me to do all of the followings as part of my role.

  • 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
    ๐Ÿ‘Ž I have written a few books but they are not programming books.
  • give a talk (meetup, conference talk, keynote)
    โœ… I do speaking engagements regularly.
  • give a talk at a really prestigious conference / in front of people you respect
    โœ… See above.
  • give a workshop on something you know really well
    โœ… Given a few workshops on career development, especially for Women in Tech.
  • start a conference
    ๐Ÿ‘Ž Haven't done that.
  • write a popular blog / an article that gets upvoted a lot โœ…
  • teach a class (eg at a high school / college)
    ๐Ÿ‘Ž Haven't done that.
  • change the way folks in the industry think about something (eg blameless postmortems, fairness in machine learning)
    โœ… Women in tech and in leadership

work environment goals

  • get flexible hours โœ…
  • work remotely
    โœ… No thanks to Covid-19 4Ls Retrospective Of Working From Home and Homeschooling as an Engineering Manager and a Mom
  • get your own office
    โœ… My home 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
    ๐Ÿ‘Œ I still love programming (or building stuff using code) but I don't do that often anymore.

It was a good exercise for me to do this because I often feel that I am not doing enough in my career; there is always something more that I could be doing. Recently, when I took a look back at 2020, I had so many failures, not as many successes. Bill Gates was right, "Most people overestimate what they can do in one year and underestimate what they can do in ten years."

So my takeaway is to keep going and keep taking action. Some days or months will seem like a struggle, but when you look back after 5 - 10 years, you'll be glad that you persisted through the hard times.