My FOSDEM Experience

I attended FOSDEM this year for the first time ever. In fact, it was my first conference ever, so it was very exciting. Brussels is a lovely city and relatively close to where I live, so I decided to take the opportunity to go.

FOSDEM is one of the biggest Open Source conferences in Europe. It is usually held during the first weekend of February at the Université Libre de Bruxelles

The conference is free and no registration is required, which is great, but it also means it gets really crowded. If you’re a person who suffers from anxiety particularly among crowds like me, this can be intimidating, but there are ways to still have a great experience.

The talks are held in different rooms simultaneously, so you can choose between the Keynotes, Main Tracks, Developer Rooms and Lightning talks. The majority of the talks are held in the Developer Rooms, and there are a lot: JavaScript, Internet of Things, Go, Python, Community, and many, many more. 

I enjoyed all the talks I had the chance to attend, but my favorites were in the Community Devroom. Here are some links to the videos in case you are interested:

Building Ethical Software Under Capitalism


The Ethics of Open Source


Cognitive biases, blind spots and inclusion


All the talks are available here: 

There are a lot of food trucks with different food options, and I was able to easily find vegan options. Of course, these spots are usually crowded so if you don’t like crowds, plan to get your meals during less busy moments. 

If you’re thinking of attending next year, here are some tips:

  • Plan ahead which talks you want to see. This will help you plan your day. 
  • When the rooms are full, the doors close, so you might want to be there 15 minutes before the talk begins.
  • If you’re anxious in crowds or closed spaces, like myself, make sure to stay close to a friend or someone you know 
  • If you’re not feeling well or you feel unsafe, talk to the volunteers, they will help you.

Overall it was an amazing conference, but it also made me realize how truly unbalanced representation is in tech. Although there were some non cis-male people of course, particularly in the JavaScript and Community Devrooms, in general the crowd was overwhelmingly male. 

Trying to find a woman in the crowd was like playing Where’s Waldo. Oh there’s a lady! Nope, just a long haired dude.

While this is not news to anybody, to actually see it in real life with a live sample of people was an eye opener, and a little unsettling. This is why Outreachy exists.

Outreachy is a paid internship program for people typically underrepresented in tech to work in open source and free software. I got involved with open source as part of my internship with Outreachy, and because Outreachy provides a travel stipend to interns to travel to conferences and events, I was able to attend. So if it wasn’t for Outreachy, I wouldn’t have been in FOSDEM in the first place. I would have probably never even heard of it.

I am definitely planning to go again next year, so if you’re going too, feel free to reach out – maybe we can meet there!


Everything I gained from my Outreachy experience (and how YOU can get it too!)


If you haven’t been following my Outreachy journey, you can read all about it here.

I’m on my last day as an Outreachy intern, thus this is my last blog post. I want to take this opportunity to talk about everything that I have gained from this experience, and why I think it’s an amazing opportunity if you’re getting started in tech.

First, regardless of whether you choose a documentation project or a coding project, this will serve as your first experience in tech, particularly working remotely with a team, which is extremely valuable experience. Potential employers are truly impressed when I discuss my Outreachy experience, and I believe that it makes a big difference if you’re just getting started, to have a remote internship in your CV.

Secondly, it is a paid internship, which is extremely important. Not everyone can afford to do an unpaid internship. This leads to less diversity in tech, since usually underrepresented minorities are financially underprivileged, and this is what makes Outreachy so essential: it provides a paid opportunity for people who aren’t privileged enough to do unpaid internships.

It allowed me to take time to focus solely on contributing to Open Source. If I had been doing an unpaid internship, it would have meant working 60-80 hours per week in order to have my first experience in tech.

Regarding learning new skills, this is something that will definitely happen regardless of which project you choose. In my case, I worked using my existing skills in writing and translating, but I gained extremely valuable skills in technical writing specifically, and working in a remote team. It also helped me boost my confidence that I can carry my work to completion, and that my work is valuable.

Last but not least, I met amazing people during my internship, from the mentors to all the collaborators and other applicants. It was an extremely valuable experience and I know that I will definitely keep in touch with many of them, particularly my mentor, Toni, who was one big reason why my experience was so fantastic.

In conclusion, if you’re eligible, do not miss your chance to apply. You will gain valuable experience even from the application process itself even if you’re not selected. If you are, prepare to work hard, have fun and learn tons in the process!

Modifying Expectations



If you haven’t read my previous posts – Hi! I’m Virginia and I’m a documentation Intern for LibreHealth EHR. I got this internship through Outreachy, an amazing organization which provides 3-month paid internships to people from underrepresented minorities all around the world. You can read about how I got this amazing opportunity here, and the struggles I’ve faced though my adaptation period here. My last blog post was about what I’ve learned so far during my internship, and this week I’m going to discuss a somewhat related topic and that is expectations.

