Jump to content

Coders: how long did it take you to learn?


Emery.

Recommended Posts

As in the title. How long did it take you to learn how to code so proficiently that you stop thinking about it when doing the task you want to do? I'm speaking about things you learn in CS undergrad, not being a code monkey. To learn all those references, memory leaks, graphs, trees, UNIX, IO... I mean seriously, "introduction to programming" courses are not an intro at all! Everyone is already proficient! Be honest! How long does it take to reach this level? Or rather how much work = intensity of work * time taken.

 

It's ike... I won't lie. I speak English better than my native language and better than many native speakers now, but I learnt English since preschool, and around 15 (after 10 years of not-so-intense learning) I reached a level when it stopped being an obstacle (fluency), but was still not too pro. It took me another couple of years, but I was able to learn on my own easily, the knowledge acquisition was very natural. The hardest thing was to get through this wall of already knowing the basics, but not being able to speak.

 

Or... even if you don't have personal experience on it, but saw someone else learn coding, or have some insight, please write too.

Link to post
Share on other sites
Prufrock, but like, worse

Not a professional, just a hobbyist whose most advanced language is Python. Never implemented my own data structure - that's the level we're talking about.

 

The "secret," if you can call it that, is that all programming languages happen to have the same basics. This is just in terms of "when you need a loop," etc, and it took me a year or two of derping about with Inform and Python. When I learn a new language I reconfigure my idea of what "the basics" are in that language, but my universal concept of what "the basics" are is mostly unchanged.

 

Learning to use UNIX is not exactly the same thing but being able to program already helps. I was mostly pushed over the edge because I had a friend who knew how to install Linux but couldn't explain it well to a rubbish user like me. Most people would not be able to learn a new OS through trial and error and it's a miracle I haven't accidentally rm -rf /'d at least once by now.

Link to post
Share on other sites

I tried taking coding classes online, but I never liked the structure. When I was learning statistical software (or any software) what helped me is having an idea with what I wanted to do with it. So, for Python, I'm learning it alongside machine learning. Because it's a lot easier for me to grasp. Also, I'm using the coding language for things that I will use in the future (statistical regressions, graphs, handling missing data, etc). Makes learning a lot quicker for me. If not, I just get bored, and I don't finish the course. 

Link to post
Share on other sites

It takes about 10,000 hours of practice to master anything.  So at nine hours of practice a day, it should take you 3 years to master coding.  If you're aiming for proficiency instead of mastery, I'd say if you put in a couple of hours of work each day, you should still expect it to take around 3 years.  

Link to post
Share on other sites

I started from basically zero (just some HTML/CSS knowledge), and it took me about 1 1/2 years, on the quarterly system, to feel comfortable coding.  That said, my CS program was very fast-paced, and of course, there was no way I could memorize all the concepts completely.   I've been working in software dev for about 2 1/2 years now and still learning new things all the time.  The thing about coding is there's so many directions you can take it, so many different languages and frameworks.  Proficiency is better measured in how you can use your knowledge to solve problems, and like @Cthulhu said, mastering the basics will get you a long way.

 

I'm not bilingual, but from my attempts at learning other languages, I personally think learning code is easier.  Any programming language is a language of symbols and logic, like math.  The concepts are universal.

Link to post
Share on other sites

If you stop thinking about the task you want to do, you are not proficient. In my opinion, there is no cut-off where you go from one level to the other, it's a grey scale. You program something when it's worth the effort to do so, i.e. when writing a program is faster than doing it by hand AND not doing it is a worse option.

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...