News for hackers. Stuff that matters.
Re:Why software engineering processes and tools don’t work f... by NordSteve on Wednesday October 14, 2020 @05:58PM (#24782146)
I stopped reading the post once I got to the drawing of the waterfall diagram. There's not a single service I'm aware of that runs today on a waterfall process.

Not sure how you can trust anything else in the post with that obvious of a strawman argument. I'm not going to spend the time trying.

Re:Why software engineering processes and tools don’t work f... by pkaye on Wednesday October 14, 2020 @06:28PM (#24782452)
The writer seems to be a recent college graduate. Maybe he doesn't have a lot of software development experience in industry.
Re:Why software engineering processes and tools don’t work f... by hinkley on Wednesday October 14, 2020 @07:26PM (#24782941)
Pick a discipline, and you will find a bunch of people who can tell you why the conventional wisdom doesn't apply to them.

It's more common in the young, but also has a much better prognosis.

In particular I've seen my share of code written by non-developers, and they all make the same classes of mistakes one makes when you have less than a couple thousand hours of focused development work under your belt. Well we can't do that because X, or we don't need that because Y. Oh, okay. Is that why I have to come tow you out of the proverbial mud every couple of months?

Could you humor me and try a few of these things out? I think it'll help.

What people fear most is automated systems that are constructed on wishful thinking, not healthy skepticism. A lot of our processes are about proving to ourselves what we think we already know. There is plenty of code under the AI umbrella for which very conventional unit tests could be written. If you can't use our practices for ML, you'd better drop what you're doing and start developing parity, instead of bullshitting yourselves and everyone else about your exceptionalism.

Code that makes decisions for or about people needs more ceremony and sobriety around it, not less. If you can't do at least as well as a startup (which is a pretty low bar), then we are really in some deep doodoo. But not to worry. The good news is that when the machines take over and we have to hide underground, you'll be the first ones we eat, so you won't suffer long.

Re:Why software engineering processes and tools don’t work f... by free_rms on Thursday October 15, 2020 @12:31AM (#24784950)
I think the issue here is where you put the ceremony.

If you're iterating on your approach to a model, it really is a drag to do a bunch of bullshit in order to run an experiment that's likely to fail and just be thrown out anyways.

If you're shipping that model to production and affecting people's lives, it should really be held to a different standard than the "fuck around and see what happens" experiments.

And this is before we even get into unexplainability of deep neural nets.

Re:Why software engineering processes and tools don’t work f... by hinkley on Thursday October 15, 2020 @02:12AM (#24785408)
Except we have that in software, we call it “hacking” and thirty years on some of us still act surprised when the business people try to ship the proof of concept.

Stop behaving like you can fake it and then make it later. The code has already shipped and they’re pressuring you to move on to the next problem. Anything you haven’t nailed down by the time the customer is happy is not going to get nailed down. The time you get is the time it takes. So if you genuinely haven’t gotten enough time, then you need to slow down and take the time now, because there is no after.

There’s only been two times my code could kill someone, and you bet your ass I didn’t deliver it a moment faster than I thought reasonable, and in one of those cases it ended up being fast enough (the other was, in retrospect, already doomed before I got there)

Re:Why software engineering processes and tools don’t work f... by barumi on Thursday October 15, 2020 @03:05AM (#24785714)
> If you're iterating on your approach to a model, it really is a drag to do a bunch of bullshit in order to run an experiment that's likely to fail and just be thrown out anyways.

Professional software development has plenty of proofs of concept and "iterating on an approach to a" something. I don't understand what confused state of mind leads anyone to assume that any field of engineering, specially software development, doesn't deal with one off quick and dirty tests.

What really boggles the mind is that any data analyst worth his salt knows very well that he needs to track his inputs to be able to analyse the outputs, thus software development practices are far more forgiving than data analysis ones.

It seems to me that the author just wants to make excuses for shoddy work.

Re:Why software engineering processes and tools don’t work f... by hinkley on Thursday October 15, 2020 @01:57PM (#24791586)
Or that any field of engineering doesn't have a long list of things that 'are a drag'. I've had no end of people tell me, when The Drag is getting to me, that this is part of why we are paid so well.

I don't necessarily agree, I think it's more to do with market value of output, but a large number of people feel that way. Where we do always agree is that there are Things Which Must Be Done, even when you don't wanna.

Re:Why software engineering processes and tools don’t work f... by PaulHoule on Wednesday October 14, 2020 @09:00PM (#24783607)
I have scars from the battles that the author describes and I don't recognize the author as a fellow veteran.

The main problem is that "data scientists" don't follow procedures at all in their work. If they applied conventional software engineering so far as it applies they would do a lot better.(e.g. use version controls but don't check the database password in, think carefully what configuration goes with the hardware, the "model" in general, a particular instance of the "model", etc.)

ML projects get you in trouble in other areas.

For one thing, an ML project might involve a step that takes 24 hours or more to train a model. This means you have to schedule in terms of calendar time (e.g. can't start task A until task B is complete) as opposed to punch clock time, story points, or whatever passes for reality in your flavor of agile.

Related to that is automated testing. Normal software "works or doesn't work" but ML software is expected to get it wrong a certain fraction of the time so the question of "Is version x.y.z good to ship?" is fundamentally different in nature with ordinary software.

It irks me particularly that he ends his circle with "harvest insights" when any real game theorist knows it is about taking actions based on information -- e.g. why winners at gambling and trading use the Kelly Criterion.

Re:Why software engineering processes and tools don’t work f... by pbalau on Thursday October 15, 2020 @05:24AM (#24786586)
A simple google search will surface the author's linkedin profile, where one can see he's been around for more or less 6 years. This makes the entire article even more worrying.
Re:Why software engineering processes and tools don’t work f... by barumi on Thursday October 15, 2020 @03:02AM (#24785701)
> Maybe he doesn't have a lot of software development experience in industry.

Seems to me the author decided to write about topics he knows nothing about.

Re:Why software engineering processes and tools don’t work f... by ponker on Wednesday October 14, 2020 @08:02PM (#24783218)
Most high reliability software is still waterfall. It's usually not service-delivered software since people who need high reliability software need it to run locally.
Re:Why software engineering processes and tools don’t work f... by tonyarkles on Wednesday October 14, 2020 @09:39PM (#24783867)
Not too add too much snark, but the first sentence can also be paraphrased as “ML expert claims ML is critically important” :)

I do tend to agree that it’s made some dramatic improvements regarding utility over the last few years, but...

Re:Why software engineering processes and tools don’t work f... by sjg007 on Wednesday October 14, 2020 @06:11PM (#24782283)
Plenty of waterfalls out there.
Re:Why software engineering processes and tools don’t work f... by fizixer on Wednesday October 14, 2020 @06:47PM (#24782613)
This is a nitpick on "... not a single ..." claim by GP.

GP is otherwise right. First figure in the article is a joke. And that makes the article a joke.

Plenty of waterfalls out there. Even more non-waterfalls, aware of iterative, modern process, who will kick you out of the discussion if you try to sell them waterfall.

ML processes need innovation over those of traditional s/w dev. This article is the worst place on the internet to look for that innovation.

Re:Why software engineering processes and tools don’t work f... by sjg007 on Wednesday October 14, 2020 @07:23PM (#24782923)
Plenty of waterfalls in ML pipelines as well.
Re:Why software engineering processes and tools don’t work f... by fuzzfactor on Thursday October 15, 2020 @02:42AM (#24785562)
The circular chart example given for Machine Learning is virtually identical to a cycle of continuous improvement in a service or manufacturing operation, except for one little detail,

with Continuous Improvement you don't want the minimum viable product, you want the Maximum Viable Product.

Seems like a machine learning outfit would really benefit from a leader who is smarter to begin with, a better learner, and already more skilled in the task that you want the machine to do.

Re:Why software engineering processes and tools don’t work f... by tomc1985 on Wednesday October 14, 2020 @11:41PM (#24784677)
What are you talking about? I followed that exact process this week in the process of writing and checking in code, as did nearly every other programmer.
Re:Why software engineering processes and tools don’t work f... by talal7860 on Wednesday October 14, 2020 @06:08PM (#24782238)
I kind of did the same.
Re:Why software engineering processes and tools don’t work f... by tachyonbeam on Wednesday October 14, 2020 @06:15PM (#24782313)
I've seen such of the worst throwaway academic garbage code in ML. Maybe the problem is that they completely ignore and look down on software engineering to begin with.
Re:Why software engineering processes and tools don’t work f... by hinkley on Wednesday October 14, 2020 @07:39PM (#24783042)
The high concept people never appreciate the grief they're causing for the people who have to implement their vision.

The stuff Frank Lloyd Wright didn't know about construction could fill an entire tour. Which I discovered by taking that tour. Boy, did that dude try to ignore physics.

Re:Why software engineering processes and tools don’t work f... by mhh__ on Thursday October 15, 2020 @12:14AM (#24784869)
It's common across all academia i.e. no engineering textbook is complete without 20 pages of raw, uncommented, single-letter variable-ed MATLAB vomited before the index.

I despise python, but MATLAB is positively satanic by comparison (from a software quality perspective at least)

Re:Why software engineering processes and tools don’t work f... by dboreham on Wednesday October 14, 2020 @08:22PM (#24783371)
Or ever did.
Re:Why software engineering processes and tools don’t work f... by carabiner on Wednesday October 14, 2020 @06:27PM (#24782448)
I work at an old school industry with data scientists who use Python, sklearn etc. everyday. Waterfall is everything here. Software is not just at software companies.