5 ms·
Agree with lots of the criticisms of the piece in other comments. I do instinctively agree with the theme of the piece that “human factors” have more of an eff
by thephyber 4y ago
Agree with lots of the criticisms of the piece in other comments.
I do instinctively agree with the theme of the piece that “human factors” have more of an effect on software quality than “technical factors”. I just don’t think the physiological factors listed in the articles are the biggest levers.
Sure, getting enough sleep, having a reasonable diet and exercise are great for people long term, but I think these factors have a much larger impact:
- company culture,
- whether a developers feel like they can push back on requirements,
- whether deadlines / expectations allow for sustainable pace of product development,
- whether product managers / other stakeholders put objectively bad requirements on the project (eg. trading off security for user convenience)
- ChrisMarshallNY 4y agoThere’s also the very old-fashioned “talent & passion” thing. Some people have it; some don’t. If someone has it, it’s generally attached to a persona with various drivers and flaws, and it takes a good manager to direct that talent and passion. It can get even trickier, when we have teams of these folks. That’s not a popular stance, these says. We’re supposed to come up with process and technology, that lets mediocre managers run teams of mediocre workers, yet produce excellent results. Lemme know how that works out.
- thephyber 4y agoI would agree that there’s probably no match for talent+passion, but the fact is that there aren’t enough people with those attributes to pull an entire economy. Far better to live on the ground (not in the clouds). That said, processes and technologies don’t have to treat each employee as a newbie. Example: I remember Facebook had a deployment process which gave each developer a reputation. Getting a reputation for deploying code that requires hot fixes to revert broken code meant penalties. Penalties required additional pre-merge / pre-deploy reviews and proof of testing. I remember that as a good combination of treating developers as adults but also providing targeted procedures when they are needed.
- hn_user82179 3y agoHuh, how was the reputation determined? Was it like a quantified & automated thing, or more casual like, a senior developer decides you need to do more testing since you’ve broken too much stuff.
- giovannibonetti 3y agoGiven the thousands of developers there, I would assume it was automated. FB is known for having built great tooling for this kind of thing, like measuring how flaky each test is.
- disgruntledphd2 3y agoI think that it was originally up to the release engineers, but they probably automated it after they moved to continuous deployments. (chuckr, where are you now?).
- thephyber 3y agoI learned about this from outside, but my understanding was that negative reputation was earned when someone from the deployment or development team pointed to your code as being the reason a patch had to be rolled back. Presumably because it broke during CI on the master/release branch. Not sure if there were other was to earn/lose reputation points.
- switchbak 4y agoYou're not particularly wrong, I've just found working with alpha-geek Prima Donnas gets old really fast. If they don't mature as they come along, their antisocial behaviour typically outweighs their contributions by a large measure. Personally I'd much rather work with bright folks that are empathetic and work well in teams, and trust that they'll learn what they need to when we need them to. Seems to work out pretty well.
- ChrisMarshallNY 3y agoIt's a shame that we immediately assume talented and passionate people are jerks. Not sure where that comes from. I suspect that it may be a US thing, as we are a ferociously competitive culture, and, these days, it seems that everyone on a team considers their teammates to be "the competition."
- switchbak 3y agoYou said "it’s generally attached to a persona with various drivers and flaws", and I likened that to some common personality flaws I've seen in the wild. I don't think that's a wildly unfair interpretation, and I think it was reasonable in this context. I don't suspect it's a US thing in my case, because I don't live in the US. Not all talented and passionate people are jerks. Not all Prima Donnas are jerks either, but working with them can be very tiring. I find it to be a losing proposition in mature teams, but they have their place. I say this as a recovering Prima Donna myself.
- rqtwteye 3y ago"If someone has it, it’s generally attached to a persona with various drivers and flaws, " this stereotype needs to die. I have never found any correlation between being talented and passionate and being jerk. Quite the opposite. Most talented people are easy to work with but you should be able to keep up. Most jerks just think they are talented but aren't and have to be jerks to keep up appearances.
- ChrisMarshallNY 3y ago“various drivers and flaws” doesn’t mean “jerk,” although lots of folks like to assume that anyone not in a fairly narrow band of behavior, is one. I get treated like a jerk, sometimes, and I’m not one. I just don’t match the “modern software developer” stereotype, and that often makes folks uncomfortable. Most of my employees, while I was a manager, also were quite “different.” We weren’t always sunflowers and unicorns, but we also weren’t prima donnas. I will tell you one thing: If we treat people with hostility, they will usually return the favor, which can establish an immediate negative feedback loop. Since humans tend to have “other -> hostile” built into our operating system, we sometimes never give cooperation a chance; starting many relationships off on a bad foot, right out the door. We decide someone is a “jerk,” because they fit (or don’t fit) an internal stereotype, and the rest is history, as we make sure that the relationship is going nowhere, from the start. It can be seen on this very forum. I know that it happens to many others, but I can only speak from my experience. Fairly regularly, someone that has never had any interaction with me, of any kind, suddenly responds to one of my posts, with hostility; usually in the form of an insult. I may come across as a bit "stuffy," but I sincerely never mean to offer offense, or throw punches. I do have some personal positions that go against the common grain, but I don't consider myself to be much of a "bomb-thrower." Basically, I feel like it's a privilege to participate here, and try to bring something good to the table. It was my job, as a manager, to understand each of my employees, as an individual, and my team, as a whole, and keep a balance, while also ensuring that the company’s priorities were being met. Also, there are limits, as to how much individual focus we can give each team member, when it comes to things like employment law and corporate policy, so there’s always tradeoffs. It’s also been my experience that a good manager (and I like to think I was one) can coax excellence out of almost anyone. We often have a rockstar in us, but each individual has different blockers and accelerators. If a corporation has a culture of mediocrity, then they can force racehorses to pull plows, and Clydesdales to run steeplechase. Some of my employees were driven by basic avarice, but I can really only think of maybe one or two, during my 25 years as a manager. Most were focused on their families, excitement over their work, being included as peers in high-functioning teams, or the satisfaction of a job well done. Not everyone in my team always got along with each other, but it’s difficult to have a bunch of self-sufficient high achievers together, without friction. Surprisingly, we managed to stay together, as a team, for decades, and deliver value for our company.
- staunton 4y agoTrading off security for user convenience is not objectively bad. In fact, it is always a must. The most secure product is no product. Of course, what you really mean is that this tradeoff must be made in such a way that the product is still secure enough, as defined by the use-case. I only think this nitpick is warranted because we are discussing "epistemology".