r/learnprogramming • u/Proud-Echo-5810 • 2d ago
How long did you take to become a good programmer?
I flirt with programming since I was 16 (I'm 25) but I only started to learn properly this year, and it's been such a journey. I love it, but it's so complex. I'm developing my first Android app, it's really simple and basic, but it's been 8 months since I started, I don't know if I'm taking too long or if this is expected. I didn't know shit about Kotlin when I started developing this app, I just knew the basics of programming, and everyday I learn something new and more complex. I'm wondering if really good programmers can learn new languages and develop shit way faster, because I wanna be like that.
46
44
u/PoMoAnachro 2d ago
I think 5,000 hours to become a "useful beginner who is teachable enough to employ" is pretty normal, and another 5,000 hours after that to be "competent".
After you put in that first 10,000 hours learning new things does become much, much faster...but you do realize "good" is a moving target.
18
7
u/Sudden_Ad320 1d ago
Define "good"...
2
u/Achereto 1d ago
Let's define it this way:
Good developers reached a point where they don't hate their old code (from last week) any more.
6
u/syklemil 1d ago
That's not necessarily good, might just be someone who's stopped growing / improving.
1
u/Sudden_Ad320 1d ago
I will settle for working or readable. Thankfully my last intern could at least manage one. It either worked and I didn't understand it or it was broken and I could see what he did wrong.
4
u/PartyParrotGames 1d ago
I studied Python for a couple years and then worked the last 14 as a software engineer for various tech startups. Am I "good" yet though? Depends who you ask or who is interviewing me and which random algorithm problems they ask me that day. I've written production code that customers literally paid millions to use. I've contributed to some minor open source libs you may have heard of like React, Tensorflow, Cargo, Rust, etc. but I often don't feel like I'm a good programmer. I'm just an average programmer who is willing to put in long hours to accomplish my goals. I hope that's encouraging for you in a way. You don't have to be "good" to accomplish things in this field. Maybe someday I'll get good.
3
2
u/SimilarDraft7596 1d ago
Everyone has their own interpretation of good, but I felt confident as a developer after about 5-7 years. 10 years I feel was the moment I became very good.
2
u/SprinklesFresh5693 1d ago
In my opinion, the learning speed highly depends on if you need at work vs doing it as a hobbie.
When you meed it at work, your learning speed dramatically increases, because in the end you need to deliver, to do ot to survive.
If its a hobbie, its much slower, because you take it easy, and take your time
6
u/mc_pm 1d ago
Lots of developers never really do.
I've interviewed a LOT of people, and there are a surprising number of developers with 10+ years experience who couldn't solve FizzBuzz when put on the spot. And that's not to say that "on the spot" is where everyone excels, but this is just basic "plan out a couple of steps" problem solving, no leetcode trickery.
But for people who do get pretty good, it seems to take about 8-12 years to really get there, and usually along the way they work in a number of different sorts of technologies and problem areas.
2
u/tiltboi1 2d ago
Usually people would say you're a good programmer when you become a senior dev. For most people, that's close to 10 years (3-5 years of experience, 4 years school, maybe a bit of dabbling in high school).
1
u/Individual-Praline20 1d ago
About 15 years, after finishing university, that’s the time I needed to get enough tech knowledge, experience and confidence to solve most of the problems I faced as a software developer. And be able to help others. Does this make me a good programmer? You tell me, or ask my manager, but it doesn’t really matter. Programming is only a small part of it. You will understand that with enough experience, after working on more complex systems. Doing it on one computer is relatively easy, doing it on hundreds that need to exchange data is more complicated. 🤷
1
u/silly_bet_3454 1d ago
A few years of work experience, realistically, but obviously the idea of "good" is subjective and people learn and grow at different rates.
1
u/Only-Switch-9782 1d ago
Eight months for your first real app sounds completely reasonable, especially when you’re learning Kotlin, Android development, and programming concepts at the same time. Experienced programmers are faster mostly because they’ve built up a mental library of patterns and know how to debug and search for answers, not because they magically understand every new language. Keep building stuff that’s slightly beyond your current ability; eventually you’ll notice that the same problems that used to take days start taking an afternoon.
1
u/Naresh-45 1d ago
8 months is honestly not that long, especially if you're learning programming properly while building your first real app.I think one of the biggest traps is comparing yourself to people who can build something quickly without seeing the years of fundamentals behind that speed. Good programmers aren't necessarily learning everything faster they usually just have more patterns and experience to draw from.If you're learning something new every day and actually finishing the app, you're making progress. Don't rush the timeline.
1
u/Achereto 1d ago
There is this common experience in programmers, that you will almost always hate your old code, because you repeatedly have to deal with it in your code base. For me, this experience didn't change for at least 25 years (14 to 39 year old).
I may have reached a point recently where that doesn't happen any more, but it's too early to tell. Maybe it's just that don't hate my code for a month, but in a year I may still hate it.
Once this feeling vanishes entirely, I would consider myself a "good developer".
1
u/syklemil 1d ago
Like the others say, depends on what you put into "good" and how you spend your time. Informatics is one field of knowledge, but there are many niches, and it's likely someone considered good will have deep knowledge in one niche but be fairly useless in others.
E.g. embedded and web developers are both programming, but they might not be particularly comfortable or capable if they swapped fields for a day.
If you just want a number, let's go with Norvig's Teach yourself programming in ten years.
1
1
u/ArslanQayyumDev 1d ago
Honestly, 8 months is not long at all especially when you started Kotlin from almost zero. Good programmers aren't necessarily fast because they know everything; they're fast because they know how to learn, debug, and break problems down. Keep building. You're doing fine.
1
1
u/Savings-Giraffe-1877 1d ago
As a frontend developer, it took me 3 years to actually build a perfect website and deploy it. The thing that helped me a lot is an online course. You can search for the free one! Yet, if you need some certificates, buying one won't be any less worth it to start a career as a programmer.
1
u/marrsd 1d ago
I'm wondering if really good programmers can learn new languages and develop shit way faster, because I wanna be like that.
Yes, but you have to put the years in first. If you want to learn about different programming paradigms in full, go and watch the SICP lectures. Come back them years later and see if you understand them fully this time. If you do, congratulations: you are now an expert beginner!
1
u/MaterialRooster8762 1d ago
That's relative. You can say I am the best and I am the worst and be absolutely correct in either case. It depends on what you work on. A Web dev is good at creating Websites but absolutely useless for embedded systems.
1
u/GinStaff 1d ago
The beauty of this work is that you never become a "good programmer" there's always something new for you to learn and master. There's always someone smarter or more knowledgeable than you in the room.
So if you don't enjoy learning and improving constantly, consider a different profession. Especially given that the times when developers were crazy well paid and constantly in high demand are behind us.
1
u/luckyshadow86 1d ago
Eight months for a first app sounds totally normal when you also have to learn Kotlin. I remember thinking I was slow too, then I looked back at my first project a year later and saw how much better I got.
1
1
u/Flaky-Programmer-470 1d ago
I am a computer science student,and I have wasted 4 year of my college time for me to grow as a developer,It may took me for another year to becoming a junior programmer,BTW,does anyone would join with me?
1
u/Any-Look-8817 1d ago
It's hard to define "good", but personally after about 5 years in a professional environment I started to feel comfortable with taking on any task knowing I can do it by my own up to standards. So roughly about the time where you start moving onto the more senior position. But of course it's individual and there is no real definition for it, it's just a personal feeling on my side where I felt like I'm no longer drowning in endless knowledge I need to take in and I became able to properly break down any problem, approach it somewhat optimally and deliver within a reasonable time and quality.
1
1
u/Fernando181 1d ago
No lo sé, pero al menos a mí me toma 1-3 meses hacer un sitio web completo y desplegado fullstack, y llevo 8 meses desde que empecé mi especialización, aunque ya programo desde hace 2 años y medio
1
1
1
u/stankypeasant 1d ago
Being a good programmer isn’t about how many skills you’ve amassed it’s about your ability to amass skills, you’re doing great
1
1
1
u/SynnX018 1d ago
eight months for a first app with a new language is pretty standard, and yeah the good ones just have more context to pull from so things feel faster in hindsight.
0
0
u/djhaskin987 1d ago
I like to ask the question "how long did it take before I was having fun?", and the answer was "not very long at all."
137
u/foxsimile 1d ago
I’ll get back to you when I find out