Side Projects: Writing Code After Work
Being a software engineer is pretty cool. I spend almost all my daylight hours writing code, evaluating stuff, managing projects and making decisions at Fuzz… hell, I even do graphics sometimes. I think my current title is “Director of Engineering” but at a small startup it doesn’t really matter what your title is; you just gotta get shit done.
Its cool. I like it a lot but it’s a ton of work. You’d think after a bunch of tough days and long hours I’d go out ‘n get smashed w/ my band, chill with my rad girlfriend or just hang at home with my dog. I definitely do all of the above but about 1/2 the time (and as much as possible on weekends) I either plan out timelines or put in some coding hours towards the 3 side projects I wanna get done. Ya, 3… you could even call it 4 if you want.
I don’t wanna talk about the projects too much ’till they’re live (don’t wanna jinx anything) but here’s the jist:
- a web site for… um, I dunno what to say about this w/o giving it away
- an MVC framework for PHP (I’ve mentioned this before)
- something regarding spam
- a web-search site (nope, I’m not trying to do a full on search engine)
The MVC framework for PHP actually was “born” in order to make writing code for project 1 easy. The project doesn’t have any enormous, technical barriers but it is going to be a bunch of code. When I started writing code for the project I found myself writing a bunch of separate pieces of magic. Stuff like a transparent persistence layer, a mechanism for pretty URLs, a quick templating system etc. Again, nothing revolutionary but these pieces really helped make writing code for project 1 quicker.
Then it all came to a screeching halt. Why? B/C I started working at Fuzz. I was the first engineering hire and there was a ton of work to do. No existing code etc - I had to start from scratch. So, project one got put on the back burner (this was 18 months ago).
The first thing I did at Fuzz.com was to map out the site’s infrastructure needs. Makes sense. Once I had a decent idea of what that was going to be I started scouring the web for open source projects that would facilitate quick, efficient and scalable development. Honestly, I didn’t dig much of the stuff I found. Maybe our needs were specific, maybe I’m hard headed about stuff… I dunno. Either way nothing really suited our needs. Then, I thought: “huh, maybe I should cleanup the bits and pieces of magic I wrote for project 1 & bring ‘em together as a framework”. A few days later, after rewriting some bits, cleaning up other bits, etc project 1’s disparate snips of magic came together as a very usable and flexible MVC framework for PHP. It has served us super well.
While redoing the UI for Fuzz (about 5 months ago) a few needs rose up. The framework had to do a bit more, or things needed to be faster, bla bla bla. So, I added those in. Now, it does a ton of stuff and a bunch of lessons and gotchas have been ironed out.
The Fuzz engineering team thinks the framework is pretty sweet, same with any outsourced firms’ coders who have seen/used it. IMO it’s better than CodeIgniter and the other stuff we’ve checked out. I’m not overselling - but, hey, it works for us and we like it; but then again, we/I built it and have used it for over a year.
So, that’s where I am today with this ‘lil MVC framework. It started its life as a bunch of snips to make building project 1 easy but matured a bit to served as the base of Fuzz’s infrastructure & has grown up quite a bit along the way. Now I’m cleaning her up and will most likely open source it when it gets to a point that I’m happy with. This version I’m working on now is superior to the version we use at Fuzz but, unfortunately, it is not a drop in replacement (a day’s retrofit will probably be needed).
So, anyways - that’s the birth-tale of the MVC framework and project 1. Again, their development has taken a parallel path. I’m writing both at the same time. Hopefully it’s not gonna take too long to finish ‘em.
The other two projects I’ve got in my head have received no serious attention. I don’t have the bandwidth to tackle all these projects simultaneously but, once these two are done (especially the framework) I should be able to tackle them pretty easily.
Now, why the hell do I want to get so many things done? Why not? They’re cool ideas that solve real world problems identified through comments, wishes and observations by friends and myself. Also, as a web guy it’s 100% possible to “just do it”. All I need is an idea/goal, this laptop & some time.
Eh, that’s enough procrastination. I should get some of this shit done instead of “talking” about getting it done.








1 comment
and are you going to release this framework to the rest of the world at some point?
also, didn’t you say that you guys wrote your own javascript library? is that ever going to be released?