A Brennan company - serving San Jose, CA

How to Hire a Roofing Contractor in San Jose: A Step-by-Step Guide

Last updated October 17, 2026

Metal roofingMetal roofing
Architectural shinglesArchitectural shingles
Tile roofingTile roofing
GAFGAF
Owens CorningOwens Corning
Flat & low-slopeFlat & low-slope
Every visit starts with

Free roof inspection with deck photos before we talk money - GAF and Owens Corning certified installation

Your new roof for as low as$159/month*On approved credit; ask for current terms
Get your free estimate

How to Hire a Roofing Contractor in San Jose: A Step-by-Step Guide

The California Contractors State License Board logged more than 1,200 roofing-related complaints in a recent year, and the single most common trigger wasn’t shoddy workmanship. It was work performed that didn’t match what was verbally promised. A homeowner in Willow Glen got one underlayment spec over the phone and a different one nailed to the deck. A homeowner in Almaden Valley was told the flashing was included, then found a $900 change order taped to the front door. The fix isn’t finding a roofer you “trust.” It’s knowing exactly what to require in writing before anyone sets a ladder against your San Jose home. This guide walks through that process step by step, from license verification to final inspection, so you can compare bids that are actually comparable and sign a contract that holds up. For more guides & resources, see our blog.

Call (669) 238-2101

Quick Answer

To hire a roofing contractor in San Jose, verify their C-39 license and complaint history with the CSLB, require a written line-item bid that specifies underlayment, flashing gauge, and dump fees, confirm who pulls the permit, and get the warranty terms in writing before any work starts. A disciplined contractor will put the full price on paper before the first nail goes in and won’t change that number at the door.

Explore

Styles & brands we work with

Architectural shingles
Architectural shingles
Metal roofing
Metal roofing
Tile roofing
Tile roofing
GAF
GAF
Owens Corning
Owens Corning
Flat & low-slope
Flat & low-slope

Table of Contents

Step 1: Verify the C-39 License and CSLB Complaint History

Every legitimate roofing contractor in San Jose holds a C-39 roofing classification from the California Contractors State License Board. That’s the law, not a preference. The problem is that most homeowners never check the number printed on the business card against the state database, and a painted-over license number on a truck door isn’t a credential.

Here’s the four-minute verification process we recommend to every homeowner in San Jose:

  1. Go to cslb.ca.gov and click “Check a License.” Enter the license number. The name on the license must match the name on your contract. Not close. Exact. A subcontractor using someone else’s license is a felony in California and a red flag on your bid package.
  2. Confirm the classification is C-39. A general contractor with a B license can legally pull a roofing permit in California, but they sub the work to a roofer who may or may not be licensed. A direct C-39 holder means the roofing license is the company’s core credential, not a sideline.
  3. Read the complaint history. The CSLB lists every filed complaint, the disposition, and whether the contractor corrected the issue. A contractor with zero complaints over ten years is rare and worth noting. A contractor with six unresolved complaints is a conversation-ender.
  4. Check the bond and workers’ comp status. Both are listed on the same page. If the workers’ comp field says “none,” every technician on your roof is uninsured the moment they climb the ladder. In San Jose, that’s a liability you don’t want.

We do this ourselves at Brennan Roofing Co San Jose home before we send a technician to any job, because we don’t want a subcontractor’s license problem to become your roof’s problem.

Step 2: Write the Scope Before You Call for Bids

Most San Jose homeowners call three roofers and ask for a “roof estimate.” What they get back is three numbers with no shared definition of what a roof is. One roofer quotes a 15-pound felt underlayment. Another quotes a synthetic underlayment rated for 140 mph. One includes tear-off and dump fees. Another adds them as a separate line item the week the job starts. The bids were never comparable, because the scope was never written down.

