DEV Community

Alejandro Bezdjian
Alejandro Bezdjian

Posted on

Let's discuss: programming as you get older

The other day I came across this interesting article about "old coders", that made me reflect a lot.

There is a very famous estimation which says that every 5 years the number of programmers double. Another way of putting it is that every 5 years, half of the programmers have less than 5 years of experience. I still have like 35-40 years until I retire (if laws stay the same)...

Let's do a little bit of math: I'm already in the 50% with 5 or more years of experience, so (assuming that the estimation is correct and that I want to work as a programmer until I retire) in 35 years I'll be part of the 0.39% oldest programmers. Which also means that I will have to compete against the rest of the 99.61% of the programmers for a job. That is a pretty scary number.

It looks like programmers fight this by transitioning into management oriented positions even though most of engineers I know don't like managing people.

What are your thoughts about this?

Top comments (3)

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

Collapse
 
phlash profile image
Phil Ashby

Looks like you are quoting the article from Uncle Bob: blog.cleancoder.com/uncle-bob/2014... where he provides some answers directly, in particular about the kind of work older developers/programmers ought to be focusing on, which is definitely not competing in a dog-eat-dog world with an overwhelming volume of younger people, that view makes many assumptions about both the economy, the value of programming and the needs of those who pay programmers :)

Collapse
 
alebian profile image
Alejandro Bezdjian

True, but all solutions look like you have to get away from coding a little bit. And still, I think that from a statistics point of view, being part of the 0.39% of the population reduces your chances greatly.