In my opinion, this is applicable to every project you work on with other people, or even on your own if the project is too complex or has too many variables. That doesn’t mean you should set high expectations for yourself, but prepare for the possibility that you will not accomplish all your goals in an orderly manner. Things can happen, for instance, other people might get stuck with their work and your work is dependent on theirs. For this, it is important to keep a flexible mindset and switch to other tasks so you’re not idle or feel like you’re wasting your time.

The timeline

At the beginning of my internship, I worked together with my wonderful mentors Toni and Harley to create a list of goals that we wanted to accomplish throughout these three months. The initial timeline we submitted to Outreachy was this:

“Improve existing documentation and create missing documentation in English, Spanish and possibly German if time allows.
Continue working with the LibreHealth EHR documentation to include the individual tutorials and the EHR activities such as Adding a new Patient, Working with the Calendar and Flowboard, The Patient Portal Registration Process, Using the EHR Prescription module, and Creating a Patient Encounter from beginning to end. Create the Administrator User Manual in English, Spanish and possibly German if time allows.”

I remember being particularly worried about the German part of it, because I am still not fluent in German. When I applied, I translated only one short guide to German and it took me about a week to finish it. Also, I needed to bug my German friends to help me proofread and correct them.

With regards to the rest of the tasks, I didn’t really know what to expect since I wasn’t aware of how many of these docs already existed and how many I would have to create from scratch.

Thankfully, my mentor Toni was extremely reassuring so I didn’t get too anxious or overwhelmed about not being able to complete all the tasks. And I have to say, so far I’m very happy with the results, all things considered.


I have mainly been working on the Administrator docs, since I had already translated the User guide and other user-oriented docs during my application. I have written and translated new docs, and improved and translated existing docs. So far, I have only been working in English and Spanish, so I am still worried about the German translations, but I am still happy with my progress.

I am also working on fixing the translations of the labels in the app, which was a big problem in my opinion and it will finally be fixed. I am very happy about this.

I feel satisfied that I am meeting the goals we set at the beginning of the internship, and a lot of that has to do precisely with being flexible: I have encountered some technical issues that have forced me to leave some projects hanging and refocus on another task.


The reason why we have had to refocus on different tasks and maybe not reaching all the goals we had set at the beginning is that some of the Admin docs are taking longer than expected. The main reason is that the stable demo app was taken down right before starting the internship, and when a non-stable version of it was put back up, a portion of the functionality that I have to document was broken, and therefore I cannot go through the workflow until one of the devs fixes it.

I have learned to live with this, since it is completely out of my control, and employ my time in other tasks. This sadly means that a big part of my work is unfinished, but at least the next intern will have something to work upon.

I feel that all in all I would do the same if I started over. I have a problem sitting still and being idle, so reevaluating expectations and goals is something I routinely do in my everyday life.

New goals

This sometimes leads to great things. For example, while waiting for something to be fixed I was looking for something to do, and I came across the contribution guidelines for the project. These guidelines were published some time ago and need improvement. They also contain a link to a Style Guide that does not exist, which is something I think documentation interns would greatly benefit from. I discussed it with my mentor and she agreed, so one of our new, unexpected goals is to at least outline the style guide, and hopefully write it and publish it.

One of my main goals for the second half of the internship, besides the style guide, is to finish the Admin docs and at least outline the Admin User Guide.


It’s unrealistic to believe that a timeline can be followed to a T, but that does not mean you shouldn’t set specific goals for yourself. The timeline has served as a roadmap, and although the progress hasn’t been exactly what I expected, it has still been great.

In my case, the reasons for modifying expectations have been varied: having to learn workflows and pick up new skills or improve existing ones, technical difficulties, external circumstances. Regardless of why sometimes we have to change our expectations, the most important thing is to be flexible and adapt to changes as quickly as possible in order to stay productive.

What I’ve learned about documentation on my Outreachy internship and why it matters



If you haven’t read my previous posts – Hi! I’m Virginia and I’m a documentation Intern for LibreHealth EHR. I got this internship through Outreachy, an amazing organization which provides 3-month paid internships to people from underrepresented minorities all around the world. You can read about how I got this amazing opportunity here, and the struggles I’ve faced though my adaptation period here.

Now that the adaptation period is pretty much over, I’ve been enjoying being more productive and having a lot of fun in the process. I am excited about what I’m doing right now and even more excited about the plans we have for the next few weeks.

