I pre-ordered John Mayer's Battle Studies last week and got it Tuesday (release day). To make the order more fulfilling, I got a book I've been meaning to buy for some time now: Joel Spolsky's Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity, a great guide to running a software company.
I had seen the book every once-in-awhile when shopping in the programming sections of bookstores, but never really realized what it was. At the time of discovery, I would not have read it - the book is full of software project management and all that garbage related to schedules, estimates, supervision, etc.
After all the research I performed during my undergraduate studies, however, I have a renewed interest in software projects. Having learned what I did about software design (I have a degree in Information Technology with a concentration in Software Systems Engineering) I like the higher-level design and also like to code when I know what's going on. I discovered early on that coding directly from an idea in my head really results in wasting time and cognition. Even my little JavaScript project that generates MD5 and SHA1 hashes from strings took hours because I didn't have an end result in mind. That single page should have taken about 30 minutes to set up, but I admit that I was simply playing with DOM manipulation and just happened to think of something to do with it.
I have always supported design-before-build practices, and now that I have finished school I have an appreciation for the same principles applied to fabricating software. The whole management thing is interesting now; I haven't had the chance yet to "manage" formally, as long as you don't count the "Team Leader" position I had at the auto parts store just after high school. I supervised two people. Ten years later, I haven't done it since.
The most super-cool thing about creating a software company is creating something that changes the way people do things. Writing computer programs that many people use is the most powerful thing I can think of within my ability range. When I write a little ditty that saves someone 45 minutes of manually editing an Excel spreadsheet, the user shares that with someone else, and it goes down the line. I alone am able to save my current organization literally hours of time every week, with just a few lines of code. I want to do that for the public, and I want to have at least some impact on how people use computers - whether they realize they're using a computer or not.
My main development focus at this point is on Android applications (sorry, iPhone users) because the platform is so open and I can do anything within the limits of the device. I have to get it right the first time, though; the majority of folks who to post reviews about apps are not nice when they don't like the app, and don't seem to give much constructive feedback. There's a lot to learn about the Android platform and the market, but there's even more to learn about customers.
I'm off to run five miles now, in an effort to get ready for yet another one of my ideas: joining the FBI. Is that random enough for you?
No comments:
Post a Comment