Software/ Website development can be categorized into,
Back end – Java, PHP, ASP.NET / C#.NET, Ruby
Database – Microsoft SQL Server, MySQL, Oracle
So by definition a developer who works on front-end is a front-end developer and a developer who works on back-end is a back-end developer.
Front-end developers are responsible for a website’s user-interface and the user-experience architecture. They work closely with designers to construct and improve the ui/ ux of a website. A good front-end developer can be able to accurately identify specific issues in user-experience and provide recommendations and coding solutions to improve the design.
Back-end developers generally handle the server and the data. Their job is to build an application and also to design/ implement it’s interaction with the server and the database. They manipulate data and also work with public and private API’s. A good back-end developer should have a sound knowledge of Linux/ Windows as a development and deployment system; he/ she should also have insights on different version control systems such as GIT/ SVN.
This ignited the emergence of fullstack developers which blurred the lines between front-end and back-end developers. Start-ups played an important part to popularize this role. These developers are jack-of-all-trades and master-of-some. They provide full package and can cross functionally work on entire technology stack for a company. This is a win-win situation for both an individual and a company. For an individual developer, it adds solid skills on his/her resume, a solid learning experience is in store, moreover they get to work on some kickass and challenging stuff but sometimes the job of a fullstack developer can be very complex and demanding.
Happy coding and developing!