Hacker News new | ask | show | jobs
by moconnor 1318 days ago
The difficulty of coding plateaus. Algorithms that seemed hard to grasp when you first encountered them become second nature and after that there's not an ever-increasing tower of logical complexity to climb.

After that, there are three things matter a lot for your productivity:

1. Deep and broad stack knowledge is not learned overnight. Over two decades of career I've done everything from writing kernel patches and fixing malloc bugs all the way up to publishing state-of-the-art transformer research. I didn't have this in my 20s. I was a child who knew C++ and algorithms.

2. Seeing the right change to make is hard. This can be the right product (as a 20-something I had lots of opinions about this but most were contradicted when I actually got 5+ years experience as a PM). It can be about engineering design, where taste is still subjective but has long-reaching consequences. It can be about the feeling that that odd result is actually serious enough to look into deeply and not just excuse away.

3. Cross-domain knowledge. Deep competence in programming is powerful. Combine it with deep competence in another field and for the right problem set it's a superpower.

A 20-year-old prodigy doesn't have any those. You can have at least the third and arguably a head-start on the first two.

Pick an area to work in that overlaps with your previous experience and you've an excellent shot at becoming the best of the best in it.

Source: over 40, programming since childhood, better than I ever was and still learning and improving.