Multi-disciplinary is over preached and create average quality across a system instead of having best practices and efficient development everywhere.
Multi-disciplinary is over preached and create average quality across a system instead of having best practices and efficient development everywhere.
* Must do backend
* Must do frontend
* Must do devops
* Must do database schemas like a wizard
* Must know all of AWS inside and out
* Do you like customer support? You'll be doing customer support.
* You'll be doing marketing disguised as engineering blog posts.
Completely unrealistic.
I am none of these.
That said, I personally like working with engineers who at least try to participate in the design/front-end process instead of just passing off to me like they don't give a shit. Their opinions can be informative and it's also a way for me to help teach them a thing or two. Plus sometimes knowing small UI things can help alleviate my workload so that I'm not doing really tiny tasks associated with a project that's primarily driven by a backend engineer.
As a longtime designer/UI guy, I have no illusions of ever being an elite backend programmer. But I actually enjoy learning backend on the side. I feel like it's a way of me having a better understanding how the teams entire codebase works and allows me to have a slightly better understanding of what my team members discuss during meetings. And even for side projects, it's just empowering to be able to implement a product idea from end to end (even though yes, it's likely not stellar code). Overall, just having a growing understanding of how it all connects together is truly rewarding.
-Robert A. Heinlein
Specialization is for people living in societies. Modern civilization would never have come into existence and cannot continue to exist without specialization.