Before you call anyone, write down exactly what the job includes. You don’t need to be a roofer to do this. You need to be specific. Here’s the list we hand to homeowners in San Jose who are comparing bids:

  • Tear-off: Will the old roof be removed down to the deck, or will the new shingles be layered over the old? California code allows one re-cover layer in most jurisdictions, but a full tear-off lets the crew inspect the deck for rot that a re-cover hides.
  • Decking repair: If the plywood is soft or delaminated, who pays to replace it, and at what per-sheet rate? A bid that doesn’t mention decking repair is a bid that will surprise you later.
  • Underlayment spec: Name the product or the class. Synthetic underlayment costs more than felt but outperforms it in the rainy winters San Jose gets from November through March. If a bid just says “underlayment included,” ask which one.
  • Flashing gauge and material: Flashing is the metal at the valleys, chimneys, and wall intersections where leaks actually happen. A 26-gauge galvanized flashing lasts decades. A 30-pound builder-grade flashing lasts until the first atmospheric river. Write down the gauge.
  • Drip edge: This is the metal strip at the roof edge that keeps water from wicking under the shingles. It’s required by California code. Make sure it’s on the bid, not an afterthought.
  • Dump fees and haul-away: Demolition debris is heavy. In San Jose, landfill fees for a full roof tear-off can run several hundred dollars. A bid that doesn’t list dump fees will list them on a change order.
  • Ventilation: Ridge vents, soffit vents, or box vents. Under-ventilated attics in San Jose’s summer heat cook the underside of the shingles and shorten the roof’s life. This should be specified, not defaulted.

Write the scope once, attach it to every bid request, and three things happen. The bids come back comparable. The roofers who were planning to quote a spec that’s cheaper than their competitor’s spec now have to tell you why. And the roofer who was never going to do the work right drops out on their own, because they can’t bid against the written scope.

Step 3: Make Three Bids Actually Comparable

Here’s the comparison template we use when we explain this to San Jose homeowners. It forces every line item onto the same page. Print it out. Fill it in for each bid. Then compare the numbers that are actually the same thing.

The Line-Item Bid Comparison Template

  • Underlayment product and class: Bid A: ________ | Bid B: ________ | Bid C: ________
  • Flashing gauge and material: Bid A: ________ | Bid B: ________ | Bid C: ________
  • Drip edge included? Bid A: ________ | Bid B: ________ | Bid C: ________
  • Decking replacement rate per sheet: Bid A: ________ | Bid B: ________ | Bid C: ________
  • Dump fees and haul-away included? Bid A: ________ | Bid B: ________ | Bid C: ________
  • Permit fee included? Bid A: ________ | Bid B: ________ | Bid C: ________
  • Warranty term in writing: Bid A: ________ | Bid B: ________ | Bid C: ________
  • Start date and duration: Bid A: ________ | Bid B: ________ | Bid C: ________

When you fill this in, the low bid usually stops looking low. We’ve seen it repeat across San Jose neighborhoods from Berryessa to Cambrian Park: the “cheap” bidder is cheap because they spec 15-pound felt instead of synthetic underlayment, omit drip edge entirely, and list dump fees as “TBD.” The expensive bidder is sometimes expensive because they included everything and spec’d it honestly. Your job is not to pick the lowest number. Your job is to pick the bid that matches your written scope, line by line.

Once you have comparable bids, you can meaningfully evaluate the Roofing Company in San Jose behind each number. A roofer who hands you a one-page bottom-line number without a line-item breakdown in San Jose is either disorganized or hiding something. Neither is a trait you want on your roof.

Step 4: Confirm Who Pulls the Permit and Passes Inspection

In San Jose, a reroof permit is required for most residential roofing work, and it’s the contractor’s legal responsibility to pull it. See Roofing Permits, Codes & Inspections in CA: What You Need to Know for full details. Not the homeowner’s. Not the subcontractor’s. The contractor whose name is on the contract is the one who signs the permit application and is accountable to the city’s building inspector.

Five questions that reveal whether a roofer actually does this:

  1. “Will the permit be in your company’s name?” If the answer is anything other than a direct yes, the contractor is asking the homeowner to accept liability for the job’s code compliance. The permit links the work to a license number. That’s the point of it.
  2. “Who meets the inspector?” The contractor should be present for the inspection, not a day-labor crew foreman who has never spoken to a San Jose building inspector. When the inspector shows up and the contractor isn’t there, the inspection gets rescheduled or, worse, failed without an advocate for the workmanship on site.
  3. “What happens if the inspection fails?” The contractor should correct the cited items and schedule a reinspection at no charge to you. If the contract doesn’t say that, it’s a gap you’ll pay for out of pocket.
  4. “Is the permit fee in the bid?” San Jose permit fees for reroof projects vary by job size, but they’re predictable. A bid that says “permit included” is fine. A bid that says “permit fee billed separately” isn’t automatically dishonest, but it needs a number attached, not a shrug.
  5. “Will I get a copy of the signed permit and the final inspection report?” You should. When the job is done, you want paperwork proving the city signed off. That’s your record if you ever sell the house in San Jose and the buyer’s inspector asks about the roof.

