Choices

The first web application that I ever attempted and could call “completed” was JKmain Journals, an oddly named blog service. I started to look back on JKmain Journals recently, and how that project got started. After all, I keep looking back to my high school years as some freakish time when I actually did something useful outside of school.

Then I started to think about the choices, or the lack thereof, that I made in brining that project to life.

  • Programming language (There’s something other than PHP? They have frameworks?)
  • Relational database management system (There’s something other than MySQL? InnoDB vs MyISAM? I have a choice?)
  • Source control management system (What is this?)
  • Project management software
  • Bug tracking software
  • Testing architecture (Hah! Did you know? I wrote flawless code back then.)
  • Overall documentation (Other than the sporadic one line comments to self?)

There are lots of things missing on this list, but again, this project was to scratch an itch. The pure desire was to release, release, release.

Naiveté

Maybe being naive was a good thing back then. After all, I got more done than I have ever gotten done in recent times. That’s not to say that I could have done anything useful with JKmain Journals. I don’t think I knew where I was going with it, other than the fact that I wanted a place to put up my life story.

Of course, saying that I was naive back then doesn’t mean that I’m not naive today. I was naive in the sense that I didn’t even know what to know. These days, I’m naive in the sense that I feel like I know what I need to know, but I have not tested what I do know, through the creation of a working and useable product.

Artificial Choices, Artificial Limits

Life is just filled with choices, isn’t it?

My schizophrenic self has made these choices for me. I’m fairly certain the choices I have to make in relation to the bullet points up above. I know what I want to gain from the experience of creating a product. The choices have been made by me, for me.

And to me, that was maybe quarter the battle. Now, the question is what to do with the artificial choices that I’ve made, and how flexible will I be in the future as I make up these artificial choices.

No longer are choices roadblocks. The only thing that stands between me and the code is my lack of focus. There’s a whole 75% of the battle left.

Two Weeks Notice

And no, it’s not that Two Weeks Notice. Geez, I don’t even like Sandra Bullock.

Currently, feeling a bit ambivalent, to say the least. But as time passes, I’m becoming more and more excited.

The Original Plan

I told my boss, earlier this year during my yearly performance evaluation, that I would be quitting before my apartment lease ran out here in Urbana, IL (which is early August of this year). I knew that I wouldn’t want to stick around too much longer. I needed then and still need a change of venue, a change of pace.

This past Thursday, I gave my two weeks.

Yes, I meant to post this on Thursday. Argh.

This fire that I’ve slowly been fueling in the past two years (emphasis on the word slowly) started flaring up these past couple of days. Maybe it was Mega64 and their crazy game-related antics (I’ll talk more about why this counts as fuel in another post). Maybe it was GDC, and seeing all those lovely IGF winners (again, more of this game-related fuel… not the Dew kind). Maybe it was all this iPhone application development that I was getting excited over. Maybe it was Rails 2.3.2 being released. Maybe it was finally starting to grasp some of the vim insanity. Maybe it was reaching that $10K in savings I wanted to hit before finally committing full-time to HanMeta.

Whatever it was, I started contemplating leaving my full-time position a bit earlier than I had planned. With each passing day this past week, the fire grew bigger and wilder. Wednesday was April Fools’, and with so many things that happened on that day (like these things) and with the penchant I have for relevant dates, I wanted to make my “two weeks notice” day special. I even told Nathan, one of my co-workers, that I was planning to give my two weeks that day.

However, I gave it another day. I went home, and talked to Jong-Sun, a friend of mine. I agreed with him that I had almost started using my full-time position as a crutch… too much of a safety net which made me easily extinguish the passion I had. “Oh, I can do this project later, I’ve got enough time. Let me just go play some games instead.” After this talk, I decided that I would quit on the 1st of May, since the 15th is the payday. It would give me a month longer of a safety net to play with.

“Don’t Quit Until The First Dollar” was the motto I kept throwing around for the past couple of months. But to tell you the truth, I’ve already made my first dollar… through the blog, a long time ago. I planned to create more content here, and again, passively chose not to. My actions (of not post more frequently enough) spoke much louder than my words (which… are also my blog posts, but you get me, right?). Why I bring this up is because it’s just another example of an excuse I’ve made up. It was a poorly defined goal, one that could have been met with creating some random iPhone app, but if there’s no business in it, was the spirit of the goal really met?

