Practical Guide to becoming a web developer in 2023

Practical Guide to becoming a web developer in 2023

Intro

Hello, My name is Abdul Ahad, but I like to be called Abeer. I have been exploring web development for the last 5 years and working as a professional for the past 2 years. I will share everything based on my experience and exploration in this space of tech.

You might have heard of web development as a lucrative career. Well, web development is evolving every now and then. So you gotta be cautious before you enter the field. You need to have the right expectation and know the reality of web development. Otherwise, you will be very vulnerable to getting imposter syndrome once you become a web developer and invested a lot of time and effort in it. One of the greatest advantages of being a web developer is that if you are efficient and dedicated to programming, your career can flourish and financial stability will naturally follow.

Have Right Expectation

See, having an interest in a certain profession is not enough to start pursuing it. You need to have a realistic expectation of the time frame and salary range. That's why I always emphasize the importance of having the correct expectations.

Let's get straight to the point. While the average salary in web development is often satisfactory for many individuals, it's important to recognize that you won't immediately earn such a salary after learning HTML, CSS, and JavaScript. It requires a combination of skill set, experience, and efficient work to reach that level.

It takes time to become proficient in web development, so it is important to be patient and not expect to become an expert overnight. While web development can be a lucrative career, it often takes time to build up the skills and experience necessary to earn a high salary. It is important to focus on building a strong foundation of skills and knowledge and to be open to continuing to learn and grow in the field. With the right mindset and dedication, anyone can learn web development and build a successful career in this field.

Web Development in 2023 and Beyond

Web development in 2023 is different than the recent years. One example I must tell you is that you could find a lot of jobs where traditional javascript with ES6 was enough. But nowadays it's rare to find companies or startups that rely solely on traditional JavaScript. Most of them now prefer developers who are familiar with TypeScript. It is difficult to predict exactly how web development will evolve in the coming time. In 2023 the increased use of artificial intelligence and machine learning in web development is one of the biggest changes that we need to adapt ourselves. We need to know the use of AI tools in web development and take advantage of most of them. To be honest, it's not like a choice or recommendation. This is kinda something you must do. But you don't need to be worried, because you are now in your beginning stage. So, until you finish acquiring the proper knowledge of web development to be hirable, you should not be concerned about how many AI tools you need to learn or when to use them sort of things.

These 4 topics in the following will answer whether you should pursue web development or not:

Opportunities: Opportunities are a lot out there. If you have the proper skillset, it's not difficult to get a job in 2023. Web development is a field, you can do your job regardless of your location, time zone or even educational background if you have a relatively good internet connection. The only thing that counts is how much skilled you are. So, in terms of opportunities you should not be worried. But the recommendation is don't just randomly pick a tech. See what is the demand in the job market and be good at it.

Threats: After chatGPT got popular a lot of developers got in fear that whether chatGPT is gonna steal their jobs or not. But also developers made a solution by taking advantage of chatGPT. Basically, the solution is to be good at using chatGPT and other AI tools to maximize your coding speed and efficiency. It's clear that competition is increasing day by day. To distinguish yourself from others, it's important to continuously improve and stay updated. It's not a problem. Just imagine if you were a doctor or an engineer. In those fields, it's crucial to stay informed about new diseases, new designs, and upcoming trends. This is the case for any well-paying job. Being updated and aware of what's coming ahead is essential for success.

Sustainability: A lot of people have this question that whether web development is a sustainable job or not. If you have the same question then the answer is a big YES. But there is a catch. You should consider yourself as a programmer, not just a web developer. The reason behind this is sometimes you may need to learn a certain level of coding AI or machine learning. That could be making a bot. If you limit yourself by thinking you're only a web developer and shouldn't venture into other areas, you'll hinder your career growth. Meanwhile, others who embrace a broader perspective will progress, leaving you behind. So, it's essential to have an open mindset to ensure a sustainable career, even if the job market changes.

Future: Now if I tell you that web development will remain forever then this will be a lie. In reality, nothing lasts forever. It's important to understand that jobs, including web development and engineering-related roles, can change or even disappear within the next 20 years, according to Yuval Noah Harari, an Israeli author. However, instead of worrying about the distant future, it's more useful to focus on the next 5 to 10 years and how things might change during that time. By staying updated with the latest news, learning from experienced developers who adapt well to changes, and understanding that programming is unlikely to vanish soon, you can be prepared for whatever comes next. Even if AI becomes prevalent, programming will still be relevant. There's a popular saying: "AI won't replace you, but someone who uses AI will."

