1. 10

How do you keep track of your personal/professional growth?

A few things that come to my mind that show “growth”

  • Promotions/Raises/etc
  • Degrees/Certs/Education Milestones
  • New Job(s)?

Since I started working I’ve wanted to not get stuck into one language/industry (Not being forced into using Windows/Outlook/MS) - So far I haven’t gotten out of that world, and would like to change that sooner or later.

One of the things I’ve been missing from previous jobs is the lack of feedback or reviews. I’ve never had scheduled reviews, standard raises, or yearly/quarterly bonuses (only sales receive such things). I feel that if these happen it would be a little more easy to gauge “growth” even if only monetarily.

Education wise it’s easier to measure growth using tests/projects/etc on the way towards an end goal (a degree or a job search usually). For me, after school I have really missed the school atmosphere and all that comes with it. The issue with education is that more education doesn’t necessarily mean a monetary gain (even if you enjoy it and feel that it made you grow)

Switching jobs to learn a new skillset is maybe a decent way to force yourself to grow. In my case, I was supposed to pick up a few new skills at my new job, but we recently abandoned those efforts. Much of the learning has become stagnant and I feel like that has to change soon. Some things off the top of my head that are currently not happening:

  • Code Reviews (As well as using PRs/Branches for code management - I only use this in my spare time as we don’t do it at work)
  • Languages other than C# (as well as some newer technologies)
  • Any CI/CD setup