We pull permits on every job at Roof Repair in San Jose where the scope requires one, and the technician who meets the inspector is the same uniformed technician who did the work. The inspector talks to the person who held the nail gun, not a dispatcher reading notes off a tablet.

Step 5: Read the Warranty Like a Contract, Because It Is One

Most “lifetime warranties” on roofing material are worthless in practice, and here’s the specific language that makes them so. A material warranty from a manufacturer covers the shingles against manufacturing defects, but it does not cover installation error. If the shingles were installed wrong, the manufacturer denies the claim. If the flashing was done wrong, the manufacturer never covers it at all. If the underlayment fails due to exposure during a rainy San Jose winter because the crew left it exposed too long, the manufacturer’s warranty doesn’t apply. The material warranty covers the material. That’s it.

A legally enforceable written warranty in California must include, at minimum:

  • The scope of covered work: which repairs, which surfaces, which materials. Vague language like “roof system” needs definition.
  • The duration: one year, five years, ten years. A warranty must state a term. “Lifetime” without a defined term is often unenforceable as ambiguous.
  • The remedy: what the contractor will actually do if the work fails. Repair? Replace? Refund? And who pays for the tear-off to access the failed area?
  • The exclusions: storm damage, foot traffic, alterations by others, and neglected maintenance are standard exclusions. They’re fine as long as they’re written, not implied.
  • Transferability: if the warranty survives a sale of the house, it’s an asset. If it dies with the original homeowner, it’s a selling point only until you move.

At Brennan Roofing Co San Jose, every repair and installation comes with the 365-Day Done Right Promise. It’s a written guarantee for one full year. If a repair or installation fails within that period, we come back and fix it at no charge. That’s a specific remedy, for a specific term, in writing. It’s not a “lifetime” promise with no teeth. It’s one year, on paper, with our name on it. Homeowners in San Jose should ask every roofer the same question: “What does your warranty actually say, exactly, in writing?” A roofer who can’t tell you is a roofer who never wrote one down.

Step 6: Spot the San Jose Storm-Chaser Wave

Every November, the first atmospheric river rolls through the Santa Cruz Mountains and drops two inches of rain on San Jose in an afternoon. Within seventy-two hours, the storm-chasers follow. These are out-of-state crews, often unlicensed in California, who canvass neighborhoods that took wind damage and offer “same-week roof replacement.” They’re gone by February. The roof leaks again in March, and the phone number on the contract is disconnected.

Specific red flags we’ve seen in San Jose after every significant storm season:

  • Out-of-state plates and a license number with a different prefix. California contractor license numbers are six digits. If the number doesn’t check out on the CSLB database in under four minutes, the truck doesn’t go on your property.
  • Door-to-door pressure with a “storm discount” that expires today. Legitimate San Jose roofing contractors are booked and busy after a storm. They don’t need to knock on your door with a coupon.
  • Cash deposits requested before the contract is signed. A California contractor can legally request a down payment, but it should be on a signed contract with a payment schedule tied to milestones, not a handshake and a Venmo request.
  • No local address. A PO box in another state, a virtual office in Santa Clara, or no address at all. If you can’t find their shop, you can’t find them when the roof fails.
  • A bid that covers “storm damage repair” without listing the specific damage. After a wind event, the bid should say which slopes, which flashing points, and which shingle courses were damaged. A line item that says “storm repair: $4,200” with no detail is a blank check.

During the rainy season, a roof that’s already leaking should get a Roof Inspection in San Jose before any repair bid is written. An inspection establishes the actual scope of damage in writing, which then makes the repair bids comparable. That’s the same discipline applied to a smaller job.

Step 7: What to Check Before You Sign

