The key thing for me is that I’m passionate about making work life better for software developers and having successful projects instead of the dreadful slog that happens so often. Also: I love working with smart, enthusiastic people. Also: I like getting paid. So here’s the big idea.
First we take an hour on the phone together, you (whoever’s reading this) and me and the team leader or development manager. I want to know what you’re working on, what the business goals are, why this project is relevant, and how you’re feeling about it so far.
If it seems like a situation that I can help with, great, then let’s schedule a meeting with your existing development team to gather more information. The deliverable from that meeting will be an executive-level report, really just a bullet list, on what we think a win looks like. Run that past your client or customer or end users. Or realistically, your boss.
Then we’re on. We set a time period, gather any required resources, and actually work on the code together in the same space (unless you’re already distributed) under your existing project management.
Fun fact: the problem is almost never in project management. Don’t change that.
Now here’s the important part:
You will get continuous feedback the whole time! What’s working, what’s not working, where the bottlenecks are. Ideas about what’s worked elsewhere. A list of features that might not be worth doing. A slight change to how you do the daily standup meeting. A clarification of requirements. A reality check on production-level performance. A skills gap that we can address.
I might be doing a lot of straight up code, if that’s what the situation calls for. Or I’ll be resolving obstacles. Or consulting with your project manager on bottlenecks.
Each week, we’ll come up with a list of simple things in your tech or tools or people or process that can be improved immediately and verified as working. No long lead times, no gratuitous complexity. Things that have worked in the past include “give developers write access to the specifications documents” and “go end-to-end with one transaction type instead of trying to implement them all at once.” One time we found that rewriting a single database query reduced latency by 96%, even though it took two weeks to figure out how; another time we worked around a weird limitation in Microsoft Azure by changing our file naming conventions.
When we’re close to done, it’s time for another executive-level report that recapitulates those bullet points, scores our success, and itemizes any remaining issues that are longer term or of lower priority.
Why this matters
These days, a lot of project managers don’t have much development experience, the same way general managers in baseball aren’t retired players anymore. The GM isn’t a coach, and likewise the PM isn’t a senior developer. You’re all up in resource management, evaluation, and client control. It’s important, but it’s not even compatible with tech leadership.
It seems like every organization is trying to mash up the roles of project manager and technical leader. It doesn’t work. Empowering your team with the help of a senior developer does work.
Actual terms and conditions:
The money commitment is $16,900 per month. That’s me, working with your team on a full-time basis, writing the executive-level reports and collaborating on specific, measurable, relevant improvements to your process. The cost is in line with that of a senior contract developer, with the coaching bit for free.
If your team is within about a 45-minute drive of Cleveland or Pittsburgh, I’ll eat the travel costs. If your team is already distributed, there won’t be any travel costs. Otherwise, we’ll figure it out. (And for the next several months of course everyone’s a distributed team.)
I’m happy with a reasonable level of non-disclosure, but a lot of the value of what I do comes from sharing stories and experiences about yesterday’s project with today’s team—which means talking about today’s project with tomorrow’s team. So keep that in mind.
Do you think this might be great? How can you know it’s great?