Do coding boot camps actually work?

What options do I have to learn programming?

You made up your mind to learn to code. An excellent decision that will give you a deeper understanding of new technologies, increase your value in your job and open up new perspectives for you. The first step is taken, the decision. The second step is learning by yourself. How and where? What are the opportunities to learn programming? We present 4 different ways and what you have to consider with each of them.

Tutorials

Especially if you just want to get a taste of what it actually means to code, tutorials are very suitable. There is an abundance of short to lengthy tutorials and videos online that can be found quickly by simply Googling.

One advantage is obvious: tutorials are non-binding, available at any time and usually free of charge. They are therefore well suited to get a less time-consuming insight. Often this is a “Hello World” program in the new language, but sometimes it is also the complete path from zero to the finished product. Many authors give good tutorials for the first example, the first Android or iOS app, or the first website.

Even for experienced developers, online tutorials are the standard source of training in new technologies. Technology and standards are constantly changing. Technologies appear or disappear and are replaced by new and better ones. If developers are looking for a quick introduction to a new topic, they are happy to use tutorials. The developers of the corresponding software often provide a good introductory tutorial for using new tools or libraries.

Should you set out to look for online tutorials to get you started, here are a few tips to help you along the way:

  • You can find the best tutorials in the English-speaking community. It is as it is: software is written in English, and all documentation, instructions, and even good tutorials are published in English. Since most of the technical terms are of English origin anyway, it is usually not difficult to follow English tutorials. Good sources are, for example, Medium and Dev.to.

  • Make sure the tutorial is up to date. It is less important on what date it was written, but rather that the technologies used in it and their versions are not out of date.

  • Tutorials require initiative. You have to find your tutorials more or less yourself. You also have to solve any errors that arise yourself. It takes patience and persistence.

  • However, should you ever get to a point where you can't get any further, realize that it's not your fault. The code examples of a good tutorial should be complete and executable, and the accompanying text should contribute to understanding. You don't see the quality immediately in the tutorial, but if you get stuck in one and realize that you can't work well with it, it means: don't waste time and look for something better.

  • The most important tip at the end: Try to follow the tutorial step by step as best you can. That might sound banal now, but it is quickly disregarded and leads to frustration and resignation. That means, really do everything exactly as it is shown, without skipping steps, without increasing versions of libraries or already implementing your own idea. Then, when you have successfully reached the end, you can start making your own adjustments. Otherwise it can quickly happen that you get stuck somewhere and it no longer works and you cannot find the error yourself. If your code isn't working despite your best efforts, StackOverflow is always a good place to post and ask for help.

Online courses

In courses you learn the craft of programming much more comprehensively and fundamentally than in tutorials. Courses are suitable if you want to go into more detail and want to create more than just a small app or website for yourself, for example if you want to turn programming into a profession. For various other professional fields, too, it makes more than sense to be up to date in the area of ​​programming.

Courses are not only purely application-oriented, but also go a little bit into the theory of matter. If you want to expand your knowledge on more academic topics such as mathematical fundamentals, algorithms and data structures, or even machine learning, you are far better off in courses than in tutorials. Unlike tutorials, courses also follow a didactically deliberate order. The range of courses is diverse. A distinction can be made between online courses and offline courses.

The practical thing about online courses is that they are always available. In the morning before the actual start of work, during the lunch break, in the evening after work or on the weekend, the course patiently waits for its student. You don't even have to accept the shortest possible journey to get there. You can work through the next session of the course from the comfort of your home or office.

However, this flexibility also requires a strong degree of discipline and initiative in order to devote yourself to the course regularly and to withstand the distractions at home. "I can always continue later." Who does this not sound familiar in one way or another? In addition, the online course has to be followed. There are no deviations from the ready-made program according to the needs of the learner and there is really no one there who can be asked questions promptly.

Online courses have both free and paid programs. In general, online courses can be divided into two categories: MOOC, which stands for Massive Open Online Course, and specialized online courses or online boot camps. MOOCs are usually programs from academic institutions such as universities and are mostly inexpensive. MOOCs can be found on general online course platforms such as Coursera or Udemy. As is often the case, the courses, which are a little more expensive, are often better. Recommended providers of specialized online courses for learning programming include Treehouse and SuperHi.

