Perspective on Program Manager

Tue, March 10, 2009, 11:21 AM under Career
Apologies if you were expecting me to share my own insights (beyond what I already did last year).

Instead I encourage you to read Joel's take (slightly biased towards junior PMs, towards consumer product PM and towards the early stages of the project lifecycle).

Program Manager role at Microsoft

Wed, August 13, 2008, 12:56 AM under Career
Everyone close to me that knows I recently changed jobs keeps asking me what it means to be a feature PM (not to be confused with Product Manager which is primarily a marketing role). The Program Manager role is so complex I am having trouble explaining it. I am not ready yet, so I will revisit the topic in the future but someone once told me:
"a product needs developers to write the code and testers to test it. There are other things involved with shipping a product and the PM does those".
So far I can share that I spend 75% of my time in meetings. The funny thing is that I used to view meetings as a waste of time, but for the first time in my career I am actually having tons of useful meetings. The reason is probably because most of them are of the brainstorming variety (where by the end your creativity juices are just oozing all over the place) or of the unblocking variety (where at the end someone is unblocked and can do their job, which they couldn't do without that meeting having taken place).

Looking at it from a different angle it seems that there are several hats that a PM wears and I find myself alternating between writing specs, project managing, testing scenarios on the product, creating walkthroughs, threat modelling, writing demos/samples, liaising with sister teams, liaising with internal customers and, finally, preparing to imminently liaise with developer customers (both inbound and outbound comms, gathering feedback and sharing the vision) when we release it.

Some view the "drawback" of this role being that: you have tons of responsibilities which you can only deliver via a team on which you have no authority. Read that sentence again. I think this is what differentiates this role from others outside of Microsoft. I actually enjoy this because it creates a true team spirit. Because most new PMs seem to find this the hardest part, most experienced PMs focus on sharing tips on how to overcome this "hurdle". Today I found such a post that advises on the success patterns for PMs (with many good links).

What do I plan to do over the next 6 months to become a better developer

Fri, July 13, 2007, 04:29 AM under Career
After not doing memes for over 2 years, I broke my rule last December and yesterday; today I notice another one where I got tagged (thanks Raymond). So, this is the last meme I am doing for the rest of the year. Now I must tell you what I plan to do over the next 6 months to become a better developer (the format seems to be random so I'll take a wordy lengthy approach).

Well, I've never been involved in a large team project (>20 people), but I have delivered multiple projects (through multiple versions) where the team ranged from 1 to 12 people so I have drawn some conclusions for small projects (at most 100K loc) including the following 3 facts:

1. You do not need formal education or certifications to be a good developer; you just need a logical mind and a genuine interest in the field (and to be lucky enough to work on a handful of projects with talented people that are interested in mentoring you).

2. No matter what process/methodology/best practises/etc you use, the bottom line is that good talented people with a clear vision will deliver good results; the rest simply will struggle.
Another variation of striving for those things is when a talented good developer thinks he can improve others by sharing his knowledge via a methodology, when actually if his team has talent they'll get it right and if they don't then the rules won't help them either. Funny how the people touting a methodology are the ones that can make things work even without it..

3. If you don't understand the technical platform you are working with then you are probably going to be doing things in a suboptimal way and trying to fit old patterns to new paradigms.

Your mileage will vary of course, depending on how long you've been in the industry and the kind of projects you have worked on. I am certainly not projecting the above assertions on you, simply stating that for me personally, they hold true as facts. Moving on (hopefully without pissing too many people off ;)...


Considering points 1 and 2 above, I made the decision a little while back that I am as good/bad a developer as I was at that point and that I was not going to drastically improve/deteriorate from an algorithmic/design/management/performance point of view as years go by. Combining this decision with point 3 above, I decided that the only thing I need to do to stay at the level that I am today, is to keep abreast of all the new technologies that get thrown out from the various vendors. A long time ago (when funnily enough I was a Java developer) I decided to choose and commit to one vendor only: Microsoft.

To bring this blog post back to the meme and in conclusion, my personal choice as a developer is: Stay current with everything new on the Microsoft platform. That is what I've been doing for the last 6 months and this is what I am going to do for the next 6 months.

As to which bits of the Microsoft offerings I specifically focus on, well that varies and this blog is my documentation/sharing vehicle for some of the bits I play with... There is a pattern as to the things that interest me and you can infer that from the Categories on the left of this page. Hope this helps and stay tuned via one of the subscribe options also on the left :-)

In the spirit of the meme, I wonder what these guys' professional plans look like over their next 6 months:
[ Ian, Kenny, Mitch, Phil ] you are IT!

Busy is implicit (and change of career)

Wed, March 22, 2006, 12:59 AM under Career
The year 2006 is only 3 months old but it has been crazy for me! "Busy is implicit" (that has been my IM personal message text) doesn't begin to describe it. In random order here is what I have been up to.

* Principles of Architecture II course. A week-long intensive internal course about software and infrastructure architecture. Maybe my fault for expecting a lot more from this, but on the whole I was left unimpressed.

* BizTalk 2004 CSS. Internal self-study course, for which I was given a ton of material and resources. Did not have high expectations, but found it rather interesting. Good to know about the technology but, no, I have no plans to sign up for any project using it (too much mouse-pushing for my liking). Very powerful tool and its price tag reflects that...

* Completed the SharePoint project I was working on. This was a big win, as the client was delighted with the work I did there…

* Working for Avanade means that you *must* get Microsoft certified. So I thought I'd play game, even though I've always looked down on these. So, after 3 MCP exams, I am now a MCAD (Microsoft Certified Application Developer). To be honest, I did have to study for the exams and I did learn quite a bit (in a broad, shallow sense). Not that I have some new found respect for people that hold the certification, but I don't have any contempt either (if that makes any sense :-S).

* As well as speaking at the "swimming pool" room at Microsoft’s offices in London, I also attended an MSDN event there on Indigo (or WCF, if you like) by Mike Taulty and Mike Ormond. A lot of great events take place there so, if you are in London, you should be monitoring the activity...

* Speaking of "speaking", I've been waiting for my name to appear on the official list before sharing this but I am fed up of waiting now so here it is: I am on the INETA speaker list! If you run a user group, feel free to contact INETA to arrange for me to speak on a topic of interest to you...

* While I didn't attend DevDays in London, that week I had the pleasure of having dinner with a handful of smart people organised by the Wintellect guys (Jeffrey Richter wasn't there but Jeff Prosise & Justin Smith were :-)).

