About Me
I graduated from RPI with a BS in Computer Science (and a minor in management) in ‘96, and have done those things professionally ever since. I’ve spent most of that time as a team lead, so I have significant experience in requirements analysis and design. I’ve also done a fair amount of programming.
In late 2008, I quit my job of 10 years to form a consulting-funded startup. The consulting I do is primarily in the (quite broad) area of software project management. It has included advising startups and running outsourced software projects with distributed teams. I’m not discussing my startup at this time, but here are some of my interests:
Social Software
How can we come up with better ways to communicate, collaborate, connect? How can online interaction facilitate offline interaction? We keep losing our physical meeting spaces (can coffee houses close any earlier?!?) and increasingly turn to online watering holes. I feel there’s a lot to be learned from from social psychology and group/organizational behavior (anthropology and various other -ologies) to help build software that reverses this trend.
Usability
Here I include human-computer interaction (HCI), interaction design, information architecture, user experience, etc. At a minimum, I want to avoid frustrating and depressing my users.
Developer Productivity
Since I’ve managed some small teams, and sometimes go solo, I’m always on the lookout for ways to improve my productivity. Physical environment, tools, languages, processes, resources (books, developer communities), etc. Of course, sometimes the best way to improve productivity is to master what you’ve already got, instead of constantly chasing after some silver bullet. The problem is, learning new stuff is really fun.
Programming Languages
I’ve programmed in several languages. Not all of them extensively, some only academically, but at least I read a book or two on each and got something more complicated than “Hello, World!” to work. This is more or less in order of assimilation:
- Apple BASIC
- Fortran 77
- Pascal
- C
- C++
- Lisp
- 8086 Assembler
- Java 1
- JavaScript
- Shell Scripting (mainly ksh, but I’ve used bash for 18 years)
- ColdFusion
- Perl
- PHP
- Java 2 (or 6, if you prefer)
- Ruby
- ActionScript 3 (Flex)
For better or worse, I’ve spent the most time on the bold ones. Now I’m mostly concentrating on Java and Flex.
