Today one of my preferred teachers, Brad Traversy, published a summary of what he recommends you find out to end up being a web designer in 2020.
Brad cuts through a great deal of the buzz you hear on social media. His suggestions is useful and practical. And I agree with him on practically whatever he advises you find out.
The main point Brad emphasizes – which I always stress – is don’t feel daunted or let yourself get overwhelmed.
Keep in mind: freeCodeCamp’s curriculum covers most of these tools, and it has actually helped more than 40,000 individuals get jobs as developers. When in doubt, simply concentrate on that.
Web Development in 2020: A Summary
The primary goal of the video is to give you familiarity with some of the more mainstream web advancement tools readily available to web designers.
When you hear something like Nuxt or Gatsby I want you to know what it is. And then you can choose if you want to learn it or not.”
Brad starts by encouraging people to first ask what they want to do. Do you want to work on a product company?
A great deal of his guidance about what to learn boils down to what your goals are. And he frames a lot of his tool suggestions in this light.
As a beginning point, he advises learning what he calls “The Needs.”
One counter-intuitive thing he points out: you don’t require an elegant computer system for web advancement. “It’s not like game engine advancement or something like that, so you can utilize a mid-range laptop or desktop, or perhaps in many cases a lower-end computer system.”
He uses MacOS, Windows 10, and Linux for cloud servers and even for some of his media servers.
He is a huge fan of VS Code for his editor, and uses Chrome and its integrated DevTools for browser-based debugging. This said, he thinks Firefox has actually come a long way as well and is a feasible alternative.
He recommends starting with basic HTML and CSS, and learning more recent CSS tools like Flexbox and Grid.
He states finding out responsive website design in 2020 need to be a provided. “Every severe job that you develop must look great and be totally functional on all gadgets.”
Instead of depending on CSS structures like Bootstrap, he recommends you practice building your own modular CSS elements that you can then re-use throughout your task.
This said, he says you might come across these as you deal with projects for different companies.
He specifically discusses Tailwind, which I had not heard of in the past. Tailwind is a bit various from other CSS structures. It’s focused on “utility classes” that you can combine to achieve what you want with the design.
Learning at a Practical Pace
Throughout Brad’s guide, he repeatedly highlights the requirement for functionality.
Yes – there are best practices for everything. But oftentimes, there is a sufficient manner in which will assist you move quicker and get more done, without getting bogged down in tools.
Among the most interesting (and maybe heretical) things he says:
” There’s no need to learn DevOps and AWS and all these things for a small site. A hosting site or a managed hosting site like InMotion or Hostgator is fine. There’s no need to overcomplicate things.”
He argues that even in 2020, there’s something to be stated for using familiar tools.
For people brand-new to web development, Brad advises very first specifying of being able to work as a fundamental front end web developer. This will allow you to construct sites for regional services as a freelancer.
” Hipsters will state you certainly require to use a front end framework. I do not believe that holds true. If you want to render templates on the server without utilizing a front end structure, I believe that’s definitely great, however there are numerous lots of jobs that are looking for something like React or Vue.”
Once you’re ready to tackle front end frameworks, he recommends you explore React, Vue, and Angular. “Try all three and find out which one you like the best.”
He likewise offers a nod to Svelte – which isn’t a structure, but rather a compiler. He says it’s probably too new to try and pick up in 2020.
And he discusses the increasing popularity of Server Side Rendering. File system-based routing means you don’t have to develop a complex routing file. Instead, you can simply put the files in the directory site you desire them to be in.
The two popular Server Side Making tools are Next.js (for React) and Nuxt.js (the Vue alternative).
Another emerging pattern is Fixed Website Renders, which he states you do not need to learn but you ought to be aware of. Gatsby sites are extremely fast and don’t need a server.
Back End Development Tools
For server side development frameworks, he advises learning Express considering that it’s the most popular and “it provides you a great deal of flexibility to develop things how you want your own way.”
He also uses Python for some jobs, and recommends it as well.
” Python has 2 amazing frameworks. Django is a large, complete featured structure, where as Flask is more minimalistic. It provides you what you need but you make the rest of the decisions. I truthfully can’t pick among the two, I like them both and use them for different things.”
And he fasts to come to the defense of PHP:
” A lot of people give crap to PHP and it’s unfortunate because PHP can be a great language. It’s practical and it’s simple to deploy just about anywhere. PHP was the first language I learned and I still really like it … If you look at Laravel code it’s very elegant.”
Brad likewise does a quick walkthrough of databases, and recommends seasonal preferred PostgreSQL.
Other Tools That are Probably Here to Stay
GraphQL is an alternative to REST for APIs. There are several courses that cover GraphQL on both Brad’s channel and on freeCodeCamp’s channel. He says, “GraphQL is not something that you have to learn these days, but it’s big enough that I think it’s here to stay. It’s more than a trend.”
Brad also discusses Material Management Systems (CMS’s) and how they are progressing into new “headless” alternatives where you just use them as a back end and code your own front end.
” CMS’s are really useful for freelancers who have customers that want to be able to visit and create their blog posts and stuff like that. A great deal of people bash WordPress, however there’s a huge portion of sites on the internet that are run by WordPress and it’s still preferred.”
For web servers he chooses NGINX to Apache since “it seems to be less complicated.” We utilize NGINX thoroughly at freeCodeCamp and I am inclined to concur.
Brad likewise discusses how virtualization works, and talks about how it can simplify more complex jobs by standardizing the environment throughout numerous computers. But he cautions against trying to virtualize whatever:
What I don’t like is when people say you should always use Docker. Don’t feel pressure to learn something like Docker.”
And he includes, to stress something I personally can not emphasize enough: “I understand a great deal of nerdy types just wish to overcomplicate things and I hate that. Even if I’m noting all of this does not indicate I’m pushing it on you.”
He’s also quick to explain that most big companies have actually committed DevOps teams (likewise called “Website Reliability Engineers”) who can do a great deal of this for you.
Great To Have Abilities You Can Learn as Specialties
His second choice for mobile app development is React Native, which is easy to pick up if you already know React.
Brad then does a great job of explaining what Progressive Web Apps are and some of the benefits of them. Here’s the slide, but again, I strongly encourage you to watch his full video.
And then he gets to the big trends for 2020.
Machine Learning and Web Assembly
Just because everyone else is talking about machine learning doesn’t mean you have to drop everything and learn it. That’s how he prefaces this stage of his talk.
It’s clear from the way he talks about Web Assembly that he’s pretty excited about it.
Rust is one of the languages you can use with WebAssembly (in addition to C and C++). It’s significantly easier to learn and use than C and C++.
In closing he says, “The more you learn, the easier it is to learn more and to fit all of these technologies together. Try not to get overwhelmed. Take it one step at a time and do some research, and figure out what you want to do.”
Again, I want to thank Brad Traversy for putting together this comprehensive video.
People ask me all the time “what should I learn if I want to become a web developer?” And my answer is “just use freeCodeCamp as your core curriculum, and branch out into other learning resources as you go.”
And I’m happy to say that Brad’s Traversy Media YouTube channel is one of those additional resources that I recommend most highly.