John Robbins works for Wintellect, along with Jeff Prosise and Jeffrey Richter. John has taken some time out of
his busy schedule to have a chat about what he is up to these days, and his thoughts on .NET.
What exactly is it that Wintellect does?
Wintellect is an education and consulting firm. On the education side we
help our clients figure out how to use and deploy all the technologies they
are facing in the Windows world. We cover the gamut from COM, to debugging,
to VB, to .NET, to ASP.NET and beyond. What makes our education services
different is that they are totally focused on using the technologies to
solve business problems. We do everything possible to ensure that you will
be immediately productive with the technology to meet your business needs.
All the Wintellectuals (that's what we call ourselves) have shipped products
using the technologies so we can get you over the hurdles you will face
working with them on your own.
On the consulting side, we focus on helping our clients
solve the nastiest bugs that they are facing and preventing them from
shipping. We specialize in the impossible problems that completely stump
entire development organizations. Additionally, we offer services on a
retainer basis for companies that need support and answers through the
development cycle.
What's your official job title and where do you fit into Wintellect?
It's "Golf Caddy" since I always carry Jeff Prosise's golf bag when we end
up in the same town. He's always playing golf so I always carry his bag.
Actually, I really don't know, and I kind of like not having a title. If I
had to pin it down, what I'd like on my business card is "Problem Solver".
At Wintellect, I am responsible for the Debugging Windows Application
course. 50% of development time is spent in debugging and the goal for my
five day course is to help you trim that 50% so that you are shipping better
software faster. In the course we cover everything from how to think about
debugging, how to really use the debugging tools at your disposal and how to
solve all sorts of nasty, impossible problems.
Additionally, I coordinate the consulting and debugging
work coming in. I love figuring out those problems developers get themselves
into. At this point, I am doing most of the debugging work myself, but we will
be expanding this business line soon because we are getting a good deal of
interest from companies wanting help.
How does it compare to other places you have worked?
There are two great aspects to being at Wintellect. The
first is that I am always working with the best engineers in all sorts of
companies such as eBay, Microsoft, AutoDesk, and NCR. It's so motivating and
exciting to see what really bright people are doing to solve all sorts of
interesting business problems. I'm in complete awe of what our clients are
doing and extremely thrilled to play a small part in helping them get there.
The second thing is actually controlling my own destiny. If Wintellect
succeeds or fails, it's because of me and my efforts alone. If I think
Wintellect should do something as a company, it's up to me to make that
happen. I find that completely motivating. Sometimes the amount of travel gets
a little crazy, but it's the best job I have ever had.
How did you end up where you are?
Unlike many people in this field, I didn't start out programming when I was
10. I had a whole other career before I got interested in making a computer
I bought work the way I wanted it to. After high school, I wasn't ready for
college so I joined the U. S. Army and ended up as a paratrooper and Green
Beret. It was a great job, though it didn't give me much in the way of hard
skills for the business world. However, if you want to kill the
competition, I'm your man.
After the Army, I started college and was working as an engineer long before
I got my degree. A year or so after I finished college, I managed to get a
job at NuMega back when they were a tiny little company. I had written a
Win32 debugger out of pure curiosity and I was asking a lot of questions
about many grungy things on the CompuServe Windows 95 Beta Developer's
forum. When someone asked why I was fiddling with something so goofy, I
joked that maybe I would get a job at NuMega someday. The next day I had
email from the founders asking me if I was interested in a job. Focusing on
the problems developers were having was a lot of fun at NuMega. I started
there as a regular engineer, became a product architect, and eventually
ended up as a product manager. While there, I worked on BoundsChecker,
TrueTime, TrueCoverage, and SoftICE.
When I was still working at NuMega, I managed to talk
Dave Edson, the technical editor of Microsoft Systems Journal, into letting me
be their debugging columnist. The column lead to the idea I might like to
write a book on debugging so I left NuMega to write Debugging Applications.
Along the way, I met Jeff Prosise and Jeffrey Richter. We all became friends
and started talking about how we could form a company. The most fortunate
thing we realized was that we were complete idiots when it came to business.
Even more fortunately, Jeff Prosise knew Lewis Frazer, who is the former CFO
of a major theater chain he helped take public. Lewis was interested in
running a startup and we needed someone to run us!
What single word would you use to describe the new .NET initiative?
Only one word! Whew. Can I use two? "Life Altering" is
what comes to mind. Going from MS-DOS to Windows was a change, but the change
from Windows to .NET very huge. When I first looked at .NET early last year,
the phase "forget everything you know" came to mind.
What excites you most about .NET, and what are the main benefits you see
for the average developer?
The emphasis on web services and ASP.NET are too cool. Everyone wants to
write server apps and with today's technologies, it's doable, but it's much
harder than it needs to be. That's because today's technologies are square
pegs being jammed into a round hole. With .NET, it's a technology that has
the web/interconnectivity built right in.
Another thing I find fascinating is that the object
model is clean. Granted, Microsoft finally made the break from the past and
didn't have to drag all of those weird things forward. I've always thought it
insane that a window and a dialog were two separate things in Win32!
What are your main criticisms? If there is anything you could change what
would it be?
Performance is the big problem that concerns me. Beta 1 is not exactly the
speediest thing in the world. We have to face that facts that .NET will
never hit native code speeds. The question really is how slow will the
final versions be? Microsoft has their work cut out for them.
Another very big concern I have about .NET is not a
technological concern. In talking with many clients, I'm seeing a pattern
emerge that might not be in Microsoft's favor. When I have asked if they are
going to migrate to .NET, numerous clients have indicated they are evaluating
it. But more importantly, they figure since they have to re-write their
applications anyway, they are evaluating which operating system they need to
be running on. What's surprising to me are how many committed Windows shops
are evaluating that basic premise. Microsoft must work very hard this year on
getting the real benefits out about .NET and why people want to wait for it.
What do you see as the future for software development in 5 years? 10
years?
I'm still holding out for Microsoft Visual Object Oriented Assembler, but
I don't think it will ever catch on. (Darn!) I really don't think
software development will change that much. While there is some really
interesting research going on about different programming metaphors, Aspect Java
for example, I still don't see that they will revolutionize the business.
I'm not a pessimist, it's just that the software development world is
dominated by commercial interests. In order for some of today's
pie-in-the-sky paradigms to become reality, we will have to scrap lots of
existing programs and people. The only thing Y2K taught me was that my
programs will really be running 30-40 years from now.
There will be advances in things like speech
recognition, biometrics, and such, but basically it will always be a
programmer sitting in an office asking the age old question how to I get this
thing to get the data from here to there. We will still be battling bugs and
performance problems, except that the number of layers where the problem could
be is growing exponentially.
What technology would you suggest graduates first start tackling in order
to be successful? What technology would you suggest experienced developers
ensure they are up to date with?
For both recent graduates and experienced engineers, it
doesn't really matter what technology you focus on. The whole thing comes down
to interest. Work after hours on the things that interest you and the jobs
will come. One thing I always ask interviewees for is a code sample. You would
never hire a graphics designer without looking at their portfolio and the same
applies to engineers. The thing I look for is the ability to complete a
project the interviewee started. If they can complete a reasonable project on
their own, without a boss standing over them, they are someone worth talking
to. Just having that code sample you did on your own puts you in the top 20%
of developers out there.
What does the future hold in store for you?
We feel in a couple of years that Wintellect will be in
a position to acquire Microsoft.... We're having a lot of fun building
Wintellect so that's going to take a quite a bit of my future. There will
always be bugs and performance problems so I sure think I'll be working for a
long time to come.