Web development encompasses lots of skills, technologies and techniques. Basically, web development is the work that goes into creating websites for the internet. Web development can entail anything from a simple static web page, to full fledged web apps, e-commerce sites and social networks.
Web developers are the people that make the part of the internet we see happen! Generally, a web developer will be hired by an organization or business to create a website or app. The web developer then works with other people in a team to create what the client needs. Web developers frequently specialize in front-end, back-end or full-stack development.
As a project grows, so do the sizes of the teams involved. As a team grows, new ways of organizing work need to be implemented. One of the most popular methods of organizing software development is Agile. Individual developers will usually specialize into different roles, like working on the visual aspects of the product or the server side. This is what we mean by front-end and back-end, respectively.
Front-end developers are focused on presenting the data and information that the client needs to display, in a way that the user can interact with or consume. Two important goals of a front-end developer are accessibility and performance. It's vital that the web be available to as many people as possible, and by making a site more accessible, people with different devices and needs have a better chance of using the site! Performance is all about making sure that a website or web app loads and displays quickly for a user.
A full-stack developer is someone who has worked on mastering both front-end and back-end! That means they can move from setting up the interface of a site over to the back-end that serves the data that the front-end needs. This can include setting up things like a database, working on DevOps and making a mobile app version of the product. The full-stack developer shifts back and forth depending on the requirements of the product.
Stacks are the different tools and technologies the full-stack developer uses to create the product. Some of the most popular stacks are the MEAN stack, which includes MongoDB, Express.js, Angular and Node. Another popular stack is MERN, which substitutes Angular for React for creating the front-end.
Web developers are usually well paid because of the challenging nature of the work. They also have the opportunity to choose their path. They can decide to try to work at a large company like Google or Facebook, an older company like IBM, a smaller start-up, as a freelancer or at a consultancy firm.
Depending on the path a web-developer takes, they can expect a different experience. Companies like Google and Facebook have extremely competitive hiring practices, but also pay very well. Older companies like IBM may not be as up to date, but will generally have more stable environments. A start-up provides a fast-pace, with lower pay but usually with the chance to help the company grow much larger. Freelancing entails finding and managing your own work and time, but with the requisite business skills for success. A consultancy takes care of those business skill needs, and lets a developer focus mainly on the actual development part of the role.
Web developers use many tools depending on the work they're doing, but generally they all utilize command lines (CLI), integrated development environments (IDE) and version control (like Git). They also extensively utilize their research and learning skills on a daily basis. There is so much to know and learn that it is expected that a web developer takes advantage of Googling skills and sites like Stack Overflow, MDN, W3Schools and specific tool documentation to find the answers they need.