←back to thread

210 points dakshgupta | 3 comments | | HN request time: 0.646s | source
Show context
bradarner ◴[] No.41841731[source]
Don't do this to yourself.

There are 2 fundamental aspects of software engineering:

Get it right

Keep it right

You have only 4 engineers on your team. That is a tiny team. The entire team SHOULD be playing "offense" and "defense" because you are all responsible for getting it right and keeping it right. Part of the challenge sounds like poor engineering practices and shipping junk into production. That is NOT fixed by splitting your small team's cognitive load. If you have warts in your product, then all 4 of you should be aware of it, bothered by it and working to fix it.

Or, if it isn't slowing growth and core metrics, just ignore it.

You've got to be comfortable with painful imperfections early in a product's life.

Product scope is a prioritization activity not an team organization question. In fact, splitting up your efforts will negatively impact your product scope because you are dividing your time and creating more slack than by moving as a small unit in sync.

You've got to get comfortable telling users: "that thing that annoys you, isn't valuable right now for the broader user base. We've got 3 other things that will create WAY MORE value for you and everyone else. So we're going to work on that first."

replies(4): >>41841863 #>>41842117 #>>41842527 #>>41848369 #
dakshgupta ◴[] No.41842117[source]
All of these are great points. I do want to add we rotate offense and defense every 2-3 weeks, and the act of doing defense which is usually customer facing gives that half of the team a ton of data to base the next move on.
replies(2): >>41842280 #>>41843454 #
bradarner ◴[] No.41842280[source]
The challenge is that you actually want your entire team to benefit from the feedback. The 4 of you are going to benefit IMMENSELY from directly experiencing every single pain point- together.

As developers we like to focus. But there is vast difference between "manager time" and "builder time" and what you are experiencing.

You are creating immense value with every single customer interaction!

CUSTOMER FACING FIXES ARE NOT 'MANAGER TIME'!!!!!!

They are builder time!!!!

The only reason I'm insisting is because I've lived through it before and made every mistake in the book...it was painful scaling an engineering and product team to >200 people the first time I did it. I made so many mistakes. But at 4 people you are NOT yet facing any real scaling pain. You don't have the team size where you should be solving things with organizational techniques.

I would advise that you have a couple of columns in a kanban board: Now, Next, Later, Done & Rejected. And communicate it to customers. Pull up the board and say: "here is what we are working on." When you lay our the priorities to customers you'd be surprised how supportive they are and if they aren't...tough luck.

Plus, 2-3 weeks feels like an eternity when you are on defense. You start to dread defense.

And, it also divorces the core business value into 2 separate outcomes rather than a single outcome. If a bug helps advance your customers to their outcome, then it isn't "defense" it is "offense". If it doesn't advance your customer, why are you doing it? If you succeed, all of your ugly, monkey patched code will be thrown away or phased out within a couple of years anyway.

replies(1): >>41843366 #
1. FridgeSeal ◴[] No.41843366[source]
Whilst I very much agree with you, actually doing this properly and pulling this off requires PM’s and/or Account Managers who are willing and capable of _actually managing_ customers.

Many, many people I’ve dealt with in these roles don’t or can’t, and seem to think their sole task is to mainline customer needs into dev teams. The PM’s I’ve had who _actually_ do manage back properly had happier dev teams, and ultimately happier clients, it’s not a mystery, but for some reason it’s a rare skill.

replies(1): >>41844295 #
2. bradarner ◴[] No.41844295[source]
Yes completely agree. This is hard for a PM to do.

I’m assuming that the OP is a founder and can actually make these calls.

replies(1): >>41845797 #
3. dijksterhuis ◴[] No.41845797[source]
the reasons PM stuff is ‘hard’ in my, admittedly limited, experience often seems to come down to

- saying No, and sticking to it when it matters — what you’ve mentioned.

- knowing how the product gets built — knowing *the why behind the no*.

PMs don’t usually have the technical understanding to do the second one. so the first one falls flat because why would someone stick to their guns when they do not understand why they need to say No, and keep saying No.

there are cases where talking to customer highlights a mistaken understanding in the *why we’re saying No*. those moments are gold because they’re challenging crucial assumptions. i love those moments. they’re basically higher level debugging.

but, again, without the technical understanding a PM can’t notice those moments.

they end up just filling up a massive backlog of everything because they don’t know how to filter wants vs. needs and stuff.

— also i agree with a lot of what you’ve said in this chain of discussion.

get it right first time, then keep it right is so on point these days. especially for smaller teams. 90% of teams are not the next uber and don’t need to worry about massive growth spurts. most users don’t want the frontend changing every single day. they want stability.

worry about getting it right first. be like uber/google if you need to, when you need to.