Every day new people want to become web developers. So they try to find what they should learn to find a job, but soon they are overwhelmed by the many technologies that they read about. In web development there are three types of developer roles. Front-end developers, back-end developers and the “Jack of all trades” full-stack developers. I will try to briefly explain these roles.
Front-endWhat he does Front end of a website is what the visitors see and how he interacts with it. The front end developer must create a pleasant user experience and at the same time he is responsible for the correct positioning of certain elements of the website. For example the correct placement of advertisements, login/register, social media and other crucial elements is essential for the website.
What he needs to know
What he does
While the front end is everything the user interacts with directly, the back end is much more behind-the-scenes. The back end developer’s job is to ensure that the application handles all of the calculations and database interactions needed to ensure a consistent performance. The majority of actual coding is done on the backend, and all backend code runs on the server-side rather than the client-side.
What he needs to know
One thing to note: You’re probably not going to see many job listings that say a company is looking for a “back end developer.” Instead, you’ll find listings looking for Ruby developers or PHP developers, etc., because the actual programming language a developer knows is key to being the right fit for a particular job. It is true though that if you become accustomed to one back-end programming language you will probably grasp quite fast a new language. PHP, Ruby, Python, Java, C#, Nodejs are all programming languages for the back end so knowing at least one or two of them is essential for start. But as expected only that is not enough. Frameworks exist at the back end too and every language has a different one so you must learn one framework too. For example if you pick Ruby then you will need to learn one of Ruby’s frameworks ex. Ruby On Rails. Ok thats enough right? Well nope, to be able to interact with databases and store and fetch data you must also learn SQL, a programming language to write queries for databases. Most of the times though the back end framework you use will have an ORM (Object Relational Mapping) which will make your life easier when interacting with the database. Thats all. Well no sorry. There is one more thing that a back-end developer should know. Most webpages and apps today are integrated with other systems including payment processors and social media networks. Web services allow for easy communication between front end and backend technologies. Two web services that all backend developers should become familiar with are SOAP (Simple Object Access Protocol) and REST (Representational State Transfer).
What he does
Everything. Front end, back end and even more than that. As the line between what can be done on the front end vs the back end becomes more and more similar, and as things that were previously only possible on the back end become possible on the front end, more developers are becoming what we call “full stack.” A lot of employers (especially agencies who work on different kinds of sites) are looking for developers who know how to work on all the parts of a site, so they can use the best tools for the job regardless of whether it’s technically front end or back end.
What everyone needs to know
There are also a couple of things that both front end and back end web developers should learn. These are skills that are applicable to both sides of the web development process and knowing them will help increase your value as a developer.
Testing and DebuggingBugs are an inescapable part of web development. Both front end and backend developers get the pleasure of testing and debugging. In either case, when a new version of a particular library is being implemented or a new feature is being developed, front end and backend developers must properly test and debug their setup before going from staging to production. Otherwise, you may be in for a big surprise if a piece of code isn’t quite right and ends up breaking the entire web application. Version Control Systems (VCS) Keeping track of changes can save developers a lot of pain if they make a mistake. Fortunately, version control management systems like Git or Merculiar allow coders to revert to older versions of their work for quick revisions. Sources: