Almost two and a half years ago, I had started thinking that I would like to make a website or/and app. The bad news was that paying someone to do it for me was overly expensive (at least for my budget), the good news was that I could learn how to do it on my own, at home, immediately and, therefore, pay only for the functional costs (domain name & hosting), which are relatively low. Of course, there are nowadays organizations teaching programming in Greece, too, however the subject of this specific article is how you can achieve it on your own.
To begin, I wish to share my thoughts about the entire process, so that no misunderstandings arise. Learning how to code in order to create a website or a program isn’t very easy (whoever states the opposite will be lying), it definitely is, though, 100% feasible! Specialized mathematical knowledge is not necessary, as many are afraid of, but patience and observation certainly are. In the years I have been involved with coding it wasn’t even once necessary for me to resort to mathematical calculations. What has been necessary, however, is to learn how to organize my thought in a sequence so as to break the desired outcome into logical steps according to the chronological order they should be performed (algorithm). Well, this is not so distant from the procedure followed when for instance we want to cook and I don’t think that anyone would ever support that they should know math in order to cook!
Nevertheless, when you start learning coding you should have come to a conclusion regarding at least what you would like to achieve with this new skill. With coding you can create from something extremely simple, such as a static website, to something exceptionally complicated, such as sending people to the moon (v. Margaret Hamilton, the woman who along with her team sent indeed the human species to the moon). Obviously, you don’t need the same knowledge, the same effort and the same time to learn how to do the first as for the second. The first thing you need to do is think what you would like to learn how to make. It’s based on this decision that you will initially choose a coding language (there are plenty and you should select some). Do you want to build sites or build apps? If you want to build apps, on what software do you want them to run? These are the first crucial questions.
As this introduction comes to an end, I want to reassure you that yes, you can, even quickly, learn how to make on your own something pretty good, but it would be naive if I told you that you could for example in just one month deliver projects of the same quality as a professional. As in every art, activity or job, it takes time to reach an advanced, professional level. But this is reasonable and should not discourage you from beginning because, as we said, learning to code is absolutely doable! How?
The first thing that I did was try to understand if learning how to code was something I would really like. Attention! Usually the things we like are those we feel good at, meaning those that seem easy to us. If something seems difficult to you in the beginning and you dislike it, this doesn’t mean that there is no way you could like it in the future. Maybe what you need is a little more time and effort! To better understand what I was going to get involved with, I went to Codecademy and began with the introductory tutorials there. Codecademy is suggested for a quite brief introduction to a range of coding languages and I strongly recommend it for beginners.
After having an idea, thanks to Codecademy, about how writing code is like, I started searching for relevant bibliography on the languages I was interested in. Of course, when searching for bibliography on a coding language, because of their very regular updates, it might be hard if you’re not a native English speaker to find something up-to-date in your native language. (It is notable in this point that english fluency is a factor that will definitely influence at a large scale the level that your coding knowledge will reach. This obstacle, in my opinion, contributes a lot to my country’s digital divide and is maybe the main reason why we established Code it Like a Girl and Geek Islands.)
Either in hard copy or in e-book format, reading a book about the language that interests you is usually more productive, since you don’t receive the information from your browser, where you also keep constantly open the Facebook, youtube and e-mail tabs. If you are anything like me, this is the only way to work properly! ?
In this step you have already learned enough in order to start creating something on your own from scratch. You don’t need to have learned all these by heart, since you will always be able to refer to books, tutorials or Google! Practice is the best way to learn and become better at a new skill and this is more accurate when it comes to coding. Through practice you will locate your weak points, fix your common errors and brainstorm on more ideas about what you would like to create or which feature you wish to add to your site or app. Coding usually means an infinite google search of questions, that most of the times will guide you to the forum stackoverflow. At this stage the most important part is being able to articulate your question or problem in the correct way. Try several search terms until you find something relevant to what you are looking for! For example, if you want to make the images of a website appear round, you will need to google something like this:
and this search will directly be translated for you as knowledge of the border-radius property in CSS. This example is very easy, but you get the point! ?
Continuous research and improvement. There is available out there an incredible amount of information! Either at a more academic level by famous educational institutes collaborating with MOOC platforms (v. edX, Coursera etc) or more technical and specialised such as the amazing Treehouse. Some of these are completely free and others charge a fee. It is critical, though, to not wait until you feel 100% ready in order to start building something! This belief will never come. Start when you will feel ready enough to write some code even to create something really simple and then just build on top of that!
Translated by: Anastasia Siapka