You’ve verified the license, written the scope, compared the line items, confirmed the permit process, and read the warranty. Before you sign the contract, run this final checklist:

  1. The contract matches the bid. Every line item on the bid should appear in the contract. No new exclusions. No “as discussed” language that wasn’t discussed.
  2. The price on the contract is the price on the bid. Not a dollar higher. Not a penny higher. The written price before any work starts is the price, full stop.
  3. The payment schedule is tied to milestones. In California, the down payment for a home improvement contract is legally capped at $1,000 or 10% of the total, whichever is less. The rest should be tied to defined milestones: tear-off complete, underlayment installed, final inspection passed.
  4. The start date and completion timeline are on the page. Rain delays happen in San Jose, but a contract without a start date isn’t a contract. It’s a suggestion.
  5. The warranty is attached to the contract, not referenced. If the warranty says “see separate document,” get the separate document before you sign. Otherwise you’re buying a promise to show you a promise.
  6. The contractor’s license number is on the contract. California requires it. If it’s missing, the contract is already out of compliance.

Common Mistakes to Avoid

  • Comparing bottom-line numbers without comparing specs. A $14,000 bid with synthetic underlayment and 26-gauge flashing is a different roof than a $12,500 bid with 15-pound felt and builder-grade metal. In San Jose’s winter rains, that difference is the difference between a roof that lasts twenty years and one that fails in six.
  • Skipping the CSLB check because the roofer “seemed honest.” The database takes four minutes. The cost of skipping it is a lien on your property from an unpaid supplier or a repair bill from a second roofer to fix the first one’s work.
  • Paying the full balance before the final inspection passes. The moment the contractor has all the money, the leverage for callback work evaporates. The final milestone payment should be contingent on the city inspector signing off.
  • Accepting a verbal warranty. “Don’t worry, we stand behind our work” means nothing in a courtroom. California law enforces written contracts. If the warranty isn’t on paper, it doesn’t exist.
  • Letting the roofer choose the underlayment without explanation. The underlayment is the layer that actually keeps water out of your attic when the shingles fail. In San Jose, where winter storms come fast and hard, this is the layer that’s worth the upgrade.
  • Hiring a storm-chaser because they’re available this week. Availability after a storm is a warning flag, not a feature. A good San Jose roofer is busy because they’re good. A bad one is available because they’re new in town and hungry.
  • Not asking who will actually be on the roof. Some contractors sell the job, then sub it to a day-labor crew with no supervision. Ask for the name of the crew lead and whether the technicians are employees or subcontractors. You want the person who signs the contract to be accountable for the person on the ladder.
Before & after

See the difference

Before - Recent ProjectBeforeAfter - Recent ProjectAfter
Recent Project
Before - Full RestorationBeforeAfter - Full RestorationAfter
Full Restoration
Before - Complete UpgradeBeforeAfter - Complete UpgradeAfter
Complete Upgrade

When to Call a Professional

A homeowner in San Jose should call a roofing contractor the moment the roof shows signs of active failure: water staining on the ceiling, missing shingles after a wind event, granules collecting in the gutters, or daylight visible from the attic. None of these problems self-correct, and in a climate with annual atmospheric river seasons, a small roof leak becomes a structural repair within one winter. Roof work is dangerous and code-regulated, and high-slope roofs in particular are not a DIY project. A fall from a two-story San Jose roofline is a life-changing injury, not a YouTube video. If you’re not sure whether the issue is urgent, start with a professional assessment. Brennan Roofing Co San Jose offers free estimates in San Jose. Call (669) 238-2101 and a live person will pick up, day or night.

Frequently Asked Questions

The Bottom Line

Hiring a roofing contractor in San Jose comes down to one discipline: get everything in writing before anyone touches the roof. Verify the C-39 license on the CSLB database. Write the scope before you call for bids. Compare line items, not bottom lines. Confirm the permit is in the contractor’s name. Read the warranty as a contract, because it is one. A roofer who operates this way, with a written price before any work starts and a written guarantee that lasts a full year, is a roofer who has nothing to hide. For a practical tool, download our Roofing Company Maintenance Checklist for San Jose Homeowners. That’s the standard. It’s the same standard on every job, and it’s the only standard that belongs on a San Jose roof.

Written by Travis Oakley, Owner at Brennan Roofing Co San Jose, serving San Jose since 2000.

Need Roofing help in San Jose? Licensed & insured · Free on-site estimates response · free estimates
Call (669) 238-2101
Local Service Coverage

Request a Free Estimate in San Jose

Tell us what you need - Brennan Roofing Co San Jose responds fast. No obligation.

By providing your information above, you acknowledge our Privacy Policy and agree that you may be contacted by telephone, text message, or email about your request, including by the independent professionals who may fulfill it.

Prefer to text? Text Us
Call Now - 24/7 Dispatch