In any case, I ended up going into work the following morning, and giving my intent to resign. It felt a tiny bit spur-of-the-moment, but mostly, I felt like this was going to happen anyway. Why mess with the inevitable? My mind had been made up.

Quitting?

I feel like I got married to my company without first sorting out some huge relationship problems.

The reasoning is that if I really wanted to make a product, I would have done so regardless of my 9 to 5. Just by making this jump, I’m not guaranteed a success story. Heck, I took two days off a couple weeks ago, thereby creating a four-day weekend to do. I’m not sure what I did, but nothing too big was accomplished. I like to call that weekend what not to do with my time after I quit.

At the same time, the flipside of this argument is that I might have had my ambition crushed while working a full-time job because I wasn’t giving it my 110%. It could have been that NCSA wasn’t the perfect fit I was looking for, and that I now must create that position. Without the daily “grind” of not having the perfect job (which may or may not exist, not sure at this early stage of my life… I’m still fairly naive…), I feel like I may just be able to pull it off.

All I know is that I’m capable. It really comes down to… can you trust yourself? Can you trust yourself to actually spend the next couple of months doing something worthwhile? Can you trust yourself to build your skillset and caught up with the rest of the world (because I feel like I’ve fallen hopelessly behind)?

There’s No Time Like The Present

I’m fairly certain this is what I want to do with my life at this present time. I’ll know soon enough if this was a poor decision.

But I’m freaking 24. I’m going to be freaking 25 soon. Ugh. TWENTY FIVE. Why did it take so long to make this jump? Oh, that’s right. LIFE.

The past couple of years, since my Freshman year, I feel like I was waiting for something. At one point, it was the focus and ambition (during college). Now, I have that, or as much as I’ve had as far as I can recall. At another point, it was the capital (the past two years, after college). Now I think have this squared away. I’ll have to do some more maths in the meanwhile.

More recently, it was the right co-founder, the right people, the right location… blah blah blah. All these things that I thought were required for a great company. While important, where’s the actual product? Where’s the outcome?

I’m about 99% sure I can trust in my ability to carry out what needs to be done. The rest is just rounding error. Pfft. Be awesome instead, right?

So Plans?

Simply put, the plan right now is to stay in Urbana until my lease runs out and network as much as possible, all the while create a few profitable applications along the way. Where am I going after August? Not sure. It’s weird to not have a set direction again in my life.

The last time I was in this position was after I graduated, and couldn’t (and really didn’t want to) find a full-time job. Freelancing was fun, and it was definitely a time in my life that I won’t forget. Somehow ending up in Minneapolis for my first full-time position, then returning back to Urbana… wow, that was quite the thrill.

If HanMeta doesn’t pan out as I wanted to, I don’t think I’ll have any problem finding a job… as long as I stay on task and learn and build something.

Don’t you love Sunday night posts? I do. I was falling asleep while writing/editing. I definitely tried to tackle too many things in this post. First half is quite good, but the second half… probably could have been made into three posts easily.

I Gotta Get More Fired Up!

This weekend has been spent largely on learning more and more about the joys of iPhone development: Going through this book, hacking away at this Cocoa Twitter engine, and trying out Tweetie (iTMS)/TwitterFon (iTMS) in a more developer mindset.

Being the list-maker that I am, I was a little happy that I finally got the ball rolling this past Wednesday. I was happy with knowing that I was able to act on these deep desires to create.

Around the height of my productivity, at 2 AM, I got angry.

Awesome things happen around and after 2 AM, contrary to “popular belief”.

I was angry at myself for not being able to do this earlier, faster, better… I realized that I maybe it’s because of some ridiculous standards that I set for myself, but it was more than that.

This cool, controlled frustration was exactly what I needed. I ended up taking most of it out on the “Whiteboard of World Domination”, attempting yet again to plan out the new new projects I will begin in the next couple of weeks.

I feel great to be in the high part of my waxing and waning productive cycle. Definitely took a new programming language, framework, and platform to get me started. Let’s see how far I can take it until I become lazy again.