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

https://friendgineers.rosenshein.org/posts/2025/08/15/

Indirection Vs. Abstraction

Abstractions may be indirections, but indirections are NOT abstractions. Confuse them at your own peril.

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

https://friendgineers.rosenshein.org/posts/2025/07/30/

Stuttering

Sometimes we are our own worst enemy. Here's a story of my spending WAY too much time trying to figure out why one of the core functions of one of my core tools was broken. Even though it wasn't. It can happen, but that's probably not the most likely thing to be wrong.

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

https://friendgineers.rosenshein.org/posts/2025/07/23/

Optimization

You can find lessons in the strangest things if you let yourself. There are even lessons to be learned from the holes in a bar of soap.

HT to @tottinge 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

https://friendgineers.rosenshein.org/posts/2025/07/21/

Writing Legacy Code

One of the hardest things for a person to admit, to themselves or others, is that some painm they're feeling is self-inflicted. But it's also one of the things that has the highest return on investment. Or to put it another way, the code we write is hard to work on because we wrote it that way. So it's up to US to do something about it.

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

https://friendgineers.rosenshein.org/posts/2025/07/14/

Practice Makes Perfect?

Practice, practice, practice. Do that enough and you'll become an expert. That's all you need to do and all you need to know, right? Not quite. It's important, even critical, but it's NOT enough

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

https://friendgineers.rosenshein.org/posts/2025/07/11/

Power Dynamics

You always need to be careful what you say, because you can't be sure how people will here it. Add in a power differential and things can easily go off the rails.

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 #badideas

https://friendgineers.rosenshein.org/posts/2025/07/07/

Exsqueeze Me?

There are lots of good reasons to remove tests. There are even more reasons to keep them. Or, if there's a problem, FIX them.

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

https://friendgineers.rosenshein.org/posts/2025/06/30/

Speed Vs. Quality

Move fast and break things might work for a disruptive business, but as a long term coding strategy it leaves a lot to be desired. In fact, it's a self-defeating strategy.

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

https://friendgineers.rosenshein.org/posts/2025/06/25/

Culture: Not Just For Yogurt

What you do when things are going well doesn't define your culture, it just illuminates it. So changing what you do when things are going well won't change your culture. So what can you do?

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

https://friendgineers.rosenshein.org/posts/2025/06/23/

Docs First And The Definition Of Done

I'm often surprised by how clearly and fully defining your goal actually liberates you when you need to define the solution to your problem. It's almost like having too big a goal space constrains the solution unnecessarily