Delay architectural decisions until theyāre truly needed. Architecture decisions made too early live in the wide end of the Cone of Uncertainty. Wait until you have real-world knowledge of the problem and system. #ContinuousArchitecture
ALT This image visually represents a key concept from Continuous Architecture ā the relationship between architecture decision impact, number of decisions, available knowledge, and uncertainty over time in a project.
š„I'm thrilled to share my latest article on LeadDev, "Influencing Influencers: Powerful Strategies to Scale Your Impact at Work." In this article, I discuss the art of amplifying your influence within your organization, drawing inspiration from an analogy shared by my former mentor, Rick Maharaj.
This analogy has shaped how I approach leadership and collaboration. I hope this article resonates with you and provides actionable insights to enhance your impact, regardless of your role.
š Check it out here: leaddev.com/personal-developā¦
Sharing my latest article on the LeadDev blog: "How to Better Budget Your Time Using the $10 Method." In this article, I delve into practical strategies for Staff engineers to balance technical work and leadership responsibilities more effectively. leaddev.com/personal-developā¦
I had the pleasure of participating in a recent LeadDev webinar where we delved into balancing technical work and leadership responsibilities for staff engineers. If you missed it, you can catch the replay here: youtu.be/80n2euxnhEI
The durability of a contract is more important than the durability of an implementation. Donāt take shortcuts - but if you have to then take shortcuts in implementation before taking shortcuts in contract design. Keep contracts simple, complexity can be added but not removed.
āScientists may get their papers published by making things sound complex and difficult to understand, an architectās job is the inverse: making complex topics easy to digestā @ghohpe
āArchitects are sometimes accused of ānot making anything.ā I believe that architects make two things that are of vital importance and in short supply: they make sense and they make decisions.ā @DrDavidKnott
How to make data processing scalable, reliable and performant?
#Scalability by Partitioning
#Reliability by Replication and checkpointing
#Performant by In-memory processing
Important (but often forgotten) non-functional requirements for service clients: blocking vs non-blocking I/O, buffering & batching, #timeouts, #retries, exponential backoff & jitter, and #circuitbreaking.
Yes, in software engineering we need to be concerned about the scale and efficiency of the software we are building, but we also need to be concerned about building scale and efficiency of our own engineering organizations.
If your system is slow for a single user, then you have a performance problem. But if your system is fast for a single user but slow under heavy load, then you have a scalability problem.
In software development there is the classic spaceātime trade-off where we trade increased space usage with decreased time. But in distributed systems, there is also the complexity-politics trade-off where a team trades complex integration, alignment & reuse with more software.
āOne cannot be successful as an architect without thinking of not only *what* to do, but *how* to get it done within an organization, which requires knowing *why* it should matter to someone who isnāt a technologist.ā @ebenhewitt
Walmart is planning to add 120 Silicon Valley type software engineering jobs to its Carlsbad hub. Here's more info on the hiring plans and some ways to get in >
10news.com/news/making-it-inā¦