Sorry for the partial rant, but those are some of the things that get in the way of measuring growth, so I’m curious how others might manages that.

    1. 15

      Not in a static order: Do I feel okay? Do I have time? Do I have money? Do I have friends? When did I last spend time with my family?

    2. 8

      Promotions/raises, in my opinion, are not correlated with career growth. They’re more of an indication of the risk the company thinks it runs if you were to switch jobs.

      I think the short answer to your question is that we stop attempting to measure or expect growth in a certain direction after graduation. There are simply too many different ways to grow.

      If you feel strongly about code reviews or CI/CD, getting your coworkers and management on board with this certainly qualifies as career growth. But if you’re more interested in solving complex problems or refactoring a core component, that’s not necessarily wrong either.

      1. 3

        Promotions/raises, in my opinion, are not correlated with career growth. They’re more of an indication of the risk the company thinks it runs if you were to switch jobs.

        Oh yeah. I’m thinking back to an extremely well compensated coworker who was essentially the “last man standing” to support an old mainframe application responsible for nine digits of annual revenue. Others knew the system but he was the last of the original developers and when there were Very Bad Days he was the final escalation point.

        This arrangement worked well for him for many years until management decided that a team of Infosys contractors was as cheap as he was, offered 24x7 support instead of taking three months of paid vacation, and produced excellent documentation because they had to have something to hand to new team members.

        Optimizing for salary and title leads to local maxima. IMO: you should always find an interesting job and interview at least once a year even if you like your current job. You’ll quickly learn if you are paid well because your skills and ability is in demand, or if you’re a well paid last man standing.

        1. 1

          Exactly. I’ve received raises in situations where (unintentionally, and quite suddenly) I was the last man standing. On the other hand some of the periods where I’ve done some of my best work have gone unnoticed and (at least financially) unrewarded. If you look at your paycheck to see if you’ve accomplished something, prepare to be disappointed.

          With respect to the job security / remuneration trade-off described above, I’ve thought that being a open source developer on a widely-used component might represent the best of both worlds; On one hand you get to build expertise distinct from commodity developer skills (i.e. when you have to sell yourself as a C++/web/SAP developer), on the other hand you’re not just tied to one specific employer.

    3. 5

      I would encourage you not to think of a ‘career’ as something you ‘grow’ but a job as something you have. If the question is “how do I get my job to pay me more?” the answer is highly dependent on where you work, and for some the only way to make more is to find a new job.

      You’re right that life isn’t like schooo with a defined end goal: we worknso that we may eat, and we hope to enjoy the job somewhat because most of us spend more than half our time at it.

      As far as “personal growth” you say you want to write code that isn’t C#? What prevents you? Does your job exhaust you so much that there is no space for coding at home? If so, or if you want to code in not-C# all day, then a new job might be in order.

      there, a ramble right back at’cha ;)

    4. 4

      Over the years I found that promotions and raises are disconnected from your worth as a professional and are the results of political scheming.

      Certifications and degrees are means to achieve personal growth but not a measure of career growth.

      I added the following dimensions to evaluate my career growth:

      • How much freedom I have to explore new/innovative technologies and use them in a production settings.
      • How much freedom I am given to manage my own time and to work from a place of my choosing.

      Time and intellectual freedom is the ultimate currency because it is absolutely finite and is based on professional trust.

    5. 4

      I look at the present and I say, “Am I doing cool stuff that’s making the world a better place?”

      Then I look at the future and say “do I think I will continue doing cool stuff that’s making the world a better place?”

      Then I look at the past and say, “do I regret having done what I did?”

      Not always in this order, but this is probably the order they should be in.

    6. 3

      This is probably going to sound crazy and I don’t recommend this for everyone but … I don’t.

      For years after undergrad here in the US I tried to do this. I was constantly worried about getting better (whatever that means) or staying ahead (of what?) and I finally realized that it was more heartache for me than help.

      Sure I can go read through the list of my accomplishments and temporarily raise my self-esteem or I can sleep easy at night knowing it doesn’t matter. And frankly no one cares. Instead I’m content knowing I’m obviously good enough for the job I’ve got, and was obviously good enough for all the jobs before it. There’s no reason to assume I won’t be good enough for another job after this one.

    7. 2

      I benchmark myself against two main things: salary and how unfit I feel when I compare myself to a reasonable number of job postings.

      For example, two years ago I had no idea what LDAP, iscsi, openid, Kerberos and a lot more things were. Now I know enough to be able to speak about them in an interview. I made progress since my last job hop.

      Another additional thing, maybe: autonomy. How autonomous I am in performing my current job. That has only sense within a certain company though, and if the company develops custom proprietary software the progress might mean progress but only in the micro-universe of that software, so take it with a grain of salt.

    8. 2

      It seems like what you’re looking for is the following:

      • Set goals
      • Figure out what metrics you can use to determine if you’ve met those goals
      • Set milestones

      Maybe some goals will be “get promoted this year”, that sort of thing. But maybe others will be things like “learn more about how x86 works” or “write more”.

      Then you go out and set metrics, like “I’ll be able to tell if I know more about x86 if I can write a small program in assembly”.

      Then you set intermediate goals to help you achieve the big ones.

      No need to let others define your goals or pace for you.

    9. 1

      School feels good because it has structure. If there’s an area you want to work on, just look up a few syllabi for classes about it online and use it to guide your studying.

      Degrees and certifications don’t really matter much in my area of programming. I work as a contractor so I’ll never be promoted above where I am and my salary is “above industry standard” so I’ve been told it won’t change much. I work with a lot of people smarter than me who have very high standards of software craftsmanship. I constantly get pointed to great tech solutions and snippets of wisdom from people with twenty years of experience, while being pushed to create good quality work at all times. That’s the environment you should find. The rule is “No feedback is good feedback” though, so after I work with someone I ask what they thought about what I should improve on, such as which tech or skills or work methods I should improve.

      Not everyone uses PRs/Branches (I’m thinking of development with Perforce). However, if I didn’t have a CI/CD environment at work and they weren’t pushing for one, I’d move to another job since that’s a major red flag for me. If you get a cheap old desktop (i.e. $100) to use at home, you’ll find you can easily slap Linux on it and get a basic Jenkins setup working in a single night. If C# is the only language they’re using, there’s probably a lot of space for Powershell or Python for automation, but I’ve only been paid to learn a language on the job once in many years.

      I keep a big list of tech I haven’t used and programs I want to write. When things on my list come up at work, I’ve usually done some research already so they know I can get going on them and get them done quickly. My “progress” is how many things I’ve crossed off of that list, and how many stories I can tell about cool bugs I’ve fixed, features I’ve implemented, performance improvements I’ve made, etc.

    10. 1

      For career, the most objective metric is compensation.

      For personal growth, the most objective metric is net worth.

      I’m of course not saying this is a perfect model, far from. Just objective.

      For personal growth, I try and keep it as independent to my career as possible. I care about goals, which create tracks and milestones around them. What’s important here is to do not let others decide your goals for you.

    11. 1

      On a professional level

      Computing is such a huge and diverse field, that it absolutely can be difficult to know how to benchmark yourself. We don’t tend to have any standards around titles or milestones.

      If you have specific personal goals, those are always the best measurements, because you should define your own growth. Do you want to build a game on your own? Manage an infrastructure team at a FAANG company? Contribute meaningfully to a specific large open source project? It’s helpful to think this through, because it’s helpful to also define what you don’t want. (For example, I enjoy mentoring new team members, and informally leading small projects, but I’m very happy as a senior IC and don’t want to formally manage or be a full-time project manager.)

      However, it can be hard to figure out what you want, especially early in your career! So it’s helpful to find external benchmarks too.

      I’m not going to say titles and levels don’t matter, because they absolutely do. They impact what tasks you’re allowed to take on, what conversations you participate in, and your compensation. Not to mention the fact that recognition always feels good, and that is totally valid! But promotions are such an inconsistent process at most companies, that I think measuring yourself based on your current level is really dangerous.

      That said, where a career ladder exists, looking at leveling guidelines can be a good way to identify possible milestones. I quite like Square’s engineering levels, but there are a lot of other examples. I wouldn’t treat them as a roadmap, but they lay out some fairly concrete goals that may inspire you, and that you can likely think of ways to reach.

      On a personal level

      This is a lot harder, because it’s much more on you to decide what you want your life to look like. Whether you feel good about your own path is satisfying and worthwhile is unavoidably unique to you.

      I think it’s ok to look to your peers for inspiration, and emotional support, but not necessarily as people to emulate. If your friends are incandescently happy married with children, or having a poly relationship, or traveling the world, or being activists, it’s worthwhile to consider whether those activities might also contribute to your life. But if you decide you hate the things your friends love, that’s also fine!

      I do think it’s dangerous to wrap up too much of your self-worth in either money or your work success (or lack thereof). These are both traps, heavily dependent on other people’s actions and sheer randomness. I care a lot about my work, and regard money as a tool and a resource, but I try very hard to maintain my self-image in other things (having been burned by these before!)

    12. 1

      number of people i’ve recruited to join the unionization campaign