Source description
About the role
Upload Resume
- { margin: 0; padding: 0; outline: 0; border: 0 }
body { font-family: "open sans","Helvetica Neue",Helvetica,Arial,sans-serif; background-color: #011f4b; font-size: 12px; color: #333 !important }
.full_width { width: 100%; float: left }
#uploadResumeCandidateOuter header .headerTop { padding: 1em 5em 1em 2.5em; background: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; -webkit-box-align: center; -ms-flex-align: center; align-items: center; box-shadow: 0 1px 5px rgba(0,0,0,.2) }
#uploadResumeCandidateOuter .logo { float: left; font-size: 0; position: relative; z-index: 2 }
#uploadResumeCandidateOuter header .logo img, #uploadResumeCandidateOuter header .logo svg { -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; height: 60px }
#jobdetailsContent { background: #fff }
.jobDetailsWrapper { max-width: 1134px; margin: 0 auto }
.jobDetailsWrapper h2 { font-size: 2.3em; color: #002d69; font-weight: 600; margin-bottom: 30px; margin-top: 30px }
.jobDetailsWrapper .buttonFooter { text-align: right; border: 0; padding-top: 25px }
.btn.btn-nursedeck.back { color: #646464 !important; border: 2px solid #646464 !important }
.btn.btn-nursedeck.back:active, .btn.btn-nursedeck.back:focus, .btn.btn-nursedeck.back:hover { background-color: #646464; color: #fff !important }
.btn.slpback { background-color: #646464 }
.btn.slpback:active, .btn.slpback:focus, .btn.slpback:hover { background-color: #646464 }
.jobdetail h3 { margin-top: 5px; font-size: 16px; font-weight: 600 }
.jobDetailsWrapper .submitResumeSec { border: 1px solid #e5e6e7; box-shadow: inset 0 1px 1px rgba(0,0,0,.075) }
.jobDetailsWrapper .col-md-5.control-label { text-align: left; font-weight: 400; margin: 0; margin-top: 5px }
.form-group { margin-bottom: 15px }
.jobDetailsWrapper .col-md-5.control-label span { color: red }
.p-h-md { padding: 25px 0 }
.submitCandi_list li .fa.fa-circle { color: #19967d }
.submitResumeSec > ul { padding: 20px 1.5em; list-style: none; margin-bottom: 10px; }
.submitResumeSec > ul > li { padding-left: 10px; }
.submitResumeSec .descHeight { height: auto !important; }
.jobDetailsWrapper .col-md-3.control-label { text-align: left; font-weight: 400; margin: 0; margin-top: 5px; width: 20% }
.jobDetailsWrapper .col-md-9 { width: 80% }
.upLoadResumeWindow { padding-top: 15px; margin-top: 15px; border-top: 1px solid #e5e6e7 }
.submitCandi_header { width: 100%; float: left; padding-bottom: 0 }
.submitCandi_header h3 { color: #0c7cba; font-size: 2em; margin: 0; display: block; line-height: normal }
.submitCandi_header span { font-size: 1.3em; margin: 0; display: block; line-height: normal }
.submitCandi_list { width: 100%; float: left; padding: 1em 0; text-align: left; max-width: 56em }
.submitCandi_list li { display: inline-block; margin-right: 3em; margin-bottom: 2em }
.submitCandi_list li:last-child { margin-right: 0 }
.submitCandi_list li i { display: inline-block; font-size: 1.15em }
.submitCandi_list li p { display: inline-block; margin: 0 0 0 .1em; vertical-align: top; font-size: 1.1em; line-height: 1.3em }
.submitCandi_list li p span { font-size: .9em }
.submitCandi_list li p label { font-weight: 600 }
.submitCandi_list li .fa.fa-circle { color: #19967d }
.submitCandi_list li .fa.fa-circle.InactiveStage { color: red }
.submitCandi_list li .fa.fa-circle.HoldStage { color: orange }
.page-heading .buttonFooter { border-top: none; margin-top: 20px }
.buttonFooter .btn { width: 102px; padding: 6px 12px; margin-right: 5px; font-size: 14px; border: 1px solid transparent; display: inline-block; font-weight: 400; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #144991; touch-action: manipulation; cursor: pointer; user-select: none; color: #fff !important; background-image: none; border-radius: 4px }
.buttonFooter .btn.close_btn { border: 1px solid #d2d2d2 }
.btn.slpback { background-color: #646464 }
.fixedBTN { z-index: 99 }
.btnFixed { width: 96%; padding: 5px 15px; width: calc(100% - 70px); display: block; right: 0 }
.form-control, .single-line { background-color: #fff; background-image: none; border: 1px solid #e5e6e7; border-radius: 4px; color: inherit; display: block; padding: 4px 5px; transition: border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s; width: 100%; font-size: 12px; height: 28px; transition: all .3s }
.form-control[disabled]:focus, .form-control[disabled]:hover, .form-control[readonly]:focus, .form-control[readonly]:hover, fieldset[disabled] .form-control:focus, fieldset[disabled] .form-control:hover { border: 1px solid #e5e6e7 }
.has-success .form-control { border-color: #1ab394 }
.has-warning .form-control { border-color: #f8ac59 }
.has-error .form-control { border-color: #ed5565 !important }
.valError { color: #ed5565; font-size: 10px; display: block; text-align: left }
.loaderSection { background: rgba(51,51,51,.35); height: 100%; position: fixed; top: 0; width: 100%; left: 0; display: none; z-index: 99999 }
.container { padding: 15px 25px; max-width: 330px; border-radius: 8px; -webkit-border-radius: 8px; position: fixed; margin: 10px 0; top: 4px; right: 13px !important; z-index: 99999; display: none }
.container p { color: #fff; font: normal 16px/18px Arial,Helvetica,sans-serif }
.container b { border-radius: 50%; -webkit-border-radius: 50%; background: #479248; width: 33px; height: 34px; position: absolute; padding: 5px 0 0 5px; left: -15px; top: 16%; bottom: 30%; border: 2px solid #fff }
.cross { background: #cc3633; display: none }
.cross b { background: #bd3927; top: 18%; cursor: pointer }
.warning { background: #f8ac59 }
.warning b { background: #ddd; top: 18% }
.rightcontainer { background: #479248 }
Submit Resume
Back Submit
Principal Maximo Integration Architect / M&A Cutover Lead
NEW JERSEY, Ridgefield
07/23/2026
Contract
Active
Job Description:
JOB SUMMARY We are seeking a highly experienced Principal Maximo Integration Architect / M&A Cutover Lead to lead the technical architecture, integration strategy, and cutover execution for an enterprise IBM Maximo migration supporting a large-scale Mergers & Acquisitions (M&A) separation initiative. The ideal candidate will possess deep expertise in IBM Maximo Application Suite (MAS), Maximo Integration Framework (MIF), enterprise integrations, data migration, and M&A technology transitions. This individual will own the end-to-end integration architecture, drive technical delivery, lead cutover planning and execution, and ensure business continuity throughout the separation program. The role requires close collaboration with business stakeholders, infrastructure teams, PMO, ERP teams, third-party vendors, and application owners to deliver a secure, scalable, and compliant integration landscape while minimizing operational risk.
Key Responsibilities Integration Architecture & Technical Leadership Lead the end-to-end technical architecture for IBM Maximo integrations supporting the M&A separation program. Own the Maximo Integration Framework (MIF), including: Enterprise Services, Publish Channels, Object Structures, Integration APIs. Design scalable, secure, and high-performing integrations between Maximo and enterprise platforms including: ERP systems, PLM, Middleware platforms, Manufacturing applications, Enterprise business systems. Define integration standards, architecture principles, and best practices.
Integration Development & Migration Lead data mapping, transformation, migration, reconciliation, and validation activities. Develop integration strategies supporting both migration and future-state operations. Review technical designs, interface specifications, and migration documentation. Ensure successful integration testing, validation, and production readiness. Optimize integration performance, reliability, scalability, and maintainability.
M&A Cutover Leadership Develop and execute comprehensive cutover strategies and implementation plans. Lead technical workstreams across all phases of the migration. Plan and execute: Mock cutovers, Dress rehearsals, Production cutover, Hypercare support. Coordinate cutover activities across application, infrastructure, business, and vendor teams. Ensure operational readiness before production deployment.
Technical Delivery & Governance Drive delivery of critical project milestones and technical deliverables. Monitor project progress and proactively resolve technical issues and dependencies. Provide technical oversight to development and integration teams. Mentor developers and integration engineers. Support release planning, deployment activities, and environment management.
Issue Resolution & Risk Management Act as the highest level technical escalation point for integration and migration issues. Lead root cause analysis and defect remediation for complex production issues. Troubleshoot performance bottlenecks and integration failures. Identify technical risks and develop mitigation and contingency plans. Ensure minimal disruption to manufacturing and business operations during transition.
Stakeholder Management Collaborate with: Business stakeholders, PMO, Infrastructure teams, Application owners, ERP teams, Third-party vendors. Communicate integration strategy, technical decisions, and project status to leadership. Provide executive-level updates on cutover readiness, risks, and mitigation strategies. Drive knowledge transfer and transition to support teams following go-live.
Compliance & Quality Ensure integration solutions comply with GxP/FDA regulatory requirements. Maintain high standards for data integrity, system reliability, security, and audit readiness. Support validation activities and documentation where required. Ensure adherence to enterprise architecture, governance, and change management processes.
Required Qualifications IT experience with significant expertise in IBM Maximo implementations and enterprise integrations. Strong experience with IBM Maximo Application Suite (MAS) and Maximo Integration Framework (MIF). Extensive knowledge of: Enterprise Services, Publish Channels, Object Structures, Maximo APIs, Integration architecture. Proven experience integrating Maximo with ERP, PLM, middleware, manufacturing, and enterprise systems. Strong experience in enterprise data migration, transformation, reconciliation, and integration testing. Demonstrated success leading large-scale M&A, divestiture, migration, or technology separation initiatives. Experience planning and executing mock cutovers, production cutovers, and hypercare support. Strong troubleshooting, root cause analysis, and performance optimization skills. Experience with middleware and enterprise integration technologies. Strong understanding of release management, deployment processes, and change management. Excellent stakeholder management, communication, and leadership skills. Experience leading distributed technical teams across multiple workstreams.
Preferred Qualifications
Experience in Life Sciences, Pharmaceutical, Biotechnology, or other regulated industries. Strong knowledge of GxP, FDA regulations, and Computer System Validation (CSV). Experience working within M&A separation or enterprise transformation programs. Familiarity with cloud-based integration architectures and IBM Maximo Application Suite (MAS). Experience with Agile, Waterfall, or Hybrid project delivery methodologies.
Certifications IBM Maximo certifications or related enterprise integration certifications are highly desirable.
Email ID *
This field is required Please enter valid emailId.
Cell phone *
This field is required Please enter valid cell phone.
First Name *
This field is required Please enter valid first name.
Last Name *
This field is required Please enter valid last name.
Upload Resume
Resume Title *
This field is required
Comments for Recruiter
This field is required
.
.
.
$(document).ready(function () { var JobId = '5842825'; if (JobId == '') { $(".jobdetail").hide(); $("#headertext").html('Upload Resume'); } else { $("#headertext").html('Submit Resume'); } });
function fillEmailId() { if ($.trim($("#txtEmailIdtoSearch").val()) == "") { showvalidation($("#txtEmailIdtoSearch")); $(".loaderSection").hide(); return false; } else { var Reg = new RegExp("^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)@[A-Za-z0-9]+(\.[A-Za-z0-9]+)(\.[A-Za-z]{2,})$"); var matches = $.trim($("#txtEmailIdtoSearch").val()).match(Reg); if (!matches) { hidevalidation($("#txtEmailIdtoSearch")); showRegExpvalidation($("#txtEmailIdtoSearch")); return false; } else { hideRegExpvalidation($("#txtEmailIdtoSearch")); hidevalidation($("#txtEmailIdtoSearch")); } } } function fillFirstName() { if ($.trim($("#txtFirstName").val()) == "") { showvalidation($("#txtFirstName")); $(".loaderSection").hide(); return false; } else { var Reg = new RegExp("^[a-zA-Z][0-9a-zA-Z .,'-]$"); if (!Reg.test($.trim($("#txtFirstName").val()))) { hidevalidation($("#txtFirstName")); showRegExpvalidation($("#txtFirstName")); return false; } else { hideRegExpvalidation($("#txtFirstName")); hidevalidation($("#txtFirstName")); } } } function fillLastName() { if ($.trim($("#txtLastName").val()) == "") { showvalidation($("#txtLastName")); $(".loaderSection").hide(); return false; } else { var Reg = new RegExp("^[a-zA-Z][0-9a-zA-Z .,'-]$"); if (!Reg.test($.trim($("#txtLastName").val()))) { hidevalidation($("#txtLastName")); showRegExpvalidation($("#txtLastName")); return false; } else { hideRegExpvalidation($("#txtLastName")); hidevalidation($("#txtLastName")); } } } function fillCandidateComments() { if ($.trim($("#txtCandidateComments").val()) == "") { showvalidation($("#txtCandidateComments")); $(".loaderSection").hide(); return false; } else { hidevalidation($("#txtCandidateComments")); } } function fillPhone() { if ($.trim($("#txtPhone").val()) == "") { showvalidation($("#txtPhone")); $(".loaderSection").hide(); return false; } else { var Reg = /(?\d{3})?-? *\d{3}-? *-?\d{4}/g; var matches = $.trim($("#txtPhone").val()).match(Reg); if (!matches) { hidevalidation($("#txtPhone")); showRegExpvalidation($("#txtPhone")); return false; } else { hideRegExpvalidation($("#txtPhone")); hidevalidation($("#txtPhone")); } } } function fillResumeTitle() { if ($.trim($("#txtDefDocTitle").val()) == "") { showvalidation($("#txtDefDocTitle")); $(".loaderSection").hide(); return false; } else { hidevalidation($("#txtDefDocTitle")); } } function showRegExpvalidation(ctrl) { $(ctrl).parent().addClass("has-error"); $(ctrl).parent().find("span.freg").show(); $(".loaderSection").hide(); } function hideRegExpvalidation(ctrl) { $(ctrl).parent().removeClass("has-error"); $(ctrl).parent().find("span.freg").hide(); $(".loaderSection").hide(); } function showvalidation(ctrl) { $(ctrl).parent().addClass("has-error"); $(ctrl).parent().find("span.freq").show(); $(".loaderSection").hide(); } function hidevalidation(ctrl) { $(ctrl).parent().removeClass("has-error"); $(ctrl).parent().find("span.freq").hide(); $(".loaderSection").hide(); } function ValidateData() { var isProceedToSave = true; $(".loaderSection").show();
if ($.trim($("#txtEmailIdtoSearch").val()) == "") { showvalidation($("#txtEmailIdtoSearch")); isProceedToSave = false; } if ($.trim($("#txtFirstName").val()) == "") { showvalidation($("#txtFirstName")); isProceedToSave = false; } else { var Reg = new RegExp("^[a-zA-Z][0-9a-zA-Z .,'-]$"); if (!Reg.test($.trim($("#txtFirstName").val()))) { hidevalidation($("#txtFirstName")); showRegExpvalidation($("#txtFirstName")); isProceedToSave = false; } } if ($.trim($("#txtLastName").val()) == "") { showvalidation($("#txtLastName")); isProceedToSave = false; } else { var Reg = new RegExp("^[a-zA-Z][0-9a-zA-Z .,'-]$"); if (!Reg.test($.trim($("#txtLastName").val()))) { hidevalidation($("#txtLastName")); showRegExpvalidation($("#txtLastName")); isProceedToSave = false; } } if ($.trim($("#txtPhone").val()) == "") { showvalidation($("#txtPhone")); isProceedToSave = false; } if (isProceedToSave) { var fileUpload = $("#FileUpload2").get(0); var files = fileUpload.files; if (files.length == 0) { ShowErrorNotification("Please attach a resume."); $(".loaderSection").hide(); isProceedToSave = false; } return isProceedToSave; } else { ShowErrorNotification("Whoops! Looks like you've missed entering some data. Please enter data in the highlighted fields."); $(".loaderSection").hide(); window.scrollTo(10, 10); return isProceedToSave; } }
function SubmitResume() { if (ValidateData()) { var FileName = ''; var JobId = '0';
if ('5842825' != '') JobId = '5842825';
var txtemailid = $("#txtEmailIdtoSearch").val(); $.ajax({ url: '/Support/GetCandidateDetailByEmailId', type: "GET", dataType: "JSON", data: { CandidateEmail: txtemailid, JobId: JobId }, success: function (data) { if (data == "exists") { $(".loaderSection").hide(); ShowErrorNotification("You are already submitted to this position."); return false; } else //If email does not exist { if (data.Resume_Id != undefined && data.Resume_Id != null && parseInt(data.Resume_Id) > 0) { SubmitDocument(data.Resume_Id, 0, 1); } else { UploadDocUsingAPI(); } } } }); } else $(".loaderSection").hide(); } function UploadDocUsingAPI() { var fileUpload = $("#FileUpload2").get(0); var files = fileUpload.files; if (files.length == 0) { ShowErrorNotification("Please attach a resume."); $(".loaderSection").hide(); return false; }
if (files.length > 0) { if (window.FormData !== undefined) { var data = new FormData(); for (var i = 0; i 0) { SubmitDocument(data.candidateId, 1, 0); // $(".loaderSection").hide(); } else { ShowErrorNotification(data.EventStatusStatus); $(".loaderSection").hide(); } //callback(data.UploadedFileName); }, error: function (err) { ShowErrorNotification(err.statusText); $(".loaderSection").hide(); window.scrollTo(10, 10); return false; } }); } else { alert("This browser doesn't support HTML5 file uploads!"); } } } async function SubmitDocument(Resume_Id, Datafrom, IsExist) { var FileName = ''; var JobId = '0'; var RecId = '0'; var Source = '4414'; var EntityGroup = '2321'; var SubSource = '13304';
if ('5842825' != '') JobId = '5842825';
if ('0' != '') RecId = '0';
if (Datafrom == 0) { // Wait for the document upload to complete FileName = await UploadCandidateDoc(); if (!FileName) { ShowErrorNotification("Whoops! Looks like some issues in uploading resume. Please try again."); return; // Exit if upload failed } } var ResumeDetails = $.param({ Email_Id: $("#txtEmailIdtoSearch").val(), FirstName: $("#txtFirstName").val(), LastName: $("#txtLastName").val(), Phone: $("#txtPhone").val(), CandidateComments: $("#txtCandidateComments").val(), JobId: JobId, UploadedFileName: FileName, ResumeId: Resume_Id, Datafrom: Datafrom, RecId: RecId, IsExist: IsExist, Source: Source, EntityGroup: EntityGroup, ResumeFromJobPortal: 1, UploadedDocName: $.trim($("#txtDefDocTitle").val()), SubSource: SubSource }); $.ajax({ url: '/Support/UploadResumeForJobPortal', type: "POST", dataType: "JSON", data: ResumeDetails, success: function (data) { if (data.headerCode == "20001") { ShowSaveNotification(data.EventStatusStatus); $(".loaderSection").hide(); window.scrollTo(10, 10); } else if (data.headerCode == "10001") { ShowErrorNotification(data.data.errorDetail); $(".loaderSection").hide(); window.scrollTo(10, 10); } else if (data.headerCode == "20003") { ShowErrorNotification(data.EventStatusStatus); $(".loaderSection").hide(); window.scrollTo(10, 10); } else { ShowErrorNotification(data.PortalJob_Status); $(".loaderSection").hide(); window.scrollTo(10, 10); } } }); }
// Function to convert a file to base64 async function fileToBase64(file) { var base64String; const createPromise = new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = (error) => reject(error); });
await createPromise.then((promisedata) => { base64String = promisedata; });
return base64String; }
function getFileExtension(filename) { if (!filename || !filename.includes('.')) { return ''; } return filename.split('.').pop(); }
function getFileName(filename) { if (!filename || !filename.includes('.')) { return filename; } return filename.split('.').slice(0, -1).join('.'); }
//Upload Document - Returns Promise async function UploadCandidateDoc() { var fileUpload = $("#FileUpload2").get(0); var files = fileUpload.files;
if (files.length == 0) { ShowErrorNotification("Please attach a resume."); $(".loaderSection").hide(); return null; }
if (files.length > 0) { if (window.FormData !== undefined) { var strFileNameWithoutExt = getFileName(files[0].name); var strFileExt = getFileExtension(files[0].name); var strNewFileName = strFileNameWithoutExt.replace("//", "").replace("+", "").replace("*", "").replace(" ", "").replace(":", "").replace(".", "") + "_" + "7" + "24" + "2026" + "17" + "18" + "30" + "." + strFileExt;
var fileBase64String; if (files[0]) { fileBase64String = await fileToBase64(files[0]); } var data = JSON.stringify({ docType: 9001, fileName: strNewFileName, encodedData: fileBase64String.split(',')[1], pjEmployeeId: null, placementTrackerId: null, employeeDetailsId: null });
var encodedData = btoa(data);
// Return a Promise instead of using callback return new Promise((resolve, reject) => { $.ajax({ type: "POST", url: 'https://stafflineapi.compunnel.com/' + "document/upload", contentType: "application/json; charset=utf-8", data: JSON.stringify({ data: encodedData }), timeout: 30000, json: true, headers: { "Authorization": 'qwerty~!@', }, success: function (result) { resolve(strNewFileName); }, error: function (err) { ShowErrorNotification(err.statusText); $(".loaderSection").hide(); window.scrollTo(10, 10); reject(null); } }); }); } else { alert("This browser doesn't support HTML5 file uploads!"); return null; } } return null; } $(function () { if ($('.formSection').offset() != undefined) { var stickyHeaderTop = $('.formSection').offset().top; $(window).scroll(function () { if ($(window).scrollTop() > stickyHeaderTop - 100) { $('.fixedBTN').addClass('btnFixed').css({ position: 'fixed', top: '65px', margin: '0px' });
} else { $('.fixedBTN').removeClass('btnFixed').css({ position: 'static', top: '0px', 'margin-top': '20px' });
} }); }; });
function ShowSaveNotification(strText) { $('.rightcontainer').find('p').text(strText); $('.rightcontainer').css({ 'opacity': '0', top: "50px" }).show(); $('.rightcontainer').stop().animate({ 'opacity': '1', top: "-=50px" }, 1000, function () { $(this).delay(3000).fadeOut(900); }); }
function ShowErrorNotification(strText) { $('.cross').find('p').html(strText); $('.cross').css({ 'opacity': '0', top: "50px" }).show(); $('.cross').stop().animate({ 'opacity': '1', top: "-=50px" }, 1000, function () { $(this).delay(3000).fadeOut(900); }); //$('.cross').show(); }
function ShowWarningNotification(strText) { $('.warning').find('p').html(strText); $('.warning').css({ 'opacity': '0', top: "50px" }).show(); $('.warning').stop().animate({ 'opacity': '1', top: "-=50px" }, 000, function () { $(this).delay(4000).fadeOut(900); }); }
More at Compunnel