COVID-19 Helpful engineering options
Help! I’m struggling to be a helpful engineer!
There’s a crisis happening and I’m in a fortunate position to dedicate serious time to help be a part of the solution leveraging my professional skillset. Software engineering ftw! 💪🏾
There’s already a fast growing crowdsourced effort called projectopenair.org; the brief was to evaluate potential projects there, and start contributing asap.
Should be simple, right?
- See a list of projects.
- Find a team that’s missing some web dev talent.
- Start smashing in pull requests immediately.
- PRs merge, virus dies, humanity wins.
WRONG.
…for so many reasons that I’m going to largely ignore in favour of focusing on how we can bring the current reality slightly closer to those naiive expectations.
Trying to navigate the newly created ProjectOpenAir (aka helpful-engineers) Slack community, github repos and Google documents is like trying to drink from a firehose. It’s enormous and in a state of constant turbulence that is also peppered with an intensely diverse range of cultural and professional profiles across a multitude of industries, geographies, and languages!
As a result, I’ve basically spent a couple days just getting a lay of the land out of curiosity and respect for the upfront organisational effort from the core-team of administrators. I was also mortified of ignorantly duplicating efforts just to claim that I was part of the cause (you’re either part of the problem or part of the solution).
In short, trying to organise and present the opportunities to contribute more effectively for other eager engineers seems like a valuable contribution in itself right now. This post is a lo-fi step in that direction, and I think there’s room to build on that in the coming days and weeks ahead. As a colleague described earlier today, there’s a lot of heart behind the helpful engineers effort but it’s time to apply some brainpower too.
So here’s a WIP collection of notes and themes to provoke some upgrades to the keen engineer onboarding experience.
Expectations - Reality = Opportunity
Opportunity 1 - Navigate a list of projects
- Navigating projects by the problem that they’re solving instead of the solution they’re applying is more intuitive when trying to assess where the gaps are in the overall approach.
- As an engineer, matching current skillset with project tech stacks is a crucial filter when looking for where there’s space to help.
- Other skill profiles will need/prefer to filter by location or teamsize in order to find where they can apply themselves usefully. For example, with specific legal knowledge or physical resources, or languages, or networks to leverage.
- Drilling even further, filtering by level of experience / commitment required to contribute would be a key enabler for eager helpers that have less time available to dedicate around dayjobs and other responsibilities.
Some personal notes/tips
The list of Slack channels is starting to converge towards some order, and there are some notable places to initiate / start catching up on various discussions:
#[COUNTRY]_immediate_needs
- e.g.spain_immediate_needs
orsweden-immediate-needs
(the underscore or hyphen use is not consistent across the board so it’s good just search by country)#new-channel-request
is where to suggest new channels but also serves a good place to see what’s been recently approved for creation that might be relevant.#skill-[SKILL]
- e.g.skill-software-frontend
where you can post your profile and share notes with fellow helpers within your discipline. Also handy to find potential teammates for your new/existing project idea.- Please add any more patterns or special channels in the comments so I can update this section if needed
Opportunity 2 - Find a team that’s missing your talent
The #introductions
channel in the Slack group is full of mini resumes, often ending with a “DM me if you need this” that I personally doubt is particularly effective. This would rely on some internal recruitment efforts per project that probably just isn’t happening that proactively yet.
However, a summary of the profiles related to each individual project team and how they’ve assigned responsiblities within them is important.
On one hand, who do you need to talk with to collaborate on specific areas of the TODO list? On the other and maybe more importantly, where is there room for your particular expertise or potential role in pushing a project forward?
Opportunity 3 - Start contributing immediately
It would be great if any software engineer with spare time can just peruse open Github issues across all OpenAir projects, filter for their area of expertise and just submit little PRs within their specific time constraints. You shouldn’t even need to engage too deeply with the wider project organisation; just see a list of valuable quickwins that you can tackle rapidly to add value to any team that needs it.
EDIT 2020-03-19: Commit-to-Covid Project launched to address this today. Get involved!
Opportunity 4 - Track the successes
It’s going to be important to stay focused on the intended goals of each initiative and measure progress and impact. Not least because there are likely to be repeated ‘seasons’ of viral outbreak that will likely put pressure on future iterations of each solution to be as impactful as possible. I’ll probably have more to say on this later as more projects (hopefully) reach a stage where they’re delivering trackable impact in communities around the world.
As a final note, the project of projects is evolving rapidly, so vast chunks of this might also lose relevance. However it’s been useful for me to process some of what’s been learned from this initial phase of volunteer crowd-engineering. This is uncharted waters for a lot of us so it’s going to take some adjustment and iteration to refine the experience. I’m a firm believer in the maxim of “where there’s a will, there’s a way”. There is a huge amount of good will behind this global-scale effort and I’m excited to be part of the path forward.
So what now?
There’s a first wave of ‘official’ project proposals that are currently under review. That may surface some teams addressing some of what I mentioned here. However, I might add a/some fresh quick-win proposals to the mix tomorrow and rally a small team around it to build some quick momentum. In particular, I think some sort of portal that scrapes Github repos and issues to surface and differentiate projects by problems and tech stacks in use might be a handy addition to the ecosystem for other software engineers like myself.