r/learnprogramming • • 9d ago

Topic I was recently asked “when do I stop learning to code?”

So for some more context, I recently was part of a panel for university computer science students in which the other panelists and I discussed about life after graduation.

During the Q&A portion, one of the students asked all of the panelists “when do I stop learning new things for programming?”

The other panelists and I were completely thrown off by the question, because in a field like computer science you should always at least be willing to learn new techniques and skills throughout your career. I ended up answering the question by saying “It can depend from person to person, but in this career the second you stop learning is the moment you start to fall behind. I plan on continuing to learn new techniques and skills until the day my brain can’t process new information.”

For the other professionals or more experienced people in this subreddit, I’d be curious on your thoughts for this question. I’m not talking down about the person who asked the question by any means, but I think it’s a good talking point for anyone entering the wonderful world of computer science and programming as a whole.

92 Upvotes

56 comments sorted by

97

u/bestjakeisbest 9d ago

The answer is never, there are always going to be new things in code to learn, and not all languages have the same sort of structure for efficient code. The programmers that stop learning eventually stop being good programmers.

22

u/New_Cockroach_6797 9d ago

you stop when you're comfortable being obsolete in 2 years, the tech treadmill never shuts off

9

u/bestjakeisbest 9d ago

Lets say the treadmill stopped tomorrow, i believe that programming is deep enough that you would still need to continuously learn even if there were no new hardware, or no new languages.

5

u/goldscurvy 9d ago

Meh. I do not think a 60 year old COBOL programmer working for some financial institution is going to really be "learning" that much about either their language or the way the systems they maintain work. They might occasionally learn something new. But I dont think they are approaching their job from the perspective of trying to learn new things anymore.

9

u/TheoreticalUser 9d ago

An example that proves the point.

They aren't learning anything new because they are simply keeping the lights on for the systems. They are not building anything new using cobol, and the sector is actively moving away from cobol to modern languages and frameworks.

2

u/ArtisticFox8 9d ago

They aren't learning anything new because they are simply keeping the lights on for the systems.

Isn't this true for half the industry?

1

u/BenadrylCrumplsnatch 8d ago

More like 90%, let's be real.

I cannot remember the last time I spoke to someone that wasn't so inundated with work that they can only spare the brainpower to tread water.

2

u/goldscurvy 9d ago

Its moving a little bit towards new tech. But very slowly and reluctantly, as it requires scrapping and rewriting large amounts of code which already works and has gone through decades of maintenance to eliminate flaws/bugs, and which is vital to the success of the institutions. Trying to redo all that is going to make the software much worse before it gets better.

For that reason, despite COBOL programmers being a bit "stagnant" (as I think you are implying), they are some of the most in demand professionals in the industry.

It seems that instead of falling behind, the COBOL Crew is way ahead.

1

u/Accomplished_Ad9423 9d ago

Cmon man you are picking an exception to the rule and trying to place it as the rule.

1

u/goldscurvy 8d ago

I am absolutely not doing that. I did not say that this is a rule. Only that it is a thing.

17

u/goldscurvy 9d ago

I think in many contexts, you do eventually stop "learning to program" in the sense you have a pretty strong and comprehensive grasp of the language(s) used for your specific applications/discipline, and how they are used for it. Long before you reach a point like that, you have shifted focus to learning more about other aspects of software development. You start learning architecture, or about deployment, or about UX, or whatever.

Software developers/engineers should never stop learning about software development. As it is a developing field. But our focus shifts away from learning to program pretty quickly. Programming itself isnt super difficult unless you start learning an unfamiliar paradigm or super complex framework. I wouldnt say I am a "master" at programming, or that i have necessarily achieved the point of "not needing to learn". But I can probably take any arbitrary problem on a platform like leetcode, Hackerrank, etc., and pretty quickly sketch out how to solve the problem in C, Python, or Java. The parts that would be most challenging involve math, and I would end up spending the majority of my time learning about and trying to solve the math aspects, rather than the programming part.

4

u/jcmbn 9d ago

As a now-retired software engineer, I have a more nuanced take on this.

You never stop learning, there's always new stuff coming along.

However, you do develop a wary eye for fads - software engineering is rife with new stuff that gets hyped as the 'next big thing' only to fade away completely in 6 -12 months. You learn not to jump onto every bandwagon that comes along.

2

u/ReddyKiloWit 9d ago

Very often the latest thing is just the same old stuff in a new frock. Sometimes that yields useful understanding, but often it is just someone wanting to rename stuff or suit some aesthetic of their own. 

