Hacker News new | ask | show | jobs
by hardwaregeek 2209 days ago
There's a particular brand of young developer where every opinion comes from a blog post, talk or HN comment. They have strong views on many different topics and believe that they're knowledgeable and smarter than the average developer^[1].

The only issue? They don't have actual experience to back this up. Because not only is most tech content bullshit, the small percentage that isn't BS may not apply to their situation. You may not be working on soft real time systems. You may not be working with big data. You may not be running a company.

I should know—I'm certainly guilty of assuming that because I read about software development, I'm a better software developer. When really there's a big big big difference between reading about development and actually practicing the craft. Especially if you've only been programming casually. There's a massive difference between writing code for fun and writing code that needs to be a value-add for the company.

[1]: https://en.wikipedia.org/wiki/Yogi_Bear

6 comments

Being young is hard, no need to judge to harshly, often a rivalrous blogpost-driven discussion can be turned into a cooperative exploration, which is exactly a way for them to gain the experience.

Quiet, or at-arms-length, dismissal hurts self-confidence and reinforces this blogpost-driven defense mechanism.

It's definitely not the worst to be overly well read in programming literature. But oh man does it get old arguing with someone who is taking advice from a very niche, very particular field such as game development and applying it to general software development.
>often a rivalrous blogpost-driven discussion can be turned into a cooperative exploration

They also often drive away any possibility of meaty conversation because everyone worth hearing from is drowning under a sea of underinformed responses written in a way that sounds like a convincing in-depth discussion to the even less informed passerbys.

I'm no sage, but it doesn't take a genius to see when Hacker News and /r/programming get swept away by a new silver bullet in software development. Then we all have to wait years before the enthusiastic youngsters are ready to hear a realistic conversation about the prima facie limitations of the new magic beans.

I think I possibly fall into this category of developer. I'm currently a few years into game development in the AAA space. The people I listen to most in descending order are Casey Muratori, Andrew Kelley, and Jonathan Blow.

I try to take their opinions with a grain of salt and find my own balance of considerations/tradeoffs. A common sentiment between them that I agree with is that software is a lot of commercial software is often an order of magnitude too slow in important places and that object oriented programming is almost always taken far too far.

I also look up to a few senior programmers I work with who have in-the-same-ballpark values as them.

On a whole, I think reading and listening to them has made me a better developer than if I just fumbled around to draw my own opinions completely from scratch.

I think being that type of young dev is probably fine so long as you keep your dogmatism and humility in check, and ensure your mentors are a spread of different individuals.

I think that's better than other young devs not seeking out information to try and grow.

Yeah you're quite similar to people I know, especially in your view of performance and choice of sources. I definitely agree that bottom line, seeking out info is a net benefit.

I have a fair amount of respect for game developers. However at the same time I feel they can make the assumption that all development should follow their practices. That everybody should be writing in C++/Zig/Jai/Rust, using data oriented programming and avoiding objects like the plague. That if other developers were just smart enough they'd make everything ridiculously fast and awesome. Not every game developer thinks this way, obviously, but there is a subset.

The problem with this line of thinking is that it assumes all developers have the same priorities. In actuality game development is an extremely rare area where there are close-to real time requirements. Not painting the screen every 1/24th of a second is a disaster in game dev. Meanwhile GitHub uses Rails in all of its object oriented, garbage collected, interpreted horror. And nobody cares!

I suspect if a troop of elite game developers were dropped into your average web development job, they'd spend an unreasonable amount of time optimizing perf, only to have their lunch eaten by someone who focused on user facing issues. Not that web development is hard or anything. It's just a different set of requirements.

Watching jblow et al is definitely great! But there might be a point where you're put on a team using OOP and asking them to refactor to DOP with bulk allocation because you gotta get that cache utilization will just earn you stares and no buy-in. Or you might be running a startup and realize that all the time you spent getting all requests under 100ms could have been spent writing features.

Popularity of blog posts are driven largely by SEO which is good for marketing but not so much for consuming knowledge.

I believe a lot of people (myself included) don't realize they read a lot of blog posts and articles about a topic they are interested in, but have no time trying out, and feel they know something about the subject when most of these articles are copying each other to gain popularity.

Not to mention, the extremely opinionated but well written and charismatic blog post is most often the one believed, even though charisma is not a strong signal for truth.
This really just sums up human nature.
It's no really about experience but rather about the ability to reason from first principles. Lots of developers with experience don't even attempt doing something because the structure of the problem demands it; they would only do something if they've seen a similar approach before.
I'm in this comment and I don't like it.