ShopFloorJobs
JG

Junior Manufacturing Engineer

JFC Global · Hanover, PA

Apply on JFC Global ↗
Level
Engineer
Team
Manufacturing
Industry
Industrial
Posted
23 days ago

The role in 30 seconds

An engineer-level manufacturing role at JFC Global (industrial) in Hanover, PA.

Read from the posting. The full description is below.

From the plant jobs report · week of November 2, 2026

Manufacturing Engineer roles in Pennsylvania: typical posted base $79k–$120k.

Median of the low and high ends of 22 live postings that list pay, out of 52 manufacturing engineer openings in Pennsylvania, read from manufacturers' own careers sites.

Pennsylvania plant jobs report →Pay by team and state →What moves pay →

How this role compares

Against 51 other live manufacturing postings in Pennsylvania.

Base pay
Not listed in this posting

Typical $79k–$120k, from 22 postings that list pay.

Experience asked
Not stated

Similar roles usually ask 5+ years.

Skills these teams ask for most

  • Lean 58%
  • Tooling 50%
  • Root cause 40%
  • Automation 37%
  • Six Sigma 31%
  • New product launch 25%

✓ = this posting asks for it too. % = share of similar postings that mention it.

At a glance

Pulled from the posting text. If it's not listed here, the posting didn't say.

How to get in at this plant

Five moves over a week or two. The first one takes ten minutes.

  1. 1

    Pick 2–3 people on the Manufacturing team at JFC Global

    Engineers who joined in the last year or two reply the most. Use the team search on this page to find them.

  2. 2

    Send a short, curious note

    One real question about their work. No favors yet. Each person gets a different note, written for this role.

  3. 3

    Turn a reply into a short call

    Questions worth asking about this team:

    • What does a normal week look like on your team?
    • Is the work mostly new product launches or sustaining existing lines?
    • How much time do you spend on the floor versus at a desk?
    • How did you land the job? What stood out in your interviews?
  4. 4

    Apply with someone vouching for you

    If the call went well, ask whether they’d pass your résumé to the hiring manager. Send your résumé link, apply that day, and let them know.

  5. 5

    Bring proof to the interview

    One page of before-and-after numbers from projects you led: scrap, OEE, cycle time, cost. Plant managers hire on results.

Full description from JFC GlobalAs posted on their careers site.Show

window.__JFC_SEO__ = {"v":"1791818083","entries":{}};

// Take the copy itself out of the block rendered above, before Angular clears it.

(function() {

var block = document.querySelector('app-root > .footer-message[data-seo-key]');

if (!block) { return; }

var entry = window.__JFC_SEO__.entries[block.getAttribute('data-seo-key')];

if (entry) { entry.body = block.innerHTML; }

})();

// The block above is for crawlers and for visitors without JavaScript. Angular throws

// it away when it boots, so hide it now rather than let it show, vanish and come back

// -- and put it back if the app has not booted after a few seconds.

document.documentElement.classList.add('jfc-app-booting');

setTimeout(function() {

document.documentElement.classList.remove('jfc-app-booting');

}, 8000);

document.body.setAttribute('data-site-chrome', 'wordpress');

if (window.PS_UI && window.PS_UI.content) {

window.PS_UI.content.initPopup = function() { return {}; };

}

(function(i, s, o, g, r, a, m) {

i['GoogleAnalyticsObject'] = r;

i[r] = i[r] || function() {

(i[r].q = i[r].q || []).push(arguments)

}, i[r].l = 1 * new Date();

a = s.createElement(o),

m = s.getElementsByTagName(o)[0];

a.async = 1;

a.src = g;

m.parentNode.insertBefore(a, m)

})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

// Angular's zone.js replaces the global Promise with its own, and the version shipped

// with Angular 7 predates Promise.allSettled -- which the site's third-party scripts

// (Clarity, herefish) call, so they threw on every job board page once the portal

// started loading the site's chrome. It has to sit here, directly after polyfills.js:

// that is where zone.js does the swap, and main.js below takes long enough to execute

// that async third-party callers fire inside the gap. Harmless on a native Promise.

if (window.Promise && !window.Promise.allSettled) {

window.Promise.allSettled = function(promises) {

return window.Promise.all(Array.prototype.map.call(promises, function(p) {

return window.Promise.resolve(p).then(

function(value) { return { status: 'fulfilled', value: value }; },

function(reason) { return { status: 'rejected', reason: reason }; }

);

}));

};

}

/* The apply panel is pinned top and bottom now, so the wrap just fills it. */

#pop-up .container .pop-up-content .pop-up-content-wrap {

overflow: hidden;

overflow-y: auto;

}

#pop-up .container .pop-up-content .pop-up-content-wrap .searchTitle {

margin-bottom: 20px;

padding: 30px 30px 20px 30px;

}

#pop-up .container .pop-up-content .pop-up-content-wrap .searchForm .searchButtons {

margin-top: 20px !important;

}

#pop-up .container .pop-up-content .pop-up-content-wrap .searchForm .searchButtons button,

#pop-up .container .pop-up-content .pop-up-content-wrap .searchForm .searchButtons input {

line-height: 2em !important;

}

#m-nav-area ul,

#m-nav-area ul ul {

padding-left: 0 !important;

}

More Manufacturing roles nearby