Back in college, they told me that I would start my career writing code, but eventually, I would move to a position where I would ask others to code my designs. To celebrate that this turned out to be completely false, here are some assorted reflections as a 40-year-old programmer that looks back:
- Compared to my younger versions, I feel at my best. Of course, acquired technical knowledge helps, but experience and knowing how to approach work make a more significant difference. I think I'm much better than 15 years ago, and I hope I am much worse than 15 years from now. That feeling of continuous learning means the world to me.
- Related: working with people you can learn from is a wonderful source of motivation.
- I carry many of the defects I had, but now I know myself and their impact much better, so at least I can try to counter them.
- My desire to manage people is at all-time lows.
- My desire to discuss technical stuff with people, both to help and be helped, is at all-time highs.
- I am way more predictable with my throughput.
- I used to be very sensitive to tone and manners in the working place. I still am.
- I've learned to offer myself a chance to reconsider technical battles. Before, I fought them all until the end; now, I happily change course early when the smell isn't right or when I run out of appetite.
- When I started, I didn't spend a second thinking about time, scope, and appetite. Now, I rarely do anything where those aren't the decision-making force.
- I don't enjoy switching contexts. My perfect agenda is composed of a single meaty task I can focus on for days.
- Communicating effectively is a complex skill that takes years to develop, and an essential one if you want to program professionally.
- I am way more cautious when deploying things.
- I have no idea about how effective pair programming is. My desire to discover it is zero.
- Similarly, I don't discuss the benefits of getting people in the same room to solve a problem, but I am not super interested either.
- I enjoy being challenged and the feeling of not knowing how to solve a problem at first.
- I am a generalist at heart. Too much infrastructure work and I miss product development. Too much backend, and I miss frontend. This comes with positives and negatives, but I accept it's just how I am wired. I never understood why some people despise the term full-stack.
- After almost 10 years of remote work, it would be close to impossible for me to go back to an office.
- I have come to consider accountability an essential perk. I started my career in a place where, in general, nobody cared about anything. I need exactly the opposite environment for my own sanity.
- I am skeptical by default about any hot new things in the programming space. I think this can be a double-edged sword. Younger me was the opposite.
- "No matter how it looks at first, it's always a people problem", by Gerald Weinberg, is essentially true and something to have very present by technically-minded people.
I can’t agree more with the first answer to this question in Quora:
Do people lose interest in programming as they age? Is it accurate to expect that older programmers are slower, make more mistakes, and would rather be doing something else such as managing programmers?