Architect Roles across OpenMRS

Part 2: Requirements and Activities that Apply to All 4 Roles

Shared Requirements (Applies to All 4 Roles)

  • Self-driven work ethic. Self-starter who loves taking initiative and seeing things through to completion.
  • Problem solver. Love for coding and solving problems. Sees need to multiply their efforts - e.g. finding a new framework out there that makes everyone’s work efficient. You are curious and have a strong desire to continuously learn new technologies.
  • Enjoy a diverse workplace. Willing to work with, coach, and learn from folks from very diverse cultures. Desire to mentor & pair-program with others.
  • Excellent communication skills. We’re a distributed team, so frequent and clear written communication is a must. As a leader you need to clearly communicate complex technical concepts to both technical and non-technical audiences. Able to talk to stakeholders at different levels of technical knowledge. Can evangelize the team’s cause within and outside of the organization. Balance collaboration with forging ahead.
  • Mission-Driven: Impact in healthcare is a priority for you. Prior experience with the healthcare field is a plus but is not required.
  • Work Experience
    • Software development experience in a technology company.
    • Deep familiarity with how open source projects are developed. Likely past experience contributing to major open source projects.
    • Experience with managing teams & overseeing development.
    • Nice-to-Have: Experience with LMIC setting (e.g. awareness of resource requirements, on-prem deployment practices). Experience outside of the typical ICT4D industry is also highly desirable (fresh ideas).

Shared Activities (Applies to All 4 Roles)

  • Lay the Groundwork for Others
    • Motivates team members around a direction.
    • Prioritize the work themes and specific tasks. Take user stories and break down into technical tasks that more junior community members can work on
    • Coordinate team members’ efforts - watches for duplication, delegates work based on contributors’ skills and allocates learning experiences.
  • Pro-Actively Coach
    • Mentoring community members. Strong collaboration and mentorship skills. Excellent PR reviews - uses structured PR review processes to mentor others and synchronous pairing sessions.
    • Pair Programming to help unblock squad/team devs.
    • Clear expectations from junior/mid/senior devs. Clear principles: “When writing code, this is what we’re looking for.” Apply decision making process for how to engage particular people in issues, e.g.:
      1. Is person able to do this issue on their own?
      2. If not, are you prepared to do pair programming on this issue?
      3. If not, is there someone else who can provide mentorship?
      4. If not, reassign ticket to different person.
  • Lead Engineering by example.
    • Actively engineering contributions in modern technology. Get the gritty, tricky stuff done or at least started and stable enough that others can join in. Works alongside the other engineers.
    • Prioritizing. Demonstrated ability to prioritize work, especially amidst multiple competing stakeholders and projects. Addresses or delegate fires. Identifies technical debt and helps prioritize.
  • Forward-thinking Systems Design
    • Tech Stack & Modelling Decisions: proactively anticipates and mitigates engineering risks or inefficiencies. Considers tradeoffs between different software frameworks.
    • Makes decisions & moves forward but doesn’t just say “this seems like the right way”. Understands sustainability & implementer implications of their engineering decisions.
    • Sets standards, guidelines, and oversees their application.
  • Technical Writing: Good demonstration of technical writing - e.g. clear examples of documentation that helps teach others about how a complex framework works, including sample problems to work through.
  • Implementer Support: Technical guidance to organizations implementing OMRS on how they go about doing that. Someone implementation developers can turn to to work through technical issues they have or system design issues they have (e.g., fitting OpenMRS into an existing clinics infrastructure, advice on how to setup integrations with third-party software).
2 Likes