Skip To Job Description
Your future starts now.
We're on the lookout for great new people to add to our team. Apply and find out why we're quickly earning our place as a top employer in Canada. With locations across Canada, OCL Group is growing fast. Join us and see the difference employee-ownership makes.
If you're interested in a career or position not currently listed below, please email us at [email protected].
Current Openings
- Edmonton, AB, Canada
- Turnarounds and Maintenance
- Nisku, AB, Canada
- Advanced Foundations Inc
- Fort McMurray, AB, Canada
- Heavy Oil
- Fort McMurray, AB, Canada
- Heavy Oil
- Red Deer, AB, Canada
- Maintenance & Turnarounds
- Fort McMurray, AB, Canada
- Heavy Oil
- Fort McMurray, AB, Canada
- Heavy Oil
- Fort McMurray, AB, Canada
- Heavy Oil
- Fort McMurray, AB, Canada
- Heavy Oil
- Edmonton, AB, Canada
- Turnarounds and Maintenance
- Cochrane, AB, Canada
- Turnarounds and Maintenance
- Fort Saskatchewan, AB, Canada
- Fabrication
- Fort McMurray, AB, Canada
- Heavy Oil
- Fort St John, BC, Canada
- Industrial Services
This website uses cookies and other analytics technologies.
By selecting Allow, you consent to the recording, use and sharing of your website activity by this website and its service providers.AllowReject All
// Define Google Tag Manager script function runGoogleTagManagerScript() const gtmScript = document.createElement(script); gtmScript.async = true; gtmScript.src = https://www.googletagmanager.com/gtm.jsid=GTM-H9NR; const firstScript = document.getElementsByTagName(script)[0]; firstScript.parentNode.insertBefore(gtmScript,firstScript); // Set tracking consent to denied by default window.dataLayer = window.dataLayer || []; function gtag() dataLayer.push(arguments); gtag(consent, default, ad_user_data: denied, ad_personalization: denied, ad_storage: denied, analytics_storage: denied, wait_for_update: 500, ); dataLayer.push(gtm.start: new Date().getTime(), event: gtm.js); window.googleTagManager = window.dataLayer; // If consent has already been granted, load Google Tag Manager if (localStorage.getItem(trackingConsentGranted) === true) runGoogleTagManagerScript(); function grantConsent() // Store tracking consent preference and push update to Google Tag Manager localStorage.setItem(trackingConsentGranted, true); function gtag() googleTagManager.push(arguments); gtag(consent, update, ad_user_data: granted, ad_personalization: granted, ad_storage: granted, analytics_storage: granted ); // Load Google Tag Manager runGoogleTagManagerScript(); function denyConsent() // Store tracking consent preference and do not load Google Tag Manager localStorage.setItem(trackingConsentGranted, false); $([data-track-share-click]).click(function () googleTagManager.push( event: gaEvent, eventCategory: Share Job, eventAction: Click, eventLabel: $(this).data(track-share-click) + Share ); ); function initializeGainsightPX() // Get current page URL var currentURL = window.location.href; // Check if URL contains /apply/confirm/ if (currentURL.includes(/apply/confirm/)) return; // Exit function, do not proceed with initialization // Check to see if user id exists in sample population loading Gainsight PX var sessionID = 895f3116dece0ed1dd098dc68293719e; var visitorType = guest; var samplePercentage = 1; var accountId = customer_20231221210437_NIU3MMTKE6JUGTXY; var accountName = oclgroupinc; // Format signUpDate as YYYY/MM/DD const today = new Date(); const signUpDate = today.getFullYear() + / + String(today.getMonth() + 1).padStart(2, 0) + / + String(today.getDate()).padStart(2, 0); if (visitorType !== guest || __IdSampler.isIdInSamplePopulation(sessionID, samplePercentage)) // Load Gainsight Script (function (n, t, a, e) let i = aptrinsic; n[i] = n[i] || function () (n[i].q = n[i].q || []).push(arguments); ; n[i].p = e; let r = t.createElement(script); r.async = true; r.src = a + a= + e; let c = t.getElementsByTagName(script)[0]; c.parentNode.insertBefore(r, c); )(window, document, https://web-sdk.aptrinsic.com/api/aptrinsic.js, AP-D0FHNVQROUMO-2); // Send custom attributes including Account ID and Account Name aptrinsic(identify, id: sessionID, role: Visitor, signUpDate: signUpDate , id: accountId, name: accountName ); // Initialize Gainsight PX if the URL condition is met initializeGainsightPX(); window.NREUM||(NREUM=);NREUM.info=beacon:bam.nr-data.net,licenseKey:[phone removed],applicationID:29127175,transactionName:ZAcBYxEEXxICBkVRDV1NIEIQEV4MTARBSA5KTQpZBwBJ,queueTime:0,applicationTime:30,atts:SEAWFVkeTE1BBBMCGU4f,errorBeacon:bam.nr-data.net,agent:'