A web developer is someone who builds websites, web applications, and web based solutions. Their duties vary significantly depending on their role, the stacks used within the company, and the type of clients they work for and their needs. Typically there are three variations that people talk about within web development. The front end developer, the back end developer, and the full stack developer. I break down the differences more here!
The main purpose of a web developer is to create web-based solutions and applications. Typically, day to day this looks like tasks ranging from small bugs and fixes to full development of a website or application. The web developer is needed to make custom solutions for clients. Custom development is typically where the money is at. The experience of the web developer will also dictate what they will be working on. The newest and greenest of web developers will be more focused on smaller tasks, bugs, and fixes; while a more seasoned developer might focus on more complete solutions. When building out projects in most cases the web developer will receive its designs from the web designer. So some basic photoshop, in-design, sketch, and other adobe suite products is usually helpful/necessary for the job.
A Full Stack developer is one who has significant experience in both front end and back end development. They take the best of both worlds and provide a complete solution following the full life cycle of the project. Having one of these developers on a team is invaluable. They are able to build with the intention of the complete product, which allows them to optimize development with this in mind. I talk more about the differences between front end vs back end development here!
There are two paths to full stack development and they are constantly debated on which is better. Some claim front end first, while others state that back end first is better. I don’t think either is innately wrong; but rather as long as you are learning and growing each day you will progress into that role. I think it is important to get a firm grasp of the concepts and get extremely comfortable with both sides of development. Whenever you think you know it all, I promise you there are 10x as many things to learn than you are aware of.
That being said, as long as you are practicing your development skills on a consistent basis; you are on the right track. I do not think a specific time frame is appropriate to decide when one is full stack developer. Because comparing 2 years of someone who codes 2-3 hours a day vs someone who works a 9-5 doing development and codes in their free time are two drastically different levels of developers. I think the moment one can comfortably handle a web application and all levels of development from front end to back end within multiple languages and its uses is ready to be a full stack developer.
Web development can vary on many different levels depending on the desired outcome of the product. Working for companies to build their site and applications will usually lead to specific stacks already being used. Whereas client based work can vary from project to project depending on the needs. Front end development is the most common starting point because it is a more visual-based development. Back end development requires more logical thought and is less visual as they are working to communicate with the server.
Within web development, some people will strive to become a full stack developer. This opens up a lot of options and gives the developer knowledge to see a more global perspective on development from start to finish. This is a great goal to work towards, but do not get caught up with the buzzword just to be called one. Focus on your development in both areas, grow each and every day; and when you are finally comfortable with both sides of development you will be a full stack developer.