News for hackers. Stuff that matters.
Re:Everyone is still terrible at creating software at scale by zaphar on Saturday April 10, 2021 @08:19AM (#26760953)
Some of what you say about management is true. But if you really want to fully understand then you need to keep following that trail of incentives. Your bosses boss doesn't optimize for those metrics "just because". There are reasons and persuading them requires understanding those reasons. A company has only so much revenue. Wasting that revenue in the best case reduces profits. In the worst case it kills the company. Changing a perverse incentive requires understanding whether it is actually perverse or not and then proposing a compelling alternative that results in better results for the company.
Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @09:30AM (#26761358)
I am sure that what you say is very true for not a small amount of businesses.

My issue is mostly with my profession -- programming. Sometimes we are so micromanaged and our time is so sliced and diced that all of this short-term thinking easily gets 5x more expensive on a short time frame anywhere from 3 to 6 months.

This has been observed numerous times yet IT managers seem to want to never learn.

It's OK to try and save money. But saving money short-term in order to have a huge expense down the line is just being irresponsible from those managers.

Re:Everyone is still terrible at creating software at scale by hallway_monitor on Saturday April 10, 2021 @10:04AM (#26761559)
Having led a team for about a year now let me tell you it's not easy. You are always trying to balance many priorities and even with over a decade of coding experience, it's not always obvious which refactorings or tech debt stories or architectural changes are worth prioritizing now, which can wait till later, and which are engineer pipe dreams that I need to gently but firmly kill as quickly as possible.

I have had similar managers to what was described above, in those types of organizations. It may be a lost cause but it may be an opportunity to work on your influence skills; being able to explain and sell your solution is perhaps even more important than coming up with it in the first place.

Re:Everyone is still terrible at creating software at scale by tacitusarc on Saturday April 10, 2021 @11:18AM (#26762067)
This is really difficult. Perhaps the best thing is to track the proposed technical debt stories, and do not discard them when they are rejected. Instead, also keep track of how much pain is hit that can be associated back to that particular technical debt.

3 years into major project, my team finally got prioritized to work on and improvement that will take us a couple weeks, that we were not able to work on previously because we could not justify its value. But for the past 3 years the organization has lived with pain that this would have resolved. So now we can justify it. And the thing is, it's not like we didn't know 3 years ago when we said we wanted to make this happen but things are going to be terrible if we were not able to prioritize it but in many organizations it's not good enough to just say how bad things will be. People need to actually have felt the pain.

Honestly, I think that's okay on its face. My bigger issue is that frequently there is no or very little trust around engineers who predict what the major problems will be an advocate for them and then it's not like when they're proven right management now listens to them the next time. I think that's the real problem.

Re:Everyone is still terrible at creating software at scale by mavelikara on Saturday April 10, 2021 @12:47PM (#26762833)
> My bigger issue is that frequently there is no or very little trust around engineers

This is a problem. But at any given time management hears programmers arguing for both sides - the "if you're not using Kubernetes you're a moron" and the "learn how to sysadmin and you'll realize you don't need Kubernetes in the first place" (quotes from the top of the thread). In many cases folks in senior management do not have any idea of these things, and they rely on one of these two opinions, resulting in the other half claiming here on HN that management is all bull.

What the profession lacks is a code of practices - like a Joel Test accepted by every accredited engineer.

I am not sure that is net positive for such a rapidly evolving space. Even now people are debating if unit tests are needed and other basic topics. The only "settled" thing about the profession seems to be that gotos are bad.

Re:Everyone is still terrible at creating software at scale by psahgal on Saturday April 10, 2021 @01:40PM (#26763334)
I find that the best senior engineers don't say "if you're not using Kubernetes you're a moron" and "learn how to sysadmin and you'll realize you don't need Kubernetes in the first place", but instead say "Kubernetes is fantastic for this use case because of these reasons..." and "sysadmin would be easier to use than Kubernetes for this problem because of these reasons..."

I'm not sure how one gets software engineers to justify and back up their decisions like this on a regular basis, but I suspect it would help management trust their engineers more.

Re:Everyone is still terrible at creating software at scale by mavelikara on Saturday April 10, 2021 @04:09PM (#26764674)
> I'm not sure how one gets software engineers to justify and back up their decisions like this on a regular basis, but I suspect it would help management trust their engineers more.

More balanced senior engineers (I know anecdotally that there are lots of them) speaking up and challenging their fellow-engineers to justify their extreme positions will be a good start IMO.

Re:Everyone is still terrible at creating software at scale by lanstin on Saturday April 10, 2021 @03:07PM (#26764109)
(Bad) Management chooses to listen to engineers that say agreeable things, not true things.
Re:Everyone is still terrible at creating software at scale by psahgal on Saturday April 10, 2021 @07:11PM (#26766134)
If your manager listens to the engineer who says "Kubernetes is awesome and does all the things!" and doesn't listen to the engineer who says "I think Kubernetes is a bad idea for this project because x, y, and z", then yeah, it's time to find a new manager. Good managers listen to good advisors.
Re:Everyone is still terrible at creating software at scale by spockz on Saturday April 10, 2021 @03:03PM (#26764080)
Anecdotally, we had the opportunity to get better gear for developers than an outdated single 24” 1080p screen and slow computer. Higher management invited a few engineers to share Ygritte ultimate setup. These varied widely between one large ultra widescreen and three small screens. The developers in the meeting started arguing vehemently in the meeting and in the end they couldn’t agree and all developers were left with the same stuff. If you were enterprising enough you could gather two of those 1080p screens until someone from workplace it saw that and installed to desk to spec.
Re:Everyone is still terrible at creating software at scale by cosmodisk on Saturday April 10, 2021 @05:27PM (#26765288)
It was a mistake to give an option to discuss this to start with. It's always if not this than that, x brand is better than y,etc. What matters: is it a Windows/Linux/Mac shop?

No matter what brand,the base unit comes with enough RAM, processing power and spacious SSD.

Everybody gets the same brand,as it's easier to support from the IT perspective.

Keyboard,mouse,monitors should be an individual choice. Some want to ruin their vertebrae by staring at a tiny 13" screen and be happy about it,while some need 3 monitors and 2 keyboards to feel the power,why not.

Not sure why some companies are so tight when it comes to the equipment for developers,as it's always a small fraction of the overall cost of the position.

Re:Everyone is still terrible at creating software at scale by mavelikara on Saturday April 10, 2021 @04:07PM (#26764659)
That is copy-book Sayre's Law: https://en.wikipedia.org/wiki/Sayre%27s_law
Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @02:40PM (#26763849)
This is definitely a very difficult spaghetti to untangle, agreed. But IMO a very good start would be to never accept such polar statements in the first place.

"If you use extremist and simplistic generalizations you are not worth listening to in a discussion" would be the first policy I'd put into a team.

Balanced arguments with pro/con analysis is what makes an engineer senior and a contributor to an argument. Everybody else shouldn't participate the next time around.

Re:Everyone is still terrible at creating software at scale by mavelikara on Saturday April 10, 2021 @04:04PM (#26764635)
Agreed. But the balanced people are the least vocal. As Bertrand Russel noted:

  "The whole problem with the world is that fools and 
  fanatics are always so certain of themselves, and 
  wiser people so full of doubts."
I am someone who moved from a programer role into management. My appeal to the balanced senior engineers is to speak up more. We don't have to swing as much as economists, enough to frustrate President Truman to say:

  "Give me a one-handed Economist. All my economists 
  say 'on hand...', then 'but on the other..."
But we can bring more nuance into discussions - especially calling out those among us with polar positions.
Re:Everyone is still terrible at creating software at scale by cosmodisk on Saturday April 10, 2021 @05:42PM (#26765406)
As a manager, you need to find a way to pull information from people: with some it's a team meeting,with others it's over a meal during the lunch,etc. I even do this sometimes during the management meetings,when I see people clearly not quite happy about something but reluctant to speak,so I ask them directly what's on their mind and that's often enough for them to tell way more than you could have gotten by just expecting for them to speak up.
Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @04:12PM (#26764695)
All of that is sadly true and it's a fundamental problem with humanity. I'd say that the only solution I am seeing is that the managers must proactively shut down the extremists early and hard.

If you demonstrate that you will not submit to extremists, I've found that a good chunk of the more balanced people are then encouraged to speak up.

---

TL;DR: Silence the bad and loud voices, and the wiser and quieter voices will start speaking.

Re:Everyone is still terrible at creating software at scale by ethbr0 on Tuesday April 13, 2021 @11:11PM (#26802524)
> at any given time management hears programmers arguing for both sides

I think it was Andrew Grove (of Intel / High Output Management) who boiled this down to the following algorithm:

(1) Invite all sides to a meeting. (2) Ask them what their decision is. (3a) If they agree, implement the decision. (3b) If they disagree, tell them to discuss it, then give you their decision at the next meeting. GOTO (1)

His point being that managers are the least informed (by virtual of organizational pyramids), and therefore the least effective at picking solutions. Build a team that can arrive at consensus, then trust the team.

Re:Everyone is still terrible at creating software at scale by kclay on Saturday April 10, 2021 @11:29AM (#26762166)
In these cases wouldn't it have been to work on it slowly as a "side project" outside of the team normal priorities? I always tell my team if they can fit it in and not hinder the current sprint by all means go ahead and do it on the side.

I know this goes against the normal and people want to attach "right now " value (hours it took reflected on check) but going beyond the call can also give you leverage when your yearly review comes up for example.

Re:Everyone is still terrible at creating software at scale by hpoe on Saturday April 10, 2021 @04:14PM (#26764717)
I'll also add I only have so much energy in the day, and after a couple of years of fighting against problems I coudn't do anything about and managers who couldn't make the changes, and customers that wanted it now, I burnt out, and instead of spending a useless zoom meeting to work on an improvement I use it instead to make maps for the D&D campaign I am running.
Re:Everyone is still terrible at creating software at scale by Too on Sunday April 11, 2021 @03:10AM (#26768156)
While I've seen several examples of this being the only way to get out of never prioritized debt-cleanup that the team can't bother explaining to management in non-technical business-value terms. The reality is a sprint is always over-packed with stuff to do with zero room for side-projects and expecting people to work weekends on side-projects to solve company business needs is not exactly a sound strategy.

What one can do is is deliberately allot time to the team to work on any side-project as long as they are somehow attached to the business. There are ways to do this more organized, for example innovation-weeks or the famous Google-fridays.

Re:Everyone is still terrible at creating software at scale by tacitusarc on Monday April 12, 2021 @11:16AM (#26780308)
That can work assuming the team isn't already overloaded. But when people are being asked to work 60h a week or more to accomplish their tasks, it becomes untenable.
Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @02:41PM (#26763869)
That's exactly what I am doing and aside from a few wrist slaps people have been okay with such an approach. I always tell them I did this for a few hours during the weekend or while I was waiting our DevOps to resolve an outage these particular 2 hours the last Friday. Seems to work really well.
Re:Everyone is still terrible at creating software at scale by z3t4 on Saturday April 10, 2021 @08:10PM (#26766508)
> People need to actually have felt the pain.

Just like those that never have been hacked dont care about security. Or those that have never lost data dont care about backups. Or those who has never had more then 10 simultaneous users dont care about performance. Basically we do stuff in order to avoid pain.

Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @02:34PM (#26763796)
I wholeheartedly agree that we the engineers must work on our non-tech talking skills!

I've been working on it for a few years now and it's REALLY difficult but even the small wins feel very rewarding and are motivating me to refine my comm skills further.

Re:Everyone is still terrible at creating software at scale by tremon on Saturday April 10, 2021 @12:11PM (#26762535)
Changing a perverse incentive requires understanding whether it is actually perverse or not and then proposing a compelling alternative that results in better results for the company.

While that's true, considering those incentives and changing them if necessary is part of my boss's job, not mine. My job is only to report the misaligned incentives I perceive to my boss. If my boss isn't able to make me understand his decisions, that's my cue to find a new boss. And I concede, those bosses are rare. I've only had two in twenty years of employment.

It takes time to recognize the qualities you need in a boss to perform well. I know myself well enough in that department to actively look for those qualities. Even to the point where I prefer a less challenging job under the right boss than the perfect job under the wrong leadership.

Re:Everyone is still terrible at creating software at scale by alisonatwork on Saturday April 10, 2021 @01:14PM (#26763111)
I agree that often there are good business reasons for killing projects, and plenty of so-called technical debt is actually just the result of pragmatic decision-making. Imo developers should get used to maintaining that stuff, because that's a huge part of the job in most profitable companies.

But there is also a flip-side where I see the opposite happen - especially in startups and VC-funded companies. These companies can take massive losses while at the same time investing huge amounts into elaborate solutions that appear to primarily exist for the purpose of creating impressive bullet points on the resumes of careerist employees. In these companies, even in management, the work seems to be driven by everyone trying to maximize the impact of their own, personal "tour of duty", then making a profitable exit. These incentives are not the same as those of people working at more legacy/boring companies.

Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @02:44PM (#26763894)
> These companies can take massive losses while at the same time investing huge amounts into elaborate solutions that appear to primarily exist for the purpose of creating impressive bullet points on the resumes of careerist employees.

Yep, that's one of the things I had in mind when I said "perverse incentives".

Re:Everyone is still terrible at creating software at scale by bobthepanda on Saturday April 10, 2021 @01:26PM (#26763218)
It also takes time to turn a big ship, and by the time one realizes one needs to make the turn it may be too late.

To extend this to non-tech examples, failing big companies, like Sears, do not disappear overnight; the decline was in full view for over a decade but ultimately the ship could not be turned. With tech the problem may be even worse; Uber still has not turned a net profit, but with tech investors like to throw money at losing businesses. Some turn around, but that's not guaranteed.

Re:Everyone is still terrible at creating software at scale by marcosdumay on Saturday April 10, 2021 @10:19AM (#26761645)
> Your bosses boss doesn't optimize for those metrics "just because".

Your bosses optimize for those metrics because it's the one they can communicate higher up on the short time they can get higher ups attention.

If it were because the metric was any good, there wouldn't be so many cases of companies bankrupted by technical and cultural debits pilling up.

Re:Everyone is still terrible at creating software at scale by pdimitar on Saturday April 10, 2021 @02:46PM (#26763915)
> Your bosses optimize for those metrics because it's the one they can communicate higher up on the short time they can get higher ups attention.

That's their problem and not mine, is it?

A good manager doesn't just reflect the lightning bolt to their underlings. They absorb part of the shock and process / transform what they will transfer down below. If they aren't doing that then they aren't managers; they are uneducated opportunists in suits.

> If it were because the metric was any good, there wouldn't be so many cases of companies bankrupted by technical and cultural debits pilling up.

Really well articulated, kudos.