More like certified products. New ISO standard may require professional liability for software products, which will be adopted as requirement by big consumers and will pull the industry into certification loop, because insurers will ask for it. This will obviously put a high entry barrier to many product categories, slowing down innovation.
Yes, but slowing down to avoid hazards is sometimes important.
Medical devices and such are the only places I’d expect to see the need for certified products. By extension, in the new era, we really ought only expect certified software where we expect a duty to care from the software system (or any other assigned duty)
My point exactly, embedded devices are the closest software gets to actually being built by licensed engineers. The expectation can often be that you are an electrical engineer by training, where licensure is a viable path, unlike in software engineering.
> because anything a QA engineer can do manually can be automated.
Looks like you never worked with a decent QA team and do not understand the full scope of quality management. They have plenty of creative tasks not aligned with other roles.
There are two very important ideas in this article, which I fully agree with: QA are not the only people responsible for quality - entire team is. QA act as experts and drivers of quality management process, but they should not and are not acting alone. They should have adversarial approach which is helpful on every stage of SDLC. Thus, few more items from my list why QA is useful in every engineering organization and why every team I hire has at least one QA starting from 4-5 people:
1. Quality management is a continuous process that starts with product discovery and business requirements. Developers often assume that requirements are clear and move on to building the happy path. QA often explore requirements in depth and ask a lot of good questions.
2. QA usually have the best knowledge of the product and help product managers to understand its current behavior, when new requirements suggest to change it.
3. The same applies to product design. Good designer never leaves the team with a few annotated screens, supporting developers until the product is shipped. Design QA - the verification of conformance of implementation to design specs - can be done with QA team, which can assist with automation of design-specific tests.
4. Customer support - QA people are natural partners of customer support organization, with their knowledge of the product, existing bugs and workarounds.
And just a story: on one of my previous jobs recently hired QA engineer spotted number error in an All Hands presentation. That was an immediate buy-in from founders. :)
>On the other hand isn't this how the russian revolution happened?
It happened because Russian empire (and German empire) lacked state security apparatus adequate to the threat. It was fixed by most authoritarian states after that, so e.g. Soviet Union survived for 70 years despite many popular uprisings, which happened almost the whole time of its existence. It went down only when elites in Moscow destroyed it from within.
The “people who are critical of you” are very broad category that includes both toxic behavior and constructive disagreement. The former must not be tolerated, the latter can be encouraged as long as it’s not a blocker. In this case it is clearly the former and it requires suppression, but disciplinary action may have been too harsh or perfectly adequate depending on prior history with this employee. It was not said like “it was insensitive to appear in front of the team this way”. It was indeed said like he is a rich jerk. Zero added value, rage bait, polarization of the team.
> In this case it is clearly the former and it requires suppression
That's not clear at all. Why do you say so?
Read the article. "Rich jerk" are Atlassian's words, not the employee's. Even if they are it's not obviously the former.
I refuse to believe anyone, including Oracle employees, likes Larry Ellison.
If Microsoft/Google/Apple fired everyone who badmouthed Satya/Sundar/Tim, half their products would fall apart overnight.
Do you see any, even little sign of constructive criticism in what she said? Anything that could improve corporate culture or help her peers or management to understand the problem? Any hint on how it could be fixed?
I don’t.
> Read the article.
I did read the article and came to the same conclusion as Atlassian.
> I refuse to believe anyone, including Oracle employees, likes Larry Ellison.
When you sign the working contract, your job is to act in the interests of shareholders. If you despise them or disagree with what they do, you can still work there and use your position to align their interests and the interests of the public. You can try to change it from within. But the moment when you decide to burn the bridges is the moment when you should leave. To me this is pretty obvious, and I’m really surprised to see here some sort of entitlement.
"acting in the interests of shareholders" (which, for the record, no employment contract I've ever signed requires) does not mean blind allegiance to management and certainly doesn't mean not calling out bad actions by management.
The employee's statement here was fact. The CEO did harm the careers of employees and did call in to harass them without even bothering to come to a company office.
The CEO, who has much more of an obligation to act in shareholders' interests than an IC, shouldn't be attacking and alienating their labor force.
Yes, and what is the essence of that labor? It is to create profits for shareholders. You are not getting paid to contribute to toxic culture or to seize the means of production. CEO could have been in the wrong, but the moment when the “us vs them” idea starts dominating in corporate culture is the moment company dies and those jobs that everyone is so afraid to loose are ceasing to exist.
>This is ignoring that the concept of companies having to care about shareholders above everything else is a lie spread to justify evil behavior.
Nobody is claiming the “above everything else” here
> Yes, and what is the essence of that labor? It is to create profits for shareholders
No, it's not. I'm not sure what your source of capitalism koolaid is, but employees are transacting labor for money, and shareholders do not come into it at all.
The nature of labor is stocking shelves, writing code, emptying trash bins, or whatever else you do. Full stop.
If you want employees to "think of the shareholders first", you give them enough ownership that the stock price actually makes a major difference in their life, and crucially, enough control at the company to actually influence the stock price. In practice that's the C Suite and maybe some senior VPs. No one else should be stressing out trying to make the owners richer.
This conversation is not about „employees thinking/not thinking about shareholders“. You are cherry-picking that topic and taking it out of context, for what reason exactly?
I have explained already a few times why and what context matters here. Are you struggling to understand it or just avoiding it?
I fully agree with you, it doesn’t. However I wasn’t saying that, so I have to conclude that you are speaking to someone else here, making up arguments from an imaginary opponent, and I’m not needed here. Good luck.
LightForce still requires a lot of visits to the doctor. Nice source of revenue for orthos. Aligners may become more accessible to patients, because that tech is more scalable by design.
Ivan worked at Align and was CTO of European DTC competitor. I agree with Ivan that both technologies have their sweet spot. I disagree with the scale piece and the frequency of visits as there are practices doing both those things differently using the placement and remote monitoring technology.
For younger patients that haven’t had braces before which is the majority of historical patient populations and future ones, 3D printed personalized braces systems are better as the tooth movement needed is more clinically substantial at tougher angles. Many younger patients forget and lose their plastic aligners.
That said: what is chosen should be what for the whole person at multiple levels.
This sounds like AI-written comment, at least in the first part. What I do not get is why are you dismissing the argument about number of visits. 3D printed braces are still braces. They require manual adjustment for each treatment stage. Aligners do not need that - they may need a check-up in the middle of the treatment, maybe one or two mid-course corrections, maybe an appointment for installation of attachments, but that's it. You change aligners at home without visiting doctor.
>Many younger patients forget and lose their plastic aligners.
It is definitely not that simple for a number of reasons.
Yes, aligners and retainers in theory may be printed on some commercially available hardware. At your own risk, because you will be printing a medical device and you will need:
1. A treatment plan: simulated movement of teeth at every step, taking into account all forces. That’s specialized software or external lab service.
2. Precision. You put too much pressure at the wrong angle and you will need a surgery to fix the damage, because the tooth root moved in wrong direction.
3. Plastic. You cannot use ordinary 3D printer ink. You need a plastic that can survive the chemical environment in your mouth, maintain the pressure, and you probably want it to look good (no discoloration etc).
4. Finish: Align Tech, Straumann etc do not stop after 3D printing, there are few other steps involved to make sure there’s no sharp edges etc.
5. Maybe you will need attachments (to focus pressure in the right direction on certain teeth) or wires.
Align Tech is Apple of clear aligners, but now competition exists, producing aligners at scale is commercially more efficient, considering all the risks and required qualifications, and of course the best materials for aligners are patented and not sold OTC to everyone.
Disclosure: I worked at Align 10 years ago and later was CTO of European DTC competitor.
How many of these risks and problems are exaggerated in scope and potential due to both a desire for a regulatory moat and a general fear of litigation in the medical space?
That is to say, how good is “good enough” when done at small-scale in developing nations or medically underserved communities?
1. There‘s always a reason or two for the treatment. The problems with bite may affect your health in various ways. There’s aesthetic component in it, sometimes even cultural preferences for how your teeth should look like. But let’s say patient cannot afford to care about final position when signing up for the treatment. They just trust the doctor saying they need it. Failure mode: patient is unhappy with outcome and will ruin your business from marketing perspective.
2. Let‘s say the practice does it in old way, with impressions - no intraoral scanner. The scanner of impressions still needed, but it can be cheaper. Someone needs to build it and achieve required accuracy (let’s say, 50 μm). Who? Why? Failure mode: bad scan leads to aligners not fitting your teeth from day 1. Oops.
3. Let‘s say someone builds a good OSS alternative to OrthoCAD (Who? Why?), so that orthodontist on site could build a treatment plan and export it into series of 3D models for printers. Failure mode: good treatment plans are rarely possible or output is garbage (aligners do not fit, cause pain etc)
4. Maybe some company develops good plastic or patent expires, so that it is possible to produce it in India, China or other inexpensive location with strong industrial base. That would be cool, otherwise: non-compliant plastic breaks in patient’s mouth, decomposes with patient ingesting some toxic chemicals or is simply not strong enough to move teeth in desired position, so you have problem with 2nd aligner.
5. Maybe you get to this point, but you still need a printer that can maintain the same precision in printing. And you need a good cutting and finishing process. Someone needs to build such device. Failure modes are similar to the mentioned above.
6. The ortho supervision sounds easy, but how many patients in developing countries do even have a possibility to see orthodontist? They are definitely not in position to treat themselves.
So, in this process, what is good enough exactly? Who and why would drive the costs down while building an on-site solution?
These kinds of things can slowly move your bone structure over time. After all, that is their entire point. You don't want to accidentally mess up your teeth and jaw even more.
This would be what I'd worry about. How many of us do any metrology on our printed artefacts? It's really easy to get a subtly warped print and without having some sort of calibration of the process I wouldn't want to make any accuracy claims whatsoever.
IIRC, yes. It’s been some time ago, I don’t know how manufacturing looks now. It’s different process compared to 3D printing at home. It doesn’t mean it should be different, it just has to maintain certain properties. I’m not chemical or bioengineer to go into detail of it :)
Yes just the safe to be in the mouth and for it to handle significant pressure from teeth biting changes this from simple 3D filliment to something much more involved during the design and regulatory processes.
TBH, I do not see how Java as a language steers anyone to use one those shotguns. E.g. the knowledge about algorithmic complexity is foundational, the StringBuilder is junior-level basic knowledge.
How would you handle validating numeric input in a hot path then? All of the solutions proposed in #5 are incomplete or broken, and it stems from the fact that Java's language design over-uses exceptions for error handling in places where an optional value would be much safer and faster.
Normally in 100% cases, with parseInt/parseDouble etc. Getting NumberFormatException so frequently on a hot path that it impacts performance means, that you aren’t solving the parsing number problem, you are solving a guessing type problem, which is out of scope for standard library and requires custom parser.
Okay, but this contradicts your original statement that "Java doesn't steer anyone to use these [footguns]". Every language has a way to parse integers, and most developers do not need a custom parser. Only in Java does that suddenly become a performance footgun.
It does not. If you need to parse a number, you use standard library and you will be fine. The described case with huge impact on hot path is the demonstration why using brains is important. The developer that will get into this mess is the one who will find the way to suffocate his code with performance bottlenecks in thousand other ways. It’s not a language or library problem.
> What percentage of your inputs are invalid numbers and why ?
This is a wrong question to ask in this context. The right question to ask is when actually exceptional flow becomes a performance bottleneck. Because, obviously, in a desktop or even in a server app validating single user input even 99% of wrong inputs won’t cause any trouble. It may become a problem with bulk processing, but then, and I have to repeat myself here, it is no longer a number parsing problem, it’s a problem of not understanding what your input is.
> Java's language design over-uses exceptions for error handling
No, library authors' design over-uses exceptions. Also refer to people using exceptions to generate 404 http responses in web systems - hey, there's an easy DDOS... This can include some of Java's standard libraries, although nothing springs to mind.
Exceptions are not meant for mainstream happy-path execution; they mean that something is broken. Countless times I have had to deal garbage-infested logs where one programmer is using exceptions for rudimentary validation and another is dumping the resulting stack traces left and right as if the world is coming to end.
It is a problem, but it's an abuse problem, not a standard usage problem.
I agree with you that the root problem is that the library author's design over-uses exception. But when the library in question is the standard library and the operation is as basic as Integer.parseInt, then I think it's fair to criticize that as a language issue, because the standard library sets the standard for what is idiomatic + performant for a language.
reply