Blog

Software engineer volunteer opportunities 2024

One of the most popular posts I’ve ever written on this blog was a list of volunteer opportunities I wrote for software engineers in 2020. I feel we’re long overdue for an updated list.

If you know of another opportunity, feel free to comment!

Create your opportunity

  • Reach out to an organization that you are interested in – You are only limited by your imagination and free time. Is there an organization or cause you care about? They might be open to some help.
  • Meetup – There are so many different coding clubs these days and many of them are focused on teaching, mentoring, or coding in the community. Do a search!
  • Open Source – There are so many open-source projects out there. Choose a project that seems interesting to you or create your own! Below are some links to help you find open-source projects.

Teaching

  • Coder Dojo – Help kids learn programming. Serve as a mentor or start a coder dojo where you live.
  • TEALS – Teach kids, sponsored by Microsoft.
  • Code Your Feature – Teach refugees, asylum seekers, and other disadvantaged people how to code.
  • Code.org – Teach women and underrepresented minorities during the “Hour of Code” event.
  • Girls Who Code – Empower, support, and teach women how to code.
  • Mother Coders – Present, code review, mentor, and teach other mothers.
  • Code the Dream – Teach, mentor, and review coding assignments to help immigrants and communities of color get into the programming profession.
  • Code your Dreams – Help youth and adults from diverse backgrounds enter tech careers.
  • Code your future – Help disadvantaged adults find meaningful work.
  • CodePath  – Teach and mentor.
  • Coder Dojo – Volunteer-led, community-based computer club for young people.

Write code for non-profits

Introducing BeyondDone

A year ago, I set out to create something that would make the lives of software engineers easier. A productivity tool that would reduce the tedium of daily work.

There were four sources of inspiration: multi-platform mention fatigue, daily standup activity log recitation, remembering my tasks, and remembering what I did.

Multiplatform mention fatigue

My coworkers would scatter mentions of my username to the four winds. It was as if they were actively seeking out harder and harder places to places to mention my username and ask for critical information. I was mentioned in Slack, Jira, Confluence, Google Docs, and GitHub, sometimes in old and/or resolved tickets. I tried to use my email inbox as a task management system, deleting notification emails as I resolved them, but it was challenging to keep my inbox pristine enough to see the lingering tasks.

Daily standup activity log recitation

For every standup meeting, my manager would ask us to recite what we had done and what we needed to do. This information exists in GitHub and Jira. It was hard to find and correlate, but it existed. It felt like such a waste of time.

The most valuable part of standup is to help each other overcome obstacles to achieving sprint goals.

Remembering my tasks

It was challenging for me to remember everything that was on my plate. I wrote notes in a digital note-taking app but it felt so manual, especially since many of my tasks existed in digital platforms.

Remembering what I did

Even harder than remembering what I needed to do was remembering what I did, something I needed to do for every standup meeting as well as retro. What kind of software engineer can remember everything that happened in the past two weeks? Somebody with superhuman memory abilities, that’s for sure.

The answer

My answer to all these challenges was creating the BeyondDone app. It’s an app I keep open literally every day and has been a real game-changer for me. The BeyondDone app has solutions for all of these things.

I hope you’ll give it a try. There’s a 30-day free trial, and no payment information is required.

Python lists, dicts, and functions for JavaScript engineers

I’ve been getting really into Python. There’s been times in the past where I’ve dabbled or built things in Python but something about this recent “build a microservice” project at work has inspired me to learn more and increase my expertise. That project has since left my team’s hands due to sudden company restructuring but I feel happy to pursue the world of Python in my own time for now. Here’s even more things I’ve learned.

Read more

7 Python basics for JavaScript engineers

I’ll be honest. My main expertise and experience is in JavaScript with Node and frontend frameworks like React. I took a Python Introduction to Computer Science course through EdX a few years back and have only really needed to use it sporadically since then. That all changed two weeks ago when a new project started at work. My team was tasked with rapidly getting ramped up on Python and writing a new back-end service in the language.

Read more

How to programmatically open a new terminal tab or window

I stumbled across this while trying to calculate some configuration options and open multiple terminal windows at once to run multiple Node services.

There are two ways to programmatically open a new terminal window or tab on a mac, depending on whether or not you use iTerm or the default Terminal program. I’ll share both, with a brief explanation on how it works.

Read more