I will be very impressed and curious if I find a glowing article about C++ from someone who didn’t grow up knowing it as a smaller, simpler language.
The C++ community needs enthusiastic converts who didn’t do it back in the 2000s if it’s going to stay relevant.
The major benefit of reducing or eliminating the H1B visa program is that those companies can continue to do well, and Americans can do well along with them.
Walmart is a U.S. company that historically did well, but I don't see why anyone would care unless you buy their stock or live in Bentonville.
People don't care about macro indicators that lump the 1% and the 99% together.
It’s great at the beginning. We started with a team of mostly self-motivated people and the lack of upward review made technical decision-making easy.
Eventually, you hire someone who is not self motivated. Also, some existing people get wise to the fact that no one will check up on them, and read Reddit for half the day.
About 4 months in, every team had 1 person like that. They had to work around them - one team can’t ever get designs cause the designer is checked out, one team’s backend work takes 1.5x as long as everyone else.
People say things to the underperformers, but there’s no teeth to anything, no one is anyone’s manager, so it’s just suggestions. They get ignored. Resentment builds into each individual team’s culture. Deadlines start slipping.
1 year in, non technical leadership is fed up. They don’t see benefits from the flat structure, and hire a new CTO and new middle management layer.
The new managers come in briefed with “the team is lazy.” The underperformers get pushed out, and have trouble finding work because their skills have absolutely atrophied. Any remaining high performers are permanently tarred with the reputation of the org from the flat structure days, and get micromanaged. To the new managers, they are kids who will misbehave the second they aren’t watched (which, in fairness, is kinda what happened at the organizational level when they weren’t watched.)
Sone good middle management providing timely oversight and feedback could’ve avoided the whole situation.
This is just about the laziest and least trustworthy language possible to use. Your reports aren't going to know what they don't know and are just going to become paranoid and work slower. The code quality will likely not improve from a conversation prompted this way. This is also a continuous process, not a magic high stakes meeting. If you're in charge you should see patterns in the code reviews and know what their knowledge gaps are causing these issues. They're looking to you for help if you're the one bringing this up in the first place.
If that's too time consuming or over your head you should not be a manager. Leverage your own knowledge and use mentorship to avoid conflicts with your reports and the improved productivity will please the people above you as well. You aren't giving anyone what they need by merely communicating requirements. Your job is to fulfill those requirements with the team you have.
That’s the first step in fixing the quality issues, not an end state. Reports don’t know what they don’t know, so step 1 is to get their ideas on how to fix quality issues.
What a doozy of a start to this article. How do you even reach this point?
-------------------------------------- Just like many Indians of my generation, I spent my childhood in a single bedroom rented house. Every evening, my brother and I would sit in front of an oil lamp and study, mostly maths and science. -----------------------------------------
------------------------------------------------ My father has been a software engineer since the 90s and my brother is an absolute rockstar with computers. We didn’t have cartoons in TV back in our childhood but had our hands on keyboard ever since I could possibly remember. ---------------------------------------------
So you operated the computer / keyboard using oil lamp ?
At your clojure job, we’re y’all using spec? I haven’t looked into it yet, and I’m wondering how much it mitigates the annoyances of dynamic types