Click here to Skip to main content
15,906,626 members
Articles / .NET
Article

Interview with Tom Archer

Rate me:
Please Sign up or sign in to vote.
4.92/5 (11 votes)
2 Jun 2001CPOL11 min read 329.1K   16   57
Tom Archer gives us his view on the world.

Tom Archer is an author, Visual C++/C# consultant and was the site administrator for CodeGuru for 18 months. Tom worked with Zafir Anjum and I for many months before the sale of CodeGuru to EarthWeb, so has been in the unique position to witness CodeGuru evolve from a volunteer run community site to EarthWeb's flagship C++ site, and then be passed down to Internet.com along with many other of EarthWeb's former sites.

Tom has worked with companies such as IBM, AT&T, Equifax and Peachtree Software and lists one of his proudest accomplishments as being the lead programmer on two award winning applications (at IBM and Peachtree). He has lived all over the world, and is currently based in Atlanta, Georgia.

Tom has recently left CodeGuru to pursue his writing, training and consulting interests, so I figured it was a great time to have a chat with him about the past, present and future. If you ever wonder just how geeky a couple of web admins can get, this entire interview was conducted using XML over email. Each iteration of the interview saw us try and out-do the other in terms of XML style and presentation and it was only when I found myself spending an hour debugging an XSL/T page did I come to realise that once a geek, always a geek.

CodeGuru has been through some amazing changes since we first worked on it all those years ago. Can you describe how the various changes affected the overall atmosphere and goals for the site.

When Zafir first started CodeGuru, it was one of the first developer sites on the Web. It's aim was clearly stated. It was a site run by developers who freely donated their time in order to help other developers. However, it didn't take long for corporations and entrepreneurial types to figure out that with the traffic these sites were getting, there was money to be made. Many of us incorrectly thought that the influx of corporate money would lead to better sites. Unfortunately, it didn't work out that way. Most corporations that purchased the more popular sites came in with their bureaucracy and attempted to run the sites as they did their previous interests. Therefore, the focus changed from one of "let's create this really cool code repository" to "how can we make more money from this". It's a subtle distinction since you would think that one would help the other. However, anyone that has any business experience knows that once you go from a product (or service)-centric approach to one that is more focused on advertisers and the bottom-line, it's the consumers that lose out in the end.

Can you give some examples of where you saw this happening on CodeGuru?

I'll give just one or we could talk all day on this. Shortly after EarthWeb purchased CodeGuru and many other sites, they decided to do a massive redesign of all the sites so that they would integrate more seamlessly. Certainly a decent idea. However, the problem was in the day-to-day running of the sites. People (all non-programmers) who never used any of the sites couldn't understand why people such as myself didn't want to completely stop posting content and updating the site to spend 3-6 months updating spreadsheets and Word documents and attending meetings. They just didn't get the concept that if we stopped posting content there wouldn't be any customers for this new redesigned site! I can't tell you how many times I came close to being fired because I was trying (as best I could) to keep the site fresh. That's why it irks me when people say thinks like "Oh. CodeGuru is really stale". Hell, there wouldn't have been *any* content without me fighting management and posting it. This is what I mean when I say that most of these corporation put their own bureaucracy and rules ahead of the actual product and customers. And by the way, I'm not just picking on EarthWeb. My very favourite site used to be Experts-Exchange - really cool knowledgebase-like site run by a family. However, they finally sold a large part of the site to a big company that now runs the site. Needless to say, the site is having the same problems that CodeGuru ran into with regards to the hardware and software problems and bad customer service.

Many people think that running a community site for developers is the best job in the world. Is it?

Running a developer site certainly has its advantages such as working from home and not being tied to "office hours". However, its definitely a labour of love. In other words, those of us that run sites certainly don't do it because there's any money in it. We do it because we enjoy helping others. Best job? No, not really. Too much maintenance and not enough programming. I think the best gig is a combination of writing books and consulting. That way, I'm still working my own schedule, I continue to help others and yet I'm programming most of the time.

Even so, you started a new site as soon as you left CodeGuru.

Yeah, but TheCodeChannel.com doesn't belong to any corporation. It's certainly not meant to be a competitor to any site. As I've said from the beginning, this is going to be a site that is mainly a hobby of mine and a few friends. We're not looking to become millionaires off it. It's basically returning to the roots of CodeGuru where we are simply helping others through the site without the need or desire for banners ads or corporate funding.

With hindsight, would you do it all again?

Absolutely. I've met many talented programmers and just really great people running CodeGuru. I wouldn't change a thing if I could go back and do it all over again.

Do you see the online developer community maturing as a whole with people more willing to help each other, or do you feel in general that people on the net are becoming more demanding?

