Web development has become very popular last years. And it becomes more complex every year. And you only don't have to learn web technologies like frameworks, libraries, runtime environments, etc.
In this post, I would like to share what knowledge that is not related to web technologies I think could be important to learn.
Computer Engineering Basics
I'm not talking about deep knowledge of how computers works. But, it is a good idea to learn even superficially understand how computers process and share information.
- What is a bit, byte, etc.
- Von Neumann architecture.
- Computer hardware, specially types of storage: HDD, SSD, NVMe, etc.
Networking
Web development is based on network services, and if you don't have a minimum knowledge about networking and distributed services, it could be difficult for you to understand how backend and frontend communicate between them.
- TCP/IP model.
- Types of networks: LAN, MAN, WAN.
- How data is sent across devices and networks.
- HTTP protocol.
Operating system administration
When you have your web pages created, you need a hosting. Normally hostings have UNIX based OS, Linux is the most popular. So you have to understand how OS works to set up your hosting. And when you make more complex apps, you probably want to set more specific tools and configurations.
- Folder structure.
- User administration.
- Software management.
- Remote connection.
Other things to learn
Also, if you want to be a web developer, you have to have some skills that are not technical skills.
- UI design.
- Communication.
- Writing.
- Basic cybersecurity.
I hope that it was interesting and helpful. If you want to know more about me, you can find me as @4strodev in all social networks.
Top comments (2)
While all of this information can be very handy, I'd actually encourage jumping into html and css.
I first started learning web development at the age of 13 on my android phone, the immediate result and fun I had at first is what got me hooked on further learning the skill.
I know this feeling. Most of this information is very useful when you are making the backend of your application or deploying an app.