INTERVIEWS by STEPHEN IBARAKI, I.S.P.
Writer, author, entrepreneur, philanthropist, highly
respected and top-ranking software developer
This week, Stephen Ibaraki, I.S.P., has an exclusive interview with writer, author,
entrepreneur, philanthropist, highly respected and top-ranking software developer, Leo A. Notenboom, owner of Puget
Sound Software, LLC.
With more than 25 years of continual success in the software industry including almost 19
years as a manager and senior software engineer at Microsoft with his projects awarded a number of patents, Leo brings incredible breadth and wide-ranging expertise to his work.
He received his B.S. in Electrical Engineering from the University of Washington in 1979.
More details can be found at:
Putgetsoundsoftware.com
Ask-leo.com
Dollsandfriends.com
Kleofoundation.com
Discussion:
Q: Thank you for taking time out to do this interview!
A: My pleasure!
Q: You have a remarkable history before, during, and after your time with Microsoft.
Can you detail your journey to the present including major projects, milestones,
challenges faced, and lessons learned that you wish to share?
A: Well....It’s been a long journey; I’ll try
to keep it brief. The path to software
started, oddly enough, with a TV repairman.
In my preteen years a friend of the family
was a TV repair man who indulged my
curiosity with his repair equipment by
showing me various gadgets and gizmos and
the patterns they would generate on his
oscilloscope. My interest in things
electronic was born. Several years later
when the University of Washington admissions
form asked what college I wanted to apply
for, my response was electrical engineering.
One of the required courses was introductory
Fortran programming. I’d never touched a
computer before, but I took to programming
like a duck to water. It was clear that this
software thing was something I could do for
a living. I then took all the computer
related engineering courses I could, and
began working as a consultant at the
computer center, and as an undergraduate
teaching assistant for both that
introductory Fortran course as well as one
of the fourth year courses I’d taken.
My first industry job was as a software
engineer for a small company in Seattle that
manufactured Z-80 (8-bit) microprocessor
based data-entry terminals. I got my fingers
into several different types of software
including communications packages, operating
system components, user applications and
programming languages – including Microsoft
Basic.
In 1982, IBM had just launched their
personal computer, and this local company
called Microsoft was advertising for
engineers. Cover letter, résumé & several
interviews later I found myself across the
table from this gentleman named Steve
Ballmer who offered me slightly less than I
had been making. There were also these
things called “stock options” that I didn’t
really pay all that much attention to at the
time. (You can visit http://notenboom.org/history/begining.html
for the letters, the résumé and more.)
I spent my first year at Microsoft working
on Microsoft Cobol, and hold the
distinction, if you can call it that, of
releasing the last 8-bit version of
Microsoft Cobol for CP/M. We also shipped
several MS-DOS versions, and I was
introduced to all sorts of technologies
including 8086 assembly language, the Xenix
(aka Unix) operating system, MS-DOS and some
serious C programming. The next three years
then saw me shipping various flavors of
Microsoft Basic. And apparently because I
appeared organized, I also got my first
taste of management.
I joined the C compiler and runtime team to
develop common help technology that turned
into the help engine used in products such
as Quick C, Quick Basic and OS/2’s Quick
Help. I received one of Microsoft’s earliest
software patents for the compression
technology therein. With the company
experiencing geometric growth, it also
didn’t take long for my return to
management, leading the team that developed
Programmer’s Workbench, Microsoft’s first
attempt at a high-end integrated development
environment, which shipped with Microsoft C
6.0.
I then took my on-line help experience to
the Windows Help team, which was developing
the equivalent technology that shipped in
Windows 3.x. Eventually the Windows Help
team merged with the Multimedia Viewer team,
which had earlier cloned the WinHelp
technology to provide the underlying
technologies for products such as Microsoft
Bookshelf and Encarta. After facilitating
that merger, I spent the next year as the
development lead for Microsoft Money, grew
that team from 5 to 16 engineers, and
shipped Money 3.0. After Money it was off to
the telephony group where I worked on a
subsequently cancelled project to integrate
sound cards and telephone hardware into a
unified device. That work also resulted in
one more patent.
Expedia was my personal introduction to this
thing called the internet. I started as a
software engineer working on communications
protocols, but soon became the “technical
operations lead” charged with interfacing
between the developers of the product and
the MSN datacenter where it would be hosted.
Expedia was a fantastic learning experience,
but not without its drawbacks. If the site
had problems I was the one carrying the
pager 24x7, which invariably went off in the
middle of the night. After a three month and
much needed sabbatical, I returned to spend
time once again as an engineer working on
the back end communications protocols
between Expedia and its service providers.
After Expedia I returned to where my
Microsoft career had started: programming
languages. Visual Studio has a large
infrastructure dedicated to the official,
daily and debugging builds of the product.
That team and lab represented the
culmination of the unification of the
various programming teams and technologies
into one product. With both the operations
team and two development teams, one for the
build process itself and another for product
setup, this was most complex management
experience to date.
When Visual Studio .NET shipped, my plans to
retire and leave Microsoft had been forming
for some time. My manager offered me a part
time consulting position, which I kept for
roughly a year, focusing on analyzing
aspects of the development process.
I left Microsoft in November of 2000, but
three months later I returned to the MSN
group as a part time hourly contractor. They
were in the process of setting up something
very similar to the Visual Studio build lab,
and facing many of the same issues.
One ongoing role at Microsoft has been as a job interviewer, and hiring manager.
Recently I’ve taken some of that experience
and written two books: “10
Quick Steps to Interviewing for Tech Jobs”
and “10
Quick Steps to Interviewing Tech Jobseekers”.
(http://10quicksteps.com)
Q: Your background is so diverse. Please share some stories and meaningful experiences including ones with humor.
A: When I was an undergrad teaching
assistant at the University of Washington, I
helped with one of the 400 level courses
that involved students choosing one of three
projects and completing it on their own. One
of the students clearly didn’t need any
help, as he successfully wrote software to
draw a maze on a small plotter, and then
graphically navigate that maze. His
embellishment was to have the plotter draw a
small mouse at each position as the maze was
traversed. That student was Chris Peters,
who joined Microsoft and who’s first
programming task included the drivers for
the first Microsoft mouse. In fact, he’s
credited with coining the term “mickey” as a
unit of mouse movement.
I mentioned that the company I worked for
prior to Microsoft was running Microsoft
Basic on their equipment. What I didn’t
realize until sometime after I got there is
that it was a pirated copy, reverse
engineered, and then augmented to take
advantage of the hardware specifics. The
ensuing legalities had been taken care of by
the time I showed up. And the engineer that
had actually performed the
reverse-engineering and modification had
gone on to work for another company,
Microsoft.
In the early IBM PCs, Microsoft’s Basic
interpreter was actually burned into the ROM
of every PC. Apparently by the time I joined
the Basic development team, the actual
source code to the specific Basic burned
into the ROM had been somehow lost. We had
something close, but I did, indeed find
myself reverse engineering the Basic
interpreter from the ROM on my own PC to
reconstruct the exact source code.
Text editors never have all the
functionality I want, so when I was the
project lead for Programmer’s Workbench, or
rather it’s predecessor, “M”, I wrote an
article detailing how to use its
extensibility model to add a couple of
simple editing functions. That article was
published in The Microsoft Systems Journal
in 1988. In the years that followed the
extensibility model was either not present
at all, or somehow limited in subsequent
versions of Microsoft’s C development
environment. It wasn’t until Visual Studio
.NET that the full capabilities of the
programming environment were once again
exposed in a way to allow for the same level
of extensibility. So, roughly 14 years after
the original, after I had returned to the
Visual Studio team, I once again wrote my
editing functions, and the companion how-to
article again. It was published in MSJ’s
replacement, MSDN Magazine, in February of
2002: (http://msdn.microsoft.com/msdnmag/issues/02/02/VSIDE/default.aspx).
Q: How do you bring your finely tuned expertise, passion, vision, and accumulated
knowledge to your clients? In which areas do you feel that you add the most value?
A: I think my versatility and “jack of all
trades” nature are exceptionally valuable
skills in a rapidly changing world. The
technology space is so dynamic – so much is
changing every day, from new technologies,
new techniques and even new concerns. Having
a lot of experience in a large number of
areas makes it not only easier to adapt to
the new, but also to recognize common
patterns and those “we’ve been here before”
situations. For my clients that translates
into an ability to pick from a wide range of
solutions, or work effectively within
various pre-existing technologies and
environments. Even as I was writing this
response, I received a question involving a
programming language I’ve never used, and
was able to quickly resolve it and learn
something in the process
Q: You provide a valued service with
Ask-leo.com which illustrates your breadth
and depth of knowledge and experiences. What
are the most common questions and their
solutions? Are there particularly
interesting ones that you could share?
A: I expected common questions, and so far
I’ve been surprised that a pattern hasn’t
really emerged. I’ve had questions that
boiled down to hardware issues on an
individual’s computer, to networking
dilemmas, to the programming question I
mentioned above.
I do blog the most interesting and generally
useful questions or summaries at
http://ask-leo.com. The currently most
popular entries I think illustrate much of
the confusion that people feel about
technology: “What’s the difference between
MSN Messenger, Windows Messenger, and
Windows Messenger?” (http://ask-leo.com/archives/000017.html),
and “How do Outlook and Outlook Express
Relate?” (http://ask-leo.com/archives/000008.html).
These show that in many cases, people are
just interested in understanding what
they’re facing. Thus consumer education is
becoming an interesting focus of Ask Leo!.
With new technology being both pervasive and
rapidly changing it’s hard for people to
even know where to turn sometimes. Even if
the only value I add is to help point people
to the resources that they can use to
address the issue at hand, I’ve added value.
Q: Please provide the details behind your different activities, today and into the future?
A: I have my fingers in many pies. Currently I’m:
1) Answering Ask-Leo! questions.
2) Configuring my new leased server that hosts Ask Leo!, Puget Sound Software,
and my wife’s doll shop: http://dollsandfriends.com. It’s my first deep experience with Linux and related
software, and it’s been very positive.
3) Developing the shopping cart for dollsandfriends.com and defining how that will relate to the point-of-sale software I’ve written that runs in the retail store.
4) Working with one client to define and implement a new section on his commercial
web site.
5) Working with one non-profit to define and implement their entire web site.
6) Working with another non-profit to develop a leadership program to support some
non-traditional, entrepreneurial volunteering impact.
7) Maintaining the web site and participating in overall direction for a third non-profit.
8) And of course, like many folks in technology, helping all the friends and
family who get to bypass “Ask Leo!”.
Q: Where do you see yourself in the future?
A: I still clearly love this work and
technology, so my expectation is that my
immediate future looks a lot like today,
only more so. I see myself working on a
handful of paying projects and a handful of
more philanthropic endeavors that allow me
to contribute and exercise my skills and
strengths doing so.
Q: You have one of the most remarkable
development backgrounds on this planet! With
your considerable knowledge of the IT
industry, any predictions about future
technologies, specific winners and losers,
killer apps?
A: Other predictions to the contrary, I
think that the PC, or a device very much
like it, is going to be around for a very
long time. I’m really looking forward to the
convergence of the PC and Tivo-like devices
which are just now starting to happen. I
believe that one killer application is the
marriage of the Palm Pilot class of devices
with cellular phone and MP3 players.
Companies are taking steps in these
directions, but internal integration, ease
of use and the relationship with the desktop
need to be an order of magnitude better than
it is in even the best device in this class
today.
As bandwidth to the home increases, I think
we’re going to see many more issues like the
current file sharing controversy the music
industry is facing. While for-pay download
services are a start to allowing honest
people to remain honest, they don’t really
solve the underlying issues that I think
will remain. And while I don’t have “the
answer” to the problem, I’m definitely
frustrated by DRM solutions that in the long
run punish honest people in the attempt to
make illegal file sharing harder.
And speaking of bandwidth, another killer
application out there somewhere is
ubiquitous high bandwidth (10mbs or better)
wireless internet access. WiFi hotspots are
a start, but consider the possibilities of
having that kind of high-bandwidth
connectivity, say, anywhere you can use your
cell phone.
Q: Since you spent so much time at Microsoft, describe your experiences with
the company, and what you view as Microsoft’s strengths and weaknesses?
A: If you’re a software engineer, it’s the greatest place on the planet to practice
your craft. Really! The opportunities within the company are absolutely amazing. Leaving
was in many ways an incredibly difficult decision for me.
It’s been said before that Microsoft
purposely tries to retain the atmosphere of
a small company running scared, and it’s not
far from the truth. Many of the groups or
divisions definitely have that small
company, “underdog” kind of feel. That’s a
great thing to try to preserve because it
does play to two of Microsoft’s true
strengths: autonomy and pushing
responsibility down the management chain. An
engineer, especially an experienced one, can
have a tremendous impact on the product he
or she is working on. The downside, of
course, is that you sometimes end up with
very mixed messages that confuse the
marketplace – consider Outlook and Outlook
Express for example.
Microsoft’s attempting to act like an
aggressive small company is both a boon and
a bane. In many ways it’s what makes the
company as successful as it is. However when
in reality you are the dominant market
force, you have less practical freedom. As a
result Microsoft is constantly pushing the
envelope, successively succeeding, failing
and occasionally getting into trouble.
Q: What top ten tips would you give to businesses and IT professionals to remain
healthy and competitive?
A: Stay flexible, embrace change. Not doing so is the way to get left behind.
Put aside technological religion and focus on solutions, on getting things done.
Don’t compromise quality, and expect the same from your suppliers.
Stay educated. There’s something new in your field every day – knowing it gives you an
advantage.
Understand the value of people. I’ve grown the most in my career by virtue of the
people I’ve met, worked with and worked around than any other single factor.
Understand the value of communication. Misunderstanding or miscommunication can
cause more havoc in a second than just about anything else.
Q: You worked as a technical interviewer and hiring manager. What tips can you give to
potential employees and conversely to employers?
A: How timely – I’ve just published two ebooks on that very subject; “10 Quick Steps to Interviewing for Tech Jobs” and “10 Quick Steps to Interviewing Tech Jobseekers”.
(http://10quicksteps.com)
I will say this: a lot of people get wrapped
up in the mechanics of the interviewing
process, and while that’s important, you’re
probably worrying about the wrong thing.
Puzzle problems are not a trap. You will be
asked things you don’t know, and you will be
asked things you should know. It’s how you
deal with them that matters. Once you get
past having the skills for the job, the real
question to me is all about fit and passion.
Is this a group of people you want to work
with? Is this a job you’ll love? “Do what
you love and all else will follow” is true
for both the potential employee as well as
something the potential employer should be
looking for.
Q: Considering the rapid changes in technology, forecast the appearance and
feeling of a typical home and business environment—perhaps five and ten years into
the future.
A: As rapid as change has been in the past,
almost any prediction is doomed from the
start as either being too fantastic, and
hence showing up next year, or as too
obvious, and then never happening.
In many ways I think much will remain the
same as it does today – we may have new and
faster toys, but even when you look
backwards 10 years, the only truly major
paradigm-shifting difference I see is the
internet itself. With that in mind, I will
say that the world will continue to get
virtually smaller, and that in the home and
business alike we’ll be interacting more
frequently and more directly with
individuals all over the globe. And we’ll
all become more cognizant of time zones.
Q: What are your top ten recommended references and resources for business people
and IT professionals?
A: The Seven Habits of Highly Effective People is very high on my list.
Being proficient at Google turns out to currently be a very valuable skill. Both the
mechanics of the tool, as well as your own sense at sifting the wheat from the chaff.
(The book Google Hacks is a great reference.)
The Risks Digest, http://catless.ncl.ac.uk/Risks/ is a must to remind us how reliant we are on, and
yet how vulnerable we are to, technology of all forms, but particularly computers and software.
Micosoft Support,
http://support.microsoft.com is an under-appreciated resource. Sometimes difficult to wade through, there are many,
many gems in the knowledgebase.
I recommend at least becoming familiar with RSS, a publication model alternative to email. Spam is having such a negative impact on our ability to communicate via email that
a smart business should be looking at additional alternatives, RSS being one of them.
http://rss.lockergnome.com/ is a good reference and starting point.
On a purely technical and very geeky level, I highly recommend the tools out at
Sysinternals for folks attempting to diagnose, tune or just manage Windows based
systems. I use something of theirs almost daily. (http://www.sysinternals.com/)
Anyone involved in system administration should be paying attention to the Bugtraq
mail list or RSS feed at http://securityfocus.com/, and/or the NTBugTraq mailing list at
http://www.ntbugtraq.com/
Q: Describe your computer setup?
A: My primary desktop is a Dell 3gz
hyperthreaded Pentium 4 with 2gig of ram and
60gig of hard disk running Windows XP
professional. I have four other machines on
site, all running either Windows 2000 Server
or XP. A laptop, of course, connected
wirelessly. One server is my mail and
testbed web machine, and others serve up
either disk space or peripherals or both.
I lease a Linux server out at ev1servers.net that hosts my public domains.
Q: If you were to do it all over again?
A: I’d pay more attention in English class.
Seriously, the ability to speak and write
well is an underappreciated skill that makes
a huge difference in the workplace.
It took me a long time to grasp that. And I
still kan’t spel.
Q: If you were doing this interview, what three questions would you ask of someone in your
position and what would be your answer?
A: I’ll use this
opportunity to refocus some of the things
I’ve touched earlier on with the question
“What does it take to remain a successful IT
professional?” Beyond basic ability, my
answer would be a passion for technology and
the ability to embrace change. Specific
skills are critical, of course, but in many
ways they’re only transitory. What you know
and use today is likely not the same skill
set you’ll need 10 years from now. By
staying truly interested and aware of the
industry, and continually learning, growing
and honing your skills, you’ll stay on top
of your game. And you’ll probably also enjoy
the heck out of the ride, as I do.
Q: Leo, we appreciate the time you have taken in participating in this interview.
You have done many marvelous things over an outstanding career! Thank you for sharing
your considerable knowledge and experiences with our audience. We are so fortunate you
spent the time with us.
A: You’re very welcome. Thank you for having me.