How Long Does It Take To Learn To Code?
Well, Rome wasn't built in a day
A Spanish AnalogyLearning to code is akin to learning a language. It is a very important, useful skill, one that is life-enhancing and enables new opportunities for us to flourish.
It’s also pretty difficult. As one of the most common questions that I’m asked about learning to code, I thought I would use this analogy of learning a spoken language to examine “how long does it take to learn to code”?
First of all, I don’t think anyone truly knows the answer (or ‘it depends’, which is a bit of a cop-out). Learning to code can mean picking up a particular programming language, learning to use a tool, developing your problem-solving skills, learning patience, honing your eyes and developing your communication skills. Its consists of many, disparate and challenging aspects that all conspire together to make a good web developer such a rare animal.
Some aspects of these skills will be easier and some more difficult from person to person. I have for example met lots of developers who are clearly gifted in their cognition and ability to absorb new technologies; but in terms of their basic personal and communication skills are still barely out of the starting block. We each learn in our own way.
The other caveat I need to make is that there is no industry standard. For all the web development bootcamps out there in the world, not all run for the same length of time; and many have changed the length of their courses after some experimentation. However it does seem as though many courses now are starting to converge around the twelve week mark.
Rome wasn’t built in a day
So if we don’t know long it will take to master coding, how much could we expect to learn after a given amount of time, say a day, or a week? If I said to you, how much would you expect to learn if you studied Spanish for a day, I think the conclusion would be that you would learn very little. You might expect to learn a few phrases, get a feel for the language and perhaps get a good introduction; but you’re not going to get a job as a translator. I think the same is true for the myriad of one day and one week training courses. They will show you enough to know whether or not Spanish is going to be for you, and help you get off to a good start on your own, but that’s about it.
Rome wasn’t built in three months either
What if you were to devote three months to learning Spanish? Night and day, for 12 weeks, nothing but Spanish. Verbs, grammar, infinitives, conjugations, reading, writing, testing. Were such a course to exist, it would be rather like the myriad of development bootcamps that have sprung up. With the support of having a dedicated instructor, the helpfulness of peers working towards common goals and an environment conducive to learning, its clear to see that more progress would be made in twelve weeks.
Letting the paint dry
By the end of these bootcamp courses, I believe that the right instructor with the right experience with the right syllabus and the right environment can convey the breadth of the subject in three months. But what about the depth? That is where other bootcamps stop and We Got Coders continues.
Without the ability to apply the skills learnt during the course, to hone them and apply them in a practical setting, the risk is that the vast amount of information thrown at candidates during the course will begin to wither away. You can learn all the Spanish grammar you like from a book; but until you live in the country you are studying, are immersed in its language and culture, you are not going to truly learn Spanish.
Furthermore it is no good to list technologies on a CV, if they are not backed up with some relevant experience (not to mention a glowing endorsement from your client!). Our approach is to work with our own candidates, hiring them directly and putting them onto client projects, supervised by our senior developers, so that we can continue the learning from the classroom to the office.
We continue these placements for three months, so that by the end of the course a student has spent six months learning to code, and has applied their knowledge on a real-world project, where they can prove to their client that they can stand on their own feet, and earn their own permanent developer position. That is to say, after studying for three months, they’ve lived and worked abroad in Spain for three months and now have a good working knowledge of speaking and writing in Spanish.
So answer the question already!
In my opinion, once a developer gets to the six month mark, they have covered a huge amount of ground, and demonstrated that they have the desire, intrigue and hunger for the subject. Yet for many employers seeking Ruby development there are few roles looking for less than 12 months experience. We designed our course to alleviate this problem, finding placements for our trainees, where they land a permanent job, allowing them the space to grow into the role and keep learning.
Once the 12 months point is reached, I would expect a trainee to be fluent in web development technology. They would be able to get a job from their own initiative, and probably be choosy about what project and team they would like to work with next. At this point, one could be said to have learned coding; for they are independent and have the track record to be confident about their next steps. So with a gun to my head, I say it takes 12 months to truly learn to code. Just as if I were to live in Spain for a year, I would also expect to have pick up Spanish.
And yet this is still not a satisfactory answer, for we never stop learning. There are always new frameworks, new languages, new approaches, new tools. But the advantage that new trainees have is that they are more adjusted to this style of intensive, on the job learning where time is of the essence. If you learn to love not just coding but learning to code, then the question is no longer “how long will it take”, but “what can I learn next!”.