i have been working with austen ito for a few years now. austen is a product of our collaborative software development laboratory research lab. austen is a up and coming hacker. and in my opinion austen is one of the top software engineers for his experience in the state.
here is how this interview works. the questions that i ask are highlighted in bold. austen's responses are in italics.
Austen, you have mentioned that you knew that you were going to major in Information and Computer Science. What triggered that decision? Talk about some of the things that you did in your childhood that peaked your interests.
I'm probably in the minority when i say that I knew I wanted to major in Computer Science since I was a freshman in high school. I may not know have known what Computer Science was at the time, but I knew that software was what I wanted to do. In high school I found my way to internet relay chatrooms (IRC) using a program called mIRC (http://www.mirc.com/). The neat thing about mIRC was that it allowed you to write scripts to customize your chat client. It was there I found the basics of for loops, boolean logic, timers, conditional statements, all of which could be visually seen in the chat client.
Now that I think about it, it was actually the first place where I was introduced to Open Source Software. I used to go to http://www.mircscripts.org/archive/scripts to find scripts written by other people. I would try out scripts that others have written and hacked it up a bit to do brand new things. There were also script developer communities and teams that were exciting, scripters that I could talk to on different channels, and I even had QA testers (awesome online friends) that would test out scripts that I wrote.
I did this off and on for a couple of years. Playing on the internet in chatrooms was one of the best things I could've done because it sparked my interest in software. I didn't realize what I was doing at the time. I was just having fun creating new things and getting feedback from my friends online.
Wow, that is cool. Haha, I have no idea what you are talking about though. I had a totally different path to software engineering. Sounds like you did have a lot of fun back then learning and hacking. Are you having that much fun now that you are in the real world? If so, what makes it fun. If not, what do you have to change to get back to the good old days?
Hrm tough question. I think the definition of fun comes down to "What type of problem am I trying to solve?" When I was younger, I didn't have a real problem in mind. I would just hack away at something because I enjoyed it. It was rewarding when I got something to work, but that was the end of it. At my current job, I am working on a fairly interesting problem that has the potential to be something very useful for your customers. In the context of work hacking, developing software for a customer's needs is fun and new experience for me.
I also hack in my free time, and again I have a different type of fun. The problems that the Hackystat team is trying to solve is something that, in my opinion, can make a huge difference. I find that being a part of a software team that has the possibly of revolutionizing the way people think about software engineering is awesome. The ideal situation for me would be to combine both types of fun into work
Now I can answer your question. I think that I am having more fun now because I am doing something useful.
I'm glad that things are going well. Moving on to our next question. Lets dream a little. Forget about work stuff and Hackystat; erase those from your mind. Now think about a project that would be the ultimate useful, fun, revolutionary, cool. In other words, if I gave you 10 million dollars to do a software project, what would it be. What is the ultimate project for you?
I thought about this question for the entire weekend... And I couldn't think of a specific project in mind. Maybe my inexperience and lack of project diversity is showing. Something that did come to mind was the business model of Joel Spolsky:
The Best Working Conditions + Best Programmers + Best Software = Profit
I would love to be be a part of a company that follows his business model. 10 million dollars would make it possible to create a startup that could make profit by depending on the best developers working on things they are passionate about.
I totally agree with the Spolsky business model. Shifting gears a little; you mentioned inexperience. So, I'll end on this last question. What things do you think you need or want to work (ie skills, projects, masters) on to grow that experience?
I think that things I need to work on in order to grow my experience is to continue working on interesting software projects. As a new developer, learning skills such as new technologies and languages are great. You can't become awesome if you don't know about those things. But more importantly, I need to work on projects that teach me other things such working in high-performing high-quality teams, learning from and mentoring others, and being a part of something great. My hope and goal is to move onto a project that will expand my abilities as a developer by working with awesome people. Working on side projects will definitely help out with my experience problem. Hacking is a lifestyle, so I need to continue to be disciplined and keep
practicing in order to grow my software experiences.
austen is one of the few people that i know that knew right away that software is what he wanted to do. i wish i knew what i wanted to do at an early age. i think that says something about his motivation.
austen mentioned that he isn't that experienced. i agree and disagree with his viewpoint of himself. austen is probably a far better hacker than i. but, as i pointed out to him in one of discussions "innovation doesn't really care what your code looks like". i think there needs to be a balance of both science and coding. coding horror just put this out: no one cares what your code looks like.
in any case, i think austen is doing all the right things. he is reading books, practicing his craft (coding), learning to lead, learning, etc, etc. he is on the right track; can you other readers out there keep up with him?