Comment by crabbone
9 hours ago
I can see very naive points here:
* "Corporate hackers" is a... not a very common thing. In the corporate world most programmers do what they are told to do and nothing more. Initiative is punishable.
* API wrappers aren't actually good. Not to mention that the API itself is very poor. JIRA has a tradition of arbitrary changing things, especially removing things, or not exposing the useful functionality. It's not a well-designed or well-executed product.
* AI is too immature and too non-deterministic to be useful for most of the things you want from a bug tracker. Also, for most companies, it's going to be too expensive to do it this way.
* QA is usually an afterthought, unless... we are talking about budget cuts and cutting corners, then it's left, right and center. Most companies see QA as a liability. They don't see it as producing value. They just have to pretend to have QA so that they can tell their customer they have it. When it comes to making QA do meaningful things, that require hiring good engineers, allocating development time, allocating compute resources... well, good luck with all that! Most QA I've seen, especially in international huge corporations was all for show, to produce appearance of work while following the same, mostly useless and mostly manual process.
I had a bunch of ideas about how QA can be made more efficient, both in terms of resource use and in terms of problem space it tries to address. Doing things like RCA automation or exploratory dynamic* testing... and after trying to see if any of such ideas would have any luck of becoming an actual successful product, I realized that nobody wants to improve QA. If a product made the "certification" (the ability to claim to have tested the product) cheaper, then it could be viable... but this is neither the direction I wanted to go, nor is it really all that feasible to improve a bug tracker in this direction.
----
* What I mean by exploratory testing is a sort of "fuzzing", however one that's more structured. Fuzzing, typically, is applied to the input, which then tries to explore all possible ways through the program under test. Exploratory testing is a test made up of modules that can be combined to produce longer tests. This addresses the problem of difficult to reach "corner" cases in the program, also the problem of reaching code paths that aren't directly (or at all) dependent on input.
I've worked for a few Fortune 50 companies, and they all had "shadow IT" that would crank out scripts and tools with no official sanction to work around the cumbersomeness of the official tools (or sometimes their complete lack). That's what corporate hackers are.
You know your company has made it when shadow IT has been merged into central IT after a tough political fight, and as they try to make the old shadow IT less responsive and more standard, a new wave of real shadow IT gets hired. That new, real shadow IT might even be paid more, because they are often hidden in CapEx somewhere, instead of having to go with HR standards for leveling and job descriptions. I've seen the biggest things come out of said shadow IT groups, precisely because their management is uninterested in the glacial procedures of real IT.
My other half is one of those. Works in setting up hospital pharmacies for new hospitals and he's the "excel and VBA guy" to all his coworkers.
It's amazing how far just a little bit of programming can