Skip to main content
Tallo logoTallo logo

Find Jobs

Find Jobs Near You – Available Work in Your Location

Skip to job details
Apply for this opportunity

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

JMJ Phillip

CNC Programmer

Career Insights for CNC Programmer

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 North Carolina 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 CNC Programmer programs computer-controlled equipment used to cut wood, plastic, or metal according to precise measurements, or equipment used for different manufacturing processes.

$58,561 / year median in North Carolina

+11% projected growth

Explore Career

Job Description

CNC Programmer Posted on May 27, 2025 May 27, 2025 by JMJ Phillip We are seeking a skilled and detail-oriented CNC Programmer to join a dynamic and growing manufacturing team. The ideal candidate will have hands-on experience programming, setting up, and optimizing CNC machines to produce high-precision components. This role is critical to ensuring the accuracy, efficiency, and quality of production processes, and is well-suited for someone who thrives in a technical, fast-paced environment. Position Responsibilities CNC Programming Write, test, and revise CNC programs for mills, lathes, and multi-axis machines Use CAM software (e.g., Mastercam, Fusion 360) to develop tool paths from CAD drawings Machine Setup & Operation Support Collaborate with machine operators to set up machines and verify initial runs Troubleshoot and optimize programs for speed, efficiency, and accuracy Blueprint Interpretation Read and interpret technical drawings, blueprints, and specifications to develop accurate programs Ensure compliance with dimensional and tolerance requirements Quality Assurance & Maintenance Conduct first article inspections and make program adjustments as needed Maintain records of programs and setups and contribute to continuous improvement efforts Prerequisites Proven experience in CNC programming within a manufacturing environment Proficiency with CAM software and G-code Strong understanding of machining principles, materials, tooling, and measurement techniques Ability to read and interpret complex blueprints and engineering drawings Excellent problem-solving skills and attention to detail Certifications (Preferred, but Not Required) CNC Programming Certification NIMS Machining Level Certifications OSHA Safety Certification What the Role Offers Competitive base salary ranging from $68,000 to $83,000, based on experience Exposure to advanced manufacturing technology and processes Opportunities for skill development and career advancement A collaborative work environment that values precision, innovation, and craftsmanship Why Charlotte? Charlotte has quickly become a hub for advanced manufacturing and precision engineering. With a skilled labor force, supportive infrastructure, and a growing number of tech-forward production facilities, it offers CNC professionals a vibrant environment to build and grow their careers. Its affordability, quality of life, and access to innovation make it a standout location for skilled trades. 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 Submit gform.initializeOnLoaded( function() {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 );var current_page = jQuery('#gform_source_page_number_5').val();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