stefcaam
Registered Member
- Sep 7, 2021
- 77
- 57
How To Become Web Developer In 2023?
We all know that the IT industry has exploded in the last couple of years. The good news is that the wages are still huge, there are too many companies, there are twice as many jobs and the demand is high.
You may have asked yourself, how do I become a developer? Do I have to go to college for that or can I do it all online? Can I complete a course in a programming language and immediately start printing cash?
Unfortunately, I will have to tell you that this is not an easy path at all, you need to take a lot of time, literally A LOT of time, to learn the technologies. Constant learning is also necessary, as the IT industry is the fastest growing industry in the world and changes, updates and new things are coming out every moment (even as you read this, there are probably thousands of changes happening on the web).
As a person who has been working as a web developer for about 5 years - I changed 4 different companies, I think I can put myself in charge and tell you what it's like to be a developer, what the "correct" path to an IT career looks like, what are the actual salaries, where should I study etc... In this post I will explain in detail how to become a web developer!
This post is not for everyone. I believe that you already have experience on the computer and the web, that you know some basic terms and that you have not sat down at the computer for the first time. This is not a guide for those who are completely uninformed! You must have a good knowledge of the ENGLISH TOO!
Why Career in IT?
I'm not specifically referring to developers, there are many other positions (cyber security, administration, database admin...). I will write you a few positive and a few negative sides of the IT career.
Positive Sides:
- The working environment is generally very friendly everywhere.
- You can work from home, on the balcony, in the garden, at the pool (as long as you complete the tasks on time, you're fine)
- SALARIES are higher than in other industries.
- You will be more appreciated in society.
- In addition to IT skills, you will master more than 50 others while working!
- It's scalable! By improving your knowledge, your salary will also increase.
- You can write open-source code and help the IT community!
- YOU CAN MAKE LOTS OF IF YOU KNOW WHAT ARE YOU DOING!
Negative Sides:
- Constant learning and mastering of new technologies (Industry is always up to date)!
- A lot of stress
- It's hard seriously.
- You will become less social (80% of you will)
- Very good self-organization is necessary
- Hours will pass much faster (trust me)
- You will very likely lose your good eyesight
- You will become addicted to caffeine
- You MUST have daily activity, or your spine will curve, and you will be hunchbacked.
Development vs. Cybersecurity vs. System Administration
I honestly had experience with all 3 fields of work, and also, I have colleagues from these industries. I will briefly describe what you will be doing, what to expect and will you get bored quickly...
College? University? Courses?
Here I will present the truth about university and colleges and courses for IT career. If you ask me, universities and colleges are the biggest waste of time as far as the IT industry is concerned (as for medicine, architecture... then they are really necessary). If you have enough knowledge and complete projects successfully, no one will ask you for a degree.
BUT, there is one big but. If you have never worked before, you have no work experience, you are young, you cannot force yourself to study constantly, the university/faculty is the only way out for you. It really helps if you don't have a work habit. But if you feel that you can learn on your own and be a so-called "self-taught" developer, there is absolutely nothing wrong with that. I'm a self-taught developer. I attended university and I didn't like the progression and the program plan, so I dropped out very quickly.
I'm not going to tell you that you shouldn't go to university. I'm just going to tell you that you can use that time much smarter! However, everyone has their own opinion, and I absolutely respect other people's opinions.
If you decide to attend a university, there is nothing wrong with that, the only advice I can give you is that in addition to regular studying for exams and laboratory exercises, work independently on improvement and "applicable" knowledge.
The decision is up to you. Everyone does what they think is best.
As for courses. I am a big "course hater". Many of you think that after the course you will immediately find your dream job, that money will fall from the sky and that you will immediately buy a new Porsche. However, this is not the case. Look at the courses as something that should only give you a foundation for further work! Courses usually teach 10% of the total knowledge. They are an excellent resource for beginners. But books (or eBooks) are far better. They provide a much wider range of knowledge, invest much more deeply in the lessons. The courses generally only cover surface knowledge. For now, just let that stay in your brain.
Independent Work Is Gold
You MUST do it yourself. Courses, books, universities and the best schools will not teach you anything, if you do not start your own independent projects!
I watched numerous courses, numerous Indian tutorials, read numerous documentations... until you start working on your own, none of it will remain in your memory! Keep that in mind, JUST WORK, WORK and WORK. I gained my greatest knowledge by attending open-source code and working independently on various unprofitable projects. When you start dealing with errors, bugs, warnings and various other things yourself, then you will learn the most important lessons in programming!
Anyone can learn basic procedural functions and object-oriented programming in theory. But not everyone can apply it to real projects, because that's when creativity and code quality come in!
Remember, do independent projects, that's where you'll learn the most!
How to Become a Web Developer?
Level 1: Entry-Level
C++ Fundamentals W3 Schools
Python Fundamentals
C# Fundamentals W3 Schools
Small Project Ideas: C++ Projects (although it says C++ projects, you can do them in any programming language, workflow is important)
Object Oriented #1 - MUST READ!
Object Oriented #2 - Useful to read.
OSI Model Explained
This does not cover everything! You also need to do independent research and study constantly!
*BONUS: Everything you do, every project of yours, anything, put it on GitHub. (This will help you with hiring)
Level 2: Junior
HTML Basics W3School
YouTube HTML & CSS Fundamentals Course
YouTube CSS In-Depth
YouTube Learn Git in 15 Minutes
Project Ideas for HTML, CSS & JavaScript
JavaScript Modern Learning
NodeJS Dev Documentation
Web Security Concepts
This does not cover everything! You also need to do independent research and study constantly!
*BONUS #1: Work constantly on Leet Code and Hacker Rank! You can later add your rank to your CV and increase your chances of getting hired.
*BONUS #2: You can look for a position as a junior developer or if you think you are not good enough, some internship program.
Level 3: Medior
What is API?
Unit Testing
Integration Testing
YouTube Operating System: Crash Course
Introduction to Software Development
Redis Documentation
This does not cover everything! You also need to do independent research and study constantly!
*BONUS #1: You should already be looking for a job here. you already have good amount of knowledge, and if you have studied enough and mastered all the items. you can certainly get a job as a Medior or Early-Medior Developer.
*BONUS #2: Chase some certifications. My recommendation is Microsoft or a larger company. Trust me put your money into it and it will pay off!
Level 4: Senior
SQL Injection
Social Engineering
Clickjacking
Cloud Design Patterns
This does not cover everything! You also need to do independent research and study constantly!
*BONUS: I can't tell you much about this level, since I'm currently on it myself. The only thing I can tell you is that you master what you currently know and possibly include cloud computing. Learn more about Development Lifecycle, Deployment...
Additional Info:
Find the way of learning that suits you best. Someone prefers to watch courses; someone prefers to read. If you prefer to read, force reading, if you prefer to watch people ie. lecturer, there's nothing wrong with that (someone just doesn't like to read). You have tons of videos on YouTube, and you can find every possible answer!
Front-End vs. Back-End
I can't tell you this. Someone prefers to do front-end design, and someone prefers to work with databases and to do functions on the server, and they don't have an "eye for design". If you noticed in this tutorial, I didn't write anywhere whether it is for frontend or backend developers, because I believe that every developer must know both backend and frontend! I'm not saying he should be a master of both. But it is simply important that you know the principles of frontend and backend, this makes you full person!
Later you can decide on something for which you have more ambitions, but it is simply necessary for a frontend developer, in addition to mastering HTML, CSS, React, Angular and so on... to also know how the backend works, security concepts and that. Likewise, a backend developer should know how to fix a bug on the frontend, know responsive design and the fundamentals of Front-End Development.
Salaries are in the same range. They might be a bit more for backend developers, but who cares? Don't do this job for money, money is just a byproduct of your work! If you are a master in frontend, great! If you are a master in backend, great! It doesn't matter, as long as you have ambition and you do it the best, you'll earn!
How To Find a Job
It doesn't matter what level you are. I will write you a few items that you should respect and follow to find a job.
1) Setup
Summary
You will learn constantly. The material I have given you is not a comprehensive study material. It can only serve as a guide and guide you. You will learn the most through work and practice. You should also know the theory. But practice is what will teach.
It doesn't matter which programming language you choose. Only the syntax differs. If you don't really know which one to choose, my recommendation is JavaScript. Because it can be used for both backend and frontend side. Don't constantly jump from one to the other, pick one and stick to it! Make a work habit and discipline yourself.
I didn't include a lot of it in this guide, because it's really a big area and it's simply not possible to write everything and not forget something.
If you saw I didn't give the best books for learning and so on, because there are simply no best books or courses that will teach you everything. Pick one book/course and FOCUS ON THAT! Take all knowledge from it!
If you like a visual representation of the roadmap, check this out: Roadmap.sh
If you have any further questions. Feel free to DM me or post a comment. I am willing and eager to answer.
Good luck on your journey
We all know that the IT industry has exploded in the last couple of years. The good news is that the wages are still huge, there are too many companies, there are twice as many jobs and the demand is high.
You may have asked yourself, how do I become a developer? Do I have to go to college for that or can I do it all online? Can I complete a course in a programming language and immediately start printing cash?
Unfortunately, I will have to tell you that this is not an easy path at all, you need to take a lot of time, literally A LOT of time, to learn the technologies. Constant learning is also necessary, as the IT industry is the fastest growing industry in the world and changes, updates and new things are coming out every moment (even as you read this, there are probably thousands of changes happening on the web).
As a person who has been working as a web developer for about 5 years - I changed 4 different companies, I think I can put myself in charge and tell you what it's like to be a developer, what the "correct" path to an IT career looks like, what are the actual salaries, where should I study etc... In this post I will explain in detail how to become a web developer!
This post is not for everyone. I believe that you already have experience on the computer and the web, that you know some basic terms and that you have not sat down at the computer for the first time. This is not a guide for those who are completely uninformed! You must have a good knowledge of the ENGLISH TOO!
Why Career in IT?
I'm not specifically referring to developers, there are many other positions (cyber security, administration, database admin...). I will write you a few positive and a few negative sides of the IT career.
Positive Sides:
- The working environment is generally very friendly everywhere.
- You can work from home, on the balcony, in the garden, at the pool (as long as you complete the tasks on time, you're fine)
- SALARIES are higher than in other industries.
- You will be more appreciated in society.
- In addition to IT skills, you will master more than 50 others while working!
- It's scalable! By improving your knowledge, your salary will also increase.
- You can write open-source code and help the IT community!
- YOU CAN MAKE LOTS OF IF YOU KNOW WHAT ARE YOU DOING!
Negative Sides:
- Constant learning and mastering of new technologies (Industry is always up to date)!
- A lot of stress
- It's hard seriously.
- You will become less social (80% of you will)
- Very good self-organization is necessary
- Hours will pass much faster (trust me)
- You will very likely lose your good eyesight
- You will become addicted to caffeine
- You MUST have daily activity, or your spine will curve, and you will be hunchbacked.
Development vs. Cybersecurity vs. System Administration
I honestly had experience with all 3 fields of work, and also, I have colleagues from these industries. I will briefly describe what you will be doing, what to expect and will you get bored quickly...
- Development - I highly recommend you choose this if you have ambitions to work in a team environment, you like to: code, spend all day looking for bugs, constantly get annoyed when some stupid thing doesn't work... You will constantly learn; you will always be able to improve. You will NEVER GET BORED! There will always be work, even if you don't have more tasks on the list, you can always fix some security issue, or fix some warning or improve some part of the code! You will meet a lot of people, because the largest number of IT people is in this circle. You will also learn a little about cyber security and database administration. It's very easy to get hired (I'll explain later). If you are very good at this and know how to lead a team, you can very easily start a company and find a mountain of clients (I'm not saying it's easy, but the demand is very high, but so is the competition).
- Cybersecurity - There are very few good Penetration testers, Ethical Hackers, Malware Analysts... If you are ready to: constantly learn, to deal with security flaws, love to write reports, love Linux and hate Windows users, love dollars, then this is the right place for you. If you have real skills, and you are good at this, you can even find work more easily than developers. The good thing about all this is that salaries are generally higher than developers. You can always go to the "dark side" and earn huge cash (not recommended). I won't talk much about this since I don't have that much experience, so I'll leave that to someone else.
More detailed guide: Cybersecurity Skills & Carrer Roadmap
- System Administration - A large number of ethical hackers have mostly moved on from being an administrator. So if you ask me, if you are interested in the cyber security department, you should first master the system administration. Salaries are generally lower than developers. Keep in mind, when I say less, I don't mean that they are always less and you will earn less, I'm just saying that they are generally less than developers' salaries. But there's nothing wrong with this, even more so if you're good at: server maintenance, server administration, granting privileges, monitoring server activity, database maintenance (yes), automating processes, fixing problems with various things... You can have a great future with administration.
More detailed guide: Linux Admin Roadmap
College? University? Courses?
Here I will present the truth about university and colleges and courses for IT career. If you ask me, universities and colleges are the biggest waste of time as far as the IT industry is concerned (as for medicine, architecture... then they are really necessary). If you have enough knowledge and complete projects successfully, no one will ask you for a degree.
BUT, there is one big but. If you have never worked before, you have no work experience, you are young, you cannot force yourself to study constantly, the university/faculty is the only way out for you. It really helps if you don't have a work habit. But if you feel that you can learn on your own and be a so-called "self-taught" developer, there is absolutely nothing wrong with that. I'm a self-taught developer. I attended university and I didn't like the progression and the program plan, so I dropped out very quickly.
I'm not going to tell you that you shouldn't go to university. I'm just going to tell you that you can use that time much smarter! However, everyone has their own opinion, and I absolutely respect other people's opinions.
If you decide to attend a university, there is nothing wrong with that, the only advice I can give you is that in addition to regular studying for exams and laboratory exercises, work independently on improvement and "applicable" knowledge.
The decision is up to you. Everyone does what they think is best.
As for courses. I am a big "course hater". Many of you think that after the course you will immediately find your dream job, that money will fall from the sky and that you will immediately buy a new Porsche. However, this is not the case. Look at the courses as something that should only give you a foundation for further work! Courses usually teach 10% of the total knowledge. They are an excellent resource for beginners. But books (or eBooks) are far better. They provide a much wider range of knowledge, invest much more deeply in the lessons. The courses generally only cover surface knowledge. For now, just let that stay in your brain.
Independent Work Is Gold
You MUST do it yourself. Courses, books, universities and the best schools will not teach you anything, if you do not start your own independent projects!
I watched numerous courses, numerous Indian tutorials, read numerous documentations... until you start working on your own, none of it will remain in your memory! Keep that in mind, JUST WORK, WORK and WORK. I gained my greatest knowledge by attending open-source code and working independently on various unprofitable projects. When you start dealing with errors, bugs, warnings and various other things yourself, then you will learn the most important lessons in programming!
Anyone can learn basic procedural functions and object-oriented programming in theory. But not everyone can apply it to real projects, because that's when creativity and code quality come in!
Remember, do independent projects, that's where you'll learn the most!
How to Become a Web Developer?
Level 1: Entry-Level
- Take Harvard's CS50 Course - Into to Computer Sciences Course on YouTube
- Learn How Internet Works? I recommend taking a Network+ Study Book and read everything in detail! Google it!
- Pick one programming language from an array [C++, Java, Python, Go, C#, Rust], stick to it and LEARN BASICS! (Study material link bellow)
- Once you've learned the basics of a programming language well, make at least 10 of your own "small projects". (Small project ideas bellow)
- Learn the basics of SQL, I recommend this: W3Schools' SQL Basic Tutorial
- Master the object-oriented-programming of your chosen programming language! (Study material link bellow)
- Register on Leet Code or Hacker Rank and start solving problems/tasks!
- Understand OSI model. (Study material link bellow)
C++ Fundamentals W3 Schools
Python Fundamentals
C# Fundamentals W3 Schools
Small Project Ideas: C++ Projects (although it says C++ projects, you can do them in any programming language, workflow is important)
Object Oriented #1 - MUST READ!
Object Oriented #2 - Useful to read.
OSI Model Explained
This does not cover everything! You also need to do independent research and study constantly!
*BONUS: Everything you do, every project of yours, anything, put it on GitHub. (This will help you with hiring)
Level 2: Junior
- Learn HTML & CSS in-depth (Study material link bellow)
- Learn Basics of Vanilla Client-Side JavaScript. (Study material link bellow)
- Get Familiar with Bootstrap.
- Learn How to Use Git. (Study material link bellow)
- Create at least 5 web pages with HTML, CSS and JavaScript (Project ideas bellow)
- Pick one back-end programming language from an array [JavaScript e.g. NodeJs), Python e.g. Flask or Django, PHP, Java, Go, Rust], stick to in and LEARN BASICS! (Study material link bellow)
- Once you've learned the basics of one back-end programming language, make at least 5 of you own "small projects". (Small project ideas bellow)
- Get Familiar with Web Security Concepts. (Study material link bellow)
- Keep solving tasks on Leet Code or Hacker Rank.
HTML Basics W3School
YouTube HTML & CSS Fundamentals Course
YouTube CSS In-Depth
YouTube Learn Git in 15 Minutes
Project Ideas for HTML, CSS & JavaScript
JavaScript Modern Learning
NodeJS Dev Documentation
Web Security Concepts
This does not cover everything! You also need to do independent research and study constantly!
*BONUS #1: Work constantly on Leet Code and Hacker Rank! You can later add your rank to your CV and increase your chances of getting hired.
*BONUS #2: You can look for a position as a junior developer or if you think you are not good enough, some internship program.
Level 3: Medior
- Based on your chosen backend programming language, select one BACKEND FRAMEWORK and get familiar with it!
- Based on your chosen frontend programming language, select one FRONTEND FRAMEWORK and get familiar with it!
- Learn about APIs. (Study material link bellow)
- Learn about Unit & Integration Testing. (Study material link bellow)
- Understand OS concepts. (Study material link bellow)
- Learn about Design & Development Principles. (Study material link bellow)
- Learn Redis. (Study material link bellow)
- Search for open-source codes in desired programming language on GitHub and try to improve the code.
- Get Familiar with Linux's Terminal.
- Learn in-depth: Networking, Security & Protocols.
- Learn some CI/CD Tool.
- Get Familiar with one CMS.
- Keep solving tasks on Leet Code or Hacker Rank.
What is API?
Unit Testing
Integration Testing
YouTube Operating System: Crash Course
Introduction to Software Development
Redis Documentation
This does not cover everything! You also need to do independent research and study constantly!
*BONUS #1: You should already be looking for a job here. you already have good amount of knowledge, and if you have studied enough and mastered all the items. you can certainly get a job as a Medior or Early-Medior Developer.
*BONUS #2: Chase some certifications. My recommendation is Microsoft or a larger company. Trust me put your money into it and it will pay off!
Level 4: Senior
- Keep mastering your selected frameworks.
- Keep mastering Application Security. (Study material link bellow)
- Select one Cloud Provider and get familiar with it [AWS, Microsoft Azure, Oracle Cloud]. (Study material link bellow)
- Learn about Scaling Databases.
- Learn about Cloud Design Patterns.
- Learn how to monitor software and infrastructure.
- Keep solving tasks on Leet Code or Hacker Rank.
SQL Injection
Social Engineering
Clickjacking
Cloud Design Patterns
This does not cover everything! You also need to do independent research and study constantly!
*BONUS: I can't tell you much about this level, since I'm currently on it myself. The only thing I can tell you is that you master what you currently know and possibly include cloud computing. Learn more about Development Lifecycle, Deployment...
Additional Info:
Find the way of learning that suits you best. Someone prefers to watch courses; someone prefers to read. If you prefer to read, force reading, if you prefer to watch people ie. lecturer, there's nothing wrong with that (someone just doesn't like to read). You have tons of videos on YouTube, and you can find every possible answer!
Front-End vs. Back-End
I can't tell you this. Someone prefers to do front-end design, and someone prefers to work with databases and to do functions on the server, and they don't have an "eye for design". If you noticed in this tutorial, I didn't write anywhere whether it is for frontend or backend developers, because I believe that every developer must know both backend and frontend! I'm not saying he should be a master of both. But it is simply important that you know the principles of frontend and backend, this makes you full person!
Later you can decide on something for which you have more ambitions, but it is simply necessary for a frontend developer, in addition to mastering HTML, CSS, React, Angular and so on... to also know how the backend works, security concepts and that. Likewise, a backend developer should know how to fix a bug on the frontend, know responsive design and the fundamentals of Front-End Development.
Salaries are in the same range. They might be a bit more for backend developers, but who cares? Don't do this job for money, money is just a byproduct of your work! If you are a master in frontend, great! If you are a master in backend, great! It doesn't matter, as long as you have ambition and you do it the best, you'll earn!
How To Find a Job
It doesn't matter what level you are. I will write you a few items that you should respect and follow to find a job.
1) Setup
- Create a GitHub profile and post your references / project!
- Make a good CV! I'm sure there are plenty of tutorials on this topic (Include your GitHub profile in it, and also your Leet Code and Hacker Rank profile)
- Create your LinkedIn profile and make it "ATTRACTIVE" (this is the most important item of all for you, if you have a good LinkedIn profile, you will automatically alert the recruiters. A good LinkedIn profile fulfills: a large number of contacts, a good personal profile picture of you, list the skills you have and solve the LinkedIn assignment for them, list all the certificates you have (if you don't have one, get some as soon as possible, recruiters focus on certificates, even though they sometimes don't mean much nothing).
- When you are looking for a job, apply "Easy Apply" filter on LinkedIn.
- If you are not from a Top-Tier Country, put only those countries as target location. (If you are a junior, you can work in your country)
- Apply a filter for "Remote Positions".
- Enter "[MASTERED PROGRAMMING LANGUAGE] Developer" in the search field.
- SEARCH! Read the requirements they have (you don't have to fulfill all the requirements, if you fulfill at least 70% of the requirements, you are the right person)
- Apply for a minimum of 50 jobs per day for 3 days.
- After 3-4 days, remove the "Easy Apply" filter, and apply to 25 jobs a day for 3 days.
- Trust me, if you have enough knowledge, someone will contact you for sure!
- They will mostly contact you by email. Try to write nice and cultured emails.
- When they ask you when you want to arrange a meeting, make sure you get it done as soon as possible! Add one to two days as a reserve if something comes up but trust me make the meeting as soon as possible!
- Prepare for the interview. Let's say you applied for a JavaScript developer. Two days before the interview, look at the most frequently asked questions for JavaScript developers on the Internet and read them. Also master object-oriented programming!
- Don't be late! NEVER be late! If you are late, chances are you will not get the position.
- If something happens that you don't know during the interview, never answer with "I don't know that". Respond with: "I've seen and read something about it, I'm not competent to give an answer because I'm not sure if it's true. But I'll definitely look into it and master it," something along those lines.
- Don't get upset. This is a numbers game. There is a high probability that you will not get the job in the first 5 interviews. But after that, you won't have any jitters and you'll get into the game!
- When asked about your expected salary, never say, for example, $3000. Always give a range, for example answer with: "My expected salary would be between $2800-$3400."!
Summary
You will learn constantly. The material I have given you is not a comprehensive study material. It can only serve as a guide and guide you. You will learn the most through work and practice. You should also know the theory. But practice is what will teach.
It doesn't matter which programming language you choose. Only the syntax differs. If you don't really know which one to choose, my recommendation is JavaScript. Because it can be used for both backend and frontend side. Don't constantly jump from one to the other, pick one and stick to it! Make a work habit and discipline yourself.
I didn't include a lot of it in this guide, because it's really a big area and it's simply not possible to write everything and not forget something.
If you saw I didn't give the best books for learning and so on, because there are simply no best books or courses that will teach you everything. Pick one book/course and FOCUS ON THAT! Take all knowledge from it!
If you like a visual representation of the roadmap, check this out: Roadmap.sh
Do NOT get into web development for the MONEY. $ is just a side effect of your work! If you're only in this business for the money, you'll never make it big. If at the beginning of the process you see that this is not for you, give up, believe me! DO NOT FORCE ANYTHING!
If you have any further questions. Feel free to DM me or post a comment. I am willing and eager to answer.
Good luck on your journey