What's wrong with how we train, hire, and motivate programmers [video]
danielbmarkham.com
danielbmarkham.com
How is this specific to programming? Surely there are more pressing matters if we are looking for BS jobs that don't solve problems.
> U.S. health care spending grew 9.7 percent in 2020, reaching $4.1 trillion or $12,530 per person. As a share of the nation's Gross Domestic Product, health spending accounted for 19.7 percent.
https://www.cms.gov/Research-Statistics-Data-and-Systems/Sta...
This is almost one out of every five dollars in this country. Now that is something actually worth talking about.
All of this was kind of laid out with the push for Obamacare and refusal to consider Medicare for all. It was a clear decision by Congress that the status quo of the healthcare industry being a huge part of the American economy would be solidified in law. Anything that tries to rock the boat or change that is going to be facing extreme resistance at all levels from the political and financial elite.
Reducing healthcare waste means people are available to actually do useful work. Consider, doctors spending less time dealing with insurance companies would actually improve healthcare outcomes either because they are less distracted or because they have more time to work with patients/research.
It also frees up money that can be spent on other things.
What the US wastes so much money on isn’t really healthcare it’s healthcare adjacent tasks like medical billing, insurance, advertising, etc.
Public health spending yes, healthcare spending maybe not. (For instance, if everyone's staying home they can't get injured in workplace or car accidents.)
I've seen this argument used for universal healthcare in the US too, but it doesn't really make sense. Formal healthcare couldn't do much for you if you got covid since there weren't treatments for it, and now there is an antiviral and vaccine you don't need to go visit a doctor to get them.
Unfortunately that shit gets expensive. Mean intensive care unit cost and length of stay were 31,574 +/- 42,570 dollars and 14.4 days +/- 15.8 for patients requiring mechanical ventilation and 12,931 +/- 20,569 dollars and 8.5 days +/- 10.5 for those not requiring mechanical ventilation. Daily costs were greatest on intensive care unit day 1 (mechanical ventilation, 10,794 dollars; no mechanical ventilation, 6,667 dollars), decreased on day 2 (mechanical ventilation:, 4,796 dollars; no mechanical ventilation, 3,496 dollars), and became stable after day 3 (mechanical ventilation, 3,968 dollars; no mechanical ventilation, 3,184 dollars). Adjusting for patient and hospital characteristics, the mean incremental cost of mechanical ventilation in intensive care unit patients was 1,522 dollars per day (p < .001). https://pubmed.ncbi.nlm.nih.gov/15942342/
Meanwhile because people assumed there was little medicine could do many preventable deaths occurred at home.
Does that mean people admitted to hospital? Even before vaccination most people who caught it didn’t get sick enough to require hospitalization - there were some (expensive) covid-specific treatments like mABs for those who did of course.
Set A with modern medicine out of X people: 40 get seriously ill, 30 get hospitalized, 20 of those end up in intensive care, and 10 of them die.
Set B wihtout modern medicine out of X people: 40 get seriously ill, and 20 of those die.
People in set B are twice as likely to die even if most people in set A didn't get treatment. This holds true even if your personal odds of getting seriously sick might have bea well below average, the odds of surviving if you had gotten seriously sick improved.
The important takeaway is hospitalization was mostly limited to people who got really sick.
This explanation doesn't cut it: per-capita the US spends the most but it's demographic trends are not unique.
But US healthcare is also horrifically inefficient largely due to a combination of a private insurance system, poor management, and massive government subsidies. Unfortunately any effort to improve efficiency would lower profits or cost jobs.
Old farts (more about the attitude than the age, I'm not that young either) talking about architecture/organization layers that make things pointlessly complicated in the real world, cannot grasp stuff like the split between frontend/backend because likely haven't done nontrivial code on both for the last 10-15 years. Probably consult on "architecture and process" and the closest thing they get to writing code is write examples for books/talks. Guys like these are a big part of the reason we are an industry of building complex messes.
Even more seriously for Ershov’s vision, the Ministry of
Education and the commission charged with implementing the
informatics course took aim directly at the cornerstone of
the whole concept.
In contrast, the commission proposed that the course focus
on skills that would be directly useful to students in a
practical context, and specifically not train them to be
programmers.> [..] if your organization is struggling with an Agile transformation, drowning in chaos, you’re going to leap when someone offers you a lifeboat in the form of certifications and processes and tools. Executives understand processes and tools much more than they grok self-organizing teams.
[1] https://www.simplethread.com/agile-at-20-the-failed-rebellio...
That's why the focus on certifications is absurd, imho, not Agile itself.
I have seem projects with long term scope and notion of plan, but it had a lot more flexibility and feedbacks points in the middle.
Mental agility is mostly found in young people and sometimes in older people that choose to stay humble and keep an open mind about their own abilities and skills. I like to think about myself as such; though if I'm honest, I'm more conservative than I used to be. It's disgusting how much value I get out of young people on my team willing to learn whatever and unburdened by experience vs. grizzled veterans with a lot of certificates and a rigid/dogmatic mindset that regard anything new as a threat rather than an opportunity to learn. I find it very energizing to be around such people.
I've worked with veteran teams as well (like more than half > 40) and there were some spectacularly cynical types on those teams sucking all energy out of any room they entered. Given the demographics of developers (doubling numbers of programmers every five years), finding yourself on such teams is relatively rare.
I've worked with numerous people that had certificates for this and that and rarely came away impressed by their skill sets. Also, I shook Ken Schwaber's hand (one of the people behind Scrum) at the end of a 2 day workshop many years ago that made me a "certified scrum master" and him probably a little bit wealthier. So, I know how hollow that phrase is. Licensed to wield multi colored post-its and sharpies, basically. That was one of the least agile companies I've worked with trying to be agile. No mental agility whatsoever at the senior level. But they compensated by sending all their senior engineers to trainings like this so they could virtue signal their supposed agility.
These days, I keep my teams agile mainly by keeping them small. Small, remote teams don't need a lot of process and can resolve issues by simply communicating with each other. Partitioning teams and keeping the team boundaries informal removes a lot of need for process.
In person meetings are rare with remote teams anyway. So post-its and sharpy wielding scrum masters have no place in such teams. We do have online meetings but I limit them to once a week for engineers and keep them informal: I want people to talk, ask questions, debate, and bond in the rare meetings we do have. Standups in front of a web cam are even more pointless than the zoned out de-caffienated cluster of extremely bored engineers droning on about what they did or did not do yesterday. So, not a thing that I do. I've always hated those type of standups and lots of developers I respect a lot seem to feel the same. I never got much value out of those.
People waiting for such meetings to raise important issues are actually wasting time instead of being agile. Reach out asynchronously as early as convenient. Lots of issue resolution and problem solving does not require having any meetings whatsoever. And when there is a conflict that requires a meeting, have it 1 on 1 as early as convenient and don't burden the rest of the team with unresolved conflict. The best resolution is often just asking "do you have time for a quick call about this?".
Waiting for some arbitrary meeting to happen turns those meetings into synchronization bottlenecks. The longer they are or the more you have of those, the worse the problem is. You solve synchronization bottlenecks with asynchronous processes and not with a "stop the world" point in time where people "meet" and are collectively not productive. Some OSS projects function entirely without meetings or meet very rarely. And some of those projects have orders of magnitudes more commits, developers, and change happening than most corporate "agile" projects. So, it can be done and IMHO is actually optimal and more agile.
IME that isn't true. I'd like to know if you've any evidence of this at all. It's a trope too easily repeated but never seen any evidence presented.
I do agree that cynicism can come from older people simply mistreated/abused/ignored too long by a company, but that's directly from their treatment, and then, that isn't as common as one might expect. Again, IME.
Good people make difficult things simple. Poor people make simple things difficult and overcomplicated.
It's a two quadrant problem with good and smart being the ideal, and poor and not smart being the worst.
Poor and smart can be extremely toxic - unnecessary complexity that's hard for everyone else to understand. IME often also comes with personality issues.
Good and not smart can be workable with good guidance.
OMG yes, had one of these once. A simple application because a dog-slow matryoshka of virtualisation and containers stitched together with queues and microservices, distributed over a cluster.
One good server, a database and a bit of plain coding could have done the job, and been vastly faster as well. But his version was going to be so scalable! (haha, not even slightly. Edit: and he couldn't understand why)
Older people (especially with kids) probably just want to get the easy money instead of the risky, long-hours startups.