I’m Barry and I’ve been designing, building and refining software systems for 14 or so years. I’d love to help you design and refine yours.
How can I help you?
If you are starting a project and need help deciding how to knock out the first version I can help.
If you are integrating a new system and need help carving out how to integrate it with the minimal fuss and maximum effort, I can help.
If you need to get a system started now but want to build it for smooth future growth, I can help.
If you have a team and need to make your work smoother (and therefore faster), I can help.
The process
How can I help with all these different kinds of projects?
Over the years I’ve developed a system; a way of thinking about software work; that applies very broadly. It’s useful in all situations where you’re making decisions. And as I’ve come to learn, that’s almost everything we do as software engineers; make decisions.
In a nutshell it’s to treat all software work as a concrete decision to make. It sounds simple. And it is.
It’s simple enough to apply to situations from the biggest architectural issues to the smallest interface designs. Or the most nebulous ‘where to even start’ moments to the most concrete ‘how can we improve performance by Y%’ issues.
In a nutshell:
- We lock down your goals and non goals. This is the actual decision you need to make. Without understanding it you’ll never know when you’re really done
- We gather context. Without this any solution will run into blind spots the second it hits implementation.
- Now it’s time to break out your options; the fun stuff. The design! We don’t stop with one, 2-4 is ideal.
- Decision time! At the very beginning we decide how to decide: is this time for democracy? or does the boss need to take it alone? Maybe the quickest is best and we just need to do the due diligence, pick the best and get to it?
- Action: Take your chosen option and get building.
The value for you
Everything we do as software engineers is to make decisions.
So you’re already on you’re way. But if, like most teams out there, your decision making is scattered among various tools, often implicit or siloed, then you can make great value out of surfacing it and treating it like the core job it is.
For example:
Goals are often mentioned in team meetings, heard by some, remembered by fewer. Or they’re left as high level goals, and not broken down into relevant goals for the system design you’re facing.
Are your design phases wandering and getting bogged down in bike-shedding? Then it’s time for some non goals.
Context is gathered, that’s often the lion’s share of our time as engineers. But what context? Is enough being gathered? Are there gaps? How long is it taking your team? Is it as easily available as it should be?
You write software, so de facto you choose an option. But do you choose the right one? Is there only one? Is it their option; to be defended tooth-and-nail by whoever ‘owns’ it? Do you find yourself ‘surprised’ during implementation, spending time going backward to go forward again?
You make progress; therefore decisions are being made. But are they being made too slowly? Too fast? Is everyone happy with how they are being made? Do they all pull in the same direction? One great decision that doesn’t fit with the other 100 doesn’t work. Surface how you make decisions and get everyone on the same page.
My job
Figuring out how this applies to the problems you’re facing isn’t your job; it’s mine. So reach out, let me know what you’re facing and let me guide you through it.
All you have to do is just pick a time to meet.
I’ll send you some follow up questions so we’re all on the same page and can really get into it and find the best route forward for you.
Best of all, this first meeting doesn’t cost you a thing.
At the end I’ll put together an overview of the the decisions you are facing and the various ways I can help you get through them. These will usually have a fixed price and time, and can be once-off, a package for a project or recurring. Whatever works for you.
I really look forward to hearing from you, and always wish you a very good day; wherever you are.
Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.