Cultivating the Next Generation of Open Source Developers

Cultivating the Next Generation of Open Source Developers

Cultivating the Next Generation of Open Source Developers 560 315 Harley Tuck

Harley is the lead support engineer at MI-Squared team and contributes technical direction to Outreachy

Hoo-RAY, another Outreachy Intern selection completed with LibreHealth EHR! This is the third Internship cycle I’ve volunteered for and I keep coming back. They’re great things to experience: sometimes a panic, frequently interesting and always rewarding.

Libre Health EHR

LibreHealth EHR ( is a Free and Open Source Software (FOSS) project that is building an EHR for deployment, “in a variety of healthcare settings”, as the home page says. They also have a radiology project, and a toolkit and toolkit API projects going on. But my experience and orientation is the healthcare staff / user realm so I oversee a team of volunteers who are working on the LibreHealth EHR codebase itself.


Outreachy ( is an organization dedicated to lowering the entry barriers for populations typically underrepresented in the IT industry, be they gender or racial minorities, or maybe living in a part of the world with minimal local opportunities. Every year Outreachy puts on three internship cycles where they coordinate between IT projects who have work that needs doing, with funding sources who want to provide paid internships. In the past LibreHealth have been able to obtain for our team funding for either one or two interns each cycle.

Outreachy – Internships Supporting Diversity In Tech

You see, I am not a developer; I like having the Big Ideas and bossing people around, and doing documentation. So I coordinate the overall direction of our EHR internships, and provide specialized supervision of the documentation we publish. The first Oureachy cycle we only did documentation of the existing EHR. But the interns uncovered the fact that we really needed to fix existing bugs in the EHR. Then we got lucky: after the Intern for that first cycle, Toni Shortleeves (KoniKodes in the forum,, completed the internship she came back to work as a volunteer and added a whole new area of endeavor to the EHR project: front-end coding. And she has since inspired several other former interns to volunteer with the project and become mentors for new interns!

The initial phase of the Outreachy Intern selection process can get pretty hairy. Applicants typically flood the chat site we have, when anybody who meets certain minimum qualifications may apply. A typical Intern selection phase has us mentors guiding from 5 – 15 applicants through learning a qualifying task such as debugging the EHR and writing bug reports, or composing user documentation. These tasks are scored, then at the end of the selection phase the applicant with the highest score is chosen as the paid intern for that cycle. Those first weeks are the busiest time in the cycle when we have to correct and score submissions as fast as applicants can produce them, and many applicants will pull frequent all- nighters to boost their selection score.

Once the selection is made, we work with the successful Candidate(s) on what the project is for that cycle- usually it resembles the qualifying task. In my experience all the applicants have maintained the same high level of enthusiasm and productive output until the end of the cycle- they don’t win the internship then just slack off. Not only are they getting paid a truly useful amount in the internship, but they’re learning real- life skills, such as how to logically break down workflows to discrete steps and then to write clear instructions for them; how to debug a software application and clearly report its important features, working with the project’s git repository and then coding and committing a suitable bug fix. But perhaps the biggest growth I see in most interns is a new ability to work in a FOSS community.

The habits in a FOSS project are very different than most other organizations, and working with non-US applicants exposes cultural differences that affect how the tasks are carried out. Having one’s work critiqued and discussed in public is difficult for many. Asking for clarification of a mentor’s instructions is another common ‘challenge’: I’ve seen plenty of times times when the applicant will simply do what they think you’ve told them and resubmit the work, repeating the process until they get it right. However, some of the selection criteria always assess one’s ability to discuss work and question instructions; those who are able to do that are usually in the top few eligible to be selected.

At MI-Squared, we continue to contribute to LibreHealth EHR and OpenEMR because we want to be part of a project that will eventually deliver a highly capable healthcare tool to parts of the world that desperately need it. But another reason is what they call ‘paying it forward’: I got started in this field as a volunteer in a FOSS project, showed my chops then got hired. I’m gratified to know I’m helping others do the same.

Leave a Reply