Survey of the future of tech jobs…

I did several session at VSLive recently. As always I give out my email address in every session so that they attendees can contact me with questions. Sometimes these questions are related to the session – sometimes they are not. I’m not sure which session this particular gentleman was in but I got this interesting note yesterday.


Josh
 
I just sat through your talk at VSLIVE.  I tried to speak with you after the seminar but you were pretty busy.
 
I teach CS for [Some College], and I’m trying to get a feel for where the current and future jobs are for new grads with little or no experience so I can adjust our program. 
 
If we could only teach one track, would you recommend ASP.NET with VB, ASP.NET with C#, Windows programming with VB, or Windows programming with C#?
 
That is, is web development bigger than windows development now, and is that expected to change in the next 5 years?
 
And is C# growing faster than VB or vice-versa?
 
Thanks Josh.  I really learned a lot in your presentation. 

Sincerely,
 
Name Hidden
Computer Science Instructor
Some College
Somewhere, USA


Immediately you should be able to see the issue. The pat answer is that if you and your shop know VB or a VB like syntax, then you should use VB.NET and if you and your shop know C, C++, Java, or some other semi-colon profuse language, then they should go with C#.

However, this is a blank slate. There is no shop. The students don’t know anything so there’s only the future to look to for guidance. Yeah right!

Really I can boil the question down to this:
Where are tech jobs going to be in 4 years when these students graduate?

Wow! That’s a tough question. I’m actually going to reserve judgment on this topic until I hear from others. Please leave my comments on the blog at http://www.srtsolutions.com/public/blog/19990

C# VB.NET
Web ? ?
Windows ? ?

Ann Arbor .NET Developer Group

There is a new .NET Developers group forming located in Ann Arbor, MI called the Ann Arbor .NET Developer Group. This is going to be in addition to the groups that are in Southfield, MI and Toledo, OH.

Bill Wagner (as the group’s president) has the official announcement on his blog (http://www.srtsolutions.com/public/blog/20574).

I’m going to be the first speaker at the 2/8/2006 meeting at 6:00. The topic is ASP.NET Personalization.

VSTO (Visual Studio Tools for Office) Misconceptions

I did my VSTO Session (Visual Studio Tools for Office: The Agony and the Ecstasy) at VSLive yesterday. It was very interesting to gauge the reactions. In short, there were a ton of misconceptions about what VSTO is to be used for and what its capabilities are. I really think that next time that I do a VSTO talk – I’m going to devote the first 5 minutes or possibly more to dispelling some of those notions.

VSTO is used to have Office host your application, not the other way around. A lot of people didn’t understand this. The first several questions that I got after the talk were about how to integrate Office into their application for spell checking or hosting the Outlook calendar or read from the contacts in Outlook or any number of other types of integration. VSTO does not help you here. Each of the Office applications have a COM based API that will allow you to leverage that application but it’s not VSTO. You can use COM to load Word, paste text into a document, ask Word to spell check it and get back the list of spelling errors. This is a heavy process – especially if you are doing it for small amounts of text. You can use COM to load Outlook and get the list of contact, appointments and lots of other data. In fact, on the Pocket PC, this is the preferred way to have contacts, scheduling and so on. Again, VSTO does not help you here, COM does.

Actually, it’s interesting to point out that even inside a VSTO application that is hosted inside of an Office application, you are talking to the COM API in order to invoke the spell checker, talk to the list of appointments and so on. It’s just that the PIA (Primary Interop Assemblies) are referenced by default in a VSTO application so that they look like they are .NET APIs, sort of. Actually, that was a large portion of my talk yesterday. Those COM APIs are sometimes painful to work with and have some rather severe limitations.

If you are going to write a VSTO application, you need to go in with your eyes open. You are not dealing with a .NET API designed by the same guys that designed the rest of the .NET libraries. You are dealing with Office. This is good and bad. For better or worse, with VSTO, you have to make your application work like the Office application that is hosting your application. Sometimes this is very frustrating. However, the payoff is immense when you can cut the amount of training that you have to do for your users because they already know the interface.

That’s what VSTO is about. It’s about having Office as your front end because that’s what your users know.

Avoid the guy on the subway wearing slippers

I’m in San Francisco for VSLive this week. I like visiting San Francisco – I don’t know that I could live here – but I really enjoy coming to the conferences. I get to catch up with a lot of people that I don’t see very often.

For example, I had dinner last night with Gabriel Torok and Paul Tyma. Gabriel, along with Bill Leach, runs PreEmptive Solutions which produces the Dotfuscator. Paul was one of the founders of PreEmptive but he’s now working at Google. As such he lives here and enjoys it.

As we were walking to the restaurant, I saw a farm style tractor parked in front of a really high end hotel. I was laughing about that and comment that I really need to carry my camera everywhere because you see things that people wouldn’t believe without photo evidence. Paul laughed and said, “I’ve learned that should always avoid the guy on the subway wearing slippers!” I laughed and then thought about that – and it’s profound. There’s a reason that guy’s wearing slippers on the subway. Most of the time it’s not to go get the paper if there’s a subway or any other public transport involved. There may be a completely acceptable reason for the slippers but do you really have the time to find out?

My quick advice on visiting San Francisco that I’m posting here so that I remember it next time I’m coming out here.

Do wear comfortable shoes – you’ll do a ton of walking and most of it on hills.

Do bring a sweater and a pair of shorts – it’s nice and warm in the daytime but the evenings get chilly. It’s usually 65-75 during the day but it will get down to 45-55 at night so be prepared for that.

Don’t rent a car, parking a car here costs as much or more than renting it – most of the hotels are north of $40.00 a day to part your car there. Even the public lots are $30+.

Do, ride the shuttle from the airport – it’s $15.00 and will drop you where ever you need to go. True, it’s not quite as quick as the taxi, but the taxi is $45.00 and you’ll need that extra $30.00 to eat here or buy Starbucks coffee – see below.

Don’t take directions that start “Go to the Starbucks and…” There are 63 Starbucks within 2 miles of where I am. There’s even one block with three star bucks on the same side of the street within a block. That’s nuts. Don’t get me wrong, I like Starbucks as much as most people but that’s a lot of coffee.

Don’t pull out a map – that’s a clear sign of weakness and the pan-handlers will be on you faster than you can unfold it. I really like Pocket Streets because it allows me to use a map and others think that I’m checking email or somehow fitting in well here. Also, peek at http://www.ipodsubwaymaps.com. I thought that was a cool use of the IPod.

Do take your camera everywhere you go – see above. You will see things that others’ won’t believe unless they see it for themselves.

Do avoid the guy in slippers on the subway or bus or any other public transport.

January Speaking Engagements For Josh Holmes

AACS (Ann Arbor Computer Society)
http://www.ComputerSociety.org
1/4/2006 On the Road Again! Mobility through SQL Mobile and the Compact Framework 2.0

Dayton Code Camp http://daytondevgroup.net/CodeCamp.aspx 1/21/2006 Practical ASP.NET Security
Roadworthy ASP.NET
True Mobility
Rockford, IL
http://www.netrug.net/
1/25/2006 It’s All About You! Personalization through ASP.NET 2.0 Portal Framework

VSLive (San Francisco)
http://www.netrug.net/
1/29/2006 – 2/2/2006 Visual Studio Tools for Office: the Agony and the Ecstasy (Smart Client/Black Belt Track)
Thousands of Users, Personalized Service – Portals and Web Parts in ASP.NET 2.0 (ASP.NET Track)