While trying not to sound negative, I would definitely say it's the latter. The simple fact is that a couple of years ago, we all lived this Utopian-like existence where sites like CodeGuru were created with the single goal of helping each other out. However, at this point, people have seen how much a Zafir sold the site for and that has lead to a very competitive (and sometimes very ugly) environment. However, I'm not just talking about other Web sit owners. While at CodeGuru, we had people volunteering to help all the time. That never happens any more. Everyone wants to be paid. In addition, many (not all) people have stopped being appreciative and have come to expect perfection from Web sites and the people that run them. I guess what I'm saying is that over the past couple of years, I've seen a increase in the lack of appreciation to those that freely donate their time to help others.

What do you see as the future of developer Web sites?

I think that the people that make use of sites need to be very careful. There is so much meanness going around between the users of the various sites that many people who simply do this to help others are being turned off and dumping their sites. That in combination with the free-fall in advertising revenue is leading us directly down a path where free sites will one day be a thing of the past. Just look at sites like DevX and ASPToday. They started out free and are now subscription-based. It's a simple formula. Many individuals are tired of dealing with unappreciative people when they stay up to 3am every night just to help others out. Therefore, we're getting to a point where only companies are running the sites with a decent amount of content. If users are going to expect a professional site with tons of content and other niceties (discussion board, chats, interviews, etc.), then these companies are going to have to hire more and more people to run the sites. Therefore, with ad revenue down and costs up, the only way for companies to make these sites profitable is to recoup that money is via subscriptions, products and services.

NET is front and centre at the moment, but how do you see .NET affecting the average developer, and will .NET cause developer sites to change the way they operate?

Honestly, I truly don't think that most developers know or care about .NET. Microsoft has changed directions so many times in the past few years that most developers are going to take a "wait and see" attitude. It's going to be Microsoft's responsibility to illustrate exactly why developers should care about .NET and I don't believe they've done a good job of doing that so far.

Are there any significant positives or negatives of .NET that stand out for you?

Having been involved in several large, distributed applications, the positives that I personally applaud are language interoperability, a single class library and easier versioning and deployment.

What about for C++ developers in particular?

As mentioned before, I think that many C++ developers are going to hold out until they see some tangible reasons for switching. Let's face it. How many people would even consider using C today instead of C++? However, I remember when C++ first came out and most people were like "So what? I can do the same thing with structs!" or "I have gotten this far without it. I don't need it." For some reason, there's always that initial rejection of anything new. However, .NET is simply too good not to catch on sooner or later.

What about you personally? How do you feel about .NET?

I'm infatuated with it and its promise for the future. As you know (probably better than me), you simply can't beat what they've done with ASP.NET. I absolutely love the CLR and the interfaces it provides. It's definitely going to be fun the next few years.

How do you feel about C#? It's stregnths? Its weaknesses?

According to Larry Tesler's law of Conservation of Complexity, you can not reduce the complexity of a given task beyond a certain point. Once you've reached that point, you can only shift the burden around. This rule holds especially true for programming languages. Programming languages are about as simple as they're going to get and still be usable in terms of creating professional applications that meet the needs of today's users. However, what the designers of C# did was to move much of the complexity of writing code from the client (class consumers) to the server (classes). Examples of this are operator overloading, interfaces, delegates, indexers, properties and user-defined conversions. The common thread that ties all these features together is that they all make client code easier and more intuitive to write. However, they also put more of a burden on the class writer. In my humble opinion this is a great design since, if you're writing your object-oriented code "correctly", the client code will constitute the majority of your code. Therefore, my answers are that Yes, I truly enjoy the design of C# and yes it will make you a more productive programmer overall.

What is your pet peeve about .NET?

My pet peeve is with the compiler teams. There's an on-going debate as to what languages will implement what parts of the CLR. I'm with the CLR team in terms of letting each language have access to the same things. After all, that was the promise of the CLR to begin with. Don't get me wrong. Each language is still going to have access to the majority of the same functionality. However, check out the dotnet mailing list and you'll see that the VB guys definitely believe they're getting the shaft.

And  your pet love?

The BCL, no doubt. As one microcosmic example, take a look at IEnumerable and how it enables you to provide enumeration capabilities for any class! I love that! You can tell that the CLR guys have put a lot of thought into how this thing is going to be used. Additionally, I still can't get over how cool Reflection is. I'm not just talking run-time identification stuff. I'm talking about the ability to dynamically generate code that can then be executed and even saved! I definitely could have used that a few years ago for a system I wrote at AT&T.

Now that you are no longer at CodeGuru what does the future hold in store for you? We have seen mention of your new book for Microsoft Press - but are there bigger and better things in store for you, or will you be taking a much needed break?

