Software, a labor of lovePosted at: June 26, 2016
Building software is often a very involving process in and of itself. Some view it as a work of art while others see it as a work of science, no matter what your opinions about it are, software IMHO remains one of the most emotionally involving activities known to humanity.
It’s not easy, but it’s fun. It’s rewarding, and if anything, it’s empowering. It’s not something weird for a developer to get emotionally attached to a piece of code they’ve written, because if you had looked over their shoulders as they wrote it, you would have discovered that it was a long, thoughtful process that led them to this piece of code.
Contrary to common belief, we don’t just get behind a keyboard and type our lives away. You start working on a project with one file and grow it into a project of 20, 50, and 100 files more. Over the course of weeks and months, you add a little to it. Groom it, listen to its problems and fix them and you slowly grow proud of it.
It’s different for everyone though
At the time of this writing and by my count, I’ve been professionally producing software for close to 10 whole years. Man… That’s a lot of time wasted trying to make sense of a thing, which in a parallel universe, would otherwise not make sense. If that makes any sense to you… See what I mean?
I’m still going strong. I love it. It’s that simple. Recently, I’ve been asked for the code I am most proud of. I scratched my head a lot trying to come up with an answer to that. I looked over my projects, things I’ve done before and I couldn’t pick one.
It’s not that I write code I’m not proud of, but I never felt an emotional attachment towards something in such a sense that made me genuinely proud of it. Sure I’ve been attached to code before, projects even. But I couldn’t make a choice, and I had to do something about this.
It made me think about what it means to grow proud of a piece of code. It’s different for everyone, but I think it’s in the challenges that you face as you continue working on that project.
Find your challenge
In the past few weeks, I learned that the path to building something you’re most proud of had to start with a challenge. Most of the time, challenges would lead to other difficulties and as you fix one, a new one presents itself. Your code grows to adapt to each challenge, and I found mine in a tool I’m working on called Sortviz
In the past two weeks of working on it, it hasn’t stopped throwing curve balls at me.