<story><title>I Don’t Believe in Full-Stack Engineering</title><url>https://robinrendle.com/notes/i-dont-believe-in-full-stack-engineering/</url></story><parent_chain><item><author>warent</author><text>This article is conflating junior developers with full-stack engineering.&lt;p&gt;I work on the entire stack. Can I work with databases and write queries? Sure. Can I do it as well as a data architect? No. That&amp;#x27;s not what&amp;#x27;s expected of a full stack engineer.&lt;p&gt;We can have meaningful, productive discussions with everyone on all parts of the stack. We&amp;#x27;ll talk with the data architect, write&amp;#x2F;tweak a query if we need to, we&amp;#x27;ll talk with the product manager and collect some features, we&amp;#x27;ll communicate the requirements to a backend engineer if one exists and help prepare the API as necessary to ensure the frontend can query for only what it needs when it needs it, and we&amp;#x27;ll connect it to the frontend which we built (yes, even using data chunking, semantic UI, and accessibility, all of which are expected in professional front-end development)&lt;p&gt;To the purist engineer, none of this is part of their reality because the purist doesn&amp;#x27;t have business requirements or tradeoffs. In the real world of business, these skills generate profit and are especially useful with new products and prototypes. If you&amp;#x27;re experienced enough and have a great team with you, you can execute on this with minimal technical debt that doesn&amp;#x27;t create long-term problems while still providing users with a great experience.</text></item></parent_chain><comment><author>bcheung</author><text>Agreed.  I would also add, I don&amp;#x27;t think frontend vs backend accurately describes how skillsets are clustered anymore -- especially with JavaScript&amp;#x27;s increasing ubiquity.&lt;p&gt;I would cluster skillsets into: ops, development, and design.&lt;p&gt;Ops: making things highly available, logging, performance monitoring, reliability, deployment scripts&lt;p&gt;Development: Writing code on both frontend and backend.&lt;p&gt;Design: Visual design and CSS&amp;#x2F;HTML&lt;p&gt;Most developers I&amp;#x27;ve interacted with at various companies write both APIs in the backend and user facing UI.  In my experience it&amp;#x27;s becoming increasingly rare that a frontend developer doesn&amp;#x27;t also write backend code.&lt;p&gt;They typically aren&amp;#x27;t very good at making their apps deployable and highly available, and they also aren&amp;#x27;t very good at making things look good with CSS.  Sure they can do it, but it isn&amp;#x27;t their specialty and it would be quite a learning curve or it just takes them much longer than someone who does just that.&lt;p&gt;When hiring people, I like to find people who are strong individually in those 3 areas (ops, programming, design).  I don&amp;#x27;t try to find programmers who can do ops or design.  I don&amp;#x27;t worry so much about a frontend engineer being able to do backend work and vice versa, the crossover is generally smooth and interchangeable.&lt;p&gt;It is generally easy to find ops, and programmers who specialize and are talented.  Designers who can do visual design and code it up are a bit rarer, so sometimes it is needed have 1 person do design and another person code it up.&lt;p&gt;Also, a very senior person is obviously going to be stronger in each of those areas, so full stack is highly correlated with working experience.</text></comment>
<story><title>I Don’t Believe in Full-Stack Engineering</title><url>https://robinrendle.com/notes/i-dont-believe-in-full-stack-engineering/</url></story><parent_chain><item><author>warent</author><text>This article is conflating junior developers with full-stack engineering.&lt;p&gt;I work on the entire stack. Can I work with databases and write queries? Sure. Can I do it as well as a data architect? No. That&amp;#x27;s not what&amp;#x27;s expected of a full stack engineer.&lt;p&gt;We can have meaningful, productive discussions with everyone on all parts of the stack. We&amp;#x27;ll talk with the data architect, write&amp;#x2F;tweak a query if we need to, we&amp;#x27;ll talk with the product manager and collect some features, we&amp;#x27;ll communicate the requirements to a backend engineer if one exists and help prepare the API as necessary to ensure the frontend can query for only what it needs when it needs it, and we&amp;#x27;ll connect it to the frontend which we built (yes, even using data chunking, semantic UI, and accessibility, all of which are expected in professional front-end development)&lt;p&gt;To the purist engineer, none of this is part of their reality because the purist doesn&amp;#x27;t have business requirements or tradeoffs. In the real world of business, these skills generate profit and are especially useful with new products and prototypes. If you&amp;#x27;re experienced enough and have a great team with you, you can execute on this with minimal technical debt that doesn&amp;#x27;t create long-term problems while still providing users with a great experience.</text></item></parent_chain><comment><author>taurath</author><text>More than that, we can talk to designers, product people, leads, etc and have a better holistic view of the glue that holds everything together.&lt;p&gt;Its EXPECTED however that one not have all the answers.&lt;p&gt;In my experience, across general app development there are 4 specializations, and any given engineer should be able to straddle 2 of them.&lt;p&gt;Client Infrastructure | Client Product | Backend Product | Backend Infrastructure&lt;p&gt;Full stack generally stays to the product side of both. They tend to have a relatively shallow context on the current goings on of infrastructure&amp;#x2F;tooling, but can focus on one area or another when the time calls.</text></comment>