3 ms·
I don't believe in Specialized front/backend development when it relates to web development. Web development is and should always be a full-stack affair. Other
by Illniyar 8y ago
I don't believe in Specialized front/backend development when it relates to web development.
Web development is and should always be a full-stack affair.
Otherwise your frontend developers would request apis in a way that destroy performance and create a database model or logic that is unmaintainable on the server-side.
Your backend developers would make apis that make the requested front-end design make a hundred api calls or api calls in the wrong places (like during a transition/animation).
It's not just about communication either, though that's also important - it's exceedingly hard for specialized developers to understand the reasons for another's requests, being full-stack means you can see the full-picture.
It's about owning the feature/product from beginning to end. It's about knowing what tradeoffs to make in the serverside, clientside, database or ops, which you can only do effectively if you are familiar with each.
It's about never being stuck waiting for your backend to fix an api that isn't right, for your dba to build that query so it won't take a year to run.
That isn't to say that you can't specialize while being Full-stack or that specialized roles outside of web development shouldn't exist (for example game development, big data, machine learning).
- sumedh 8y ago> I don't believe in Specialized front/backend development when it relates to web development. Do you really expect a backend java developer to be comfortable with angular/react and vice a versa?
- serpix 8y agoyes!! That is what full stack is. You can, if needed, produce a working app working from the database all the way to front end. This includes, design, ops and development. All of it.
- Illniyar 8y agoIndeed. These aren't very complicated subjects, it's easy enough to learn and doesn't require full-time work to become an expert with (and the same goes for backend web development), it merely requires constant practice and dealing with production.
- hobs 8y agoThe constant practice and dealing with production your java developer would not have unless that became their job focus. So are we agreeing that being extremely broad is an anathema to quality because you cant possibly constantly practice will all things?
- Illniyar 8y agoNo. You can be a senior java developer with great expertise with only a part-time job. There's nothing that prevents you from being at a senior level in multiple technologies or fields of study. More then that though, doing both complements each other, so that a senior level full-stack developer often has better insight about server-side issues then someone who only ever knows how to provide back-end solutions to product level problems.
- icebraining 8y agoI'm not sure you're disagreeing with the author. In the article, full-stack is described as being "the ability to easily navigate the back-end and front-end with a senior level of expertise." I'm a backend dev; I know enough JS and CSS to build a prototype, or to make a tweak like you're suggesting, but I can't build a production-level frontend app or website. If that's full-stack, the term is a bit too fluid to be meaningful, in my opinion.
- Illniyar 8y agoI expect senior fullstack developers to have senior level of knowledge and expertise in backend and frontend. I don't expect senior level expertise from junior full-stack developers. For that matter if you were a senior full-stack developer I would expect you to be able to build a production level frontend as well as a production level backend (though maybe not operation-wise, I.E. deployments and configuration, depending on your background). That still doesn't preclude having expertise. For instance I wouldn't expect a full-stack developer to know how browser rendering works or the difference between layout and paint events (but I would expect him to know to never access an element's size during an animation) - that's someone with an expertise in front-end performance. But anyway that's not what I gathered from the article, to me it purports that back-end developers shouldn't do front-end work.
- icebraining 8y agoIt all just sounds muddled terminology to me. You say you expect them to have "expertise in backend and frontend", but then you say you wouldn't expect them to have expertise like "know[ing] how browser rendering works". So what is it? :)
- Illniyar 8y agoThere are levels of expertise, even as a senior developer. I expect a full-stack senior developer to be able to lift a webapp from scratch (frankly I'll probably expect it even from an experienced junior full-stack developer in today's PaSS world). I expect every full-stack senior developer to be able to get the job done in both front-end features and back-end features, as long as they aren't very specific. I expect him to be able to do so in a maintainable and relatively performant way that has structure and consistency behind it. I expect him to know best practices for both front-end and back-end. In front-end that is for instance knowing that you don't measure dom elements inside animations. I don't expect him to know the internals that led to these best practices (in this case how the browser works and the nature of the layout phase) nor when is it ok to break them. If best practices were followed but something still doesn't work it's okay to call an expert (for instance an expert on browser performance). Specializing as a fullstack-developer means that you are also an expert in some field (for instance browser performance, or web animations, or graphs). Perhaps a better phrasing is that since I don't really expect pure front-end senior developers to know it either, only those who specialize in certain fields, so really a full-stack developer is already a senior front-end developer and a senior back-end developer. There isn't something that makes a front-end developer more specialized in front-end then a full-stack developer, it's just that he didn't work enough on back-end.