6 ms·
This was just posted and already there are two types of comments: 1. Most devs don’t need this, it’s not so helpful to know etc. 2. These are critical numbers
by lbacaj 6y ago
This was just posted and already there are two types of comments:
1. Most devs don’t need this, it’s not so helpful to know etc.
2. These are critical numbers to know and in the very least devs should know these numbers.
This sort of disagreement is common in our industry, it’s not just this it’s also Big O, algorithms and data structures, and even OS fundamental people disagree on.
I’d love to take both groups of devs commenting and give each group a set of programming tasks to complete. Judge them based on correctness, speed of development, speed the tasks run, the quality of the code etc, etc.
I think the results would be profound.
- bJGVygG7MQVF8c 6y ago> set of programming tasks You set off in the right direction but unfortunately haven't engaged with the heart of the matter at all. That there is no easily measurable "set of programming tasks" in common between even highly proficient developers of different types is the point. The core comms failure here is that "software engineer" is too broad a term. We're actually discussing superficially similar but essentially different professions that aren't yet acknowledged as such.
- nullsense 6y agoYou'd then also have to give each dev a task representative of the kind of work they nah do on a daily basis. I think you'd find probably people are good at what they spend time doing a lot and tend to brush off things they don't as not important.
- sverhagen 6y agoIs it but because our jobs are so varied? My team implements what I would call "business logic" for a (relative to Google scale) small number of users. We often frown at algorithmic coding exercises, like what we believe Google would ask in interviews, using the argument: we suppose that makes sense if you have to optimize compression of YouTube's video streams, which we don't have to... (Rather, our small, ambitious team emphasizes optimization for maintainability over performance.)
- taneq 6y agoIn my experience, at least, the vast majority of software development jobs are developing this kind of 'enterprise' infrastructure. The technical details are usually straightforward and the complexity is in meeting the needs of the users and the business, and the amount of processing required is trivial on modern computers to the point where implementation performance almost never matters. Jobs where you need to do anything tricky or performance-sensitive, where it's worth knowing fancy algorithms and low level implementation details, are few and far between.
- mod 6y agoAlternatively, find successful startups and find who coded their MVP or whatever they started with, and see which type of dev has more success. I'm guessing the results won't be as lopsided and "profound." Correctness, quality, speed are not always defining metrics (and sometimes they definitely are!).