DEV Community

John Au-Yeung
John Au-Yeung

Posted on

Basic Skills Web Developers Should Learn

Subscribe to my email list now at http://jauyeung.net/subscribe/

Follow me on Twitter at https://twitter.com/AuMayeung

Many more articles at https://medium.com/@hohanga

Even more articles at http://thewebdev.info/

Developers must have some skills in order for them to succeed. However, most of them fall into a few categories.

Here are a few things that we should learn:

Git

Git is the most popular version control systems. They're useful for keeping versions of code for tracking changes, merging changes from multiple developers, and reverting changes.

It's a distributed system so that we have to know how to work with local and remote repositories.

SSH

Logging into remote servers and running commands there is the norm. We often have to do that for development and troubleshooting issues. It's best to learn this before issues come up that require this skill.

HTTP

The HTTP protocol is a must-learn knowledge for web developers. Most apps today communicate over the Internet by making HTTP requests, so it's good to learn it now.

Command Line

Web apps for frequently hosted on web host via Linux or Unix servers. The Linux command line requires effort to learn as it has its own learning curve. Commands to traverse directories, manipulate files, run programs, edit text files, etc. are important.

Data Structures and Algorithms

All programs are a series of instructions for the computer to run. To determine the instructions, we must know the algorithms. Data structures are for storing data and we must know them as well. We should know efficient ways of doing things.

JavaScript

JavaScript is the only language for front end development. There're extensions to JavaScript like TypeScript, but their base is still JavaScript.

Therefore, it must be learned so that we can at least write some front-end code.

Front-End Frameworks

Apps are so complex nowadays, it'll be torture to write them without a framework. We would have an unmaintainable mess if we don't have some frameworks to structure our code. Vue and Angular are popular. React, pair with React Router and Redux can also create a framework for us to build off of.

One or More Back-End Languages

Back-end frameworks are available for languages like PHP, C#, Java, Ruby, Python, etc. Learn one of them and you can save data and talk to other systems with your own back end app.

Back End Frameworks

Back-end frameworks like Rails and Spring are popular. They let us write to code to save data and communicate with other distributed systems.

Database

Databases are where we save data. SQL is the most popular query language for relational databases, which are used most often. NoSQL databases like MongoDB also have their uses.

Conclusion

These are must-have skills that all developers should know. They let us manage code and servers, and let us solve problems on our own.

Once general principles are learned, then we should move on to learning specific languages and frameworks.

Top comments (9)

Collapse
 
smartcodinghub profile image
Oscar

This only applies to Web Developers. I suggest you to update the title.

Collapse
 
gughog profile image
Gustavo Oliveira • Edited

I don't totally agree with you, maybe most of knowledges the author wrote on post applies only to web developers, but some of them are universal, like data structures and algorithms or databases. What do you think about?

Collapse
 
smartcodinghub profile image
Oscar

Perhaps the "only" on the original query is confusing. I think the full list only applies to mainstream web developers. There are other types of developers (especially low level) that maybe uses 1 or 2 of these skills. Or maybe SVN instead of GIT. And many other examples.

Thread Thread
 
aumayeung profile image
John Au-Yeung

Yes. Those would be less popular so they wouldn't be must-learn items.

Collapse
 
aumayeung profile image
John Au-Yeung

Yea. I think the first part is more general. The front and back end stuff is more specific.

Collapse
 
aumayeung profile image
John Au-Yeung

Thanks. I updated it.

Collapse
 
tomyeoman profile image
Tom Yeoman

If you want some starting material for a lot of the pieces covered "The Missing Semester of Your CS Education" is a great resource - missing.csail.mit.edu/ :)

Collapse
 
aumayeung profile image
John Au-Yeung

Thanks. That list is pretty comprehensive

Collapse
 
pandafy profile image
Gagan Deep

The 'T' Developer.