As someone who does software and is interning at an established non profit in San Francisco (just doing research, not software engineering), I agree with your points, and I want to get a little bit deeper into the reasons why.
First, I think a lot of the really impactful technical is like, somebody’s working on a report and they need to make a pie chart, and they’re not that good with Google sheets. And the technical volunteer is really good at Google sheets and can finish the task in 10 minutes. But to get to the point where the technical volunteer was connected to this task, they’ve had to attend months of weekly meetings where there weren’t any technical tasks available. And that time is good time spent understanding the context of the work that the organization does, but won’t feel worth it if the technical volunteer’s goal for their involvement is to make technical contributions.
Also, I think it’s really difficult for non-technical people generally to describe the problem they want a technical person to solve, in a way that makes sense. Like, it’s not going to be the way it is at your typical tech job where your manager gives you the specs of the project and you just make it happen the way they asked. People are going to ask you for stuff that isn’t possible or is scoped differently from what they need, and to prevent making something that they aren’t actually going to be able to use, it’s likely that you will spend more time talking to people to learn about their work and how you can best help them than actually coding. And that skill of figuring out how to best help somebody by talking to them is a skill that I think most software engineers don’t actually have, unless they are also entrepreneurs who do that kind of thing regularly.
My recommendation for people who are good at computer stuff generally (doesn’t have to be as deep as software engineering, but if you are handy with WordPress, and Google sheets, you can be really useful already) who want to help out is to make an effort to be part of the community that is working on a problem that you care about. That way, you will get the context of what exactly people are trying to do, and understand the nature of the work, and when it becomes clear that a technical solution would be really helpful, people trust you to do it in a way that will be helpful, and there’s no friction with trying to onboard you because you are already there.
As someone who does software and is interning at an established non profit in San Francisco (just doing research, not software engineering), I agree with your points, and I want to get a little bit deeper into the reasons why.
First, I think a lot of the really impactful technical is like, somebody’s working on a report and they need to make a pie chart, and they’re not that good with Google sheets. And the technical volunteer is really good at Google sheets and can finish the task in 10 minutes. But to get to the point where the technical volunteer was connected to this task, they’ve had to attend months of weekly meetings where there weren’t any technical tasks available. And that time is good time spent understanding the context of the work that the organization does, but won’t feel worth it if the technical volunteer’s goal for their involvement is to make technical contributions.
Also, I think it’s really difficult for non-technical people generally to describe the problem they want a technical person to solve, in a way that makes sense. Like, it’s not going to be the way it is at your typical tech job where your manager gives you the specs of the project and you just make it happen the way they asked. People are going to ask you for stuff that isn’t possible or is scoped differently from what they need, and to prevent making something that they aren’t actually going to be able to use, it’s likely that you will spend more time talking to people to learn about their work and how you can best help them than actually coding. And that skill of figuring out how to best help somebody by talking to them is a skill that I think most software engineers don’t actually have, unless they are also entrepreneurs who do that kind of thing regularly.
My recommendation for people who are good at computer stuff generally (doesn’t have to be as deep as software engineering, but if you are handy with WordPress, and Google sheets, you can be really useful already) who want to help out is to make an effort to be part of the community that is working on a problem that you care about. That way, you will get the context of what exactly people are trying to do, and understand the nature of the work, and when it becomes clear that a technical solution would be really helpful, people trust you to do it in a way that will be helpful, and there’s no friction with trying to onboard you because you are already there.