Learning Time & Salary Range

Based on data from indeed.com, the average salary for web developers in the US is $82,325. However, it's important to note that salaries may vary in different countries. From my personal experience and understanding of the economy, this salary is generally sufficient for a decent standard of living, considering basic needs. To gain a better understanding of the job market and salary range in your specific area, it is recommended to explore local job sites. One of the greatest advantages of web development, in my opinion, is the ability to work remotely from anywhere in the world. This flexibility allows you to choose your location while pursuing a career in web development. Thus you can earn a high salary even if you live in a low economic country.

I apologize for not mentioning earlier that there are three main types of web developers: FrontEnd, BackEnd, and Fullstack Developers. Here's a brief overview of each:

  • FrontEnd Developer: They focus on the design and user experience that you see on a web browser.

  • BackEnd Developer: Their role involves handling server-side operations and managing data flow.

  • Fullstack Developer: This type of developer possesses skills in both FrontEnd and BackEnd development, enabling them to handle both aspects.

Salaries can vary among these roles. Generally, Fullstack Developers tend to earn higher salaries compared to others. It's common to observe that FrontEnd Developers receive relatively lower compensation than BackEnd Developers. However, if you excel in any of these roles, you can expect a good salary package.

The learning curve and time duration to learn web development and secure a job can vary depending on various factors such as prior experience, dedication, learning resources, and the complexity of the skills you aim to acquire. Here's a general overview:

  1. Fundamentals: Learning the basics of web development, including HTML, CSS, and JavaScript, usually takes a few months (2-3) of consistent learning and practice. This foundation forms the backbone of web development.

  2. FrontEnd Development: Mastering FrontEnd technologies like frameworks (e.g., React, Angular, or Vue.js) and responsive design can take several additional months (1-2) of focused learning. This stage involves gaining expertise in creating interactive user interfaces and optimizing user experiences.

  3. BackEnd Development: Delving into BackEnd technologies, such as server-side programming languages (e.g., Node.js, Python, or PHP) and databases, may require several more months (1-2) to grasp the concepts and build functional BackEnd systems.

  4. Fullstack Development: Becoming proficient in both FrontEnd and BackEnd development to work as a Fullstack Developer can take around a year or more of continuous learning and hands-on practice. It involves bridging the gap between FrontEnd and BackEnd technologies.

  5. Portfolio Development: Building a portfolio by working on personal projects or contributing to open-source projects is essential. This can take a few additional months(1-2) to demonstrate your skills and showcase your abilities to potential employers.

  6. Job Search: The duration of the job search can vary depending on factors like location, demand, and your networking skills. It may take several weeks to a few months to find the right job opportunity that aligns with your skills and goals.

Remember, this timeline is a rough estimate, and individual progress may differ. Consistency, hands-on practice, continuous learning, and updating your skills according to industry trends are key factors that can accelerate your learning journey and enhance your employability as a web developer.

I would recommend starting from either FrontEnd or BackEnd. If you work hard and dedicate time well then it is very possible to become a FrontEnd or BackEnd Developer within 5 to 6 months.

Roadmap

If you have read the previous section you already know that there are multiple types of web development. FrontEnd, BackEnd and Fullstack Development. There is a website roadmap.sh where roadmaps are nicely presented. So, let me share with you the links. Before sharing I want to let you know that go with their recommendations, marked with purple tick.

Front-end Development Roadmap

Back-end Development Roadmap

Fullstack Development Roadmap

If you feel the Fullstack development roadmap is messy then let me tell you that it's a combination of both FrontEnd and BackEnd Development. Some tools are recommended to learn along with these two. But you can learn them later, no problem.

Now I have generated a roadmap from chatGPT with an understanding of a beginner's level. I've also changed some text of it to make it more sense to beginners:

FrontEnd Development

