Hacker News new | past | comments | ask | show | jobs | submit login

I've seen plenty of projects with separate front end and back end developers fuck up because the front end developers try to solve "back end problems" on the front end and vice versa.

This is the cause of an awful lot of technical debt, and "big, widely used consumer facing app" is the natural habitat of large technical debts.




I vividly remember a case where a really simple page in a system had become incredibly slow - on asking what had changed I was told "all we did was add a count of the number of users".

Turns out the back end (they were micro-services - even though the term hadn't been invented at that point) didn't have a call for "total number of users" so the front end code (this was server side HTML generation - 10+ years ago) was getting a list of every user in the system and iterating over all of them in chunks and counting.


Probably some last minute feature that was forced with a same day deadline. If I had a dollar for each of those I'd be able to retire.


I've seen projects where a 'back end dev' has written CSS or other FE stuff and done a terrible job of it - just bad code.

CSS and the DOM has it's own set of quirks and bits of required knowledge that good FE devs will all know quite well.


That's a communication issue, in our project, we sit our back end devs side to side the front dev ends. "Information must flow".


> I've seen plenty of projects with separate front end and back end developers fuck up because the front end developers try to solve "back end problems" on the front end and vice versa.

I totally agree, but even if you have a front-end and back-end communicating well, sometimes the front-end developers throw too much over the wall to the back-end, like when the front-end "thinks it is more intuitive if the request looked like this" instead of something else that would be just as easy to create and would be much less work on the back-end. And I'm sure the opposite is true as well with back-end putting too much work on the front-end.

And, in the argument against a single full-stack developer being the solution to this problem, I've seen extremely talented full-stack developers create some terrible user interfaces, and some who created great user interfaces that would struggle to create adequately performant server-side services to back them.


No matter how you do it you can shoot yourself in the foot.


I don't think that means we must end specialisation and lose all the benefits it brings. Rather: specialise and communicate better.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: