Controller - $145,000 to $160,000 + 10-15% Bonus Hybrid Columbus, OH Are you a driven accounting leader ready to make a significant impact? We're seeking an experienced Controller to join our growing team and oversee the full spectrum of accounting and financial operations. This is an excellent opportunity for a hands-on, strategic leader to step into a high-visibility role with competitive pay, a strong bonus structure, and hybrid flexibility. Why You'll Love This Role
Competitive Salary: $145K - $160K base plus a 10-15% annual bonus
Hybrid Schedule: Enjoy a healthy balance of in-office collaboration and remote flexibility
Growth Potential: Be a key financial leader in a dynamic, evolving organization What You'll Do
Oversee all accounting and financial operations for the organization
Manage month-end, quarter-end, and year-end close processes
Lead budgeting, forecasting, and financial planning activities
Ensure compliance with GAAP and regulatory reporting requirements
Partner closely with leadership to provide insights and drive strategic decisions
Liaise with external auditors and banking partners to support financial operations What We're Looking For
Bachelor's degree in Accounting, Finance, or related field required
CPA designation is a strong plus
7+ years of progressive accounting experience, with at least 3 years in a leadership role
Strong background in financial reporting, regulatory compliance, and process improvement
Excellent communication skills with the ability to collaborate cross-functionally This is your chance to lead at a high level while still being hands-on, make an impact on financial strategy, and join a collaborative, forward-thinking organization. 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"; });