Here's a suggested roadmap for FrontEnd development:

  1. HTML and CSS:

    • Learn the basics of HTML (Hypertext Markup Language) and learn CSS (Cascading Style Sheets) very well.

    • Understand how to structure web content with HTML tags and apply styling using CSS selectors and properties.

  2. JavaScript Fundamentals:

    • Gain a solid foundation in JavaScript

    • Learn about DOM manipulation and event handling to make web pages interactive.

  3. FrontEnd Frameworks and Libraries:

    • Choose a popular FrontEnd framework like React, Angular, or Vue.js.

    • Explore CSS preprocessors like Sass or Less to enhance your styling workflow. Sass with SCSS is recommended

    • Learn at least one CSS framework among TailwindCSS, Bootstrap, Material CSS or Bulma. My recommendation is TailwindCSS

  4. Responsive Web Design:

    • Understand the principles of responsive design to create websites that adapt to different screen sizes and devices.

    • Learn CSS techniques like media queries, flexbox, and grid systems for responsive layouts.

  5. Version Control:

    • Learn Git, a popular version control system, to track changes in your codebase and collaborate with others using platforms like GitHub or GitLab.
  6. Performance Optimization:

    • Dive into techniques for optimizing website performance, such as code minification, caching, lazy loading, and image optimization.
  7. Web APIs and HTTP:

    • Explore the basics of web APIs (Application Programming Interfaces) and how to fetch data from external sources using technologies like Fetch API or Axios.

    • Understand HTTP (Hypertext Transfer Protocol) concepts and how to make HTTP requests.

  8. Testing and Debugging:

    • Learn about different testing approaches like unit testing and end-to-end testing.

    • Familiarize yourself with debugging techniques and tools to identify and fix issues in your code.

  9. Continuous Learning and Industry Trends:

    • Stay updated with the latest FrontEnd technologies, frameworks, and best practices.

    • Follow industry blogs, attend conferences or webinars, and engage in online communities to keep learning and growing as a FrontEnd developer.

Remember, this roadmap is a general guide, and you can tailor it based on your specific goals and interests. It's important to practice hands-on coding, work on personal projects, and continuously explore new concepts and technologies to enhance your FrontEnd development skills.

BackEnd Development

A suggested roadmap for BackEnd development:

  1. Programming Language:

    • Choose a BackEnd programming language such as Node.js (JavaScript), Python, Ruby, or PHP. My recommendation is to learn NodeJS. Because NodeJS is popular and is javascript with few differences. Thus it will be easier to become a Fullstack Developer.
  2. Web Servers and HTTP:

    • Understand how web servers work and the basics of the HTTP protocol.

    • Learn about request-response cycles, status codes, and handling HTTP methods (GET, POST, PUT, DELETE).

  3. Relational Databases:

    • Gain knowledge of relational databases like MySQL, PostgreSQL, or SQLite.

    • Learn SQL (Structured Query Language) to interact with databases, perform CRUD operations (Create, Read, Update, Delete), and understand database design principles.

  4. NoSQL Databases:

    • Explore NoSQL databases like MongoDB or Firebase for non-relational data storage.

    • Understand the concepts of document-oriented databases and how to work with NoSQL data structures.

  5. APIs and Web Services:

    • Learn how to design and build RESTful APIs (Representational State Transfer).

    • Understand concepts like endpoints, request/response formats (JSON, XML), authentication, and API documentation.

  6. Server-Side Frameworks:

    • Choose a BackEnd framework based on your programming language, such as Express.js (Node.js), Flask (Python), Ruby on Rails, or Laravel (PHP). Express is recommended.
  7. Authentication and Authorization:

    • Explore techniques for user authentication and authorization, including sessions, tokens (JWT), OAuth, and role-based access control.
  8. Caching and Performance Optimization:

    • Learn caching mechanisms like Redis or Memcached to improve performance.

    • Explore techniques like database indexing, query optimization, and server-side caching.

  9. Security Best Practices:

    • Understand common web application vulnerabilities and how to mitigate them (e.g., Cross-Site Scripting, SQL Injection, CSRF).

    • Implement security measures such as input validation, output encoding, and secure communication (HTTPS).

  10. Testing and Debugging:

    • Learn about BackEnd testing approaches, including unit testing, integration testing, and API testing.

    • Familiarize yourself with debugging tools and techniques to identify and fix issues in your BackEnd code.

  11. Deployment and Infrastructure:

    • Gain knowledge of deploying BackEnd applications to platforms like AWS, Azure, or Heroku.

    • Understand concepts like containerization (Docker), virtualization, and scalability.

  12. Continuous Learning and Industry Trends:

    • Stay updated with the latest BackEnd technologies, frameworks, and security practices.

    • Follow industry blogs, join developer communities, and engage in online discussions to stay connected and learn from others.

