Principal Engineer - MicroMentor
About Mercy Corps
Mercy Corps is powered by the belief that a better world is possible. To do this, we know our teams do their best work when they are diverse and every team member feels that they belong. We welcome diverse backgrounds, perspectives, and skills so that we can be stronger and have long term impact.
MicroMentor is an initiative of Mercy Corps’ Innovations Team. At MicroMentor, our mission is to leverage the power of mentoring to help small businesses thrive. We do so by offering entrepreneurs direct access to a pool of committed professional volunteer mentors via an easy-to-use online community. MicroMentor has an expanding community making 10,000 mentoring connections every year. Entrepreneurs matched with a mentor have shown significant results in terms of improved job creation, business survival, and revenue growth.
Our team is diverse, driven, hardworking and highly committed to the mission of helping small businesses thrive through mentoring and about Mercy Corps’ mission to support our worldwide team that’s improving the lives of 19 million people in 40+ countries.
The Principal Engineer is a key member of the MicroMentor development team focused on building, operating, and supporting micromentor.org. They will own the full architecture of the MicroMentor technical solution, including (but not limited to) internally developed software, open source components, and licensed SaaS platforms. Most critically, they will own and internalize the vision for how all of these components integrate and complement each other. To achieve this, they will engage directly with the MicroMentor business team, vendors, business partners, and customers to ensure the successful design, development, and delivery of ongoing and future technology-based solutions for MicroMentor.
- Quickly get up to speed on our technical stack (a complex Python/Django + PostgreSQL app running on Heroku cloud services)
- Contribute working application code and associated tests
- Contribute working code automating or supporting operations and systems tasks
- Architect and drive high level design of systems being implemented
- Provide technical expertise to support the efforts of business and development team, including internal and external team members
- Lead the ongoing evolution of the existing MicroMentor technical portfolio of web applications
- Participate in code reviews
- Schedule and manage deployments
- Manage and oversee relevant hardware or cloud services
- Quickly diagnose bugs and other problems
- Contribute to and maintain technical documentation
- Lead the development of new features and capabilities as well as maintaining current functionality
- Ensure that internally developed code is unit tested
- Confirm all solutions meet MicroMentor and Mercy Corps standards and requirements for security and data protection.
- Corroborate the MicroMentor back end (including both internal and external components) provides a fitting platform for the front end
- Monitor operational health of site and ensure site availability
- Own the technical vision and strategy for the entire MicroMentor platform
- This includes documenting the vision in a form that is digestible to stakeholders
- This includes working with leadership to develop and maintain a technical roadmap to sustain the quality and reliability of our platform
- Collaborate with the Product Designer to refine product stories and break them down into development tasks
- Review the workstream of team members, contractors, or vendors to ensure quality and conformance to the larger architecture and business requirements
- Coordinate with Project Manager to refine requirements, produce estimates, distribute tasks to other developers, and plan timelines
- This includes following up to ensure that technical solutions meet their needs during and after implementation.
- Engage with customers to ensure that technical solutions will meet their needs
- Collaborate with hiring and reviewing of technical candidates
- Asses proposals by contractors and vendors
- Stay current on new technologies and available vendor packages; evaluate and make recommendations as necessary
- Lead safeguarding of private user data
Manages: Manage consultants
Reports Directly To: Executive Director
Works Directly With: MicroMentor software development team, MicroMentor Product Owner/Designer, MicroMentor Community Manager, Micromentor Revenue Leads, Micromentor Impact and Insights Lead
Accountability to Participants and Stakeholders
Mercy Corps team members are expected to support all efforts toward accountability, specifically to our program participants, community partners, other stakeholders, and to international standards guiding international relief and development work. We are committed to actively engaging communities as equal partners in the design, monitoring and evaluation of our field projects.
Minimum Qualification & Transferable Skills
- Bachelor degree in Computer Science or; related field or equivalent experience
- Must have 7+ years professional computer programming experience with object oriented languages especially Python, preferably on web-based applications.
- Must have 5+ years professional experience with Web frameworks in open source environments, preferably Django
- Must have 5+ years professional experience with database development, including the creation of queries, stored procedures, views, tables, and schemas, as part of a web application; experience with relational databases, especially PostgreSQL
- Must have 7+ years professional experience with agile software development practices
- Knowledge of data modeling and business process modeling, with an understanding of business processes, especially in distributed data collection, management, and reporting
- Experience writing secure, auditable source code that is well documented
Ability to work independently and collaboratively with multidisciplinary teams. Strong analytical and problem solving skills. Ability to quickly understand the business issues and data challenges of the organization. Ability to think creatively with incomplete information. Good verbal and written communication skills. Organized, detail-oriented, personable, able to prioritize projects. Ability to conceptualize and design new processes for practical applications. Adept at proposing options for managing change in a cost-effective manner. Able to multitask and prioritize in accordance with business needs with limited supervision. Ability to become quickly knowledgeable on an application and its database schema
Living Conditions / Environmental Conditions
This position is based in Portland, Oregon. This role may include travel for team meetings and occasionally to country offices across the agency, travel estimated up to 15% of the time. Travel may be to insecure and/or austere locations.
Fostering a diverse and open workplace is an important part of Mercy Corps’ vision. Mercy Corps is an Equal Opportunity Employer regardless of background. We are committed to creating an inclusive environment.
In support of our belief that learning organizations are more effective, efficient and relevant to the communities we serve, we empower all team members to dedicate 5% of their time to learning activities that further their personal and/or professional growth and development
Diversity, Equity & Inclusion
Achieving our mission begins with how we build our team and work together. Through our commitment to enriching our organization with people of different origins, beliefs, backgrounds, and ways of thinking, we are better able to leverage the collective power of our teams and solve the world’s most complex challenges. We strive for a culture of trust and respect, where everyone contributes their perspectives and authentic selves, reaches their potential as individuals and teams, and collaborates to do the best work of their lives.
We recognize that diversity and inclusion is a journey, and we are committed to learning, listening and evolving to become more diverse, equitable and inclusive than we are today.
Equal Employment Opportunity
Mercy Corps is an equal opportunity employer that does not tolerate discrimination on any basis. We actively seek out diverse backgrounds, perspectives, and skills so that we can be collectively stronger and have sustained global impact.
We are committed to providing an environment of respect and psychological safety where equal employment opportunities are available to all. We do not engage in or tolerate discrimination on the basis of race, color, gender identity, gender expression, religion, age, sexual orientation, national or ethnic origin, disability (including HIV/AIDS status), marital status, military veteran status or any other protected group in the locations where we work.
Safeguarding & Ethics
Mercy Corps is committed to ensuring that all individuals we come into contact with through our work, whether team members, community members, program participants or others, are treated with respect and dignity. We are committed to the core principles regarding prevention of sexual exploitation and abuse laid out by the UN Secretary General and IASC and have signed on to the Interagency Misconduct Disclosure Scheme. We will not tolerate child abuse, sexual exploitation, abuse, or harassment by or of our team members. As part of our commitment to a safe and inclusive work environment, team members are expected to conduct themselves in a professional manner, respect local laws and customs, and to adhere to Mercy Corps Code of Conduct Policies and values at all times. Team members are required to complete mandatory Code of Conduct elearning courses upon hire and on an annual basis.