One of the reasons I chose this project was that it is a documentation project. I felt that I didn’t have enough technical knowledge to contribute to a development project, and I felt excited about this one in particular for several reasons:

  1. It directly benefits people: good documentation can make a world of difference for a user
  2. It allows me to combine my passion for technology with my teaching background
  3. It also allows me to use my language skills, since one of my main goals is to make the docs multilingual

So this week’s post is for anyone thinking of applying for LibreHealth EHR next round, and also for anyone writing any kind of documentation.

What is LibreHealth EHR?

LibreHealth is a collaborative community for free & open source software organization where several different health information technology projects collaborate. LibreHealth EHR is one of those projects.

EHR stands for Electronic Health Record. An electronic health record is essentially a collection of information about patients that is digitally stored. This makes information easy to share between different healthcare facilities and organizations. The information includes medical history, allergies, medications, demographics, tests results, and vaccination information, among other things.

The LibreHealth EHR application is a “clinically-focused” EHR which aims to be easy to use and customizable for a variety of health care settings. It is designed to cater for two main groups of users: staff members, such as front office staff and doctors. Likewise, LibreHealth EHR has two main types of documentation for these two categories of users: User Guides, and Admin Docs.

Why is documentation important?

According to the Health Care Information and Systems Management Society, adoption rates of electronic health records are remarkably slow compared to adoption of similar technologies by other industries. The reasons they cited for this are initial costs and decreased productivity during the implementation stage, but they also mentioned the quality and usability of the software. This makes documentation especially important: since the EHR will be used by people who don’t have a background in technology, they need documentation to be clear and easy to follow. This is the most important thing to keep in mind while writing User Guides.

This means:

  • Clear instructions split into steps: only combine short steps into one bullet point. If you cannot cover the visual part of the explanation with one screenshot only, you need a separate step.
  • Helpful screenshots: Use highlights, circles, rectangles, or any highlighting technique you prefer, to draw the reader’s attention to the section of the screen where they will be performing tasks.
  • Good references: if you have a more detailed explanation of something somewhere else, direct your reader towards it instead of leaving them to the task of browsing the whole site.

Admin docs are pretty similar to User Guides in that the final user is someone who doesn’t have a background in IT. However they do have administrative permissions, which means they are in charge of certain tasks that other staff do not have to deal with. This usually has to do with permissions, changing configurations, adding or removing users (staff members who are allowed to use the app), and related tasks. So their use of the app is a bit more involved.

The style of the documentation is the same though, and should be the same for every documentation anyone ever writes: don’t assume any prior knowledge and always give reference to concepts you don’t know for a fact the reader is familiar with, be clear and concise, and offer helpful visual aid, which saves the user a lot of time.


Writing good documentation is not easy, but it is extremely important and should not be neglected. We must not assume that users will “figure it out”. It is a really good exercise in empathy and communication skills. My teaching background has certainly helped a lot. Translating also has its own set of challenges, but I will leave that for another post.

If this post got you excited about documentation, and you’d like to contribute to LibreHealth EHR, stop by the LibreHealth Forums, and consider applying for the next round of Outreachy!

Everybody struggles: how I got stuck and unstuck this week and what I learned from it



I’ve been an Outreachy documentation intern for LibreHealth almost a full month now (you can read about how I got the internship here) and I have been enjoying it greatly. That doesn’t mean that it has been all smooth and easy.

When I got the email from Outreachy on this week’s topic, I couldn’t believe how relatable it was. It’s like they were reading my mind. I was struggling for sure, with different aspects of my work. But struggles are the best learning experiences.

The adaptation period

The first few days were hard. I felt lost and useless, I didn’t know what to do and I was struggling to understand what was asked of me because I wasn’t familiarized with many things about the project.

This is totally normal. The key is asking a bunch of questions. If there aren’t any mentors around, make a note and ask later. Ask for clarification anytime you’re unsure about something.

And ask for help if there’s something you feel is beyond your current skill set: this is what will help you learn and grow.

Unforeseen circumstances

During the application process, we were working with a stable demo. After the internship application period ended, they took the stable demo down. The bleeding edge has all the functionality but it looked ugly, so Toni, my mentor, and I spent a couple days trying to make it prettier.

After that, I had finished writing new docs in English so we decided I could start translating some docs that were not translated yet. So when I logged in into the Spanish version I found that many tags were mistranslated, not translated at all, and some were even in Greek!

This is a big problem when it comes to taking screenshots for the docs.

My mentor and I started trying to get help to fix it, but we couldn’t get ahold of the people in charge of localization, and the Holidays were coming up so a lot of people weren’t working. So I was officially stuck!

Don’t bang yourself again the wall: find a hole in it

