5 ms·
It's not the full stack engineer that's problematic. How to successfully utilize human beings that have varying degree of skills and ethics is what the problem
by zmxz 4y ago
It's not the full stack engineer that's problematic.
How to successfully utilize human beings that have varying degree of skills and ethics is what the problem is.
The one with high-level of such skills is an asset, not the problem.
It's possible to be *good* in many areas if you know what you need to achieve and how certain aspects of technology work. Getting around idiosyncrasies of various frameworks is the easy part if you're aware of what you have and where you need to be with the task at hand. Memorizing these is unrealistic. Creating mnenmonics and similar techniques that serve as shortcuts is what sets experienced worker (in any area) apart from the one that tries to memorize all the buzzwords that frameworks use.
- zasdffaa 4y ago> It's not the full stack engineer that's problematic. It is the problem. They ask for everything. No human can be that except perhaps some incomplete human who has traded their humanity for tech, learning and never going out (I briefly worked with a couple of these, I don't envy them). It's like asking for a full-stack "vehicle" - car, ship, lorry, tractor, rocket all in one, it's not happening. Idiots.
- christophilus 4y agoWhat? Being a full stack engineer just means you need to know how to write JavaScript and SQL and not store plaintext passwords. I’m being a bit facetious, but it’s really not some incredibly high bar. Anyway, if you enjoy programming, then it’s an even lower bar. If you don’t enjoy programming, yeah; not much is going to help. I’ve never met a happy, successful programmer who didn’t enjoy the craft. Those who don’t love it end up burnt out, leaving for a different career, moving into management, or working for Oracle (zing!).
- zasdffaa 4y agoWe need to define what the term means then. Because any plonker can write js and sql after a few weeks playing around and make a mess of all of it. What is the point of having a low bar when you're employing somebody? "C# (.NET 6), React (Typescript / Next.js), PostgreSQL, Kubernetes, Kafka, OpenTelemetry (and more)" - from https://news.ycombinator.com/item?id=31679768 https://news.ycombinator.com/item?id=31679768 Done properly, meaning to bring real value, you need to know SQL pretty well. Ditto C# (ditto, no doubt, web dev). Kafka is nontrivial software. It's not something a mortal can pick up in a few months.
- christophilus 4y agoI've never once used Kubernetes or Kafka or OpenTelemetry, but I've been "full stack" since before those technologies existed. There are plenty of full-stack Node shops. You only need JS as a language (or preferably TS, these days). And many, many companies can get away with just Postgres as their data store, with maybe a caching layer like Redis or Memcache or even an in-process cache. Heroku, Render, Fly, etc can solve the Kubernetes problem for a whole lot of projects for a very long time, so I don't think Kuberentes belongs on a "must know in order to be full-stack" list. When I first started in the industry (when C# was pre-1.0), you simply hired "engineers". Your expectation for them was that over time, they'd learn the peculiarities of your entire tech stack. But immediately, they'd be able to understand most technical problems at a fundamental level, reason about it, and give a reasonable solution with a decent list of pros / cons / tradeoffs. I've made hiring decisions for around a decade now, and that's still my expectation of an engineer. I don't expect every engineer I hire to know my stack (it's varied wildly from project to project: C#, jQuery, SQLServer, Memcache; Rails, Redis, MySQL, React; Preact, Polka, Postgres, a bunch of AWS junk; React, Hapi, ElasticSearch, etc. You don't need to know the intricacies of the full stack when you join a team. You need to be able to understand why you might need a bit of tech, and when tackling an issue, you may need to learn a new bit of tech to better solve the problem.
- Chris_Newton 4y agoIt’s an unfortunate example of the strange priorities that seem to plague our industry. I’ve also been doing this development thing for a while now, and at this point I’m fairly sure the actual order of what matters looks something like this (most important first): 1. Solid fundamentals in development and/or infrastructure as appropriate 2. Soft skills, particularly different styles of communication and organisation 3. Domain knowledge relevant to the role/product 4. Knowledge of any specific language, tool, process or technique We could debate the order of the top two. Domain knowledge is new to almost everyone when they first start a new role, unless they happen to have worked for someone else in the same field before. The specific technologies are rarely going to be an exact match, but that doesn’t matter as long as someone has good general knowledge and the motivation to quickly learn new tech when they need to. I can’t help feeling that a lot of problems in a lot of development groups would vanish if hiring was based on looking for good fundamentals and a professional approach rather than strict buzzword compliance, and if the day-to-day working environment then supported good people doing deep work. It’s not really surprising that some people think every new technology will take weeks to learn and capable full-stack developers are mythical creatures when you look at the environments and hiring processes they are stuck with, but it doesn’t have to be that way and of course the better developers are drawn to the places that aren’t, which continues the cycle.
- BlargMcLarg 4y agoHave you seen job ads for full-stack these days? It's far beyond "JS and SQL". If that's your idea of facetious, I'd like to see your idea of what you think is realistic. DevOps, DBMS, HTML+CSS, JS, a back-end language, a front-end framework, both language and framework considered "non-transferable" by many for some insane reason, "cloud". That's just the beginning. >I’ve never met a happy, successful programmer who didn’t enjoy the craft. You're conflating "juggling the company's entire stack" with "programmer". Many of us learn programming for reasons other than fullstack webdev, but we work there because the vast majority of low-risk, well-paying jobs in software development are webdev, while doing the things we consider "fun" in our own time. At the very least, piping generic information and writing glue code isn't my idea of "fun programming".
- inopinatus 4y agoThat is about a quarter of the stack. Anyone calling themselves “full stack” in their cover letter on such a basis is getting red-flagged for lack of self-awareness.
- zmxz 4y agoYou read the sentence in such a way that it can fit the narrative you wrote. > They ask for everything I don't know who "they" refers to and what those they ask for, or what everything is. You're not concise and are answering from subjective point of view rather than from logical. This forum has plenty of engineers that can be considered full stack. You having worked with a few humans who, in an era of their life, decided to pursue something you didn't - means nothing. > It's like asking for a full-stack "vehicle" - car, ship, lorry, tractor, rocket all in one, it's not happening. Idiots. See, it's the opposite. What we refer to as "full stack" is, in my opinion, your basic version of a programmer. A person who solves the problem using tools and are capable of using the right tool for the problem, or find the tool that fits solving the problem. Full-stack would be the vehicle in your story. Not a specialized one. A vehicle. A complete system that can take you, the "client", from point A to B. Even your analogy is lacking. I've no idea why you went on and typed "Idiots", it could very well be the ineptitude of handling the fact there are individuals who are capable of achieving what you deem impossible.
- zasdffaa 4y ago> I don't know who "they" refers to employers > You're not concise and are answering from subjective point of view rather than from logical. It is coming clear that the definition of of 'full stack' is perhaps my tripping-over point. I think of it as meaning extensive knowledge and experience over the whole stack (and that in my terms means cache-line layout to algorithms to frameworks to sql to databases to http to web dev to web standards to to expertise in aesthetics & UI usability). So where do you get your definition of 'full stack'? Pls show me. > See, it's the opposite. What we refer to as "full stack" is, in my opinion, your basic version of a programmer. A person who solves the problem using tools and are capable of using the right tool for the problem, or find the tool that fits solving the problem. That's called generalists. That's me (web stuff excepted). I'm good at that. Why not call them that? So what does it mean to talk about 'full stack' then list a load of tech, as happens in job ads? Cos it implies to me existing knowledge of these things, not just ability to learn them (which I can). 'Idiots' was a mistake.
- zmxz 4y ago