Bonterra is a technology company focused on increasing the giving rate in the social good sector. They are seeking a Software Engineer to enhance their Efforts to Outcomes platform, collaborating with various teams to deliver software solutions that meet customer needs and improve program outcomes.
Responsibilities:
- Develop, test, and maintain features within the ETO platform, taking ownership of validating functionality and ensuring solutions meet business requirements and customer expectations
- Act as a technical partner to Product Management and customer-facing teams by helping translate customer feedback and business requirements into scalable software solutions that align with the product roadmap
- Investigate, troubleshoot, and resolve software defects, ensuring timely delivery of high-quality solutions
- Create, review, and maintain SQL scripts that support product functionality, customer implementations, and data updates
- Develop and maintain REST APIs, backend services, and application components
- Collaborate directly with customers and internal stakeholders to understand business challenges, identify root causes, and recommend effective technical solutions
- Evaluate and implement prioritized feature requests while balancing customer needs, technical feasibility, and long-term product strategy
- Clearly communicate technical concepts, trade-offs, and recommendations to technical and non-technical audiences
- Perform functional testing and validation of developed features, including verifying fixes, reproducing issues, and ensuring enhancements meet business and customer expectations
- Collaborate with QA engineers to identify testing needs, improve test coverage, and ensure high-quality releases
- Participate in code reviews, testing, deployment, and release activities while contributing to engineering best practices
- Continuously improve application performance, reliability, maintainability, and overall product quality
- Build strong cross-functional relationships with Engineering, QA, Product Management, Customer Success, and Support to ensure successful delivery of customer-focused solutions
- Embrace a growth mindset by continuously learning new technologies and contributing ideas that improve the product, engineering processes, and customer experience
Requirements:
- Bachelor's degree in Computer Science, Software Engineering, Information Systems, or a related technical field, or equivalent practical experience
- 2–5 years of experience in software development or a related technical role, with experience building, maintaining, and troubleshooting software applications
- Experience developing applications using C#, .NET, Java, or another object-oriented programming language
- Strong understanding of SQL and relational databases, including writing and troubleshooting SQL queries and scripts
- Experience developing or consuming REST APIs and modern web application architectures
- Experience with software testing practices, including validating features, troubleshooting defects, and ensuring application quality throughout the software development lifecycle
- Strong analytical, debugging, and problem-solving skills with the ability to investigate complex technical issues and identify root causes
- Excellent written and verbal communication skills with the ability to collaborate effectively with engineers, Product Management, customer-facing teams, and customers
- Ability to gather business and technical requirements, communicate trade-offs, and recommend solutions that balance customer needs with long-term product goals
- Experience working in an Agile software development environment using Scrum or Kanban
- Experience with Microsoft SQL Server
- Experience developing applications using C# and the .NET Framework or .NET
- Experience supporting or enhancing enterprise SaaS applications
- Experience collaborating with Product Management on feature planning, prioritization, and roadmap discussions
- Experience working directly with customers or business stakeholders to gather requirements, investigate issues, and deliver technical solutions
- Understanding of software testing principles and quality engineering practices
- Familiarity with Git and modern software development practices
- Passion for continuous learning and building technology that supports nonprofit organizations and social impact