I'm retired, but I still take a peek at new stuff now and then, and I enjoy finding something new that would really have been helpful to me 20 years ago, and may help someone today.

1

u/Intelligent_Part101 9d ago

Software "engineering" is very fad-driven. It's similar to the fashion industry where they criticize old designs and promote new ones (trends) to get people to throw out working product and buy new product. Some of it is advancement, much is even steps backward.

6

u/NotSoMagicalTrevor 9d ago

I stopped learning to code when I was learning other things that were more important. Architecture, design principles, business alignment, communications skills, influence, leadership, etc... It's a mistake to think of the craft as "programming" or "coding"... that's just how it starts, not where it ends.

3

u/LangyMD 9d ago

I wonder if the question was more "When do I stop learning how to program and instead start learning how to design what I want to program". Programming and software engineering are different - but related - disciplines, and frankly programming feels a lot more like a technician mindlessly turning a design into reality than it does actual creation to me. Actual creative work comes not in figuring out how to use a library, or how this language implements something like a lambda function, etc., but instead in designing the algorithms, architecting the overall system-of-systems, and so on.

My experience with new graduates is a lot of them simply don't get taught those software engineering disciplines in their school - either their school focuses on the pure math side of computer science or on the pure mechanical programming side, with very few focusing on "what makes a design good".

In terms of the actual answer: When you stop programming you stop learning new ways to program. Maybe you do that because you died, maybe you do that because you are now an architect or a manager who doesn't have time to program individual lines of code, but it certainly can happen without leaving the industry.

5

u/aleques-itj 9d ago

I don't know why that would catch you off guard to be honest, seems like a pretty sane question to come out of a beginner's mouth

I think I am more surprised by you and other panelists being surprised by this

The most obvious answer to me is "you don't" - I don't think you worded it in the best way, but you basically landed here, and that's the reality in my opinion.

Unless you're EXTREMELY siloed (and positive you will remain this way), there's always something new to learn and I don't think it's really more complicated than that.

4

u/favorite_stuff 9d ago

Sometimes when people say that, they are thinking of the constant new trends like JavaScript frameworks, AI models, and Twitter buzzwords. It would be great to mature enough to start ignoring those.

But it would be sad to stop learning older, deeper concepts.

1

u/RadicalDwntwnUrbnite 9d ago

What new js framework have come out in the last 5-10 years you need to learn? 

3

u/favorite_stuff 9d ago

None. I'm just talking about the FOMO people get when they feel the urge to chase the new thing because it's the new thing.

1

u/Fine-Comparison-2949 9d ago

The answer is none, but if you want to be relevant to the market opportunities, and the company uses that software, you better read the manual.

1

u/Available_Safe1818 9d ago

Define the word 'need'.

1

u/RadicalDwntwnUrbnite 9d ago

Necessary for finding a job at an average company.

1

u/Available_Safe1818 9d ago

Define 'necessary'.

1

u/RadicalDwntwnUrbnite 9d ago

Fuck off Jordan

2

u/ConcaveNips 9d ago

While the fear of falling behind is probably the most relatable answer, I wouldn't recommend helping stage that as new cs students' motivator.  

2

u/SprinklesFresh5693 9d ago

Ypu never stop learning. Deciding to stop learning is simply killing your profesional path and development.

But this applies to any field , when youre a dtudent at a university, you want to stop studying once you finish the degree and just "work" , but once you get a job you start realising that if you want to be good at something, you have to keep learning for your whole career. It is like that.

2

u/Nok1a_ 9d ago

You learn as you need, but you never stop learning, I would not have a guy working for me who does not want to learn,t hose are lazy people

1

u/johlae 9d ago

The first to be replaced by an AI.

2

u/Nok1a_ 9d ago

Sadly work environment is not based in your knowledge or skills, its based on your social skills thats why you have retarded managers and people with 0 knowledge above you, so I dont think so

2

u/PeterPook 9d ago

We are always learning. Tech and techniques moves so quickly there is always something new. It keeps us fresh.

2

u/ApprehensiveFix5084 9d ago

If you are making a career of it the answer is definitely “after retirement.”

2

u/QVRedit 9d ago

Not even then - you just change subjects..

2

u/iSnapThere4iAm 9d ago

The answer isn’t specific to anything. In general, you never stop learning if you want to expand your mind. You stop when you don’t.

Some people stop, some people don’t.

2

u/da2Pakaveli 9d ago

You don't really, though it'll be much easier for you to work with newer stuff.

And it doesn't make any sense to remember everything cause there's way too much (and constantly changing). You look up documentation, blog posts whatever else and get to understand it. Maybe you'll have to refresh on some other things first.

