
Teach yourself to code
On many occasions friends are asking me what to do to become good coder. What school should they choose or famous “how do you know all of this?”. I think there isn’t one good way to succeed. I’ll try to share mine.
Choose right programming language
You can start with any language, but choose one related to what you would like to do in a future. You will waste less time that way.
- Computer games: C, C++
- Mobile games and apps: ObjectiveC, Swift2 (iOS), Java (Android)
- Web apps: Javascript, PHP, Python, Ruby — good to know HTML and CSS, too
Solve a problem around you
You will find many problems to solve around you, some process to fix or make more efficient. You’re lending many books? Make an app to manage it. Running your own website? Create simple CMS to fit most of your needs. Having hard time making groceries? Create shopping-list app. Probably you have better idea by now.
It’s important to choose the process you know and understand well. Designing user interactions will take less time and won’t be so frustrating.
I had this huge collection of CD’s (over 600) and was having problems finding the right one. I created WinApi/C++ application to make local database of its contents to browse and search all of them quickly without need to pick it up from a shelf.
Books
Is buying books worth it? I think so. Unfortunately first one I bought was about making interactive websites in Perl (CGI). Great choice you say… but then there was nobody around to tell me what to read and that PHP is way better at this. This book took over 6 months of my life.
I have learned PHP, Javascript, Python, SQL, HTML, CSS, C++, C# from internet tutorials, articles and freely available books. Now I still learn new things everyday from other people, reading their articles, code or books. That should be your daily routine.
I recently found FreeCodeCamp.com. It’s a great place to learn almost everything about Web Dev — I personally checked basics of HTML / CSS / Bootstrap / Javascript tutorials. My nine-year-old son did this after just couple of hours:

My help to you
If you still don’t know where to start please use my experience. I think, if you’re interested in making web apps, you should choose JavaScript as a primary language. That will give you power to make everything from simple websites, some interactive services to really complicated apps and online games. But what is most important: it’ll give you interesting and high paying job.
Programmers tend to divide themselves to front-end and back-end developers. Front-end, also known as client-side, is a part visible to user, it’s working entirely in a web browser. Its purpose is to show data, animate user interactions. Back-end usually saves this data and serves as a channel to communicate with provided service.
There is another way: Full Stack Developer. It’s the one, that knows how everything works from both sides and is able to create whole app himself.
Nowadays almost nobody is writing pure (vanilla) JavaScript to create interactions or make something on server-side. There is a lot o ready-made solutions for almost every particular need. Node.js, mySql, Postgress, GraphQL, MongoDB on back-end and Angular, React or Blaze on front-end. On top of that it’s worth to mention NPM, jQuery, LESS, underscore.js, express, Bootstrap which make today’s developer live much easier (sometimes it’s the opposite search for “JavaScript Fatigue”).
If you’re interested in JavaScript I recently found this publication:
It’s very well structured and easy-reading. I’t filled with things you really need. Perfect if you like to know more about programming front-end.