You made a decision: you want to learn how to code. An excellent decision, which will give you a broader understanding of new technologies, increase your value as employee, and open up new perspectives over all. The first step is made, the decision. The second step is the learning itself. How and where? What options are there to learn coding? We show you 4 different ways of studying and what to take into consideration for each of them.
For coding, tutorials are always a good way to start. Particularly so, if you first want to get a taste of what it actually means to code. There is an abundance of short to long tutorials online, in written form or as video. A quick search on google will show you just how many there are.
The advantage is obvious: tutorials are non-committal, available anytime and usually free. They are well suited for a rather quick way to learn a new technology or programming language. Often this is a “Hello World” program in the new language. But it can as well be the full zero to hero of a complete product. Many authors provide good tutorials for a first example, your first Android or iOS app, or your first website.
Even for experienced developers, online tutorials are the standard source for further educating themselves in new technologies. Technology and standards are ever changing. Technologies emerge or get outdated and are replaced by new, better ones. When developers look for a quick introduction into a new topic, they resort to tutorials. For new tools or libraries, developers of the respective software often provide a good introductory tutorial.
If you are about to get started with online tutorials, here are some tips for you:
You find the best tutorials in the English speaking community. Software is usually written in English, and so is documentation, manuals, and good tutorials. Since you are reading this article in English, we know that this won’t be a problem for you. Good sources for tutorials are Medium and Dev.to.
Make sure the tutorial is up to date. It does not matter too much on what date it was written, but rather whether the used technologies and versions aren’t outdated.
Tutorials require initiative. You have to find tutorials on your own, and you need to fix any upcoming errors on your own. This takes patience and persistence.
If you get to a point where you are stuck in a tutorial and you can’t seem to find a way to get it working, understand that it’s not your fault. Code examples of a good tutorial should be complete and able to run, and the text around it should be easy to understand. It might not be obvious immediately if a tutorial is of good quality, but if you continuously get stuck and realize you can’t work well with it: don’t waste your time and look for a better one.
And last but not least: Try to follow the tutorial step by step, as closely as possible. This may sound trivial, but it is so easy to jump ahead, get caught up in errors, and find yourself frustrated. Really try to stick to the tutorial, do everything exactly as shown without skipping any steps, bumping versions of libraries, or already implementing your own idea. If you successfully finished the tutorial, you can start making your own adjustments. Otherwise, you will likely get stuck somewhere, the code won’t work anymore, and you can’t find the error. If your code does not work despite your best efforts, StackOverflow is always a good place to ask for help.
In courses you learn the craft of programming much more comprehensively and fundamentally than in tutorials. Courses are perfect if you want to go into more detail and build more than just a small app or website for yourself, for example, if you want to make programming a career. Also for other jobs beside the software developer it’s a good idea to learn some basic programming and stay up-to-date with technology.
Courses are not purely application-oriented, but usually cover some background theory as well. If you want to expand your knowledge of more academic subjects such as computational mathematics, algorithms and data structures, or even machine learning, courses are a far better approach than tutorials. Unlike tutorials, courses follow a more didactically thought-out order. There’s a wide range of courses. One main distinction is between online courses and offline courses.
The practical thing about online courses is their availability. In the morning before starting the actual work, during lunch break, in the evening after work or on the weekends, the course patiently awaits its student. And you don’t even have to commute or set your foot out the door. You can conveniently study the next session of the course from home or the office.
This flexibility however requires a great deal of discipline in order to regularly attend the course and resist the distractions of home. “I’ll finish it later.” Does this sound familiar? Also, the outline of the online course is fixed. Variations to the prebuilt program can’t be made at the request of the learner, and it’s much harder to get help ad-hoc when you encounter a problem.
There are both free and paid programs of online coding courses. In general, you can distinguish between two categories: MOOC, which stands for massive open online course, and specialized online courses or online boot camps. MOOCs are usually programs of academic institutions such as universities, and are for the most part inexpensive. You can find MOOCs on general online course platforms such as Coursera or Udemy. As usual, the courses which are slightly more expensive are often better. Recommended providers of specialized online courses to learn coding include Treehouse and SuperHi.
Many of us have their problems with online courses. It is difficult to find the necessary discipline to start the class every other day. Also, online courses often lack a designated contact person for clarifying questions or solving difficulties promptly.
If online learning is too lonely or cumbersome for you, offline courses, also known as classroom courses, are the better choice. Yes, even in the otherwise mostly digital world, there is still something like the classroom. Learning IRL (in real life). In classroom courses you regularly meet with a teacher and other students on a fixed date at a fixed place. That’s a whole different commitment level, which leads to much fewer dropouts and much more learning success. Not only is it easier to show up for an appointment than to start studying independently at home, you are also more focused, because there is nothing in the classroom distracting you from coding.
The instructor prepares the training material in an understandable way and customizes their explanations to the students. If somebody does not understand immediately, questions can be clarified directly. The instructor can also answer further and more specific questions better than it would be possible in a standardized online course.
An elementary part of the majority of coding courses is learning through exercises. In a classroom course, these are not just standard tasks, but problems inspired by your own projects. You use the acquired knowledge and immediately apply it to your own ideas. This way, the learning effect is much deeper, and gives inspiration for follow-up projects. Besides, students discuss their problems with each other and develop important communication skills for their later job.
For a good classroom course, you need to invest time and money. The instructor’s time is a valuable resource and can not be infinitely scaled, as with online courses. To get started, there are free or cheap workshops in the form of, for example, Meetups such as Open Tech School on general topics. In contrast, training companies hold a range of specialized and intensive courses aimed at developers - mostly employees. Since it is expected for their employer to pay the training, prices of these courses are high. 500 to 700 € per day are standard.
In order to reach this level though - that your employer pays your training - you first need a solid basic education in coding. You will get career ready in full-stack courses. A trend from the United States are so-called bootcamps that are also emerging in Europe, such as Spiced Academy. Over the course of usually twelve weeks, you learn career-ready coding skills in full-time classes. If that’s too much for you, or if you would like to continue working in your day job while you study, evening courses, such as offered at our Hamburg Coding School, are a good alternative. The prices of boot camps or extra-occupational evening classes are usually in the 4-figure range. That is quite a price tag, but still a better value for money than in advanced specialized courses.
Even if you’re already on the job for some time, we don’t want to omit the traditional way of education: academic studies. In three years you can achieve a Bachelor of Science degree, and in another two years Master of Science in Computer Science.
One advantage, at least in Germany, is obvious: the first degree is free. Computer science is offered at universities and polytechnics in most cities. Studying is still the best way to get fundamental insight into a broad subject matter. Emphasis is placed in particular on computational mathematics, algorithms and data structures, networks and internet technology, as well as telecommunications. In order to work in academic scientific disciplines such as data science, machine learning, digital signal processing, or robotics, these fundamentals are indispensable. Even in many interviews with large companies like Google or Facebook these basics are required and tested.
But anyone who has ever studied knows that teachings are rather theoretical in nature and tend to be outdated. The lecture format is not really suitable for learning the craft of coding. Many of the coding skills that are important for a job as software developer, you need to figure out yourself. And five years at a minimum needed to earn the master’s degree and more often than not several semesters more, are a pretty long time.
If you want to achieve the computer science degree on the academic path, look out for at least one of the following three criteria. Does the program include a comprehensive practical part? Media Informatics at Bauhaus University Weimar, for example, features two major projects in the curriculum. Does the university have a good reputation? RWTH Aachen is well renowned. Or thirdly, does the university try to offer up-to-date training? CODE University of Applied Science Berlin does this very well. As a rule of thumb, studies at polytechnics or universities of applied science are more practical than at universities.
However, if you want to work as a mobile or web developer, you do not necessarily need to earn an academic degree. There are many small or medium-sized companies where you can easily get a job and start as graduate from a bootcamp or extra-occupational evening class, or as autodidact. Did we spark your interest? It’s our pleasure to inform you about upcoming evening courses at Hamburg Coding School.