Every quarter, some CEO tells me they're "losing engineers to FAANG" and asks how to compete on compensation. And every time, when I actually talk to the engineers who left, compensation is third or fourth on the list. The real reasons: they felt stuck, they were blocked by bad process, or they stopped believing leadership would fix the problems everyone could see.
Culture isn't a ping pong table. It's the collection of decisions you make about how work happens, how problems get surfaced, and whether people feel like their input matters.
Autonomy Over Assignment
The single biggest cultural shift I implement when I join a team: move from top-down task assignment to team-based task ownership. Instead of a manager assigning tickets to individuals, the team reviews the sprint backlog together and developers opt into work.
This sounds small. It's not. When engineers choose their work, they take ownership of it. When they're assigned work, they complete it. The difference in quality, initiative, and morale is enormous.
This doesn't mean anarchy. The sprint goals are still set by leadership. The priorities are still clear. But within those constraints, the team decides who does what based on interest, skill development goals, and who's best positioned for each task.
Retrospectives That Aren't Theater
Most teams run retrospectives as a ritual. Someone writes things on sticky notes, the team discusses for 20 minutes, and nothing changes. Three sprints later, the same problems are on the board.
I run retrospectives with a timer — five minutes for everyone to write down what we should stop doing, start doing, and keep doing. Then we pick the top two items and assign actual owners with actual deadlines. Next retrospective starts by reviewing whether last sprint's items got done.
The magic isn't the format. It's the follow-through. When engineers see that the things they flag actually get fixed — temporary files cleaned up, PR review bottlenecks resolved, flaky tests addressed — they start trusting the process. When they see nothing change, they stop speaking up, and then they start interviewing.
The Portable Team Model
For Nebari's dev teams, I've built what I call portable teams: groups of 2-3 developers with QA and BA support that rotate across client engagements as a unit. The team stays together; the project changes.
This does three things for retention. First, it provides variety — engineers don't get bored working on the same codebase for two years. Second, it preserves team chemistry — you're not constantly rebuilding working relationships. Third, it creates transferable expertise — every new engagement adds to the team's pattern library.
Not every company can do exactly this, but the principle applies: keep the teams stable and vary the work. It's cheaper and more effective than constantly backfilling attrition.
Connect Work to Business Outcomes
I do Friday end-of-sprint demos where the team presents what they shipped — not just to other engineers, but to business stakeholders. And the presentation includes business context: not "we built the API endpoint" but "we built the API endpoint that lets customers self-serve password resets, which should reduce support tickets by 30%."
When engineers understand why their work matters, they make better decisions autonomously. They push back on requirements that don't make sense. They suggest simpler solutions that achieve the same business outcome. They stop being ticket-completers and start being product thinkers.
Morning Standups, Done Right
Daily standups at 8am EST, 15 minutes max, three questions: what did you do, what are you doing, what's blocking you. The key: if something is blocking you, it gets resolved that day by whoever can unblock it.
Standups fail when they become status reports that nobody acts on. They succeed when the team treats "I'm blocked" as an emergency that gets immediate attention. The message you're sending: your time matters, we won't let you sit stuck.
Onboarding as a Cultural Signal
The first week at a new company tells an engineer everything about the culture. If it takes three days to get a development environment running, they know the team doesn't prioritize developer experience. If nobody's available to answer questions, they know they're on their own.
I target a two-hour maximum for environment setup — documented, scripted, and maintained. New engineer shows up Monday morning, has a working dev environment by lunch, and ships their first PR by end of week. That's the cultural signal: we're organized, we respect your time, and we expect you to contribute quickly.
What Doesn't Work
Unlimited PTO. Engineers take less time off, feel guilty when they do, and resent the ambiguity. Give them a specific number of days and encourage them to use every one.
Mandatory fun. Team happy hours are fine if people actually want to attend. Making them mandatory (even implicitly) creates resentment, especially for remote team members in different time zones.
Hero culture. If your best engineers are regularly working weekends to hit deadlines, you don't have a culture problem — you have a planning problem. Celebrate the engineers who ship consistently at sustainable pace, not the ones who burn out heroically.
Related: Managing Engineering Teams: What Actually Works, Scaling Engineering Teams from 1 to 20, Managing Distributed Engineering Teams