Last year I made a resolution to learn more about music. I did this by blogging (almost) every day about a new piece of music I had listened to that day. Even though my blogging fizzled at the end, I still feel like I accomplished my end goal, which was to get into the habit of listening to new music all of the time. I feel weird and off-balance when I don't have a new piece of music picked out to listen to for the day. It made me realize that with some dedication and planning, you can actually accomplish amorphous goals like "I want to be a music expert."
I know I'm two months late to the party, but you don't really need New Year's to make a resolution, do you?
I feel like a real developer, finally
It's now been a few years since I first made the leap to the tech scene (shout out to getting my ass kicked by Intro to Java in 2009!). I only started calling myself a developer in 2012 when I switched from electrical engineering to C++, but I've had impostor syndrome basically up until now. It feels good to be past that hurdle.
But, of course, I'm not at the be-all, end-all goal. I don't want to just be a developer. I've realized that the programmers who I look up to aren't traditional coders. They are also artists, makers, engineers, musicians, designers. I mean, I have ideas of my own and stuff. Why am I still falling flat on this vague goal of being a maker?
Focus on the goal
I realized that I have been unable to commit to projects because I was approaching them in the wrong way. When I discovered a project I thought was awesome, like any good engineer, I would figure out how it worked and the tools that the creator(s) had used. I amassed a huge list of tools that I wanted to learn, but neglected fostering ideas. I never accomplished anything I wanted to because "get good at three.js" is a dumb goal.
After reflecting, I figured out what it is I actually wanted when I made these lists. And really, in the end, I just want to make cool shit. Sometimes dumb shit. Sometimes shit that's broken and ugly but at least it's out there in the ether. Because, in the end, the programmers/artists that inspire me don't focus on what tools they're using, they just make stuff, and if they learn how to use a tool along the way, even better.
To make a resolution means to lay down some ground rules, so that you know if you're meeting your goal or falling flat. Mine are as follows:
- Make one thing every week.
- Write an accompanying blog post.
- Start each project with an idea, not a tool.
That's all kind of vague, so let's get a little more specific:
- I want to make one thing, no matter how small or dumb I think it is, and release it! This means releasing it even if I think it's ugly, or unfinished, or awful. Failiure and constructive criticism are good things.
- I'll write a blog post about it, so I can document and promote my project! I'm pretty bad at self-promotion and self-conscious about my projects for no reason.
- I'm going to start projects from ideas. However, it's okay to look at projects made with a certain tool for inspiration.
Some of my current project ideas include:
- Emojify Your Emotions - Let machine learning tell you how you're feeling
- A simple landing page for myself, with a three.js interactive animation of my name
- A Chrome extension which launches a shark attack randomly while you're browsing (basically, the web version of this, made by my friend Tim.
- Thanks Obama Twitter Bot - Thanks Obama for all of the awful stuff that happens every day.
- Undulating visuals for one of my friend Derek Piotr's songs
- Other dumb stuff
And so on...
What are you waiting for?
And, the resolution starts... NOW!
I apologize in advance to for all of the shitty code I will be writing as a consequence of this project. I will forever and ever love writing beautiful, elegant code.