* Anyone that has been through a house purchase in the UK knows how hectic the procedure is. Well, I went through the house hunting, negotiation, surveys, mortgage applications, estate agent fighting and solicitor chasing... all this for a flat in London. It sounded like a great idea back in October and a few days ago we reached the point where I must sign the contract and transfer the money. Guess what I did? I pulled out! This has cost me unbelievable amounts of stress, time and money. It just didn't make sense anymore due to another change in my life as summarised next.

* A couple of days ago I handed in my resignation to Avanade. Maybe my career desires will change one day and/or maybe Avanade UK will have a different direction one day. Should such a day arrive, I'll be happy to go back. Working for Avanade for 6 months has been an experience...

* Later today I will be at the DNUG meeting if you want to say hi

* Next Monday I will be attending a private 2-day MVP event held in Cambridge. I am looking forward to catching up with all of you who will be there :-D

Current Project

Fri, December 23, 2005, 04:06 PM under Career
So I described my commuting to my current client, how about the project?

You would have thought that if you hired a .NET Compact Framework MVP, you would take advantage of their skills in a mobility project; something that targets Windows Mobile 2003 or v5 or even a custom WinCE (v4 or v5) device. Nope.

I have also done a lot of work on the desktop with .NET (including COM Interop, remoting etc) so maybe something in that area? Nope. Anything to do with thick or smart clients where my interest and experience lies? Nope.

Maybe take advantage of the fact that I've been using VS2005/.NET v2 constantly since March 2004 (any project utilising Whidbey is my game)? Nope.

Instead, what I am working on is a web application (web, moi?) using SharePoint (server product, moi?). From a developer's perspective, SharePoint 2003 sucks like nothing I've ever used from Microsoft before (I am considering not putting it on my CV to avoid having to go near it ever again!). That is the life of the consultant apparently. You get to work on whatever is in demand.

To be perfectly honest, I don't really *mind* working on this project. I've been in my comfort zone (embedded space) for too long and it gives me chance to prove again that I can quickly pick up a technology and deliver. It just took me by surprise and combined with the whole commuting thing it created a bad taste in my mouth. By the way, I am leading the small team and while I won't mention the client's name rest assured every single one of you (aged 14 to 114) know them. The work environment is second to none and the people there are great so that balances out things...

My mate Steve assures me the next one will be the biggest mobility deployment project in the world. Let's see...

I should finish by saying that this is my day project. By night/weekend, I keep doing netcf work and stay tuned for some exciting stuff coming in SDF v2.0 from OpenNETCF.