3 ms·
Counterpoint: it is absolutely something you could know all of. In your example, I’d describe myself has highly proficient in c#, Typescript, React, Postgres, a
by icambron 4y ago
Counterpoint: it is absolutely something you could know all of. In your example, I’d describe myself has highly proficient in c#, Typescript, React, Postgres, and Kafka, proficient at Kubernetes, and unfamiliar with OpenTelemetry. That’s just a list of common tools, and if the list were different, I’d be pretty confident I could learn whatever I was missing on the job. Tools are usually the easy part.
I agree you need to know all those things pretty well, but I don’t think that’s a huge ask. You can definitely pick up Kafka in a few months.
Look, maybe all that’s not your thing, which is fine, but knowing a wide range of tools and being comfortable in any part of the architecture isn’t some crazy rare skillset known only to certain cyborgs. It’s certainly not idiocy to seek those people out.
- zasdffaa 4y agoI've been doing sql for decades. You can learn sql in weeks, a few months to get good at it, longer to get good at relational data modelling (I've seen some non-normalised messes) and years to learn the database underneath to get solid scalable performance out of it - and if you don't your business may sink. I think it fair to say if it had not been for me, 2 successful business would have died due to sql perf. problems. Edit: what this means is if you go for a shallow skill level it works at first but may cost later, and very heavily. Good back-end langauge skills, well, I can pick up C# in a few weeks and indeed did - because I had a ton of other language experience behind me. That isn't something you get in a few months - and I mean not just the language but the whole gamut of techniques for solid programming, and you can add functional programming on top. Then you need to understand about garbage generation and big-oh costs of algorithms so you don't do twatty things with linked lists. How about web dev? I know more about html/http/user interfaces than most web devs do and you don't have to look far to see the mess they made (I choose not to be a web dev). Maybe I set the bar high but when I see a list of skills, I assume it means "be actually good in these" not "pickem up as you go along" Perhaps people should be more clear about what they want. > It’s certainly not idiocy to seek those people out. Maybe you aren't looking for the level of skill that I assume you are. But be clear what full-stack means because others (me) may misunderstand it.
- icambron 4y agoFull stack developers who have been working for decades have also been doing sql for decades, because most substantial software uses a database. Perhaps the DB server has changed (I’ve gone deep on Postgres, MsSQL, and MySQL) but the principles are largely the same and while there is plenty vendor-specific knowhow, that is just stuff to learn. > because I had a ton of other language experience behind me Yes, a full stack dev needs this. Why wouldn’t they have it? You seem to be conflating seniority/experience with breadth of skill. Edit: I'll also point out that languages aren't the only thing that "rhyme" in tech. If I were already experienced with Pulsar and Rabbit, I'm not going to have much trouble with Kafka. If I know Terraform well, CloudFormation isn't going to be a complicated new tool. Etc. Having breadth of experience makes taking on seemingly complicated new things far less daunting, as you point out with your c# example. That applies across the board. > How about web dev? I’m not quite sure what you’re trying to say here, but web dev is pretty straightforward, and of course full stack devs have typically done a lot of it. You are either overestimating how hard it is to learn all this stuff, or you are underestimating how close you are to being able to do it yourself. Edit. Here is a framework for thinking about it. You have been doing SQL for decades. But how much genuinely new skills related to SQL have you learned in the last, say, 5 years? Probably not many, because learning is logarithmic like that: you learn quickly at the beginning, and then more and more slowly. So what if you had instead learned a new skill 5 years ago? You'd be quite good at it by now. And if you kept using SQL, you'd stay pretty good at that too. Rinse and repeat a couple times and you're a full stack dev. You'd notice another advantage too: the undercurrent of convergence, where you notice the same patterns emerging in disparate parts of the stack and architecture, and finding yourself reapplying the same principles in very different contexts.
- zasdffaa 4y agoPlease see my other answer as well https://news.ycombinator.com/item?id=31810593 https://news.ycombinator.com/item?id=31810593 Quick question. This. with tbl as ( select x from ( values (10), (20), (30) )as tt(x) ) select \* from tbl where x not in (10, 30) this gets you x --- 20 as the result without running this (same query as above but for addition of a null): with tbl as ( select x from ( values (10), (20), (30) )as tt(x) ) select \* from tbl where x not in (10, 30, null) what's the result? This can be an expensive mistake. It threw my old company into a flurry. Rare, but it happens - do you know why? > while there is plenty vendor-specific knowhow, that is just stuff to learn that stuff is precisely the difference between sleeping at night and "WTF now???, it's 3am and the clients are phoning me from singapore". And then losing your company or spending 20X unnecessarily on a scaling up box. You underestimate it. > You are either overestimating how hard it is to learn all this stuff, or you are underestimating how close you are to being able to do it yourself. Yeah, this discussion has been a major eye opener for me. I wish it had come much earlier. Thanks.
- zasdffaa 4y ago> You can definitely pick up Kafka in a few months. I meant the whole list of things I mentioned, not just one.