Click here to Skip to main content
15,879,326 members
Articles / .NET
Article

An interview with Chris Anderson of Microsoft

Rate me:
Please Sign up or sign in to vote.
3.56/5 (5 votes)
30 Jan 2001CPOL 70.1K   13   9
Chris Anderson is a lead developer on the .NET platform who has worked on Web Forms, Windows Forms, CodeDOM, RegularExpressions, and the ASP.NET tracing features.

Chris Anderson is a developer at Microsoft who in recent times has spent most of spent most of his waking hours working on the .NET framework.


 

What’s your official job title (this week) and what exactly is it you do?

"Officially" I am a Software Design Engineer, or Development Lead, depending on where you look my name up. Throughout this product cycle I’ve done a bunch of different jobs. I have spent most of my development time working on Windows Forms and pieces of ASP.NET. I manage several developers who own most of the UI pieces of ASP.NET (sometimes called "Web Forms"), as well as the CodeDOM, RegularExpressions, and the ASP.NET tracing features.

How long have you been at Microsoft? Do you enjoy it?

I became a developer in Microsoft’s IT division in 1996, and left shortly after to start a company with a few friends. After a few stumbles in our company I came back to work at Microsoft, this time in the Developer division working on Visual Basic 6.0 and Visual J++ 6.0. This May will be my 4 year anniversary since I cam back to work at Microsoft.

I love my job. I have always felt that you spend way too much time at work not to enjoy it. I work with some of the brightest people I have ever met and find new challenges at my job every day.

How does it compare to other places you have worked?

This is, hands down, the best place that I have ever worked. The work here is challenging and exciting, and the people love their jobs. I spend time after hours with my coworkers doing (gasp!) non-computer related hobbies and such. I have had the opportunity to travel to Japan for TechEd and have been able to talk to a lot of customers (one of my favorite things to do!).

How did you end up where you are?

Car. I drove to work tonight. ;)

My path to working on the .NET Framework isn’t actually all that bizarre. I started in the Visual Basic group working on controls for VB 6.0. At that time the control team was also going to be providing a set of controls for use in the VJ++ product. As the various product plans solidified it became apparent that we needed a VJ specific controls team and I transferred. I then moved onto the .NET Framework team to work on the class libraries team. I worked on Windows Forms, the component model, resources, and other fun. Eventually I moved on to work on ASP.NET.

What single word would you use to describe the new .NET initiative?

Amazing.

After working on this project for over 2 years I am constantly amazed at the scope of this project. We have a team of star developers writing a revolutionary platform for the next generation of applications and services. When I see the user community that is forming around this technology I am totally excited.

What excites you most about .NET, and what are the main benifits you see for the average developer? Are there any new announcements we should be keeping an ear out for?

Probably the most exciting thing to me about .NET is the introduction of a common API for the entire .NET platform. With the .NET Framework you can write programs that are web services, web sites, rich client applications, NT services, or simple console applications. This consistency allows you to easily pickup new technologies and put them to use right away.

The framework is a set of class libraries specifically targeted at making developer’s lives easier. We have struggled with balancing simplicity with power and extensibility, and I believe we have succeeded. When our Beta 2 is released you will be able to write real production quality applications using the framework.

My top 3 personal favorite namespaces:

  1. System.Text.RegularExpressions - an awesome regex library... fast, supports compiled expressions, Perl 5 compatible, and easy to use!
  2. System.Drawing - fast 2D drawing... alpha blending, JPEG, animated GIFs, fully Unicode on all platforms, all sorts of cool stuff!
  3. System.Diagnostics.Process - ok, this is just a class, but the ability to easily spawn a process, redirect the input and output to a stream, and monitor it’s working set, etc, is just cool!

C# s really exciting also. I have written professionally using C++, Java, and Visual Basic applications. I started writing C# code sometime in early 1999, and can honestly say that this is the best language that I have ever used. The ease of use is amazing, but is still have a familiar syntax. The integration of "unsafe" code to allow you to drop down to pointers means that there is almost never a need to drop into native code.

As for new announcements... Keep an eye out for a new ASP.NET Beta 1 sample application for writing web portals!

What are your main criticisms? If there is anything you could change what would it be?

Too much new stuff. I spend a lot of time trying to track all the different class libraries and features that we are implementing for this version, and it makes my head spin. This is a major shift in the way that applications and services are written, and I think that it will take some time to really absorb the entire thing. Not that I would want to cut any of these features J, but boy have we been busy!

The only thing that I would want to change is to have more hours in the day!

What do you see as the future for software development in 5 years? 10 years?

Predictions in the software industry are usually only accurate for... oh wait, that’s right - they are never accurate. I believe that we are on the cusp of the next phase of computing evolution. On one hand, we are just now beginning to really harness the power of a global network. As connectivity becomes completely ubiquitous through wireless networking and bandwidth is increased 10 times, we will see more applications that really leverage the power of the network. On the other hand personal computing power is still growing at an amazing speed. Looking at products like the XBox I see that we are also going to increase the power of the client for years to come. The next "killer app" will be something that leverages all the power of the personal computer and all the connectivity of the Internet.

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

XML, VB6 or ATL. XML is quickly becoming the universal data format and understanding XML, schemas, and XSL are vital. The world is changing rapidly, but VB is still by far the most widely used programming language out there. If you want to work in a corporate environment, VB is a must. ATL provides you with a high performance framework for writing COM objects in C++, especially useful for writing components to be used by VB and other COM consumers.

What does the future hold in store for you?

Sleep, but only after we ship according to my boss...

I will continue to work on the .NET Framework. The framework is an amazing product, but it is just beginning. I see an even more exciting future for the framework. Our customers are throwing tons of ideas for new features at us, and we have some a bunch of ideas ourselves.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Founder CodeProject
Canada Canada
Chris Maunder is the co-founder of CodeProject and ContentLab.com, and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.

In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of CodeProject.com in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of CodeProject.com. Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project, CodeProject.AI.

In addition to his work with CodeProject.com, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.

Comments and Discussions

 
QuestionGive Visual Basic 6.0 his wand back, he has won it ! Pin
ISpliter16-Jan-14 18:56
ISpliter16-Jan-14 18:56 
QuestionWhat does small animals have to do with anything? ..heh Pin
Bingo Floppy23-Jan-09 5:52
Bingo Floppy23-Jan-09 5:52 
GeneralHi, Cris little Ask Pin
Anonymous21-May-05 11:46
Anonymous21-May-05 11:46 
QuestionEverett? Pin
Jamie Nordmeyer5-Feb-01 5:51
Jamie Nordmeyer5-Feb-01 5:51 
AnswerRe: Everett? Pin
Chris Anderson5-Feb-01 19:27
Chris Anderson5-Feb-01 19:27 
GeneralRe: Everett? Pin
Jamie Nordmeyer6-Feb-01 7:34
Jamie Nordmeyer6-Feb-01 7:34 
Generalmore hours in a day Pin
1-Feb-01 0:55
suss1-Feb-01 0:55 
GeneralRe: more hours in a day Pin
Chris Anderson1-Feb-01 19:33
Chris Anderson1-Feb-01 19:33 
GeneralRe: more hours in a day Pin
1-Apr-01 0:13
suss1-Apr-01 0:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.