5 ms·
> The quality of your average tech worker has completely nosedived in the last 10-15 years I find this opinion hilarious: Almost 30 years ago the second most p
by pera 3y ago
> The quality of your average tech worker has completely nosedived in the last 10-15 years
I find this opinion hilarious: Almost 30 years ago the second most popular software product was Windows 95 (Doom was the #1), which couldn't run for a few hours without BSODing. Almost 20 years ago the average tech worker was building atrocities with Visual Basic, MS Access and PHP.
Meanwhile today it was announced that Google decided to lay off several compiler engineers working on LLVM, but sure, please tell me more about those low quality bootcamp kiddos that are ruining everything...
- caeril 3y agoThe LLVM layoffs notwithstanding, OP is still largely correct in general. Your typical developer could solder, knew how the CPU works, knew roughly how many clocks would retire a MOV, ADD, MUL, etc, was cognizant of wait states, understood cache lines, protection rings, instruction decode, memory mapping, etc. Try asking a typical Django or React developer today what a cache line even is.
- zb10948 3y agoYeah the OP is quite correct. Ask your generic web developer about nuances of HTTP, SSL or even networking in general.
- democracy 3y agoAsk your VB veteran about the same topics ))
- sdf4j 3y agoThat's nonsense. Your typical developer had to deal with all those things in the past maybe, but is no more than specialization knowledge. You don't care about how many ticks you need to MOV with indirect addressing when you are developing Django. Feels like complaining because someone that is not a Django developer doesn't know how proxy model inheritance works.
- caeril 3y agoAll abstractions leak like a sieve. Being a developer at ANY layer of the stack without knowing what's happening underneath you is default gross incompetence and a recipe for eventual disaster. Are we cool with surgeons not knowing what mitochondria are, or how cells work? All you gotta know is where to put the scalpel, bro. I'm sure it will work out just fine.
- bnchrch 3y agoThis is laughably over blown. I don’t expect my doctor to know the component parts of atoms. Nor do I need them to. I don’t expect a designer to know how a pixel works. At some point in the stack we have to draw a line and say this level of detailed knowledge is not generally useful to the majority. In terms of generic web development today, I would be fine at drawing that line at low level system concerns (memory allocation, cpu cycles, hell even compilation)
- Communitivity 3y agoI recently had a conversation with a senior React dev about Redux with years of React experience. I mentioned during a dry run that you can clear the store, if a local storage store (default), with localStorage.clear() from the dev console. Response: "Cool, I didn't know that.". This guy is good at creating UIs, but that's an example of 'How this works' knowledge I'd of expected him to have. It's a pervasive epidemic of learn just what you need to ship, instead of learn what you need to ship a quality product and hone the tools in your toolbox.
- graemep 3y agoNot 10 or 15 years ago. Maybe that level of knowledge was common in the 70s or 80s. It is not possible either now - there is just too much complexity for people to know all layers of a stack. Look at how much more complex just a CPU is. Transistor counts in CPUs have gone up by five or six orders of magnitude since the 8 bit era. We now have all kinds of complex optimisations like out of order execution.
- runjake 3y agoI still marvel our younger IT workers when I mention that in the 1990s, a very large percentage of sysadmins could not only program, but knew C and regularly wrote ad hoc tools in C (or Perl. Perl? What's Perl?). These days, if you're a sysadmin who can program, you're considered some sort of wizard.
- dijit 3y agoSenior sysadmins in the late 2000's knew how to code for sure, usually perl and some C (though not to the level you'd want them writing code full time). More fancy sysadmins who were "modern" would learn Ruby. The issue with "sysadmin" was that it suffered an inflation treadmill, what used to be a very difficult job where you would need to understand programming, debugging, compilers, OS design, distributed systems and so forth became a title for senior helpdesk staff; who, naturally, did not know those things.
- netsharc 3y agoSteve Wozniak, the Steve that built the first Apple computers, knew what every component on it did, and he wrote every line of the ROM. Nowadays it's, "Well a Stackoverflow comment said if I add this line in the config, it will work, and it did, so... I closed the ticket.", but the complexity of computers nowadays makes it unfeasible to learn everything inside out, at least not if you need a gazillion developers (I think only a low low sub-percent of them know their software and hardware stacks inside out) because everything needs to be software-ized.
- herval 3y agoWhich one is able to deliver a web app faster? Lots of people here completely missing the point - understanding assembly in the age of infinite cloud computing resources is equivalent to saying a guy who can build a wood hut on his own is more able to get jobs than a modern day construction worker. Even though they have some random or deeper technical knowledge, it doesn’t make them any more employable or relevant
- cqqxo4zV46cp 3y agoGP left a fair number of qualifiers in their post which you have conveniently ignored so that you could cherry pick an example of people being laid off from roles perceived to be comparatively hard / prestigious. This is a bad-faith argument. If you disagree with what they’re clearly trying to convey, and want to make a case against it, I’d be keen to hear one without cherry-picking some compiler engineering layoffs in a company where the vast majority of others are obviously doing something very different to that.
- pera 3y agoIf you feel my argument is in bad faith it would be useful if you could provide evidence for OP's opinions. I personally find the comment quite uninsightful, unfounded and specially disrespectful towards those affected by this new wave of layoffs.
- whiplash451 3y agocqqxo4zV46cp is commenting about the way you reason about the topic, not whether the OP is 100% right, even less about the emotional aspect of things.
- discreteevent 3y agoThe comment about windows 95 BSOD'ing didn't help your case much either.
- Fervicus 3y agoDevelopers who were building atrocities with VB and PHP 20 years ago are the seasoned vets that you would want on a team today.
- democracy 3y agoHaha not really, only as BAs or manager's maybe...
- snarkyturtle 3y agolol those are the people who can't let go of their beloved, outdated stacks, no way can they develop as well as the new kids on the block
- Fervicus 3y agoYes, you are right. There are plenty of those too in that group sadly. But my point still stands - most of the smart, up to do date, experienced devs who have "seen it all" were probably writing god awful VB6 and PHP code when they were teenagers. The "new kids on the block" were the ones I saw that decided that statically typed languages suck and dynamic is the way forward, only to discover how static types help and now they are bolting on static types to their dynamic stack. I'll also say that I am not trying to generalize the newer generation as bad programmers; I have worked with plenty of very smart younger devs. It's just much more harder to come across them now in a sea of mediocre bootcamp devs.
- SergeAx 3y agoRight. New kids will deliver you 50k LOC React frontend app with additional 1GB of `node_modules`, where you may actually feel good with PHP website sprinkled with jQuery.
- mortallywounded 3y ago> "those are the people who can't let go of their beloved, outdated stacks" ... said the nextjs/vercel/graphql/whateverishotthisweek developer. Ironically, your stack will be outdated next week.
- znpy 3y ago30 years ago you could do a lot with 8-16 mb ram and no internet connection. Nowadays... unplug a modern computer from the internet and it's mostly useless. Want to write a simple document, using a basic word preocessor? You're going to need at least 1GB ram, mate. VisualBasic allowed writing GUI-enabled applications that would be essentially be standalone, shipped as executable files sized at (usually) less than a megabyte that would mostly "just work". Nowadays most people write GUI app in the form of frame-less web browsers displaying html and running Javascript, requiring more than one cpu core and 2-4 GB of ram to be barely usable. Yeah I definitely can see how "The quality of your average tech worker has completely nosedived in the last 10-15 years". As a system engineer... I have worked with some developers that constantly had memory issue ("I need more memory to run my containers, please increase the memory quota in the (kubernetes cluster) namespace") and reasoning about memory was just a non-existant skill. They just had no idea what was using memory in their software. Literally, their ass was mostly saved by the fact that process management nowadays is "good" at restarting software and managing retries on failures. Knowledge about the underlying operating system was also very very basic. Such people, while surely filled with good intentions, were mostly useless without some random Medium article instructing how to apply some generic fixes, or without some stackoverflow question covering their exact use case. But wait, it's way worse than this. There also are people that got promoted to managers, don't have a solid technological background (besides the little coding they've been doing before being promoted) and just can't understand the willingness to optimize and "geek out" on performance issues (and the value of such activities). Oh and don't even get me started on nowadays a "senior developer" is somebody that is good at "delivering value to customers" instead of somebody that knows the ins and outs of the problem domain and has mastery over the technological stack. Working in tech nowadays is a lot less about tech, it seems.
- seanmcdirmid 3y agoI guess you are calling Carmack a bad programmer? But I agree that the layoffs probably aren't based on programmer quality. When big companies lay off, they generally select products, and if you are unlucky enough to be working on that product...off you go. Merit-based layoffs are more stealthy and continuous, those are definitely being ramped up now, but probably not in the numbers companies need to cut due to overhiring or hiring in the wrong areas.
- dijit 3y agoThis is great, I find your opinion hilarious. Yeah, Windows 95 BSOD'd a lot; however the people developing it were doing it for the very first time, largely with single-digits of megabytes of memory to work with and with a CPU that not only contained bugs[0] but was so slow that every single operation would take milliseconds of wall time[1]. It's not comparable, it's almost to the level that rendering a character on my screen right now consumes more CPU cycles than the entire operating system would have done in a day. PHP was good, actually, but it's borne of its time- it's easy to use 20:20 vision of history to say it's a bad design when fundamentally: A) it solved problems B) it was working with the best of human knowledge in language design at the time C) it remains one of the most well optimised web languages to this day, even a variant from the era would easily outperform any django webapp, I'd put money on this. We stand on the shoulders of giants, good abstractions and lessons from these periods are what make our software so robust today. We made it a lot slower though. [0]: https://en.wikipedia.org/wiki/Pentium_FDIV_bug https://en.wikipedia.org/wiki/Pentium_FDIV_bug [1]: a 60Hz CPU executes an clock tick once every 16ms, Pentium 1 was the most popular CPU when Windows 95 released, and it had a clock speed of 60/66MHz; it was the first to be able to do two instructions per clock, meaning it had a best case scenario of 7.5ms assuming the 66MHz option was available.
- meheleventyone 3y agoOn [1] aren’t you off by several orders of magnitude, 1MHz is 1,000,000 Hz. You’re correct for 60Hz but then use that value for MHz which is quite a lot more clocks per second.
- dijit 3y agoah, quite right, none-the-less, missing a clock or a cacheline is incredibly consequential meaning optimisations turn out to be pretty... high risk.
- wait_a_minute 3y agophp is awesome
- SergeAx 3y agoI will fully discard your argument because Windows 95 was a tech marvel of its time, huge leap in consumer OS segment and stayed unchallenged until introduction of Windows 2000 Professional, which was actually more on the workstation side. BSODs were mostly avoided by using MS-authored drivers.
- kcplate 3y agoYour comment is basically akin to complaining how rough and slow it would take a person with a machete to trailblaze a path through a dense forest as opposed to how long it takes a person to travel the beautiful paved road that was built on top of that trailblazed path. Somebody had to thrash through all the shit for that superhighway you are traveling on my friend. I was around back then. We didn’t have a magical browser box that you could type a couple of key terms into to get a thousand articles, code samples, philosophical discussions from hundreds of smarter people than you who have already solved your problem a dozen different ways and got to chose, and improve one. You didn’t have hundreds of languages, libraries, and frameworks where you could selectively pick the right tool. Back then you had your problem and you experimented and invented until you solved it generally with the one or two tools that were available at the time. And with the benefit of nearly 40 years in tech…I can attest to the OP’s opinion that the quality of the average tech worker has nosedived since then.
- mnky9800n 3y agoHaha I was talking about this to a colleague the other day. That if it was like 1987 and we wanted to use a fast Fourier transform, we would pull a book off the shelf like numerical recipes in C hoping it was there and implement what we find there. Then after a couple weeks of making sure that worked we would realize it's not fast enough so we would probably do things until it does what we want. Today you just use any one of the one liner libraries that offer it like scipy, pytorch, etc. but that's amazing because it offers us a sophisticated solution that we can use out of the box to design our own sophisticated solutions.
- deterministic 3y agoCouldn't agree more. 30+ years of experience here. 10% of developers do 90% of the work. 10% of developers are so bad that productivity for the team would improve if you fired them.
- mattbrewsbytes 3y agoI saw the same influx of salary-seekers during the dot com boom. Generally people that don't have a native curiosity and love of computing just don't pan out well. I'm not gatekeeping or against them trying, would love it if people were more honest about it but honesty isn't part of the hiring culture ("why do you want to work here?" "money" is frowned upon as an answer.) It would be like if there was a housing boom and residential house framing ramped up base hourly pay to $100/hour with lunches provided and relaxation chambers onsite. You would see a huge influx of people going to it for the money rather than someone who is really into construction, knows load bearing tolerances, code for hurricanes or earthquakes, how to properly frame stairs, etc.