Nowadays, even the government is supporting initiatives to get people coding. But where to start? Learning to code requires a few things to consider first and the required steps to become a decent coder. Coding is not rocket science, but getting started can feel a bit overwhelming with zero knowledge. Let’s go through the first steps:
1. Learn to code: define your goal
Learn to code is just like learning a new language. But it doesn’t make sense to learn Spanish if you’re living in The Netherlands. It can be sexy and handy with guiding some tourists, but after that it’s pretty useless. You need to define why you want to learn to code: you want to get a software developer job or just being able to make a prototypes for your ideas? Have a goal and your technical decision making will massively improve right from the start.
2. Learn to code: choose your platform
There are many flavors of programming languages and frameworks. Ruby, PHP, Python, etc. Lots of resources and developers going back and forth on what is the best language. Here is the answer: none of them. They all have a different style and have pros and cons. Your goal will help you decide which platform is the best to develop with.
I come from a Java background, so I already have OOP experience learning any programming language. You don’t need it upfront. You don’t need perfection in code and you want to iterate fast. A good start would be to go for PHP with the Laravel framework.
If you like to develop apps fast and without a very steep learning curve, this might be a good choice. Especially a good choice for people with a short attention span. Steep learning curves at the beginning will just break you and it’s important to finish. If you have the basics, you may consider more advanced platforms.
After PHP I would recommend Ruby on Rails. But if you are an absolute beginner, just stick with PHP. Ruby on Rails seems really sexy because a lot of experienced developers use it, but again the learning curve and basics you don’t have will make it a bridge too far. When if you have at least moderate OOP PHP skills under your belt, it’s a good entry point to explore if Ruby on Rails is more suitable for your needs.
Last but not least, if you’re into science and more hardcore math, I would go for Python. This is the language I mainly use. I would only recommend it if you have some degree if coding understanding from another language or you’re in a science related study.
Software architecture can be a bit overwhelming when you start from scratch with it without any software engineering knowledge. Not to worry if you do, just hang on tight and keep crunching.
3. Learn to code: backend or front-end
I need to mention doing all of the front-end (= what you actually see on the page) and backend development (= what the system is executing to make everything on the page work) is a lot of work. You can’t find a developer who is expert at both. Choose your trade. If you like design, you probably end up at the front-end. If you’re more into abstractions, backend will be your thing.
Don’t worry, you learn the fundamentals of both. You can choose which one you’ll be more into while learning. You’ll need knowledge from both anyway in order to use third-party packages and with collaboration between developers. Eventually you can use frameworks to if you aren’t an expert for front-end like Bootstrap.
4. Learn to code: how to get started
Learn to code basically consists of three main parts: principles, structures and syntax. The fun part of programming languages is that most share the same or very similar principles. If you understand these coding principles, you can learn any other programming way faster.
Structures is also important, especially when you eventually need to collaborate with others developers. It makes collaboration a breeze. Syntax is probably best explained as the grammar for a certain language. Learning how to put together your lines of code will advance faster by just doing. Trail and error gets you a long way here.
3 good sources to start learning:
This is great for the very basics. You can learn everything about HTML & CSS, Javascript, jQuery and PHP in just a few days. These components will give you the fundamental basics of how a web app is based on. You also can make some basic stuff right away. I use it sometimes to just refresh some basics with languages I don’t use often.
Tutsplus has a wide range of coding courses. If you did all the courses mentioned above, you can get a better follow up with these courses to get things really going and follow some tutorials making an actual application. This will give you a first taste of how a to have a decent workflow.
2. Laracasts (free & paid $9/month)
I use this one the most. As the name might already reveal, this platform of coding courses is tailored for the PHP Laravel framework. But it also has great learning videos about OOP programming and getting more advanced knowledge about your standard development tools. If you want to get into Laravel, you should be subscribed to Laracasts.
Even the best coders use these platforms to refresh or upgrade their skills. Coding is about learning every day and never stop learning.
As you can see, it’s fairly cheap to learn skills that will become a great force when you master your development skills. What are you waiting for? Learn to code!