Senior Software Engineer – MicroMentor

Mercy Corps

Location: HQ- Portland, OR or Remote (US working hours)

Position Status: Full-time, Regular

Salary: US: Starting salary for this role will be $98,000 – $119,667 commensurate on experience, based on local benchmark for candidates outside of the United States.

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.

The MicroMentor Team

MicroMentor is an initiative of Mercy Corps and functions much like a technology start-up. Through a proprietary online mentoring platform, MicroMentor provides a technology solution that connects small business owners and entrepreneurs with skilled volunteer business mentors on a global scale. In addition to managing the general community of users, MicroMentor provides a niche product offering to corporations, international NGOs and government entities as a program-implementing partner

The Position

MicroMentor’s current core stack is a Django/Wagtail application, therefore some experience with Python and Django are critical to this role. While the team is extending the back end with Node.js services and the user interface with mobile-first, dynamic client components, experience with both is desired, in particular any prior experience developing and publishing hybrid mobile applications using Ionic, Flutter, Cordova or React Native..

As a member of MicroMentor’s web services development team, the Senior Software Engineer (Full Stack) will collaborate in maintaining and further evolving and expanding MicroMentor’s multi-target mentoring platform. The ideal candidate brings deep experience in serving online communities on the web and mobile, and offers direction and tutelage to our younger software developers, while driving the team’s velocity with best-practice-aware, test-driven, and peer-reviewed coding. This is very much a hands-on, take-action and lead-by-example role. While collaborating with internal and external stakeholders to understand the product vision, its mission, and, eventually, feature requirements, the major majority of the day will usually go to developing code and reviewing PRs.

MicroMentor’s current core stack is a Django/Wagtail application, but a replacement stack using Node.js Express for the back end and Flutter for the mobile-first front end is in development. While some experience with Python, and Django in particular, will be helpful, a deep understanding, and extensive experience with the new technology stack is paramount for this position. In the front end, a proven competency with a single page application or mobile application can be a solid foundation for the collaboration in the development of our new Flutter application.

Essential Responsibilities (Example Section Below – Adapt to Specific Role)

SOFTWARE DEVELOPMENT

  • Write clean, readable code for new and existing features
  • Supplement feature development with unit and integration tests
  • Anticipate edge cases and side effects of changes to the system
  • Participate in code reviews
  • Write technical documentation
  • Read design documentation and solicit clarifications
  • Create proofs-of-concept or prototypes, especially for situations where documentation is ambiguous or incomplete
  • Report and diagnose defects and issues that may arise
  • Help triage issues for product maintenance

PRODUCT DEVELOPMENT

  • Help designers and other team members identify minimally viable feature sets
  • Participate in estimation and scoping exercises
  • Participate in brainstorms or other design meetings
  • Help designers discover edge cases where development is problematic
  • Help optimize product and project management processes

REQUIRED MEETINGS

  • Weekly sprint planning
  • Weekly product status check-ins

Supervisory Responsibility

None

Accountability

Reports Directly To: Director of Technology, MicroMentor

Works Directly With: MicroMentor Product Development Team

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 Qualifications & Transferable Skills

  • BA/BS degree and 6+ years of relevant industry experience (degree in computer science or related field preferred but not required)
  • Expert level JavaScript and TypeScript
  • Python and Flutter experience a plus
  • 5+ years experience working with web and/or mobile applications, both front – and back end
  • 3+ years experience using Node.js in the back end
  • Experience with mobile-responsive front end development, including HTML, CSS, JavaScript
  • Experience working in a Distributed/Cloud-based environment to build highly scalable applications (AWS, Google Cloud, etc.)
  • Experience with RESTful and/or GraphQL API development
  • Experience with development of large-scale software projects
  • Experience with SQL or NoSQL database technologies
  • Experience writing unit tests and integration tests
  • Experience with sysops tasks: CI/CD, containerization, serverless hosting, autoscaling
  • Experience integrating with outside systems such Firebase, email/SMS services, third-party APIs
  • Experience with with Flutter mobile application development a plus
  • Experience with Salesforce integrations is a plus

Success Factors

A successful candidate will be able to communicate clearly using a variety of approaches and be fluent in English. They can read and interpret web software design documentation and solicit clarifications for documentation. They can make and demonstrate prototypes for features with ambiguous or incomplete documentation. They can read and write technical documentation and articulate ideas to both technical and non-technical audiences. They learn quickly and adapt. Finally, they can relate to people with different backgrounds and have awareness and sensitivity to multicultural international development work.

Living Conditions / Environmental Conditions

The position is remote, and the candidate needs to work during US Pacific Time zone. If the candidate is based in Portland, they can work onsite at the Mercy Corps Portland Office (not mandatory). Travel may be required for annual planning meetings in POrtland HQ.

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.

As a safeguarding measure, Mercy Corps screens all potential US-Based employees. Any offers of employment or continued employment are dependent on the successful completion of the screens which include, but are not limited to our Background Check and Interagency Misconduct Disclosure Scheme processes,

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.

Ongoing Learning

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

Covid-19 Vaccine Policy for US-Based Employees

Mercy Corps has determined that, in an effort to protect the health, safety, and well-being of all Mercy Corps employees working in the United States, all U.S.-based employees must be fully vaccinated for COVID-19, regardless of prior COVID-19 infection status.

This policy will be revised as needed to comply with federal, state, and local requirements, and to respond to changing guidance from public health authorities.

For new employees this requirement goes into effect within 10 business days of employment. Team members that travel are expected to comply with host-country requirements, including vaccinations. Failure to comply may impact your employment. Proof of vaccination or exemption must be provided.

How to apply

Apply here


Job Notifications
Subscribe to receive notifications for the latest job vacancies.