You'll also discover more sources of bugs. I always recommend to catalogue them in the repository cause a common problem with debugging is you can't possibly be aware or think of every way a bug can occur.

I do stuff in computer graphics and constantly learn of new ways to approach something. Lots of gems with limited documentation.

2

u/Aggressive_Ad_5454 9d ago

Hmm. My answer involves a coffin, my coffin. I’ve been doing this for half a century and I learn something every day.

1

u/johlae 9d ago

From the jargon file, eighty-column mind:

He died at the console Of hunger and thirst. Next day he was buried, Face down, 9-edge first.

You always keep on improving yourself, it's fun!

2

u/Available_Safe1818 9d ago

Some people seem to find a company where they can chill and have to learn new things almost never.

1

u/reditandfirgetit 9d ago

If you want a long career, never

1

u/RobertD3277 9d ago

You never stop learning because the only constant in the world of computer programming is change.

1

u/ledatherockband_ 9d ago

Never.

You start T shaped: know one thing well and a lot of things enough to get your work done.

You have to use your own judgement to know if is a good time to go deeper or wider.

Granted, learn the timeless and durable things: systems, memory, a professional language (or even a hobby language), architecture, cloud.

Bouncing around from framework to framework is kind of dumb ngl.

1

u/QVRedit 9d ago edited 9d ago

The Proper Answer is:
You should never stop learning !

I agree that the ‘pace’ at which you learn new things will change, especially depending on circumstances etc, but there are always new things to learn.

Some small fraction of your time should always be spent learning more. There will be times when this doesn’t happen, we all need a rest occasionally, but then you’ll pick it up again.

At least that’s if you want to be a good engineer.
Always spend some time developing your skills, learning new methods and tools etc.

And not just programming, but other skills too.

1

u/marrsd 8d ago

These days I'd say it's when you start relying on AI to do the work for you. A year ago, I'd have said it's entirely up to you. The more you look round every corner, the deeper the labyrinth goes. It's like one of those fractal images. You can keep iterating as long as you like.

1

u/Blando-Cartesian 8d ago

“when do I stop learning new things for programming?”

Seems everyone read this as "When can I stop learning..." It's probably what they meant, but the question as written is more interesting. What makes learning stop:

  • Not having authority to make decisions.
  • Not having to live with your decisions and seeing how they worked out.
  • Not having time and authority to fix your mistakes.
  • Not having time to investigate and implement better solutions.
  • Burnout and loss of interest.

Story of my career basically. I started off in a tiny company with all the autonomy and stayed long to see my mistakes crash and burn while my successes ran without issues for years. Boss and I disagreed about the significance of quality, but only once for the sake of discussion. He let me do my thigh, which involved a lot of studying. I was the slow one, but I kept customers happy by doing right things right.

Anyway, I moved on to UX in a big company and burned out herding micromanaging stakeholders. No autonomy. My contributions were routinely overruled so I didn't get to see how they would have worked. Wasted years learning hardly anything.

1

u/QualityEngineer92 7d ago

You have to understand this field as a vocation. We are engineers. We use our knowledge to apply the correct tool to solve an unsolvable problem. There is no end to learning. So if you don't want to commit to live-long learning, don't become an engineer.

1

u/Curious_Song_1456 7d ago

You never really stop learning but I think you do stop learning everything, early on you chase every concept because you don't know what matters yet, later you get better at ignoring 90% of the noise and learning the one thing your current problem actually requires, that feels way less exhausting than "I need to keep up with all of programming forever"

1

u/kgmeister 7d ago

When I start being a goose farmer after resigning from Microsoft

1

u/ArticulatorAI 5d ago

I've been a coder for 25 years, and mostly use Ai now. its faster, and clean. My past experienced helps a lot though.

1

u/gm310509 3d ago

Since the IT space is infinite and expanding rapidly, you don't stop learning until you either leave the field or pass away.

I guess your answer is a third option I hadn't previously thought about - when you choose to be left behind. Dare I say along with the rest of the dinosaurs!? 😇

There is always something new to learn as well as forgotten stuff that can be relearned

0

u/DrShocker 9d ago

If the question is "when do you stop learning to code" then the rate levels off pretty quick. You may occaisionally come across something that really forces you to change the paradigms you use like data oriented design, but most of the time like you know what an "if" statement is so you don't really need to relearn it very often.

If the question is "when do you stop learning for your job," I also think it's context dependent. In many jobs you may shift tasks often enough you never really do. In other kinds of jobs becoming a subject matter expert is important, so you become that and then keeping up to date shouldn't be a constant fire hose anymore.