Live data from Hacker News

Software engineering topics I changed my mind on

chriskiehl.com

71–80 of 704 posts

Re: Software engineering topics I changed my mind on

#71

Coming up on 30 years. I agree with most of your observations except standups. In my experience daily standups are a waste of time. Maybe I've just had bad luck with them?

Like many things, IMHO they are a good idea that a) is not needed for every team and b) should not be overloaded. But like every agile software idea they often become a big-A "Agile" thing that's done, often with little consideration if it's done in a useful way, but just because it's the thing that's to be done and gets overloaded with stuff someone wants to do. So I'd say it's both yes, you've had "bad luck" in a way, but at the same time that's kinda the norm in many places.

Re: Software engineering topics I changed my mind on

#72
post #21

Usually i disagree with these types of lists, but this one seems pretty spot on. My only quible would be that only code quality static analysis is useful. Security static analysis on the other hand (e.g. taint analysis to find security bugs like XSS) is pretty overrated most of the time unless you work really hard to make it fit in your context. I also think linting rules are important, not for what they actually do,…

Also, having consistent formatting makes it very easy to read through large amounts of code. If you know how the code is laid out, you don’t need to focus on everything and can “squint” through it to get a good idea of what’s going on.

Re: Software engineering topics I changed my mind on

#73

Coming up on 30 years. I agree with most of your observations except standups. In my experience daily standups are a waste of time. Maybe I've just had bad luck with them?

They mention that it's "useful for keeping an eye on the newbies", which indicts standups. That is a positively horrendous justification for standups. Your "newbies" should have assigned mentors and helping hands, and that shouldn't be something that drags down everyone.

Standups are a shitty, passive-aggressive way of managing. Managers who are too weak/incapable of simply monitoring progress, asking questions instead make this whole show under the assumption that everyone is checking on each other. 100% of the time this is the justification for standups. In many firms, "agile" is a failure mode for "waterfall".

Re: Software engineering topics I changed my mind on

#74
post #66

11 years in and my one critique is: >Designing scalable systems when you don't need to makes you a bad engineer. You have to have a very good understanding of the 'need' ahead of time or you're effectively just playing a kind of lotto. Do the bare minimum and it meets the need, you win. Do the bare minimum and it doesn't, get ready to start over, you lose.

You can do the bare minimum with a path to scale, though.

But it seems like when things 'scale' a lot of changes are required regardless, so I feel like it's a bit of a moot point.

Re: Software engineering topics I changed my mind on

#75
post #13

> Designing scalable systems when you don't need to makes you a bad engineer. > In general, RDBMS > NoSql These two bullet points resonate with me so much right now. I'm a consultant and a lot of my client absolutely insist on using DynamoDB for everything . I'm building an internal facing app that will have users numbering in the hundreds, maybe. The hoops we are jumping through to break this app up into "microservi…

Eh, the second one is probably the only point I was kind of meh on. You should almost always start with an RDBMS, and it will scale for most companies for a long long time, but for some workloads or levels of scale you're probably going to need to at least augment it with another storage system.

Re: Software engineering topics I changed my mind on

#76

>Java isn't that terrible of a language. That is going to evolve in the next six years to "languages don't usually matter much except in specific domains in a few cases"

I'm not sure about that. As an industry, we're just beginning to realize that object orientation is hurting far more than it's helping. As more people realize this, better tools and techniques will be devised to help developers think of their programs more like computers do: as data, and not as objects which only make sense to some humans.

As such, PURE OOP languages like Java are going to start to fall out of favor in the industry for all workloads. Academia won't let go of OOP until much later.

Re: Software engineering topics I changed my mind on

#77
post #62

The insane obsession with scaling is killing this industry. So much effort is being wasted trying to use NOSQL or K8s at companies that have DAU counts in the low hundreds. Absolutely asinine.

But is their business model targeting hundreds of DAUs, or is it targeting millions of DAUs? It doesn't make sense to architect for an amount of usage that is too small to sustain the business. If the business model requires millions of users to be successful, you should build for millions of users, even if you only have hundreds at the present moment.

Re: Software engineering topics I changed my mind on

#79
post #8

I wonder why he changed his mind to these. They don’t seem that controversial.

They don't seem that controversial? There has been endless religious wars about lots of them. To point:

> Typed languages are better when you're working on a team of people with various experience levels

This is the static vs dynamically typed controversy. And if you think the consensus is "types are good" today, that wasn't at all the case 10 years ago or so.

> Java isn't that terrible of a language.

That was (and probably still is) the knee jerk reaction of many younger devs (and some older ones)

> Designing scalable systems when you don't need to makes you a bad engineer.

Not controversial in itself, but tons of people do it all the time and think it doesn't apply to their case...

> DRY is about avoiding a specific problem, not an end goal unto itself.

Many people take it religiously...

> In general, RDBMS > NoSql

The NoSQL/RD religious wars were all the rage when Mongo and co first appeared (even earlier, with BS Java projects like Prevalayer).

> Functional programming is another tool, not a panacea.

You'd be surprised how many think the opposite...

Re: Software engineering topics I changed my mind on

#80

The author of this seems like a real joy to work with > “TDD purists are just the worst. Their frail little minds can't process the existence of different workflows.” Imagine thinking about colleagues as people with “frail little minds.” Yikes. Many of the other points betray serious attitude and perspective problems, but it was forgivable until getting to that last bullet and realizing, no, this is just a person wit…

[deleted]
Post reply on HN