A Stellar Programmer Will Average 1,000 LOC/Day
Day by day - it ranges from 0 - 5K. Month by month - 1,000LOC/day
Back when I was running Windward I had an expectation of 1,000 LOC/day from the developers. I figured that was pushing it, but you gain more with expectations at the higher end of what is possible.
A very important note. The developers at Windward were in the top 5%. If you have developers that are not in the top 10% - I have no idea what is a reasonable expectation. It’s almost certainly less.
I now have actual numbers - on me! After selling Windward, and going crazy trying retirement (that lasted about 1 week), I finally landed on writing a program for the Democratic Party (the good guys). Today is 10 months from checking in the initial code. And what do we have?
Out of curiosity I had Visual Studio count the lines of code. ~110K for the program and ~10K for the unit tests (yes, yes - the unit tests should be ~25K). And this code is tight. Some of the best code I’ve ever written.
So over 10 months, 120K LOC. That’s 12K/month or 600 LOC/day. So why am I not saying to expect 600 LOC/day. Well… because…
I have been semi-retired. During that 10 months my wife and I spent a month on a cruise in the Mediterranean, took several other trips, and even at home, I relaxed a fair amount. Back in the day I would work 14 hour days 7 days/week both at previous jobs and at Windward.
Now, while retirement would be painful, taking time to do other things and enjoy life - I’m good with that. So I figure I have been putting in maybe 20 hours/week on this effort. 30 hours/week tops. We’ll call it 30, so well under half of what one works at a start-up.
In addition, I am most everything for this program. Architect & designer of course. But also Product Manager, Program Manager, DevOps, SysAdmin, Legal, interfacing with the Democratic Party operatives, and more. (To everyone at Windward - boy do I miss all the parts you all provided for the company!)
So figuring 25% of my time has been non-development effort, and I’ve been working at basically half speed, but granted the more productive half (I’ve found the first 3+ hours in the morning you’re 2x - 4x as productive & smart), I figured double the number to 1.2K to what it would be if I was full time development only.
I then rounded down to 1K. And maybe, that’s too large a multiplier for the shorter work days and extra items. So maybe it’s only 800 LOC/day. But somewhere in that range of 800 - 1.2K is what you should be getting, over time, from your developers.
For the curious, the app is written on Blazor (server side) using Entity Framework and Azure BLOBs. I’m running it on Azure and it uses as a service: Windward (for the docgen - there’s a little), Azure Maps, Send Grid, Twilio, etc.
I also did not do everything. I hired a contractor for the UX/UI (I’m ok at UX and awful at UI) and for the QA (never test your own code).
It’s a really sweet app. I’ll be announcing it here very soon.