Higher privilege leaves you ignorant.
When people defer to you, then you're insulated from reality, since they present what you want to see, confirm your beliefs etc since that smooths their lives.
They can take your perspective, and you have no clue theirs exists or how to see from it
Posts by Leon Rosenshein
Friendgineers: Abstractions and Indirections can look like the same thing, but they're actually very different. It's never a good idea to confuse two things that sound similar but aren't
#friendgineers #abstraction #indirection
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Are you getting all of the value you can from your tests? You can probably get more than you are. Correctness is only the tip of the iceberg.
#friendingeers #tdd #testing
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: I try to keep things simple for myself. And I try not to make too many assumptions. But sometimes I get in my own way and make things harder for myself.
#friendgineers #naming
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: I learn things all the time and from many different places, not just my dryer. This week I learned about optimization from soap and silverware in hotels.
#friendgineers #optimization
friendgineers.rosenshein.org/posts/2025/0...
HT to @agile-otter.bsky.social . He said this way better than I can. Why, in the name of all that's good, are we still writing legacy code in 2025?
#friendgineers #legacy #tdd
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: What do you love? Strange question for a software engineer, but surprisingly relevant. Loving the right thing helps you move forwards, but loving the wrong thing will hold you back.
#friendingeers @whodoyoulove
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Does practice make perfect? Maybe. But are you perfecting the right thing? That's a question we should be asking far more often than we actually do.
#friendgineers #practice #strengths
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Power dynamics are real and play a surprisingly large role in what gets done. Even when people with power don't realize the impact they're having.
#friendgineers #power
friendgineers.rosenshein.org/posts/2025/0...
Also, Thank you.
Damn. This really says something worth thinking about.
Friendgineers: The internet is a great place for learning. It's also a place where you can find some REALLY bad ideas. It takes critical thinking to know if any particular idea is good or bad, IN YOUR SITUATION. Somethings though, are just bad ideas.
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Are you working on a product or a platform? Or are you somewhere in the messy middle? It all depends on how wide a view you take.
#friendgineers #messymiddle
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: I've often felt that we in the software business prioritize immediate gain over long term success. Sometimes that's needed, but in the long run, taking a long term view always pays off.
#friendgineers #qualityoverspeed
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: We all agree that good culture is important. We even mostly agree on what good culture is. But how do you identify it, and how can you encourage it?
#friendgineers #culture #trust #honesty
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: You have the power of the pen. Writing down the impact of what you're going to do is constrains your impact, but it can also open up possibilities.
#friendgineers #docs #contraints #powerofthepen
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: You need to be clear about your goals and always work towards them. You also need to accept the reality that your goals may exceed your grasp. Then include that reality in your plans.
#friendgineers #goals
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: There are lots of superpowers you want as a developer. One of the bet ways to get them is to have options. That means doing the hard work up front so you have optionality.
#friendgineers #optionality #superpowers
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Genies can be very helpful. But in almost all cases, their not trying to be helpful, just doing what you say. Which makes your review of their work even more important.
#friendgineers #ai #genie
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: You need to remember who you're really talking to when you write code. It's NOT the compiler and it's not the reviewer, although they need to understand. It's the maintainer. Write for the maintainer.
#friendgineers #maintainer
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: There are those who say AI makes us faster by writing the code. When was the last time typing was the bottleneck? Maybe when you're typing, but it's almost NEVER the limiting factor over a project's lifetime.
#friendgineers #Efficiency
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: When requirements change out from under you it is very disruptive. But did they really changing, or are we just understanding them better? Not understanding the requirements is a shared communications problem.
#friendgineers #requirements
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: We all think we're writing new code, but the reality is, in almost all cases, we're modifying existing code. How do things change if you think of how you're modifying existing code EVERY time you write any code?
#friendgineers #maintainer
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Did you know your data talks to you? It's talking all the time, but we usually don't listen to it. As part of your design process, you should start listening to your data.
#friendgineers #data #listen
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: We all want to write performant software. The smallest code in the least memory. Or getting an answer faster? Or getting the right answer? It depends. Make sure you know what performance is before you chase it.
#friengineers #performance
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: I've said it before and I'll say it again. Handling time right is hard. Not just in your production code, but in your tests as well. We have met the enemy, and it is Time.Now().
#friendgineers #time #testing
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: You can be a professional engineer. Even software people can become PEs (in Texas). But most engineers, software or other fields, don't. That's OK, and that doesn't define if you're an engineer or not.
#friendingeers #engineering #license
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Continuing on why software engineering is engineering, a discussion of estimates. Yes, they're hard for software. Just like they're hard for all engineers. Just another way Software Engineering is Engineering.
#friendgineers #estimates
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Engineering is all about balancing contraints, both physical and non-physical. The domain doesn't matter. Software engineering is just as much engineering as as designing a building or a bridge.
#friendgineers #engineering #constraints
friendgineers.rosenshein.org/posts/2025/0...
Friendgineers: Move fast and break things sounds like the opposite of Slow is Smooth, Smooth is Fast, but what it they're opposite sides of the same thing?
#friendgineers #movefast #breakthings #slow #smooth
friendgineers.rosenshein.org/posts/2025/0...