In his excellent post Brandon Sneed responds to GM CEO’s “We need more coders” comment: “Let’s talk about the real problem…”
I agree with his comments and would add:
Many large companies seem to waste an astonishing amount of developer productivity. So rather than saying they need more developers, these CEOs might start by fixing their current planning, processes, and methods of working.
Canceled projects/features, mismanaged and/or badly planned projects, developer time wasted in meetings they don’t need to be in or badly run meetings, stupid territorial struggles between upper managers, endless re-organizations, etc. etc.
These kind of things all makes developers less efficient which decreases their job satisfaction and makes them less likely to stick around.
Small companies do much much less of this because they simply can’t afford such waste.
One easy test:
If your company has meetings without clear agendas provided >24hrs in advance of the meeting, and shared post-meeting minutes, then you’re likely wasting developer time. A developer can’t know if they need to attend a meeting if they don’t know what it’s about (agenda) or if they feel like they have to be present to know what’s going on (lack of post-meeting minutes).
Attach an agenda to the meeting invite (>24hrs in advance!) and add only those developers (or anyone else for that matter) who you *must* have in the meeting to the TO/required list. Add anyone else who you want to inform about the meeting and what it’s about to the CC/optional list. Before you send the invite, do any pre-meeting work you can that will enable you to move developers (or anyone else) from the TO/required list to the CC/optional list; use email (don’t interrupt developers!) to ask those two questions you need to ask them before the meeting, for example.
See also @rands’ comment here