DEV Community

Discussion on: Let's discuss: programming as you get older

Collapse
 
ppbitb profile image
ppbitb • Edited

Hi there.
Background: I have been in the industry for 15 years and I have the age that goes with it. I have basically been a dev lead of small teams for 10-ish years at 3 small and 1 big company, in the realm of web development, some numerical-oriented project (borderline machine learning), and data ingestion and transfer.
Some thoughts and remarks about the path behind me:

  • I have personally resisted climbing the ladder and becoming a manager, out of rebellious spirit and dedication to the craft I suppose. But I have seen many people chase and succeed at getting promotions. Most of them were people for whom coding is just a job and they weren't particularly good or bad at it, they were also people that changed jobs rather often. I definitely don't think any of them has been forced to become a manager for any reason.
  • For whatever reason, I have not felt competition from other less experienced devs. Probably the market has been very favorable and there was room for almost everyone but the least qualified.
  • Experience happens to you whether you want it or not, and you can't nor want to pretend it's not there. Imagine being a veteran but keeping it secret, and being lead by a green manager who buys into the dogmatic hype of the day. You wouldn't be able to keep your thoughts to yourself and go along with it. You would instead want to say "hey I have been there, I don't think we should do this, let's do that instead" etc..
  • Teaching people, showing alternatives, watching them progress, ... is actually quite fun and rewarding.
  • There are many flavors of "being a manager". It's almost worthless to use the term without further qualifier. For example, some are "pure people managers": They have 8-10 people reporting to them, they make sure they are both happy and appropriately productive, they handle promotions, career paths, etc.. Others are technical lead + managers: they do all of the above, but also lead design and development of systems (and split their time between both activities). It really depends on the size of the company and how it's organized. So, according to one's personality and opportunities, "being a manager" can either be awesome or soul sucking.
  • Usually, as people become more "powerful" (knowledgeable, experienced), they want to use that power. Instead of having the productivity of 1 very good coder, they can change their environment to improve the productivity (or happiness, or fairness) of 5, 10, 50 coders and have a much bigger impact. And that usually takes the shape of being a technical leader and / or a people manager.
  • My rate of coding is probably a total of 3 weeks for every 3 months. Rest of the time is spent on design systems with the team, managing team work (scrum master type), reviewing code, defining specs, approaches, strategies for next projects, build and maintain relationships with people, giving and taking advice, etc..
  • To ME (this is personal, I am not claiming it's true for everyone at all), it's not the actual coding that is critical or beautiful. It is the breakdown of the real-life problem into data and procedures, and how the different CPUs, RAM, disks, networks and processes will be arranged to address it. And I still do a lot if not most of it on my team. It's just that now it's other people that implement the actual functions. So I don't feel like I gave up anything really.

Now some thoughts about the path ahead of me:

  • At a emotional level, I am an anxious person by nature, and I am anxious about my professional future. I don't see many people in their 50s and 60s doing what I do and that worries me. I don't think I have any objective reason to worry, but I still do.
  • I try to focus on the fundamentals of computer science, maths. First, I am self taught and don't have a CS degree so I have gaps of knowledge to fill. Second, they are eternal fundamentals that will not change each time there is a hot new tech. I hope it will open doors to more complex projects.
  • I am trying to get more skilled at managing people and projects.
  • I am trying to get more skilled at finding and measuring business opportunities. Someone with great technical skills (check) that can lead teams (check) and also can find and exploit business opportunities is DEADLY.
  • I am NOT EXCITED about 99% of new tech, frameworks, libraries, coding practices, etc.. I used to be obsessive about trying things out, but that's completely gone now. I don't see the point in learning them as their wave will pass within 5 years and they will be replaced by something else. If I start working in a new environment where they are already in place, I will learn what I need. New tech is misused (kubernetes cluster for a tiny website anyone?), people act irrationally about them, the number of tech to integrate and layers to debug is ever increasing as people come up with more and more software products to peddle, etc...
  • Overall, I am optimistic about the future of my career. The world will always need open minded people that can organize and run a team, design, implement and maintain systems, find ways to improve, etc.. I just realize I have to manage my anxiety and march forward despite of it.

Sorry, this is very long. I just wanted to share whatever thoughts came up as someone that dreaded having to "become a manager" but found that the reality was quite different