Snowy mountain top

Great realizations.

July 10, 2023

Some 9 months into my journey teaching myself programming, I had a profound realization. Now, I'd heard it before, but I had failed to fully grasp its meaning in the past, and as with all things that ring true, it feels painfully obvious now: Coding is only a part of programming. Programming is all about solving problems-and sure, sometimes you use code to save the day. But, more often than not...

My first time collaborating in a group setting was in a hackathon for a non-profit food delivery operation. It was supposed to last 48 hours, but weeks later I was still corresponding with organizer, trying to get the JIRA credentials needed to fix general access issues. In actuality, all the time I spent working on that project I didn't type a single line of code-I communicated with designers and fellow front end developers, organizers and managers, I answered questions on the Slack channel, and I reported different tech issues as they arose-like the zoom meeting rooms kicking attendees out for no apparent reason.

My second time collaborating in a group setting was for a volunteer project at Chingu. It was four of us in the beginning, and technically only two at the end. This time I did get to write code-and a lot of it, but I also ended up spending more time dealing with human beings than with VSCode. At first we had to deal with a teammate who claimed to be working, but who couldn't show his work. And when we managed to get that situation under control-turns out this one team member just didn't have the time to work on this project and was having a hard time accepting it- another teammate turned out to be quite underqualified for the task at hand, and, most troubling, unwilling to independently seek answers to their questions. I personally spent hours with them going over how to use Github to get the ball rolling- you know, the basics: what is a fork, what is a branch, why you need to update your code every time a merge's been approved, and so on. We were a week away from our deadline, and this last colleague's code was nowhere to be found, so me and the other functioning team member had to step up and make a decision: trust this person when they say they are going to complete their feature and risk missing our deadline, or we split the remaining tasks amongst the two of us and have them as a backup plan. We chose the latter, and created a branch for each missing feature, just in case our Google-averse colleague didn't come through at the end. And yes, after another marathon of answering perfectly researchable questions, they managed to make a contribution-albeit they drew heavily from the features had developed as a backup, but we wrapped up before our deadline, and achieved a lovely, stable, and functioning MVP at that, too.

So, why am I typing all of this-specially when I know I will only be using it as a sample post on all my different projects? Because if the decade I spent working in the e-learning industry has taught me anything, it is how to be sufficiently self reliant in a crisis and how to effectively communicate with people, even when we don't speak the same language, and as I've come to learn, that's about half the responsibilities of a programmer.

Back to home