Skip to main content
Tallo logoTallo logo

Find Jobs

Find Jobs Near You – Available Work in Your Location

Skip to job details

Back to Results

Apply for this opportunity

To apply for this job, you'll continue to an external website or email application.

JMJ Phillip

Blueprint Takeoff Estimator

Career Insights for Estimator

See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.

Scorecard

Based on Michigan data

Review key factors to help you decide if this role fits your goals. How is this calculated?

Were these scores useful?

What they do

An Estimator provides cost estimates for a project, based on an evaluation of the materials, labor, time and equipment needed to complete the project. May specialize in many aspects of construction or in manufacturing and design industries.

$73,828 / year median in Michigan

+2% projected growth

Explore Career

Job Description

Blueprint Takeoff Estimator Posted on April 16, 2026 April 16, 2026 by JMJ Phillip We are seeking a Blueprint Takeoff Estimator to accurately estimate materials required for construction projects, including new builds and renovations. The ideal candidate has strong attention to detail, excellent communication skills, and a customer-focused approach to ensure accurate and timely project estimates. Position Responsibilities Material Estimation Review blueprints, proposals, and related documentation to determine material requirements. Prepare accurate cost and quantity estimates for individual projects. Coordinate with internal teams to verify specifications and project details. Project Coordination & Communication Serve as a point of contact for project inquiries regarding material needs. Communicate clearly with sales, construction teams, and clients to ensure accurate understanding of project requirements. Follow up on estimates and provide updates as needed to maintain project timelines. Documentation & Reporting Maintain detailed records of all estimates and supporting documentation. Track estimates and revisions to ensure accuracy and consistency across projects. Prerequisites Experience in blueprint reading and material estimation for construction projects. Strong numerical, analytical, and organizational skills. Excellent communication and customer service skills. Certifications (Preferred, but Not Required) Construction-related certifications or training in blueprint reading, estimating, or project management. What the Role Offers Competitive salary and benefits package. Opportunities for professional growth and development. Collaborative work environment with exposure to a variety of construction projects. Why Northville Northville provides a strong network of construction projects and a supportive community, offering an ideal environment for accurate material estimation and professional growth in the construction industry. Upload your resume to Apply • Accepted file types: pdf, doc, docx, txt, Max.
file size:
32 MB. Email • Additional Please add me to your mailing list so I hear about new jobs first I'd like to learn about resume writing and career coaching services from Employment BOOST Get 30 days free on Careerology - the #1 platform for job skills gform.initializeOnLoaded( function() {gformInitSpinner( 5, 'https://jmjphillip.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_5').on('load',function(){var contents = jQuery(this).contents().find('•').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_5');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_5').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 ! is_redirect ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( function() { /• delay the scroll by 50 milliseconds to fix a bug in chrome •/ jQuery(document).scrollTop(jQuery('#gform_wrapper_5').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, 'https://jmjphillip.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [5, current_page]);window['gf_submitting_5'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_5').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [5]);window['gf_submitting_5'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ form
Id:
"5", current
Page:
"current_page", abort: function() { this.preventDefault(); } }]); if (event event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 5, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, child
List:
false, subtree: true, attribute
Filter:
[ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); Apply Now