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

CMM Programmer

Career Insights for Coordinate Measuring Machine (CMM) Specialist

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

A Coordinate Measuring Machine (CMM) Specialist specializes in the use of CMMs that measure an object's physical geometrical characteristics as part of the manufacturing process.

$52,110 / year median in Michigan

+1% projected growth

Explore Career

Job Description

CMM Programmer Posted on August 3, 2026 August 3, 2026 by JMJ Phillip We are seeking a CMM Programmer to support metrology and quality operations by programming and operating Coordinate Measuring Machine (CMM) equipment, performing dimensional inspections, and ensuring products meet engineering specifications and quality standards. This role is ideal for an experienced metrology professional who enjoys precision measurement, problem-solving, and collaborating with manufacturing and quality teams to maintain exceptional product quality. Position Responsibilities CMM Programming & Operation Program, operate, and maintain CMM equipment to support inspection and production requirements. Develop and optimize inspection programs for new and existing products. Ensure accurate measurement processes and consistent inspection results. Dimensional Inspection Perform detailed dimensional inspections of manufactured components using CMM equipment and other precision measuring instruments. Verify product conformance to engineering drawings, GD&T requirements, and customer specifications. Document inspection results and maintain accurate quality records. Quality Assurance Support PPAP activities, capability studies, process validation, and layout inspections. Analyze inspection data and communicate findings to engineering, manufacturing, and quality teams. Assist in maintaining calibration systems and metrology documentation. Problem Solving & Continuous Improvement Investigate dimensional discrepancies and support root cause analysis. Recommend corrective actions to improve product quality and manufacturing processes. Participate in continuous improvement initiatives to enhance inspection efficiency and quality performance. Technical Leadership Provide technical guidance and mentorship to metrology and quality team members. Share best practices for measurement techniques, GD&T interpretation, and inspection methods. Support training efforts to strengthen departmental capabilities. Cross-Functional Collaboration Work closely with engineering, production, tooling, and quality teams to resolve product and process issues. Participate in product launches and support inspection planning for new programs. Communicate technical findings clearly and effectively across departments. Prerequisites Experience programming and operating CMM equipment using PC-DMIS or equivalent software. Strong understanding of Geometric Dimensioning and Tolerancing (GD&T). Ability to read and interpret engineering drawings and technical specifications. Experience performing dimensional inspections in a manufacturing environment. Strong analytical, troubleshooting, and problem-solving skills. Excellent communication and teamwork abilities. Ability to prioritize multiple tasks while maintaining a high level of accuracy. Certifications (Preferred, but not Required) Certified Quality Inspector (CQI). Certified Quality Technician (CQT). GD&T Certification. PC-DMIS or CMM programming certification. ASQ quality certifications or related metrology training. What the Role Offers Salary range: $75,000 - $80,000 annually. Comprehensive medical, dental, and vision insurance. Company-paid life insurance. 401(k) with company match. Paid vacation and company holidays. Wellness programs and employee assistance benefits. Professional development and training opportunities. Modern, climate-controlled manufacturing environment with advanced metrology equipment. Why Macomb? Macomb offers a strong manufacturing and engineering community with opportunities to work alongside skilled professionals using advanced manufacturing and metrology technologies. The area provides a balanced lifestyle, affordable living, and excellent opportunities for career growth within a thriving industrial region. 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