Senior Software Engineer (Technical Lead)
Job Description
Key Skills Required
Master these to land this role
Want to know if you're a match for this job?
The Role
As a Senior Software Engineer (Technical Lead) at Bloomerang, you are the senior-most technical engineer on a delivery team and a key driver of the team's technical success. You are a hands-on engineer who writes code, solves difficult problems, shapes technical direction, and helps the team consistently deliver high-quality software for the nonprofits we serve.
This is an opportunity to help define what great engineering looks like in an AI-first world. AI is changing what individual engineers and entire teams can accomplish, and we're actively exploring how to use that leverage to build better software, automate the work around software development, and give our engineers more time to focus on the problems that matter. You'll be one of the technical leaders helping turn that opportunity into everyday engineering practice.
You will own the technical outcomes for your team, partnering with Product, QA, and Engineering to turn ambiguous problems into practical solutions. You'll lead through technical excellence by mentoring engineers, raising the team's engineering standards, and using AI and automation to increase team leverage, improve engineering workflows, and ultimately help us build better products for the nonprofits that depend on us.
What You Will Do
- Own the team's technical outcomes. Set a high bar for code quality, reliability, maintainability, security, and technical execution, and make sure the team follows through on what it ships.
- Lead technical direction and design within your team's domain. Translate product and business problems into pragmatic technical solutions, independently shaping the approach for small-to-moderately scoped features and driving them through implementation. Partner with Staff Engineers and architects when decisions have broader cross-team or cross-product implications.
- Make the team better. Mentor engineers across experience levels, provide actionable technical feedback, identify opportunities for growth, and help engineers develop the judgment and skills to solve increasingly complex problems independently.
- Champion AI-driven engineering and automation. Use AI tools such as Claude Code and other emerging tools as part of your daily development workflow, while identifying opportunities to automate repetitive or high-friction engineering work. Experiment with new approaches, measure their effectiveness, and turn successful practices into repeatable workflows that increase team leverage, improve quality, and accelerate delivery.
- Balance delivery with long-term technical health. Proactively identify technical debt, architectural risks, performance concerns, and reliability issues, and work with the team to address them while staying focused on product outcomes.
- Diagnose and resolve complex technical problems. Use deep debugging, observability, and system-level knowledge to find root causes and improve the systems and practices that prevent issues from recurring.
- Own quality end to end. Build quality into the development process through appropriate automated testing, code review, observability, and continuous feedback.
What You Need to Succeed
Technical Depth
- Strong, recent experience building and shipping production software as a hands-on engineer.
- Deep proficiency in TypeScript and JavaScript across the stack — Node.js and Express on the server, React on the front end — with strong experience in modern web development.
- Strong experience with relational data modeling and SQL (PostgreSQL), REST API design, asynchronous programming, automated testing, and production debugging and observability.
- Experience modernizing legacy systems incrementally — porting or strangling legacy code into a modern stack while a live product keeps running for customers.
- Comfort building and operating integrations and data sync between systems, where correctness, idempotency, and conflict handling matter.
- The ability to make pragmatic architectural decisions that balance scalability, reliability, maintainability, and delivery speed.
- Helpful, but not required: Experience with Java, AngularJS, Sequelize or a comparable ORM, AWS/cloud infrastructure, or CRM platforms.
Technical Leadership & Autonomy
- Experience serving as the senior technical engineer or technical lead on a team, influencing technical direction without relying on formal management authority.
- The ability to take an ambiguous or moderately scoped problem, develop the technical approach, make sound tradeoffs, and drive it through implementation and delivery.
- A strong ownership mindset; you care about the quality, reliability, maintainability, and long-term health of what your team ships.
- The judgment to know when to make decisions independently and when to bring in broader architectural or organizational expertise.
AI Fluency & Engineering Leverage
- Genuine, hands-on fluency with AI development tools such as Claude Code, GitHub Copilot, or similar tools.
- Experience using AI meaningfully in day-to-day engineering work, including coding, debugging, research, code analysis, and problem-solving.
- The ability to identify opportunities to use AI and automation to improve engineering workflows, increase team leverage, and raise quality—not simply to write code faster.
- Curiosity about emerging AI capabilities and a willingness to experiment, learn, and turn useful practices into repeatable team workflows.
Team Leadership & Collaboration
- A track record of mentoring engineers and raising the technical capability and confidence of the people around you.
- The ability to communicate technical decisions and tradeoffs clearly with Engineering, Product, QA, and other partners.
- A continuous-improvement mindset and willingness to challenge existing practices when there is a better way to build, test, operate, or deliver software.
- A collaborative approach to technical leadership: you can drive a decision while still seeking input and bringing others along.
Nice to Haves But Not Required
- Experience with Java, or another JVM stack, in a legacy modernization context
- Experience with AngularJS, or migrating a legacy front end to React
- Cloud infrastructure (AWS)
- Feature flagging and progressive delivery (LaunchDarkly, OpenFeature, or similar)
- API and end-to-end test automation (Playwright, Jest, or similar)
- Multi-tenant SaaS at scale
- CRM, nonprofit, or volunteer management experience
How would you rate this job post?
See what other professionals think about this role.
Similar Opportunities
Explore Top Companies in this Space
Institute of Free Technology
Technology / Software / Nonprofit
Virtuous
Nonprofit CRM & Responsive Fundraising Software / Enterprise Marketing Automation SaaS / Philanthropic AI & Wealth Intelligence Platforms / Digital Giving Infrastructure
Mozilla
Internet, Technology, Software Development, Non-profit
Code for America
Civic Tech / Non-Profit / Government Software / Social Impact

Bloomerang
View Company ProfileBloomerang is a donor management software built specifically for small to mid-sized nonprofits. While many CRMs focus purely on 'getting the donation,' Bloomerang focuses on 'keeping the donor.' Their system is designed around the principle of Donor Retention. They provide simple tools that help fundraisers track who is engaging with their emails, who is ready to donate again, and who is drifting away. By combining a CRM with email marketing, online giving, and volunteer management, they help nonprofits stop the 'churn and burn' of donors and build lifelong supporters.
Safety First
- Never pay for a job application.
- Do not share sensitive bank info.
- Verify the client before starting work.
