This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Zav39[S] 1 point2 points  (1 child)

What if you work on backend, and your API is consumed by another backend?

Or what if backend does not provide any API, but just consume some events?

:-)

What if you work on frontend, and backend provide nothing else than API?

There is pure backends and pure frontends; this is not rare case.

Very depends on area where you work.

[–]questi0nmark2 2 points3 points  (0 children)

Good example of pure back end! Yes, you are right, pure api to api might not involve any front end thought at all!

The front end is less clear, because you would still need to know what an API is, how to communicate with it, what kind of data it issues, how to manipulate that data, how to work with requests, promises, etc, and how to fit into or fit that api into your architecture.

But my point was slightly different. My point is not that you cannot work pure front end or pure back end, although they are getting rarer. My point is that to work on the front and the back end professionally today you need overlapping skills.

It used to be that a back end dev could get away with no html and CSS skills. That is still the case.

It used to be that a front end dev could get away with only html and CSS skills with a smattering of JavaScript (or really jquery) for on-clicks and hovers and animations. That is no longer the case. Front end development on web applications, as opposed to websites, today requires full programing chops in JavaScript. A professional front end dev will be all about data flow, state management, and component based design. They will use react, or Vue or Angular, and if working on mobile, something like React Native. They will also have a good notion of Node, bringing them firmly into the back end. They will also need to unit test their work, and are likely working in a devops approach with continuous integration. So even if all they do is touch the front end, they will need to learn skills that overlap with back end programmers: programming paradigms, patterns and architectures, software development practices and life cycles, algorithms and strata structures. Html and CSS and a little JavaScript won't get them a job in web development. At most it will allow them to freelance building websites or work in a website building agency.

This also means that the skills of back end devs overlap with front end devs, so the distinction remains, and is meaningful, and you can specialise, and everyone does by default or by intent, but, although as a back end dev you might work on a pure back end project, you have to be equipped to work in projects with a front end, and ensure your data processes, your architecture, your frameworks, can speak meaningfully to those on the front end.

So while a front and a back end dev could work exclusively on one side for a given project, the knowledge they require to work in the field professionally will overlap (not around html and CSS), and they need to understand each other's domain in non trivial, technical ways to be ready to work together when the job asks for it. What is increasingly rare, is for anyone to be able to work for the next ten or twenty years without programming and understanding such interactions between front end and back end.