There are plenty of tutorials online, which won't cost you a cent. If you are sufficiently self-driven and interested, you have no difficulty training yourself. The point to learn coding I think is to read a lot of code of other developers, then typing code and testing to see what it produces, what are the bug you experience. Then search on Google or stackoverflow about those bugs messages so you can understand why. Read, read, read, code, code, code.
This is a step-by-step process, but we think it really worth learning to code.
This article is a sort of roadmap for becoming a web developer in 2019. It outlines the best tutorials and top courses to provide a way to start a career as a frontend or backend engineer.
We divided the article into 6 parts:
- Getting Started: Where to begin if you are brand new to coding
- General Coding & Tools: Programming concepts every dev should know
- Frontend Development: Learn how to build user interfaces (UI’s)
- Backend Development: Learn how to build API’s and write server code
- JavaScript and Coding In-depth: Learn JS from top to bottom
- Software Engineering Books.
If you are still learning the fundamentals, you should start with the "Start" section in order to strengthen the core coding principles. The "General Coding & Tools" section contains content that should be known to every developer, such as Git, the command line and key tools.
Web development typically consists of two disciplines-the frontend and the backend. The frontend is the interface with which users interact in the web browser and deal with the layout, styling, and management of data sent from the server-for developers interested in visual aspects and interactivity. The backend focuses on creating APIs and managing the application's complex logic-for data and pure logic developers.
We highly suggest that you be at least comfortable with both the frontend and the backend because the full stack knowledge is extremely valuable and makes your set of skills much more attractive.
Well, let's start.
1. Getting Started with Coding
Your first encounter with programming
Knowing where to start can be the most intimidating part of programming. Our suggestion: learn JavaScript.
- JavaScript is a relatively easy language to learn
- JavaScript is required to build web applications since it is the programming language that runs in the browser
- JavaScript can be used on the frontend and the backend, allowing you to write full-stack applications with a single language
- There are tons of jobs for JavaScript developers
There are plenty of high-quality free options to get started with coding. freeCodeCamp and Codecademy are excellent choices and are great to set your foundation.
Once you have the basics down, a great next step is JavaScript30. Wes Bos teaches JS by building 30 projects in 30 days for free.
If you want to speed things up these are some great courses to go start from a beginner in JS and advance quickly.
Beginning Modern JavaScript (Includes 10 Real Projects)
This is a front to back JavaScript course for absolutely everybody. We start with the basic fundamentals and work our way to advanced programming WITHOUT relying on frameworks or libraries at all. You will learn a ton of pure JavaScript, whether you are a beginner or an established JS programmer
The Modern JavaScript Bootcamp (2019)
This comprehensive course covers the modern ES6 and ES7 JavaScript features used in the real world. You’ll gain an understanding of the latest cutting-edge language features.
Getting experience writing code on your own is a big part of learning JavaScript.
There are no starter projects here. You’ll see what it takes to launch a JavaScript application, from the first line of code to the final deployed application.
In only three hours you will learn enough javascript to transform from a junior javascript developer into a senior javascript guru.
You will dramatically improve your chances of getting past a technical interview, landing that dream job and earning more money.
What are you going to learn?
- Types & Equality: The different types in JS and how to check if two values are really equal?
- Scopes: The different scopes a variable can be declared in and how to manipulate those scopes.
- Object Orientation: How to perform OO in Javascript with both the Prototype Pattern and the Pseudo-Classical/Constructor Pattern.
- Advanced topics in Networking such as CORS and JSONP.
- Advanced topics in Event Handling such as the different event phases.
If you are looking for a subscription option with courses that will take you from beginner to pro, a great option is Pluralsight. You must sign up for a subscription (free trial offered), but they have excellent content on almost everything.
2. General Coding and Tools
This section will focus on the requirements for any developer. You should be proficient with the command line, know how to version control your code with Git, and the fundamentals of the web.
Command Line
The command line is how you run your code. You must be able to navigate and execute the required commands. The better you are on the command line, the more efficient you will be as a developer.
- Learn Enough Command Line to Be Dangerous— an excellent free book to learn the command line.
- Linux Command Line Basics
- The Linx Command Line: A Complete Introduction
For Windows users, you are now able to run a true Linux terminal on your machine, so I highly recommend this approach because Unix (also used in Macs) is the most common environment you will use on the job.
Pick a Text Editor
VS Code is the is the top choice for web developers, which makes it a great place to start — it’s personally what I use. However, there are many excellent options available such as Atom, WebStorm, or Vim for the hardcore.
The text editor is where you will write all your code, and the terminal is where you execute it. As a developer, this is where live. Spend some time to pick the right editor, set up the plugins, and learn the hotkeys. Having the right workflow can dramatically increase your productivity.
Git and Version Control
Git is the tool used to save code and create different versions, allowing you to collaborate with other developers. The top place to store code and collaborate on open source software is GitHub.
Web Fundamentals (Learn these at some point)
Frontend
3. Learn Frontend Development
JavaScript is the foundation of modern web development. The popular client-side libraries — React, Angular, and Vue — are all written in JavaScript. Knowing vanilla JavaScript thoroughly is essential to leveling up and having the required skills to build complex applications. Before diving too deep into JS, you should know HTML and CSS. Even though the UI is coded in JS, it still generates HTML and is styled by CSS.
The Complete 2019 Web Development Bootcamp
The most complete course on web development. Start with HTML and CSS, learn JavaScript and how it interacts with the DOM, and eventually build a full stack web application.
HTML & CSS
HTML and CSS are typically learned together. HTML is the skeleton of the page that gives is structure, and CSS is language that gives it style.
HTML and CSS for Absolute Beginners
Build Responsive Real World Websites with HTML5 and CSS3
CSS: The Complete Guide (Advanced CSS)
JavaScript
Since JavaScript is used in both the frontend and the backend, I included those resources in the “Getting Started” section as well. JS will be your main tool, so know it well and devote the time to learning it deeply.
Modern JavaScript From The Beginning
The Modern JavaScript Bootcamp (2019)
UI Libraries (React, Vue, Angular)
Modern UI development has gravitated towards a component model with 3 libraries as the primary ones used on the job — React, Vue, and Angular. You are better off knowing one of them very well as opposed to trying to learn all 3. Then on the job, you will be able to pick up something different if the company uses a library that you did not learn. React is the most popular, but Vue and Angular are both being adopted rapidly.
React
Modern React with Redux (2019)
React 16.6 — The Complete Guide (incl. React Router & Redux)
Vue
Vue JS 2 — The Complete Guide (incl. Vue Router & Vuex)
The Ultimate Vue JS 2 Developers Course
Vue JS Essentials with Vuex and Vue Router
Angular
Angular 7 — The Complete Guide
The Complete Angular Course: Beginner to Advanced
Backend
4. Learn Backend Development
The backend is where you talk to the database, handle business logic, and send the necessary data to the frontend.
Node
Node is how we execute JavaScript outside the browser which can be used to build APIs on the backend/server.
The Complete Node.js Developer Course (2nd Edition)
NodeJS — The Complete Guide (incl. MVC, REST APIs, GraphQL)
Databases
The database is the permanent storage for the data of your application. Typically the backend will make a query against the database during an API call. There are 2 common database types — SQL and NoSQL.
GraphQL
GraphQL itself is not a database but a query language on top of databases. Many people believe it is going to revolutionize app development and totally change how we build APIs. It is rapidly gaining adoption and being utilized by tech giants and top startups.
Python
Python is easy for beginners but also utilized extensively by tech giants and startups for backends, data science, and scripting.
Complete Python Bootcamp: Go from zero to hero in Python 3
MongoDB
Mongo is the most popular NoSQL database used with Node. It stores data in documents which are key/value pairs that easily map to JSON and JavaScript objects.
PostgreSQL / MySQL
These are two top SQL implementations and likely what you will see utilized at most companies.
PHP
Much of the early internet was built on PHP and there are still many sites powered by it, including Facebook.
Ruby on Rails
Ruby on Rails was the go-to startup language for years. It’s ease of use and convention-driven language made it easy to rapidly build products.
JS in-depth
5. JavaScript and Coding In-depth
I recommend working on real projects as quickly as possible. However, at some point, you will want to do a deep dive into JavaScript and learn how it all works underneath the hood. In addition, it is important to have an understanding of data structures, algorithms, and other general computer science knowledge.
You Don’t Know JavaScript (YDKJS)— This is simply the best book on JavaScript. If you work through this entirely, you will know the entire core language of JS. Read it free on GitHub or purchase physical or Kindle copies on Amazon.
TypeScript — This is not a requirement for beginners (unless you are using Angular), but TypeScript adoption is growing rapidly. Many think it’s the future of JavaScript.
Data Structures in JavaScript — Build the most common data structures from the ground up in JavaScript. This video series is a great extension to build the knowledge you have already gained and is an excellent resource for interviews as well.
Eloquent JavaScript— Another favorite book of JavaScript engineers. It covers a broader range of topics than YDKJS, including the browser and Node. Read it for free online or purchase a physical or Kindle copies on Amazon.
Introduction to Algorithms — While not the most beginner friendly book, it is thorough. Take this step once you really feel like it’s time to understand algorithms thoroughly.
Algorithms — This course is taught in Java, but the learning outcomes are still valid. You gain a thorough understanding of the most important algorithms in computer science. The course is taught by Princeton on Coursera.
Books
6. Software Engineering Books
This selection is 5 books that will either make you a better coder in general or an essential book you will need at some point in your career, such as during interviews. Or, see a complete list of programming book recommendations.
- Clean Code by Robert C Martin
- The Pragmatic Programmer by Andrew Hunt & David Thomas
- The Effective Engineer by Edmund Lau
- Cracking the Coding Interview by Gayle Laakmann McDowell
- The Art of Computer Programming by Donald Knuth
If you are learning to web development, there is also a high likelihood you’re interested in startups. These are some of the top books about startups and the philosophies of those that are successful.
- The Lean Startup by Eric Ries
- Zero to One by Peter Thiel
- Hooked by Nir Eyal
- Traction by Gabriel Weinberg and Justin Mares
- The Hard Thing About Hard Things by Ben Horowitz
Original article here
Background vector created by freepik - www.freepik.com
Janeth Kent
Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.
Related Posts
How to Send Email from an HTML Contact Form
In today’s article we will write about how to make a working form that upon hitting that submit button will be functional and send the email (to you as a…
JavaScript Formatting Date Tips
Something that seems simple as the treatment of dates can become complex if we don't take into account how to treat them when presenting them to the user. That is…
How to make a multilingual website without redirect
Today, we're going to talk about how to implement a simple language selector on the basic static website, without the need of any backend or database calls or redirection to…
Starting with Bootstrap-Vue step by step
Today we will show you how to use BootstrapVue, describe the installation process and show basic functionality. The project’s based on the world's most popular CSS framework - Bootstrap, for building…
Bootstrap 5 beta2. What offers?
Since the release of the Bootstrap 4 is three years, in this article we will present what is new in the world’s most popular framework for building responsive, mobile-first sites.…
Graphic design and its impact on Web Development
In today's article we will explain the concept of graphic design, its fundamentals and what it brings into web development. Graphic design is applied to everything visual, believe or not,…
Validating HTML forms using BULMA and vanilla JavaScript
Today we are going to write about contact forms and how to validate them using JavaScript. The contact form seems to be one of the top features of every basic home…
A Java approach: While loop
Hello everyone and welcome back! After having made a short, but full-bodied, introduction about cycles, today we are finally going to see the first implementations that use what we have called…
A Java approach: The Cycles - Introduction
Hello everyone and welcome back! Until now, we have been talking about variables and selection structures, going to consider some of the fundamental aspects of these two concepts. Theoretically, to…
A Java Approach: Selection Structures - Use Cases
Hello everyone and welcome back! Up to now we have been concerned to make as complete an overview as possible of the fundamental concepts we need to approach the use…
Hashmap: Overflow Lists
In this short series of articles we will go to see how it is possible to create the Hashmap data structure in C. In the implementation we're going to use the…
Javascript: what are callbacks and how to use them.
Today we are going to learn about a concept that is widely used in javascript and that is used quite a lot by today's frameworks, libraries, especially NodeJS. This is…