3 ms·
Most folks on here are developers to some extent - so I'll assume you are but if not let me know and I'll try to come up with a better analogy. In my company c
by munk-a 5y ago
Most folks on here are developers to some extent - so I'll assume you are but if not let me know and I'll try to come up with a better analogy.
In my company code reviews are an adversarial process - as they are everywhere. The primary developer presents something they think is worthy to merge into the mainline branch - the reviewer inspects this and raises questions and highlights facts in the code that they think need to be address. And, throughout this process the aim isn't to prove the other person is an idiot - it's to arrive at a PR that's better than either of you would have produced on your own (ideally).
We go through this process and ideally avoid being overly critical or a dick about things. I don't reply to some confusing code with "That's dumb!" I'll point out routes to correct the confusion or just highlight my reasoning to feel it's confusing and let the dev decide on their favorite course to resolution.
A trial is certainly going to be more emotionally involved simply by being about the future of someone's life instead of some code that runs a checkout process somewhere - but we can still, as a society, try and minimize how dickish we let people get. In a company someone who is overly combative is going to face problems keeping their job and advancing - you'll generally find financial incentives offered to people that can more reasonably navigate the social aspect of being an employee[1]. Unfortunately in the world of prosecution, while these incentives still exist (people who are dickish overall will be dickish to their coworkers (other lawyers) and likely be held back by that) they tend to be minimized in comparison with performance evaluation based on conviction rates - and that creates a lot of really bad incentives. I think it's a bit of a misstatement to say that both parties in a trial are seeking the truth when one of those parties is being evaluated not on accuracy after the fact - but instead on how many people they manage to line up as guilty.
1. This has some downsides - in particular autism is actually a much bigger impediment in the real world than perhaps it needs to be. I think that's a separate issue though.
- shadowgovt 5y agoI wouldn't say code reviews are adversarial; they're collaborative. All members of a review are working to come to consensus on the best code that can be committed. When I'm doing them, if I see a better way to do an algorithm I'll go ahead and write the suggested code directly (GitHub has some great UI for this, incidentally). An adversarial code review process would look more like attempting to solve a problem by having two separate teams devise a solution, and a neutral third-party chooses exactly one of those solutions to accept and discards the other. Team A, in this system, is not particularly interested in helping Team B succeed (and, indeed, within the rules of the process, has no incentive to improve the odds that Team B's solution is accepted). This would be a hellishly-inefficient process (though, funny enough, something similar at the scope of project initiatives has been used at a few more Machiavellian corporate institutions). But it might be the sort of thing one could adopt if one thought, for some reason, that you couldn't trust that all development teams to collaborate cleanly (because their goals weren't aligned). The notion that innocence or guilt (on a per-charge basis) as a binary state is very deeply built into our criminal legal framework. For any given charge, either the prosecution's case wins, or the defense's case wins. The prosecution isn't incentivized at all to help the defense win. And the judge's incentives optimize for neutrality... Because, the thinking goes, if they aren't neutral, their likeliest bias is in favor of the prosecution as a fellow agent of the State, which gives even more power to the already-powerful State authority, since the whole system assumes two things: (a) the defendant is innocent until proven otherwise, and (b) the State is a good-faith actor until proven otherwise. Generally, faith in (b) is almost never shaken without definitive proof (such as direct evidence of prosecutorial misconduct). Whether this means the prosecution is "dickish" as they pursue their goal of a conviction is a bit in the eye of the beholder, but note that nowhere in this process is the prosecutor obligated to assume the defense is a good-faith actor (and, indeed, if defendants were always good-faith actors, trials would be unnecessary and criminals would just confess their transgressions). And it is entirely possible that this system does not work without prosecutors leaning on defendants (in legal ways) under the assumption (on the part of the prosecutor, not the Court) that the defendant is guilty and hiding it. This isn't the only model possible, but changing it would basically require restructuring the American criminal legal system from the bedrock up. Not impossible, but I wouldn't bet on it in my lifetime. What is heartbreaking in this case is that the pressure caused Mr. Swartz to take his own life, and without a prior diagnosis of likelihood of suicide / prior involuntary commitment, I have a hard time seeing any way for the legal system to account for that risk and still function. :( ... and of course, all this analysis ignores the elphant in the room that the Supreme Court dumped in the graveyard this week: we probably shouldn't have even thought of putting "used a computer in a way other than the way its owner intended its use" under the aegis of criminal law in the first place! That was a terrible use of the CFAA. But until this week, it wasn't understood that it was not a use of the CFAA.