6 ms·
It's Anecdata, but when I was coming up through my Computer Engineering program a few years ago there were roughly three categories of students: 1. The Traditi
by scottLobster 8y ago
It's Anecdata, but when I was coming up through my Computer Engineering program a few years ago there were roughly three categories of students:
1. The Traditionalists: Students who are fascinated by the technology and what it can do at its limits. These people are disproportionately drawn towards the more arcane/unsexy applications (RF, hardware, high-power, radars, antenna design, IC design, embedded systems, robots, rockets, quantum computing, etc) and research.
2. The New Wave: Students who were inspired by a Steve Jobs keynote, these people were almost exclusively interested in potentially mass-market user-facing applications and have a greater emphasis on image (both personal and professional).
3. The Unmotivated: People who are there "because it pays well" and for no other reason. Not many of them made it to graduation, and the ones that did were "meh" engineers at best.
Most of the naive junior engineers you're seeing probably belong to the modern incarnation of category 2. Steve Jobs has been dead long enough for new grads to have been inspired by the next generation of buzzwords. They're fine engineers in general, but they have a sometimes unhealthy fixation on said buzzwords and how "future" they are, because that's what got them into engineering. Most will concede when a simpler solution is presented, but it's uncomfortable for them. Unsexy but effective techniques undermine their aesthetic impulses and, to a degree, their self-image as engineers.
A good popular example is Elon Musk refusing to use LIDAR on Teslas, and introducing way too much automation, too fast at Tesla's factory. People, even junior engineers who think they're part of a "ground-breaking" movement often have trouble separating "obsolete" from "tried-and-true".
- palisade 8y ago4. The Savant: Also known as the absent minded professor. You could throw questions at this person in an interview and they will seem completely inadequate and unprepared. But, then apply them to a problem on the job and like a juggernaut they will defeat any obstacle. They will even solve problems your best engineers have been struggling with for years without breaking a sweat. A lot of companies make the mistake of weeding this type of engineer out in the interview process.
- abhishekjha 8y agoI may qualify in this category. Companies reject me because I gave them a brute force solution for finding repeated values in an array. But there hasn't been any single instance with my current job that I couldn't check all of the requirements that were assigned to me, even those which I thought I wasn't prepared for. The hiring/evaluating process needs to get refined.
- somethingsimple 8y agoThat’s my wife (and she actually works at one of the big tech companies). Try and talk to her about tech and you won’t get much out of it. At home she watches Netflix and does her nails. No HN, Reddit or anything. No conferences. Tell her she needs to learn language X and tools Y and Z and she’ll master it in a week. She’ll deliver 10x what everyone in the team does. Top performer in no time. I can’t really wrap my head around it. I’m your typical tech enthusiast always here on HN, coding on my own time, etc. And yet if we were on the same team I’m sure she’d be orders of magnitude more productive than me. Which can be seen by the fact she makes almost twice what I make (am also an SDE at a large company), and is at a higher level despite starting 2 years later than me.
- EliRivers 8y agoPresumably you're spending your free time following your interests and passions, which have some overlap with your work. Sounds like she follows the needs of her job. The tangential, part-overlap enthusiast is always going to get toasted by the person going full on what's needed.
- noir_lord 8y agoIt might well be that, I've run into a few people with the ability to ruthlessly focus on the problem at hand often by reframing the problem in a way that people didn't expect. A couple of them where so far ahead of me it was like teaming up with a different species. I don't buy the 10x developer stuff but I'd certainly put them in the 1.5x-2x category, We ended up working well together though I'd naturally take the "flesh this out, make it bullet proof, document it" side and they'd do the more creative part (it's not that I couldn't do it as well, it was just they'd do that in half the time). I learnt a lot working with them.
- scarface74 8y ago3. The Unmotivated: People who are there "because it pays well" and for no other reason. I don't see anything wrong with that. I started programming in the 80s in the 6th grade because I was the stereotypical "short fat kid with a computer". (I got better) but after a few years in the industry, the only reason I code is for the money. The only reason I keep learning is to stay employable. It's not for a higher calling, it's not to change the world, and I don't enjoy doing it enough to learn any technology that isn't in demand in my local market.
- noir_lord 8y agoI love to program just for fun but as I've gotten older other interests have to be balanced against that and I have to stay current with the technology so while I still program for fun I direct it in areas I know will be more useful to me at work.
- noir_lord 8y agoI love to program just for fun but as I've gotten older other interests have to be balanced against that and I have to stay current with the technology so while I still program for fun I direct it in areas I know will be more useful to me at work. When I was in my 20's it was very different to late 30's I had far fewer responsibilities so I think part of increased responsibility is knowing which problems to tackle.
- scarface74 8y agoI don't really enjoy programming as much as I use to. I enjoy "building systems". I've enjoyed building software departments, building network infrastructure in AWS, building autoscale systems and finding ways to avoid the drudgery of building stuff and leveraging pre existing building blocks that allow me to avoid the "undifferentiated heavy lifting". I take a perverse joy out of being able to rip out code that I wrote after finding a package on the internet that does the same thing. I'm not saying I don't enjoy development - but as a part of building the system. If I can find a hosted solution for a piece of infrastructure, I jump on it. I'm all in on "serverless". I would fail any algorithm type interview these days. I'm just not interested in algorithms. I'm much more interested in leveraging libraries/frameworks/infrastructure providers to get things done.
- crankylinuxuser 8y agoI'm going to ignore #3. They really don't matter and are crap at best. The problem with #1 is that they refuse to acknowledge the newer tools of analysis and understanding. They cling to older "mature" tools and methods, with nary a care of if/how the newer ones work. They won't be the fastest or novelist, but one ting can be said: it will work, and it will work well. The problem with #2 is "Oh shiny OH SHIT". They go down the path of the next new thing, with little to no understanding that the old fogeys already did that and it didn't work then. But their big advantage is, it might just work now and enable a whole new area. And it's really hard being in both #1 and #2.
- somethingsimple 8y agoAbout #3s - read this comment I just posted about my wife: https://news.ycombinator.com/item?id=17060366 https://news.ycombinator.com/item?id=17060366 I didn’t mentioned it there but the only reason she got into Software Engineering is because it pays well.
- crankylinuxuser 8y agoAh. I was also attributing "lazy, claim a lot, do little, and copy from stackexchange" type. I certainly wasn't thinking of 10x dev who wants to get away from it when out of work.