How long was it before you became good at programming?

Soldato
Joined
12 Oct 2003
Posts
4,027
I suspect you always learn new tricks and improve over time but im mainly wondering how long when it comes to knowing what's what and how to use that knowledge to create stuff, if you had to guess how many hours it took you to get good in each language you know, what would it be?

Also i was wondering if there's any recommended videos for various programming languages as i found the c++ guy on youtube in another thread and he really makes it easier for me as i prefer that format for learning stuff. :D
 
It depends what you mean by "good", but it'll take at least a couple of years – and exposure to a variety of languages and disciplines – to get to the point where you truly know what you're doing.
 
Last edited:
I mean like have a good understanding of how it all works in your mind, not necessarily knowing all the tricks and intricacy's of each language.

So how many hours in a couple of years is that then, you talking a few hundred or thousand?

Thanks.
 
It doesn't take too long to grasp the fundamentals to a language. It does take a long time to use that language efficiently. Its a constant evolving process. You will always learn new things and ways to do existing tasks.

It will take a long time tho to master a language.

Before all that tho is the analytical and logic mastery. Knowing how to listen to someone's requests and break that into programming logic in your head. Before touching a computer keyboard.

Pseudocode is a great tool, language independant too :)

So all in all its a good few years.
 
Before all that tho is the analytical and logic mastery. Knowing how to listen to someone's requests and break that into programming logic in your head. Before touching a computer keyboard.

Any good free videos about which can help in just understanding this kind of thing, not necessarily specific to any particular language, i would do a search but im not sure what for exactly?
 
It depends what you mean by "good", but it'll take at least a couple of years – and exposure to a variety of languages and disciplines – to get to the point where you truly know what you're doing.

I'd agree with this - I've been programming for over three years, and only recently have I started to feel that I am becoming a "good" developer. The more knowledge and experience you get, the better you should become.
 
The most important thing for learning any language is understanding the concept of how code is processed and built up. Pseudocode has already been mentioned, and if you fully understand what it tries to do, and can actually think through it to the extent of being able to dissect real world problems into blocks of pseudocode, then you will be able to program in any language you wish to turn your hand to, it's just a matter of learning the syntax (disclaimer: I realise that when you get into the crazy world of multithreading etc, all rational generic approaches go out of the window).
 
I've been employed as a C++ developer for 2 years now and i wouldn't consider myself to a particularly 'good' developer.

Software design is a very important area to learn in, as well as being able to exploit the features of a language to their full extent.
 
Interesting, i thought it might be something like that, so im guessing a few thousand hours before you get good, will i be able to do a fair amount of stuff in the first hundred or so?

Can anyone point out some good educational videos on learning a language and understanding how to develop software in general?

I found the c++ guy on youtube to be quite good and there's quite a few free videos on 3dbuzz to check out, there seems to be some university course videos about as well, though anything you lot can recommend in video or audio format would be much appreciated, thanks! :)
 
It's worth pointing out too that there's a huge difference between programming and developing.

The 'first hundred' hours as you say could indeed be hours spent familiarising yourself with the syntax of the language, and probably on the 50th hour you're already saying to youself in your head "OK done that, so next comes ....".

I don't think any educational video is going to teach you how to 'develop' software in general, because to be a good developer you need to understand your clients requests and provide a solution that matches those requests. No video is going to teach you that.

Likewise videos tend to be step by step and while again this is perhaps good so you get a basic understanding of the language concepts, I can pretty much guarantee that after the videos are watched, and video 56 of 56 finally fades to black you'll probably think "Now what?". All it's done is teach you a language which is pretty much useless unless you know how to convert your new skills into a finished product.
 
It's a bit cliché, but a good programmer is one who never stops learning.

I've been a professional developer for over 7 years and had taught myself various languages in the 10 years prior to that.
Even now I can look at code I wrote a year or two back and see things that I don't like and wouldn't do now.

If you have the aptitude for it then you could be a passable developer with a few hundred hours experience.
From then on in, as long as you can say you're always improving you'll be a good developer.
 
It's a bit cliché, but a good programmer is one who never stops learning.
...
Even now I can look at code I wrote a year or two back and see things that I don't like and wouldn't do now.

I have to agree, I've been coding since I was 13, on to more serious stuff at 15 (now 19), during that time I've picked up hints, had a lot of forehead slapping moments after seeing someone elses code and realising how bad mine is, read a lot of tutorials and I have to say I'm still learning as much 'basic' stuff as the day I started.

I've also looked back and cringed at old code I've written, and if I could have shot myself back when I first started writing hacks for the PSP, I would have done (I used gotos :eek:). Over time you'll change your habits, learn how to tidy code up, make it more readable, how to speed certain code up, things like that.

One of the things I absolutely love about coding is that it never gets boring, you're always going to have to learn something else, so theres no reason to laze around and say you know everything you need.
 
Put around 10,000 hours in and then you'll be a pretty good coder :)

If you're interested in programming and loosely learning development concepts then a book on OO programming in something like Java is a good start. I recommend the book "Objects First with Java". I felt it gave me a good grounding for beginning to learn how to develop software. Although I used it in an educational environment, you can learn a lot working through the book.
 
Back
Top Bottom