After a few frustrating days trying to fix the labels myself without success, I decided on an alternative plan: I can do text-only translations for a while, and then put in the screenshots once the labels were fixed.

My thought was: instead of focusing on what I CAN’T do, why don’t I try to see what I CAN do? That thought changed my entire perspective on the situation.

After that, I was able to be productive again, and once my creative juices were flowing I realized that some of the docs could be finished after all, screenshots and all. Not all the labels were off, and for some of the docs I was translating, all the labels were perfectly translated!

The takeaway

If you’re stuck, it’s okay! It happens to everybody. Don’t beat yourself up and try some of the following strategies. These are the ones that worked for me, but if you have any other techniques to get unstuck that work for you, please share them in the comments!

  • Ask questions and clarifications as often as you need it. There aren’t stupid questions. Make notes so you don’t forget to ask something that you’re unsure about.
  • Get creative: if you can’t continue on one track, find an alternative path that will work for now. This way you do something productive with your time instead of being idle and demotivated.

Once you get started getting yourself unstuck, you will notice that things start flowing. Remember that nothing ever runs perfectly smoothly, and the bumps on the road are the ones that will help you deal with obstacles in a better way in the future.

How I got an Outreachy Internship and got excited about documentation


The beginning

I heard about Outreachy while doing the 1millionwomentotech Summer Of Code program. It’s an all-women coding program, and we have a Discord channel where we talk to each other, share experiences, help each other with homework, and so on. We were discussing internships and someone suggested Outreachy. I was immediately interested so I rushed to the site and read everything about it. I decided I would apply.

I liked Outreachy because first, I loved the fact that it is aimed at “anyone who faces under-representation, systemic bias, or discrimination in the technology industry”. I am excited about making technology a more diverse industry which includes people from all walks of life and allows them to make a valuable contribution. Also, it’s a paid internship. As many of you may know, not all of us can afford to take time off work and work in an unpaid internship, so it is nice that they take lower income people who still need to pay the bills into account.

The application process

Before you actually apply for a project, you have a period where you have to choose a project (they recommend one or two, but I personally couldn’t commit to more than one) and start contributing. I chose LibreHealth because it fits my skill set: my background is in languages, and they needed to make their documentation multilingual. So it was the perfect project for me.

This is important: choose a project that suits your current skill set. You will, of course, learn tons anyway, but make sure you don’t have to learn a whole new language or skill from scratch because the contribution period will be tough for you.

I started very early on, which I think helped me a lot. I had already made several contributions before other people had even arrived. I got very excited about documentation, which is something we rarely think about but we all depend on. I had only paid attention to documentation before when I had to use a library with really bad docs, but beyond that, we tend to dismiss it or take it for granted, where in reality it takes work to produce quality documentation. A LOT of work.

We were allowed three revisions per draft, and I generally could submit a final version after 1-2 revisions by the mentors. It is important to ask all the questions you need before starting to work on something, and during the feedback process, so you will be more efficient and will be able to deliver faster, which will result in more contributions.

Then about 10 days into the contribution period, a lot of people stated showing up, and a lot were working super hard and delivering tons of work! Before that, I was very confident that I had a good chance of getting the internship, but then I started to think “Ok, now I might actually not get it!”. On top of that, life happened and I had to slow down a bit, so I was contributing a bit less and other people still kept a great pace.

So slowly I started to assume it wouldn’t happen. I was okay with it, I just planned to enjoy the rest of the contribution process and take it as an experience in itself. When the actual applications opened, I carefully submitted mine a couple of days before the deadline, as I always get super nervous around deadlines and forms, and I just kept submitting my unfinished work and enjoying the process. By then I was sure I wouldn’t get it. I started planning other things to keep myself from getting really disappointed and sad.

The announcement

When I got the email announcement saying I got the internship, my heart skipped a beat. I couldn’t believe it, I was 99% certain I wouldn’t get it! I immediately got in touch with the mentors and started planning what to do. Then I took a few days off and on December 4th I started working as a Documentation Intern for LibreHealth. My mentors are awesome and the work is fun, and I hope we are able to achieve every goal for the project during this term.

If you are interested in applying

  • Start early: you will have a chance to make more and better contributions
  • Make sure your application is ready with ample time before the deadline
  • Ask questions: about everything – the application process, the work you have to do, the feedback. Having a clear picture of what is expected of you will help you produce quality work.
  • Get excited about your work: this way putting in the hours will be easier. Some time it is hard to stop!

Final words

If you’re eligible for Outreachy and find a project that excites you, don’t hesitate to apply. You will learn a lot from the application process itself and you have nothing to lose.