I'm going to go back to mainly consulting full-time and running TheCodeChannel Web site as a hobby. In addition, I've just signed on to do a Visual C++.NET book. So, in other words, these bags under my eyes don't figure to get any smaller anytime soon :)

Thanks Tom for taking the time to speak to us.

Actually, thanks goes to you Chris. You're one of the first people to start the whole concept of developer sites and we all owe you a tremendous amount in making our programming lives a bit easier and much more fun.


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

 
GeneralHello Tom! Pin
G Poulose4-Jun-01 16:58
G Poulose4-Jun-01 16:58 
GeneralRe: Hello Tom! Pin
Tom Archer4-Jun-01 23:48
Tom Archer4-Jun-01 23:48 
GeneralRe: Hello Tom! Pin
G Poulose5-Jun-01 6:01
G Poulose5-Jun-01 6:01 
GeneralRe: Hello Tom! Pin
djkno315-Nov-02 12:31
djkno315-Nov-02 12:31 
GeneralRe: Hello Tom! Pin
Tom Archer18-Nov-02 7:23
Tom Archer18-Nov-02 7:23 
GeneralRe: Hello Tom! Pin
djkno318-Nov-02 7:59
djkno318-Nov-02 7:59 
GeneralRe: Hello Tom! Pin
Tom Archer25-Nov-02 6:12
Tom Archer25-Nov-02 6:12 
GeneralCongratulations from a former CodeGuru colleague! Pin
Kirk Stowell4-Jun-01 6:30
Kirk Stowell4-Jun-01 6:30 
Tom,

I just wanted to pop in and say congrats on your new book! I remember back in the day before Zafir sold the site (CodeGuru), when several of us including Chris and I were working on helping build this developer community, doing our part in moderating sections, posting articles and such.

It seemed that we were all working toward a common goal, what a huge disappointment when all of that ended. The only one left at CodeGuru was you Tom. I must say that I have a tremendous amount of respect and admiration for the job that you had done in trying to keep the site alive (by yourself from what I could tell). I truly don’t know how you did it!

I also wanted to thank Chris for starting the CodeProject, which was a salvation to many who where worried about the direction of CodeGuru. Without the efforts of individuals such as yourself and Chris, I don’t know where we would be today! Kudos to both of you!

Best regards,
Kirk Stowell


GeneralRe: I have disappointed with you, Kirk! Pin
Masaaki Onishi4-Jun-01 12:39
Masaaki Onishi4-Jun-01 12:39 
GeneralRe: I have disappointed with you, Kirk! Pin
Chris Maunder4-Jun-01 14:27
cofounderChris Maunder4-Jun-01 14:27 
GeneralRe: All I want to say.... Pin
Masaaki Onishi4-Jun-01 17:08
Masaaki Onishi4-Jun-01 17:08 
GeneralRe: All I want to say.... Pin
5-Jun-01 12:11
suss5-Jun-01 12:11 
GeneralRe: Ooops, sorry that! Pin
Masaaki Onishi7-Jun-01 6:41
Masaaki Onishi7-Jun-01 6:41 
GeneralRe: Congratulations from a former CodeGuru colleague! Pin
Tom Archer4-Jun-01 13:28
Tom Archer4-Jun-01 13:28 
GeneralPlease someone write the VC++.NET book!!! Pin
4-Jun-01 5:27
suss4-Jun-01 5:27 
GeneralRe: Please someone write the VC++.NET book!!! Pin
Tom Archer4-Jun-01 5:29
Tom Archer4-Jun-01 5:29 
GeneralWork Faster!!!!!!!!! Pin
Jim Howard5-Jun-01 5:22
Jim Howard5-Jun-01 5:22 
GeneralRe: Please someone write the VC++.NET book!!! Pin
5-Jun-01 6:54
suss5-Jun-01 6:54 
GeneralRe: Please someone write the VC++.NET book!!! Pin
Tom Archer6-Jun-01 6:06
Tom Archer6-Jun-01 6:06 
QuestionHow to become a Consultant Pin
A.A.4-Jun-01 4:52
A.A.4-Jun-01 4:52 
AnswerRe: How to become a Consultant Pin
10-Apr-02 7:08
suss10-Apr-02 7:08 
GeneralMe no understand Pin
Christian Skovdal Andersen4-Jun-01 2:15
Christian Skovdal Andersen4-Jun-01 2:15 
GeneralRe: Me no understand Pin
Daníel B. Sigurgeirsson4-Jun-01 2:25
Daníel B. Sigurgeirsson4-Jun-01 2:25 
GeneralRe: Me no understand Pin
Christian Skovdal Andersen4-Jun-01 2:27
Christian Skovdal Andersen4-Jun-01 2:27 
GeneralRe: Me no understand Pin
Tom Archer4-Jun-01 4:00
Tom Archer4-Jun-01 4:00 

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.