Remember, this roadmap is a general guide, and you can adapt it based on your specific interests and goals. It's crucial to practice coding, work on projects, and continuously explore new concepts and technologies to enhance your BackEnd development skills.

Resources

The internet is full of resources. You can join bootcamps, buy paid courses on udemy, zerotomastery, coursera etc or watch free courses from YouTube.

Here I will give you youtube channels recommendation for three languages: English, Bengali and Hindi:

These are not just a few youtube channels to learn to code. If you follow along you will become a beast in coding and no one can stop you from being a successful coder.

English Youtube Channels: Dave Gray, Bro Code, freecodecamp, PedroTech, Laith Academy, The Net Ninja, Traversy Media

Hindi Youtube Channels: Coder's Gyan, Geeky Shows, CodeWithHarry, Thapa Technical

Bengali Youtube Channels: Learn with Sumit - LWS - Bangladesh, Anisul Islam

There are a lot of great channels. But in my opinion, you need only these channels to become a beast coder in web development. The best thing is these are absolutely free.

There are some free and interactive courses out there that you can follow along. These are:

freecodecamp.org, the odin project, codecademy.com

use these resources to unleash your potential to become an absolute ninja programmer.

How To Get A Job

If you've followed the steps carefully, now it's time to get into the web development world with a hands-on skillset. I suppose you have learned the skills well and prepared your portfolio with multiple show-case projects so that employers feel you are a potential employee for their start-ups or firms. Since you have prepared all the necessary things to attract employers, now it's time to get a real job. Here is a catch. you might need to secure an internship before you get a real job. Nevertheless, you are going to get a ton of experience even if you secure at least an internship. Remember, an internship or an entry-level job is not your ultimate place as a professional, rather it is your chance to gain a lot of experience and learning of how developers work in a team and do their job in a real situation.

There are a lot of ways you can get a job. The following list is what I personally suggest:

  1. Facebook job posting groups of your local area

  2. linkedin.com

  3. indeed.com

  4. freelancer.com

  5. turing.com

  6. vuejobs.com

There are 2 more chicky ways you can get a job from. they are Discord and Twitter. Discord is not totally tricky. The fact is it's a less-known way compared to the sources I mentioned up here. Discord has several servers where you will be able to post your need for a job and also you can drop your resume to job posts posted by others.

On the other hand, Twitter has an interesting approach to getting hired. There is a concept called "tech Twitter," which involves following and being followed by people in the tech industry. By creating a good profile and sharing valuable tweets, you can increase your visibility. This can lead to potential employers sending you direct messages (DMs), or you can take the initiative and DM them yourself.

These alternative methods provide opportunities to tap into different networks and increase your chances of finding job opportunities.

Take Your Career To The Next Level

Identify a specific area of web development that interests you and become an expert in that domain. This could be front-end development, back-end development, full-stack development, mobile web development, or a specialized field like e-commerce or cybersecurity.

Engage with the web development community by participating in forums, attending meetups, and contributing to open-source projects. Sharing your knowledge and insights can enhance your professional reputation and networking opportunities. Collaborate with other professionals, designers, and developers to work on projects or join development teams. Networking can lead to new opportunities, job referrals, and mentorship.

Consider obtaining relevant certifications in web development technologies or frameworks. Certifications can demonstrate your expertise and commitment to continuous learning.

Attend conferences and workshops: Stay updated with the latest industry trends, technologies, and best practices by attending web development conferences and workshops. These events offer valuable networking opportunities and access to industry experts.

As you gain experience, explore opportunities to take on leadership roles such as technical lead, project manager, or team lead. This allows you to mentor junior developers, make decisions, and contribute to the strategic direction of projects.

Remember, career growth in web development is a continuous process. Stay curious, embrace new challenges, and never stop learning and improving your skills.

Conclusion

In conclusion, web development offers promising opportunities for those who are willing to invest time and effort into acquiring the necessary skills. While web development may evolve and job market dynamics can change in the future, programming skills will remain relevant. By staying adaptable, continuously learning, and leveraging AI tools like chatGPT to enhance productivity, web developers can position themselves for long-term success.

The internet offers a wealth of resources, including bootcamps, paid courses, and free tutorials on platforms like YouTube. Engaging with coding communities and learning from experienced developers can also accelerate your growth.