Senior Software Engineer - US

Tags: Covid-19 English Spanish Environment
  • Added Date: Wednesday, 16 August 2023
5 Steps to get a job in the United Nations

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 Team

The Information Technology (IT) Business Apps department coordinates, facilitates, and supports the agencyโ€™s use of technology to improve organizational agility and achieve agency goals. The TolaData Development Team is part of the IT Business Apps department and supports this objective by developing and improving the Mercy Corpsโ€™ internally built, web-based, software solution for program performance monitoring, evaluation, and learning (MEL), called TolaData.

Launched in 2016, TolaData is used by Mercy Corps team members to support data-driven decision-making, learning, and adaptive program management. TolaData supports these practices by improving the accessibility of program data as well as ensuring the retention of evidence necessary to support reported programmatic results and achievements. Today, the TolaData Development Team works closely with the headquarters MEL and Program Standards Teams to ensure that TolaData continues to meet the needs of Mercy Corps team members and programs.

The Position

The Senior Software Engineer is a member of the TolaData Development Team, who will focus on providing technical leadership around the architecture of TolaData as well as focusing on front-end software development using React. This position may also support the development and execution of other key organizational priorities, such as business intelligence, database integration, award/program management, and/or data security.

Essential Responsibilities

  • Works closely and collaboratively with members of the software development team, business units, and end-users to effectively address business needs and user problems.
  • Provides architectural leadership, developing strategic technical solutions to improve the overall performance, reliability, sustainability, and scalability of our systems.
  • Assumes ownership of the technical stack ; provides knowledge continuity for the development team; acts as the custodian of engineering.
  • Directs ongoing efforts to decouple front-end (Javascript/React) and back-end (Python/Django) architectures.
  • Leads the development of solution s to improve the overall performance, latency, reliability, and scalability of our systems and reduces technical debt, such as selecting software packages and libraries; establishing software patterns; and collaborating to design code deployment processes.
  • Writes or refactors code to be clean, readable, commented, documented, reusable, testable, and efficient, and:

    • Follows and implements OWASP recommendations for writing secure code.
    • Meets acceptance criteria and quality specifications, including PEP8 and Django coding style and standards.
    • Supports the integration of front-end and back-end functionality, across different systems and databases, including MySQL or PostgreSQL

      • Effectively utilizes software development best practices in the development of potential technical solutions, working to address existing codebase limitations.
      • Reads and interprets design documentation (e.g., GitHub tickets, Figma mockups), soliciting clarification and refinement of acceptance criteria, as needed, while developing level of effort estimates and ensuring new code meets business requirements and quality specifications.
      • Participates in diagnosing and fixing software bugs and system errors.
      • Facilitates engineering design reviews Leads and participates in code reviews.
      • Writes unit/integration tests for all code written in an existing Continuous Integration (CI) testing environment and supports Quality Assurance (QA) testing, and reviews tests from other engineers.
      • Participates in backlog refinement and contributes to the development of the roadmap and release planning.
      • Contributes to the development and implementation of end-user software analytics and evaluates end-user feedback for continuous software improvement.
      • Provides real-time, collaborative mentoring to more junior software engineers.

        Supervisory Responsibility

        None.

        Accountability

        Reports Directly To: Deputy Director, Data Protection and Privacy

        Works Directly With: TolaData software development team, business owners on the Program Performance and Quality and MEL teams, regional subject matter leaders, and TolaData end users.

        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

Recommended for you