Offline courses

Quite a few, however, have their problems with the online courses. They find it difficult to muster the necessary discipline to attend the course every day or every other day. There is also no direct contact person to clarify questions or difficulties ad hoc, or even fellow students to study together.

If online learning is too lonely or cumbersome for you, offline courses, also known as face-to-face courses, are the better choice. Yes, even in the otherwise mostly digital world there is still something like the classroom. Learn IRL (in real life). In face-to-face classes, you regularly meet with a teacher and other learners at a fixed date at a fixed location. The termination obliges to appear. This gives yourself the external pressure that many of us need to stay on the ball. Not only is it easier to show up for an appointment than to sit down to study independently at home, you are also more focused on the matter, as nothing distracts from coding in the classroom.

The teacher or lecturer prepares the matter in an understandable form and tailors his explanations to his students. If you did not understand something straight away, questions can be clarified directly. The lecturer can also answer further and more specific questions than would be possible in a standardized online course.

An elementary part of the majority of courses is the deepening of what has been learned through exercises. In a personal course, these are not just standard tasks, but problems inspired by your own projects. In this way, you immediately apply the knowledge you have learned in specific areas. Through group work, the learners develop important communication skills for their later job.

For a good classroom course you have to invest both time and money, as the lecturer's time is a valuable resource and cannot be scaled infinitely as with online courses. To get started, there are free or very inexpensive workshops in the form of, for example, meetups such as the Open Tech School on general topics. Training companies, on the other hand, have a specialized and intensive range of courses aimed at developers - mostly as employees. Since it can be assumed that their employer will pay for the training, the prices of these courses are high. 500 to 700 € per day is normal.

But in order to even get to the point where the employer pays for the training, you of course first need a solid basic training. You will be made ready for the job market, or as it is called in technical jargon, career ready, in complete courses. Bootcamps like the one from Spiced Academy are a trend from the USA. Here you are made coding-ready full-time for twelve weeks. For those who find that too much all at once or who want to continue working in their usual job during the day, part-time evening courses such as at our Hamburg Coding School are a good alternative. The prices of the boot camps and extra occupational evening courses are mostly in the 4-digit range, but in terms of price-performance ratio they are usually still cheaper than courses on specialized topics.

Education

Even if you have been stuck in your professional life for a long time, we do not want to withhold your studies as a traditional educational path. In three years you can get a Bachelor's degree and a further two years for a Master of Science in Computer Science or Computer Science.

One advantage, at least in Germany, is obvious: the first degree is free. Computer science is offered at universities and universities of applied sciences in most cities. Studying is still the best way to get a fundamental insight into a broad subject. The main focus of the course is on mathematical principles, algorithms and data structures, networks and the Internet, as well as signal technology. In order to later be able to work in academic scientific directions such as data science, machine learning, digital signal processing or robotics, these basics are essential. These basics are also assumed and queried in many interviews with large companies such as Google or Facebook.

But anyone who has ever studied knows that the teaching is more theoretical in nature and tends to be out of date. The lecture format is not really suitable for learning the programming trade. You have to teach yourself a large part of the skills that are actually more important for a job as a software developer that you might want to take on afterwards. In addition, five years of standard study time, which many often do not even manage, is a long time until the master’s degree.

If you still want to become a software developer via the study path, you should pay attention to at least one of three criteria. Does the course include a comprehensive practical part? Media informatics at the Bauhaus University Weimar, for example, has two major projects in the curriculum. Does the university have a good reputation? RWTH Aachen is renowned. Or thirdly, is the university trying to offer up-to-date training? The CODE University of Applied Science Berlin does this very well. As a rule of thumb, studying at universities of applied sciences is more practical than studying at universities.

However, if you want to work as a mobile or web developer, to be honest, you don't necessarily need a degree. There are many small and medium-sized companies where you can easily get a job, and also start out as a bootcamp, evening course graduate or self-taught. Interest? We would be happy to inform you about the next evening course at the Hamburg Coding School.

Images by Death to Stock, Ray Kang and Hamburg Coding School.
Back to overview