i’ve tinkered a bit with ruby over the past few years, largely creating rather useless slack bots. arguably, they don’t do anything in the way of producing any real value at all. sometimes they’re even bots which replicate (in a quite sub-optimal manner) functionality you can already get from other apps or integrations.

so why do it?

mr. rogers once said of drawing, “i’m not very good at it, but it doesn’t matter. it’s the fun of doing it that’s important.” i feel the same way about programming. there’s a tremendous amount of joy to be found in the process of discovery. some people find a challenge in sudoku; i find a challenge in heroku.

the useless can also become useful over time. through playing around with code for slack bots, i’ve gained actionable knowledge along the way. that knowledge helped me create a ruby on sinatra application to fix a real-world problem i was having. other lessons learned about streaming apis, webhooks, and system architectures helped me uncover solutions to other challenges in my day job.

but, largely, the most enjoyable aspect is in knowing that i created something which wasn’t there before—as useless or useful as it may be in the end. as mr. rogers also said: “it feels good to have made something.”

why not make something this weekend?