Hire Off a Bench You Built in January, Not a Panic Ad in June
On the list of fires: “the bench you built in January”
Module 4 · Hiring & Keeping Roofers · Play 13 of 13
In a hurry? ↓ Do this this week
The problem in one breath
A good roofer quits on a Tuesday in June with four tear-offs stacked behind him. So you throw up an ad, take whoever answers, and two weeks later there's a man on your roof you wouldn't hand a nail gun to. You didn't hire him. The calendar hired him.
Why it happens
Nobody in this trade looks for roofers until they're short, and that's the one week it can't work. Every other shop is short too, the good hands are all busy, and the men free in June are mostly the ones somebody else decided not to keep. The roofer you wanted was open in February and went to work for the shop that called him.
The play
You don't find roofers in June. You collect them all year, so the day a man quits you're making a call instead of writing an ad.
Start the bench list tonight, from memory. Every decent roofer whose name you can still come up with: who he is, his phone, what he can run, where you saw him, who knows him. Not who's looking — who's good.
Add a man the day you meet him, not the day you need him. The guy at the supply house counter who knew exactly what he was ordering. The man on a competitor's crew whose tear-off was clean and whose ground was picked up at four. The hand you laid off in November. The brother-in-law your best foreman keeps naming. Forty seconds in the truck and he's on the bench.
Put a bounty on your crew's phone book. Your men know every good roofer in town. Set a standing amount — your number — paid in two pieces: part when the man starts, the rest when he's still on the crew months later, so nobody collects on a warm body who quit in week two. Say it out loud in a huddle so it's real money, not a rumor. How that payment gets handled and reported is your accountant's answer, and it isn't the same for a man on payroll as for a sub.
Send the January text before the season decides for him. While the good men are still choosing who to work for, text them one at a time: his name, the thing you remember about his work, what you've got coming, and a date. Forty numbers on one blast reads like a blast. The words are on the card below.
Never let a good man walk out without "call me in the spring." Say it to the man who quits (the exit interview) and to the man you let go for reasons that were never about his work (letting him go right). Then put him on the bench before he's out of the yard. Some of the men you'll want in March already worked for you once.
Work the bench fifteen minutes a month. Hang it on a meeting that's already on the calendar (M5-02) so it never needs a slot of its own. Read the flags, make the calls the sheet says are overdue, add anybody new, shut it.
A name on the bench is a phone number worth calling, nothing more — the rest of this module still runs: the hard-truth interview, real reference calls, the offer, the first two weeks. And read the bench before you go outside for a foreman (M1-07).
Do this this week
Sit down for twenty minutes with the-bench-list.xlsx and fill it from memory: every roofer you'd take on or take back, plus the last three men who quit on you. Don't call anybody yet. Ten names beats an empty sheet, and that sheet is your bench starting today.
The tool
Or fill it in here — no download →
Opens in Excel, Google Sheets, Numbers or LibreOffice. Grab it on the phone now — it’ll be waiting on the computer at the shop.
Two pieces: the list you keep, and the text you send off it. The sheet in the-bench-list.xlsx is the bench list — one row per man. What he can run is a dropdown, so a typo can't drop him out of a count. Put in the last date you talked to him and the sheet flags CALL HIM when it's been too long, or when you never called him at all. A box up top counts who's on the bench and who's overdue. the sheet notes below walks the columns and formulas. The card is the January text, plus the follow-ups for the man who goes quiet and the man already working:
THE JANUARY TEXT — one man at a time, never a mass blast
Send on: ____________ (before your season starts) To: ____________
"Hey ______, it's ______ over at ______________ Roofing.
I still think about that __________________ you ran over on
______________ - [say the thing you actually remember].
I've got ____ crews going starting ______________ and I'm
putting the list together now. Pay runs ______________.
You spoken for yet? Call me at ________________."
HE DIDN'T ANSWER (wait three days, try once more, then stop):
"____, ______ again. Still holding a spot for you. A no is
fine - I just need to know before I fill it."
HE'S WORKING SOMEWHERE ELSE:
"Good, glad you're busy. Two things: if it goes sideways over
there, my number doesn't change. And who else was on that
crew I ought to be calling?"
-> every name he gives you goes on the bench today.
AFTER EVERY ONE: update his row - date talked, status, notes.
If your crew is 1099
A sub doesn't go on the bench as a man, he goes on as a crew, and you're collecting something else: who bid it clean, who showed up the morning he said he would, who hauled off his own trash. The bounty changes too — a finder's fee to a sub is a payment from your business to his, so it belongs in his agreement and his paperwork, not in a huddle announcement.
One more thing: this play is how we run a shop — it's not legal advice. Rules change by state and by contract, so before you act on the legal-sounding parts, run them past your own attorney or accountant. It's your business, and what you do with any of this is your call and your responsibility.
M4-13 · Hire Off a Bench You Built in January, Not a Panic Ad in June — Roofer MBA, https://roofermba.com/plays/hiring-keeping/the-bench-list
The sheet notesHow the sheet works — the columns and the formulas
The columns, the formulas behind them, and the judgment calls — so you can rebuild it by hand if you ever need to.
What it does
One row per roofer you'd call. You put in his name, his phone, what he can run, where you met him and who knows him, plus the last date you actually talked to him. The sheet counts the days since that talk and raises a CALL HIM flag in red once it's been ninety days or more — or when there is no date at all, because a man you've never called is the one most likely to be gone by spring. The box at the top right tells you how many men are sitting on your bench, how many leads or foremen are on the list, and how many men are overdue for a call.
Row 5 is filled in as an example, in cream. Delete it before you put your first real name in.
How to use it
- One row per man. Add him the day you meet him — the supply house counter, a competitor's crew, the hand you laid off in November — not the day you're short.
- What he can run and Status are dropdowns. Pick from the list; the sheet refuses anything else on purpose, because a typo there quietly drops the man out of the counts in the box.
- Leave Last talked to him blank if you have never called him. Blank is not missing data — it flags CALL HIM, which is exactly right for a name you collected and never followed up.
- Set Status to
benchfor every man you'd still call. When you hire one, change it tohired; when he's out of the trade or you wouldn't take him back,goneorno. Those three stop the flag so the sheet quits nagging you about men who aren't on the bench anymore. - Read it once a month, right after a meeting you already hold. Call the men in red, then update their date and notes the same day.
Columns
| Column | What it is |
|---|---|
| A Name | The man. If the row has no name, every formula on the row stays blank. |
| B Phone | The number you'll actually dial. |
| C What he can run | Dropdown: laborer / roofer / lead / foreman. Your honest read of what he can handle today, not what he calls himself. |
| D Where you met him | The counter line, a competitor's job, your own layoff list. It's how you remember him a year later. |
| E Who knows him | The man on your crew who can vouch for him — and the man who collects the bounty if he works out. |
| F Last talked to him | The date of the last real conversation. Blank means never. |
| G Days since | Auto: days from that date to today. Blank when there's no date. |
| H Flag | Auto: CALL HIM when the date is blank, or ninety days old or older, unless his status is hired, gone or no. Turns red on its own. |
| I Status | Dropdown: bench / hired / gone / no. |
| J Notes | Anything you'd want in front of you before you dial. |
Box at the top right (L3:M6): Men on the bench, Leads or foremen on the list, Men who need a call.
Formulas (so you can rebuild it by hand)
- Days since (G5, fill down to G24):
=IF($A5="","",IF($F5="","",TODAY()-$F5)) - Flag (H5, fill down to H24):
=IF($A5="","",IF(OR($I5="hired",$I5="gone",$I5="no"),"",IF($F5="","CALL HIM",IF($G5>=90,"CALL HIM","")))) - Men on the bench (M4):
=COUNTIF($I$5:$I$24,"bench") - Leads or foremen on the list (M5):
=COUNTIF($C$5:$C$24,"lead")+COUNTIF($C$5:$C$24,"foreman") - Men who need a call (M6):
=COUNTIF($H$5:$H$24,"CALL HIM") - The red is conditional formatting, not a formula in a cell. Rule on
H5:H24, red fill:=ISNUMBER(SEARCH("CALL",$H5)).
Only IF, OR, COUNTIF, TODAY, ISNUMBER and SEARCH are used, so it opens and computes in old Excel, Numbers and LibreOffice. (Verified: recalculated in LibreOffice — the blank-date row flags CALL HIM, a man marked hired with a two-year-old date does not flag, and empty rows stay empty.)
Notes and judgment calls
- A blank date has to flag, and that's the whole point of the sheet. The obvious way to build this is "flag when the days-since number is big," and that quietly ignores every man you wrote down and never called — the exact names a bench is supposed to protect. The flag checks the blank date first, before it ever looks at the day count.
- Ninety days is a starting point, not a rule. It's roughly a season. If you'd rather touch your bench every month, change the
90in column H and fill it down. - The dropdowns refuse a typo on purpose. Both of them stop bad entries instead of warning about them.
Foremanwith a trailing space is a man who vanishes from the counts while the row still looks fine on screen, and you'd never catch it. - The leads-and-foremen count reads the whole list, not just the bench. It counts every row where column C says
leadorforeman, including men you've already hired or written off. That's deliberate: keeping it to one plainCOUNTIFper box line is what makes this sheet rebuildable by hand on a legal pad. If you want the count to mean "leads I could call tomorrow," keep the sheet tidy — delete the rows you'll never call again instead of parking them atno. - A man with a blank status still gets a call flag but isn't counted on the bench. The flag errs toward calling him; the count only counts men you've actually put on the bench. Set the status when you add him and the two agree.
- The example row ages. Its date was a real date the day the sheet was built, so the days-since number keeps climbing. That's the sheet working. Delete the row.
- The list stops at row 24. Every box formula reads rows 5 through 24 only, so a man typed on row 25 is invisible to the counts while the sheet still looks right. Add rows by right-clicking inside the block and choosing Insert.
- The sheet ships with its numbers already saved in it, so a phone preview shows real figures; they recalculate the moment you type.
The one thing
Do this this week
Sit down for twenty minutes with the-bench-list.xlsx and fill it from memory: every roofer you'd take on or take back, plus the last three men who quit on you. Don't call anybody yet. Ten names beats an empty sheet, and that sheet is your bench starting today.
Take it with you
One email unlocks this and every other sheet and card on the site. The plays stay free.
Same fire
You're hiring
- M4-13the bench you built in January — you’re here
- M4-01the hard-truth interview
- M4-02real reference calls
- M4-03settle it before you say the number
Fixed this?
Hiring is only half the job. The first two weeks decide whether it took.
The fire right behind it is usually New guys don't stick — hired Friday, gone by week three.