Hourly: $40/hour-$45/hour. Job Opening: Project Manager - Critical Infrastructure Are you a detail-oriented leader with a passion for managing complex projects in fast-paced environments? We're looking for a Project Manager to join our team and drive success across critical infrastructure initiatives. Key Responsibilities As a Project Manager, you will:
Lead projects using standard project management tools to meet quality, financial, and schedule goals.
Build and coordinate cross-functional teams with internal and external stakeholders.
Manage project financials including budgeting, cost tracking, and margin maintenance.
Conduct regular site visits and maintain strong communication with field teams.
Resolve issues proactively to avoid delays and ensure smooth execution.
Host stakeholder meetings and safety briefings to promote transparency and safety.
Track progress and ensure alignment with project goals. Qualifications
Experience: Background in project management; experience with UPS, thermal systems, batteries, or monitoring systems is a plus.
Education: Bachelor's or Associate's degree, or equivalent experience.
Certifications: PMP preferred.
Skills:
Excellent written and verbal communication
Strong customer service orientation
Highly organized and detail-focused
Analytical and interpersonal strengths
Ability to multitask under pressure
Knowledge of construction, electrical, and mechanical contracting
Familiarity with engineering, manufacturing, and data center commissioning is a bonus Why Join Us? You'll be part of a dynamic team working on mission-critical infrastructure projects that make a real impact. We value safety, collaboration, and continuous improvement-and we're looking for someone who shares those values.
EB- document.addEventListener('DOMContentLoaded', => { const root = document.querySelector('#job_desc'); if (!root) return; // Skip wrapping if we've already done it if (root.dataset.hashtagsWrapped === "1") return; const SKIP = new Set(['SCRIPT','STYLE']); const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { acceptNode(node) { if (!node.nodeValue !node.nodeValue.match p{L}\p{N}_]+/u)) return NodeFilter.FILTER_REJECT; // Avoid wrapping inside an existing hashtag span let p = node.parentNode; while (p && p !== root) { if (p.nodeType === 1 && p.hasAttribute('data-hashtag')) return NodeFilter.FILTER_REJECT; if (SKIP.has(p.nodeName)) return NodeFilter.FILTER_REJECT; p = p.parentNode; } return NodeFilter.FILTER_ACCEPT; } }); const re = p{L}\p{N}_ gu; function wrapTextNode(textNode) { const text = textNode.nodeValue; re.lastIndex = 0; let m, last = 0; const frag = document.createDocumentFragment ; while ((m = re.exec(text)) !== null) { // preceding plain text if (m.index > last) frag.appendChild(document.createTextNode(text.slice(last, m.index))); // hashtag span const span = document.createElement('span'); span.textContent = m[0]; span.setAttribute('data-hashtag', '1'); // idempotence guard span.setAttribute('style', 'font-size:9px;color:#fff'); // requested inline style frag.appendChild(span); last = re.lastIndex; } // trailing plain text if (last < text.length) frag.appendChild(document.createTextNode(text.slice(last))); textNode.parentNode.replaceChild(frag, textNode); } const toProcess = []; let n; while ((n = walker.nextNode toProcess.push(n); toProcess.forEach(wrapTextNode); root.dataset.hashtagsWrapped = "1"; });