Live data from Hacker News

Are software engineering “best practices” just developer preferences?

floverfelt.org

361–369 of 369 posts

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

#361

> You can’t do it “correctly” if “correct” is “whatever the guy who’s been here longer wants.” To be honest, "correctly" is whatever actually works. But since we as an industry haven't been around for a long time and don't collectively know what actually works, it is simply the case that we defer to those who have comparatively more experience, so that we may get decent solutions now, as opposed to excellent ones lat…

I think you will find that there is a large set of ways to solve the same problem equally well. So arguing about the best way to solve the problem is a waste of time.

In many cases this is only because of unnecessary duplication of languages and frameworks.

People wonder about whether they should create their back end in Ruby or PHP. People wonder about whether they should create their front end in Angular or React. People wonder about whether they should use MySQL or PostgreSQL for persistence. They wonder about which of the many OS distributions they should use for hosting their application.

But perhaps that's the true waste of time - maybe we shouldn't need multiple approaches to each problem. Maybe we'd only need one, which could then be the sole focus of the industry. The tooling would be incredible if there would be just one workflow to support. The technologies would be tightly integrated, since that's where all of the effort would go. And there could be models built around the language and frameworks to such a level that any usages of antipatterns could be immediately identified and even fixed automatically.

If you ask me, the millions of man-hours that have been spent on creating a brittle and fragmented landscape of tools that don't work well and make developer's knowledge obsolete in a few years while also urging people to do CV driven development are the real waste of time.

Of course, that's the reality that we live in but maybe for the developers in 500-1000 years it won't be that way.

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

#362
post #216

Earlier quoted context omitted.

> 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…

Just because a private organization says they have monopoly on the word “engineer” doesn’t mean they actually do.

Exactly this. Being told who the "real" engineers are is simply a good way of parting suckers with their money for "accreditation" or whatever such nonsense.

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

#363

Earlier quoted context omitted.

I think you will find that there is a large set of ways to solve the same problem equally well. So arguing about the best way to solve the problem is a waste of time.

In many cases this is only because of unnecessary duplication of languages and frameworks. People wonder about whether they should create their back end in Ruby or PHP. People wonder about whether they should create their front end in Angular or React. People wonder about whether they should use MySQL or PostgreSQL for persistence. They wonder about which of the many OS distributions they should use for hosting their…

I don’t think having multiple ecosystems is a bad thing. Think about it as a market place where ecosystems compete to attract the attention of developers. A bit like a decentralised economy. While what you are suggesting is the equivalent of a top down centrally planned economy where a dictator will tell everybody what to use. And (I assume) police and punish everybody who doesn’t comply. That doesn’t sound like a good thing.

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

#364

> Java is infamous for its verbosity. [...] This paragraph highlights something I've been saying for ages. Most criticism of Java needs to be directed towards Java programmers and not the language itself. The language allows you to simply make a class. You're not required to make an interface and then make a class that implements it, and yet, Java programmers do it anyways and then criticize the language for being ve…

Java was for very long missing anonymous functions, so for anything involving callbacks you had to make gazillion of Listener- or Factory-classes instead, which further forced you to create an interface for each of them. Leading to all these infamously verbose design-patterns.

It was also for a very long time missing some fundamental Stream, List and String processing features. Just getting the contents of a file or converting a string to bytes, or even just initializing an Array often required 2-3 lines of verbose OutputStream(StreamBuilder().fromArray(Arrays.asList(1,2))).readBytes().add(3), wrapped in a try-catch for all the checked exceptions. For things that in C# would just be a oneliner of new List({1,2,3}) or in Python [1,2,3].

This is mostly solved in current versions of the language, but the reputation and the "best practice" design-patterns remains.

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

#365

Make the simplest thing you possibly can, write lots of software tests and keep in mind that your code is a piece of communication to the next developer, like a story. Everything else is just vanity or preferences.

Lots of small, simple things can add up to a really complex and not very much maintainable result if you are not careful

So what I think you’re trying to say here is paraphrasing the (apocryphal?) Einstein quote, “as simple as possible and no simpler”. I agree, you need to design the software to be as simple as possible, that might include building some quite complex abstractions but again the net total should be the code ends up overall being simpler.

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

#366
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 wonderful Hillel Wayne has two great essays on the "Engineer"ing question:

https://www.hillelwayne.com/post/are-we-really-engineers/

https://www.hillelwayne.com/post/we-are-not-special/

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

#367

Earlier quoted context omitted.

Lots of small, simple things can add up to a really complex and not very much maintainable result if you are not careful

So what I think you’re trying to say here is paraphrasing the (apocryphal?) Einstein quote, “as simple as possible and no simpler”. I agree, you need to design the software to be as simple as possible, that might include building some quite complex abstractions but again the net total should be the code ends up overall being simpler.

In a nutshell. Getting "as simple as possible" right is the art, and many times we can only really know we went too far with oversimplification (or overengineering) in retrospect.

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

#368
post #256

Earlier quoted context omitted.

I would trust someone graduating with CS degree from non-ABET accredited Stanford rather than someone from ABET-accredited CS program of Athens State University.

... Except Stanford is ABET accredited, and as are all the major Engineering institutions and leaders. The fact that most users here are reaching to downvote literally the fact that leading Engineering institutions all fall in this bucket is absolutely depressing from this community. It's clear some feelings have been "hurt" here by other users having higher educations.

[deleted]

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

#369
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…

Completely depressing looking back at this thread and realizing that Hacker News has an issue with users holding advance degrees. I expect this jealousy and hatred from sites like reddit and Facebook, it should not be tolerated here on HN. This is NOT ok behavior especially from the amount of work these graduates and institutions have pushed into our fields. There is a complete lack of respect here and it shows.

You are not an engineer if you did not flow through an ABET institution. You're a developer, nothing wrong with that but you're not an Engineer. No, I do not care if your company has other certain titles, those are easily made up and have no academic backing.

This behavior we're seeing here is the same as if I pretended I was an MD after taking a first-aid-class. It's disrespectful to those that put in the effort to expand our academic understandings and our capabilities for others to turn around and then pretend that title is their own.

It is not.

Post reply on HN