Live data from Hacker News

Are software engineering “best practices” just developer preferences?

floverfelt.org

241–250 of 369 posts

Re: Are software engineering “best practices” just developer preferences?

#241
post #216

Earlier quoted context omitted.

What of those who graduated from engineering programs taught at engineer colleges? Lots of people in other engineering disciplines build stuff with less rigor than is used to build software. Maybe load test it in Fusion 360 before sending the file to be milled. And lots of software companies test their stuff quite rigorously. People who write software have imposter syndrome. Other disciplines are not building things…

> What of those who graduated from engineering programs taught at engineer colleges? We are the actual Engineers. For US-Based IT workers, that means a degree from an ABET [1] backed institution with a traditional undergrad and graduate programs. Anyone else calling themselves an "engineer" while doing IT work are not. In addition: Readers need to remember this isn't reddit and downvoting comments with facts you do n…

That's all just protectionism. Or an attempt at it, because it's clearly not working in the software industry.

I am a graduate of such a school and it is a pain to even use that (earned and legally awarded) title in an international context because countries only recognise their own schools. Even in the EU, with its standardized EU-wide titles, you still can't use the "local" title of another country. Even if both titles are accredited to the same EU-title.

It's all status games and protectionism. And it's a silly war to fight, because no one thinks a "software engineer" is an accredited engineer anymore anyway.

Re: Are software engineering “best practices” just developer preferences?

#242
As someone who has a liberal arts background, software engineering has a lot more in common with writing than most admit. Sure there is grammar and syntax but good writing can be as varied from William Shakespeare to Stephen King. Same with software writing.

Re: Are software engineering “best practices” just developer preferences?

#243
post #205
post #60

> How can Software Engineers call themselves engineers when there’s no rules, governing bodies, or anything to stipulate what true Software Engineering is? We call ourselves software developers in Canada. According to Canadian engineering[1]: The "practice of engineering" means any act of planning, designing, composing, evaluating, advising, reporting, directing or supervising, or managing any of the foregoing, that…

I aggressively refuse to call myself an engineer. Programmer is fine. Developer is better, because programming is only a piece of it. Y’all can call yourselves whatever you like, but inside I’m thinking you retconned an industry insider euphemism into a non-existent sub-type of engineering, by protesting all the ways you apply rigor to what we do.

Margaret Hamilton coined the term. But then again, anyone who can keep a lunar lander from turning into a new crater probably has more right to that term than most of us.

Re: Are software engineering “best practices” just developer preferences?

#244
post #106
post #60

> How can Software Engineers call themselves engineers when there’s no rules, governing bodies, or anything to stipulate what true Software Engineering is? We call ourselves software developers in Canada. According to Canadian engineering[1]: The "practice of engineering" means any act of planning, designing, composing, evaluating, advising, reporting, directing or supervising, or managing any of the foregoing, that…

> "The 'practice of engineering' means any act … that requires the application of engineering principles" Error: cycle detected. ^__^ Software is by its very nature systematic and quantifiable. Is the quibble with whether programmers are disciplined? All software companies would meet the "failure or inappropriate functioning of the system would result in harm to … economic interests" criterion.

It's like everyone has forgotten third grade.

Define this word without using the word.

Lift: British English. A machine that lifts peo... damnit!

Re: Are software engineering “best practices” just developer preferences?

#245

Earlier quoted context omitted.

> somebody got flamed harshly when he mentioned using a global variable. Harsh bashing on global variables is such a dumb thing. Yes, they can be dangerous. Yes, many had problems due to using them. Yes, we should tell beginners to avoid globals. But there is no reason to ban them altogether. Experienced programmers should utilize them whenever it makes sense (instead of passing down a value of a local one to almost…

Global mutable variables are generally a bad idea because they have nonlocal side effects which are difficult to mitigate, like aliased mutable pointers but worse. Extra non-aliasing arguments and multiple return values are free of these issues, and a better tradeoff in almost all cases (unless you're sure you'll never run 2 instances of a system in the same address space, and you have specialized constraints possibl…

For service directory lookup, global variable is fine. For global scope queue, global variable is fine. For global scope logging service, global variable is fine.

Re: Are software engineering “best practices” just developer preferences?

#246
I feel like at this point, comparaison between software engineers and civil engineers should fall under the "does not gratify intellectual curiosity" category. I haven't seen anything interesting said about this topic since the article series "are we really engineers?" https://www.hillelwayne.com/post/are-we-really-engineers/.

> At the end of the day, you wind up in a lot of fairly pointless arguments about tech stack and coding conventions that 99.9% of the time don’t make a bit of difference to the final product.

That's a great conclusion.

Re: Are software engineering “best practices” just developer preferences?

#247
post #205
post #60

> How can Software Engineers call themselves engineers when there’s no rules, governing bodies, or anything to stipulate what true Software Engineering is? We call ourselves software developers in Canada. According to Canadian engineering[1]: The "practice of engineering" means any act of planning, designing, composing, evaluating, advising, reporting, directing or supervising, or managing any of the foregoing, that…

I aggressively refuse to call myself an engineer. Programmer is fine. Developer is better, because programming is only a piece of it. Y’all can call yourselves whatever you like, but inside I’m thinking you retconned an industry insider euphemism into a non-existent sub-type of engineering, by protesting all the ways you apply rigor to what we do.

Isn’t it easier to just stick to the term and not fight with it? Everyone involved knows that “software engineering” is not like “civil engineering”, and those who don’t, usually don’t know either. It has no legal nor practical sense, so why bother?

Re: Are software engineering “best practices” just developer preferences?

#248
post #245

Earlier quoted context omitted.

Global mutable variables are generally a bad idea because they have nonlocal side effects which are difficult to mitigate, like aliased mutable pointers but worse. Extra non-aliasing arguments and multiple return values are free of these issues, and a better tradeoff in almost all cases (unless you're sure you'll never run 2 instances of a system in the same address space, and you have specialized constraints possibl…

For service directory lookup, global variable is fine. For global scope queue, global variable is fine. For global scope logging service, global variable is fine.

Each of these things prevents isolated testing of dependent components. For that reason alone they are nonstarters.

Re: Are software engineering “best practices” just developer preferences?

#249

Earlier quoted context omitted.

But here's the thing: aren't most alternatives to global, some other kind of global state anyway, but possibly better managed?

Singletons come to mind as being a better alternative in languages that can do that sort of thing.

Singletons are globals, aren't they?

Re: Are software engineering “best practices” just developer preferences?

#250

Earlier quoted context omitted.

But here's the thing: aren't most alternatives to global, some other kind of global state anyway, but possibly better managed?

Almost assuredly better managed. There are no reasons to manage state on the global level apart from laziness.

Sweeping statements like that are the real laziness. All it proves is that you lack diverse experience in software development.

I'm a big advocate for functional programming but even I have to concede that in some domains, and particularly in some languages, when you're having to manage universal properties those properties are sometimes best placed at a global level.

Post reply on HN