Online Developer Training
Many developers wanting to learn a new programming language, technology or environment consider either signing up for an online course or taking one in a classroom. At campusMVP.Net we place our bet on online training because the best way to learn how to program is by programming. It’s that simple! In fact, we dare to say that it is the only way to learn properly.
On the one hand, going to an IT academy classroom or hiring teachers to teach in-company (or any other form of on-site training) has the advantage of being very convenient for the student, because condensed knowledge is taught in a short period of time. This may be the best option if the student is very experienced and wants to learn the basics of a specific technology quickly or if the content is directly applicable to a specific project.
In a classroom, the teacher has to divide their attention between every single student attending the course.
However, when we are in a classroom, what we do is to pay attention to the teacher, to go over developing practices quickly and to ask questions that arise on the fly. In a classroom, the teacher has to divide their attention between every single student attending the course.
In addition, a classroom course is limited to a specific daily timetable in which the student is normally subjected to a barrage of information. It is difficult to assimilate and exercise the knowledge acquired in so little time. It’s also very likely that the student won’t be able to practice it on their own, beyond the guided classroom examples.
Therefore, if the student isn’t an experienced programmer, it’s very difficult for them to train to become a professional developer in any technology with only a few hours of class. Moreover, it’s much more unlikely for a developer to pass any official certification exam if they follow an on-site training course.
Edgar Dale was a U.S. educator famous for his “cone of experience” infographic. He studied several different ways of learning to analyze the amount of retention that is achieved with each type of learning method. He summarized the results of his studies in a cone (a.k.a. Learning Pyramid) to clearly illustrate the effectiveness of each learning method.
Each band on the cone represents a learning method. The labels on the left show learning actions that are commonly performed when learning how to program (reading a book, classroom activities…) and the ones on the right reflect the percentage of effectiveness of each of those actions.
Looking at this graph, it’s clear that the most effective method is to exercise what you are trying to learn yourself. To do so, we first need to acquire some previous notions by reading some theory, watching some video demonstrations, etc.
The best approach to learning
At campusMVP.Net we strongly believe that the best way to learn is the one displayed below:
Classroom and on-site training covers the upper parts of the learning pyramid: reading, listening, watching, and listening + watching. But it’s much more difficult for classroom or on-site training to cover the lower bands at the base of the learning pyramid, which are really effective. These activities at the base of the pyramid, performed appropriately, are those displayed in the large box of the campusMVP.Net diagram. As you can see, they are inherently cyclical: true learning is a loop that the student should repeat to develop enough skills before advancing.
And this is ultimately the responsibility of the student. Without a lot of self-training, it is impossible to learn, no matter how good the teacher is. In this phase, the role of the teacher is to be there to support students and help them with the doubts that will surely arise when practicing. If no doubts arise, there is no learning.
The main obstacle for properly executing this loop in classroom or on-site training is time. Thus on-site and classroom developer training is not very effective for the purpose of absorbing knowledge and making sure the student is well prepared.
However, we can teach the same kind of course online instead of in a classroom, with contents displayed through an e-learning platform and tutor support to solve doubts and propose debates and discussions.
The web is full of learning resources, but it’s very hard to find structured and comprehensive information.
Besides, with online training, students are not subjected to a specific timetable for learning, practicing or asking doubts. They have plenty of time to repeat the learning cycle and master the concepts learned.
Doubts and questions will arise. Students will have to use fairly precise language, unlike the wording used in a classroom context which can be more vague. This in itself is another way of learning because it forces students to describe technology issues in detail.
The tutor will answer questions while students keep practicing and/or studying in parallel. Study is not interrupted like in a classroom, where doubts are synchronous. Online communication is usually asynchronous (messaging, forums), except for very specific cases that may require direct dialogue to answer specific questions that are hard to solve otherwise (chat, videoconference, etc.).
This cycle of experiential learning and self-guided study undoubtedly becomes the most effective way to learn any technical discipline.
The fact that online education is not yet the mainstream method for developer training in particular continues to be generally striking. Bearing in mind all the ideas mentioned above, the quality of closely tutored and coached e-learning is without a doubt the most efficient and worthwhile way to learn.