EzProgramming's profile picture. I help organizations overcome the challenges of software development. DM is always open.

Steve (Big Red) Bishop 👨‍💻

@EzProgramming

I help organizations overcome the challenges of software development. DM is always open.

置頂

Bishop's Law revised Parallel Systems: R = O(α log C + β) Concurrent Systems: R = O(α C + β) The addition of O() uses Big O notation for asymptotic upper bounds, while "log" reflects logarithmic scaling in optimized parallel implementations, versus linear in naive ones. These…

Bishop's Law: Work done in async requires a resync. As the work complexity increases, so does the resync complexity. Resync complexity: R = αC + β (for independent streams/parallelism) R = αC² + β (for conflicting streams/concurrency), Where C is total async work complexity,…



I think opinionated Agile gets a bad rap.


LLM's are all too easy to anthropomorphize. Our lizard brains see faces in toast. Is it any wonder it sees thinking in extremely good predictive text algorithms?


"So your teams aren't delivering software on schedule." "That's correct, Dave" "So you're implementing Scrum." "Correct" "To add meetings to their schedule for talking about how they can get more stuff done." "Correct!"

EzProgramming's tweet image. "So your teams aren't delivering software on schedule."

"That's correct, Dave"

"So you're implementing Scrum."

"Correct"

"To add meetings to their schedule for talking about how they can get more stuff done."

"Correct!"

Steve (Big Red) Bishop 👨‍💻 已轉發

I’m not anti-AI. I am, however, anti the rapacious tech bros who selfishly hype AI for the purpose of increasing their wealth and power at the expense of our humanity.


Vibe coders remind me of the people who build applications in MS Access for their department using macros. At some point when they need to scale, or tweak existing logic, they require someone who actually knows what they're doing to take over.


Front-end framework wars are yesterday's news. LLM model wars are the new hotness.


Steve (Big Red) Bishop 👨‍💻 已轉發

The behavior is static. Yes the services it calls are inverted dependencies, but the steps it goes through are static. What happens if they decide to add push notifications, or stop sending emails? The developer would have to either modify this method, thus violating OCP, or…


Me: Our team will be deploying at least once if not several times a day. SH: How often will you have to take the system offline for that? Me: Never. SH: *stunned silence* I relayed this story to my team, everyone laughed when I told them the stakeholders question. Not because…


I am of the opinion that a Scenario is the smallest unit of work which the business should be observing and monitoring. A user story can be of a wide variety of sizes that simply describe what the user wants. It can be written as small as a single scenario, or as large as a full…


I often wonder why event driven architecture is primarily done for communication between systems, but not within a system. It seems like a perfectly good way to decouple and invert dependencies. Why do we stop once we reach inside the system boundary?


Steve (Big Red) Bishop 👨‍💻 已轉發

“We have Dev, QA, UAT, Staging, and Prod, so we’re mature.” “We only have Prod, so we’re forced to be mature.” I generally prefer the latter. Why? It encourages shifting quality left, single piece flow, frequent small releases, launching darkly, and low-risk canary deploys.


Steve (Big Red) Bishop 👨‍💻 已轉發

Today I submitted my resignation at Netflix. They rejected it. Apparently, you can’t resign from a company you don’t work at.


Steve (Big Red) Bishop 👨‍💻 已轉發

Add the new phone_number column, but make it nullable. This is a fast, non-blocking operation. Deploy new code that starts writing to the new column, but can still handle reading null values from it. Old code ignores the column. Run a background job that slowly, in small…

Quick question : You need to add a new, required phone_number column to your users table, which has 500 million rows. You write a simple ALTER TABLE script. You run it during a "maintenance window." It locks the entire users table for 8 hours while it adds the new column to…



Revenge is an enticing meal, but it rarely fills the belly.


🤔

People often separate React component logic via a hook. But one hook with all the component's logic isn't ideal. So, avoid this: Modal.tsx useModal.ts Prefer this: Modal.tsx useClickOutsideModal.ts useEscapeKey.ts Declare focused hooks that handle a specific concern.



Steve (Big Red) Bishop 👨‍💻 已轉發

You don’t need a daily standup. But you do need to communicate often. You don’t need formal retrospectives. But you do need to regularly discuss improvement opportunities. You don’t need sprints. But you do need to break work down and deploy often. You don’t need a sprint…


Steve (Big Red) Bishop 👨‍💻 已轉發

Rather than taking breaks because we are tired, we take breaks so that we do not become tired. buff.ly/C97BfVB


Today an LLM taught my team and I something new. You can wire your mocked modules inside of a Jest describe function. Up to this point all of the examples we had seen were wiring the mock outside the tests and thus were not being properly scoped.


Loading...

Something went wrong.


Something went wrong.