Live data from Hacker News

You are never taught how to build quality software

florianbellmann.com

461–470 of 500 posts

Re: You are never taught how to build quality software

#461

Earlier quoted context omitted.

Rose Hulman is an undergraduate teaching school that also has a distinction between a Software Engineering Degree and a Computer Science Degree. The Software Engineering degree takes a few less math courses and instead takes classes on QA/Testing, Project Management, and Formal Methods

SE is often taught out of the engineering school while CS the faculty of science, which in my experience makes a huge difference.

It’s all one department at Rose (my alma mater). The school is a teaching school (meaning research isn’t the faculty’s primary focus)

Re: You are never taught how to build quality software

#462
> At some point, I realized that I wasn't using the right arguments either. Explaining that the software will be 'more stable' or 'make maintenance much easier' is not palpable for someone who doesn't work in the codebase themselves. We need to speak about money. As developers, we need to speak about the cost of not doing QA. This is the language of business and managers in general.

How cartoonishly incompetent have we allowed managers to get that they can't connect stability to money on their own? If the stability concerned a bridge, would engineers also be expected to translate a potential collapse into monetary terms to get their manager to approve a higher grade of steel cable?

Re: You are never taught how to build quality software

#463
post #446

Earlier quoted context omitted.

My impression is the gist is: When you think like an engineer, your focus is on problem solving, and using the appropriate tool(s) to do that. On the other hand, typical developers instinct is to code, code, code; at least based on my experience.

I don’t know if you’re trying to be rude, but this comes across as quite disrespectful. Parser tools are indeed very powerful, but those abstractions carry tradeoffs that any “engineer” will consider.

I wasn't trying to be rude. Sorry?

But I also wasn't focused on parser tools. My observation was more universal. That is, engineers look before they leap. Developers leap first and ask questions later. Engineers are intentional. Developers much less so, and far more reactive.

Re: You are never taught how to build quality software

#464

Earlier quoted context omitted.

Yuh. I guess that's "modern times". I taught in the late eighties, and auto-grading wasn't a thing. FWIW, I was a "temporary visiting lecturer", i.e. contract fill-in help. I had to write the syllabus (literally), the course plan, and the hand-outs. I also had to write all the tests and the exams; and I had to mark the exams, and then sit on the exam board through the summer holidays. The pretty girls would flutter t…

Yikes. Actually not so modern, my college was auto-grading 20 years ago.

This was in the 1980's. We're talking 5 1/4" floppies, no internet, 64MB RAM. I had to review my students' work as dead-tree submissions or completed circuits or whatever.

(I certainly wasn't going to take digital submissions from them; that would mean floppy disks, and I regarded any disk that had been touched by any student as if it were infected with plague, because it almost certainly was. All the school systems were always infected).

Re: You are never taught how to build quality software

#465
post #408
post #152

Earlier quoted context omitted.

Do SE classes teach debugging skills? I hope they do. So many times I have seen people try random things rather than follow a systematic approach.

But debugging is about "trying out random things". You can call it a Monte-Carlo tree search is you want to sound smart. And I don't feel is not something that is worth teaching in universities, because it is 90% experience and for me, the point of universities is not to replace experience, just give enough to students so that they are not completely clueless for their first job, the rest will come naturally. What un…

You can teach systematic debugging: https://www.debuggingbook.org/

Re: You are never taught how to build quality software

#466

Earlier quoted context omitted.

> is that something a university should strive to be? Universities taking public money (including students government grants/loans) should strive to make society better. Part of that is getting kids into good jobs that society needs done. There are a few "retired" people taking classes that they are paying for on their own just for fun. If those people think they are getting value despite taking subjects society does…

People making roads and building powerplants also take government money. Do you expect them to prepare people for software dev jobs too? Just because companies decided to start requiring degrees because they're too stuff to pay their own staff, IMO they shouldn't get to divert universities from their original mission, which is education and research. Afterall, those are also important to society, and if they don't do…

Roads and powerplants both improve society (debatable, but i'll ignore that) in exchange.

Re: You are never taught how to build quality software

#467
Testing and QA is great and all however there is something to be gained from a CompSci education besides making more money for the company. It can be enjoyed just for the sake of it.

Binary arithmetic doesn't make dollars for your bosses, but its fun. That doesn't make it less significant.

Re: You are never taught how to build quality software

#468
post #347

Earlier quoted context omitted.

Not everyone is writing a webapp where you can roll out upgrades anytime CI passes, or a phone app that you can upgrade every week. some of us work on code that will be shipped in a device that is not easy to upgrade.

Not all software that is frequently updated is a web app. Ask Tesla, Apple, Sonos, Garmin, ... Anything connected to a network could be released frequently if people wanted to. Not everything is connected to a network though.

There is a long list of both.

Some things should not roll out updates without extensive testing, including manual testing to verify nothing was missed.

Re: You are never taught how to build quality software

#469

Earlier quoted context omitted.

Most devices work within the spec 99.9% of the time, but that last .1% it is outside the spec. The exact % is different for different projects of course, but the idea is still there: no software operates according to spec 100% of the time.

It does though. My example of adding two ints within a known finite range would operate to spec 100% of the time. You would have to introduce things like tolerance to hardware failure, but that is outside the spec of the software as stated.

Sure, but adding two ints is trivial. Hello world probably operates to spec all the time too. Almost all software is vastly more compelx and isn't perfect.

Re: You are never taught how to build quality software

#470
post #447

Earlier quoted context omitted.

I've never had it once in my career where using a parser generator wasn't better. Given that it's an in-language parser generator and not some meta-language monstrum like ANTLR. Maybe when writing your own programming language, own complicated data format or low communication protocoll while requiring extreme performance. But that seems to be super rare, at least in my area of profession.

I’ve had a very different experience. I can think of three occasions where I was able compare a hand written parser with something built using a parser generator or similar tool. In two of those cases, the hand written code was far easier to read and modify. This kind of code can also be easier to test. Parser generators aren’t a free lunch and they vary considerably in quality.

Maybe we talk about two different things. I'm talking about libraries that help you write a parser. Those are not tools, there is no extra build-process involved or anything like that.
Post reply on HN