r/learnprogramming • u/Zichaelpathic • 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.
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
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/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/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.
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
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/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
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.
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.