This is brilliant – a ticker that shows you how much the meeting costs.
Via Matt Raible’s post on Passionate Programmer book.
This is brilliant – a ticker that shows you how much the meeting costs.
Via Matt Raible’s post on Passionate Programmer book.
I am excited to announce that after spending years reading and learning about how to start companies, I am finally doing something about it. I recently left Alfresco and am in the process of starting a new service that will create tools for measuring energy efficiency of buildings.
A bit of a change in focus, but as the technical part of the founding team, I hope that my experience will be useful as I am now building out a prototype version of the service.
I won’t promise that I will blog more, though I certainly intend to, including more about the service itself and what I am working on. One of the things I’ve been thinking about recently is the transition from an employee, which I have been all my professional life, to an entrepreneur and how the two are different.
StackOverflow is site created by Jeff Atwood of the excellent blog CodingHorror.com together with Joel Spolsky of Joel On Software that allows programmers to ask each other questions in an open forum.
Very quickly, it’s become one of the best technical resources on the web, now whenever I have a generic question about programming, I go there and do a quick search (you can also map it as OpenSearch in your browser). Of the past 10 such situations, there was already a thread there on the topic, with majority of responses very well reasoned. A lot of great developers hang out there and there is a ton of useful information.
In addition to frequenting the site, I also listen to the StackOverflow Podcast – the Signal to Noise ratio isn’t amazing, but it’s a good background conversation to listen to while doing something else.
Last week I spoke at the NY IT Architecture Conference. My main topic was on Content-Oriented Architectures (copy of presentation here). It addressed how the Content Repository is a new abstraction better suited for content applications, one that combines advantages of the database (i.e. transactions, rich content modeling, data integrity), and file systems (hierarchy, ability to store large files), while adding some new constructs not easily present in either, i.e. granular item-level security, workflow, content transformations, etc. There are a few good resources I found in preparing for the talk. One that stood out was a description of what content repositories offer you at Gadgetopia here.
In addition to the main topic, I also participated in Rich Internet Applications Panel, talking about interesting technologies such as Adobe Flex, Ajax and its cousin Comet.
As to the conference overall, I have to say that since my primary interest is software architecture and technology, I didn’t always find interesting topics that were immediately relevant (a few of the ones i really wanted to attend overlapped with my talks
). However, this did allow me to branch out and hear about topics I am not as directly involved with, such as proving value of architecture, and establishing Architecture as a profession within our industry.
Upcoming Speaking Engagement June 12th – Enterprise 2.0 Conference
By the way, I am also speaking at the Enterprise 2.0 Conference. The topic is Programmable Web: Consequences for the Enterprise. I am on at 9:30 am on Thursday, June 12th. Here is the Description:
The internet is becoming programmable. Many sites are providing data access APIs as the Software As as A Service paradigm shift is taking place. Mashups have been around for years, but recently social networking sites have also joined the fray by opening up their own APIs. Facebook is one of the leaders of the movement. Having released their API in May of 2007, there are many thousands of Facebook applications in use today. Google countered with OpenSocial Project. We will discuss the internet as an application development platform in general, and look at how some of the leading social networking APIs work. We will then discuss how these concepts can be applied in the enterprise to enable better information sharing and collaboration.
Note: this is part of the series of posts about Microsoft Community Ecosystem. Previous posts – Introduction, Part 1 – Microsoft Partner Community. I am participating in a panel discussing these programs and what Open Source companies can learn from Microsoft this week at Open Source Business Conference in San Francisco. The panel is on Tuesday, March 25th, 2008 at 2pm and is called “What Open Source Can Learn From Microsoft and the Proprietary World”.
Microsoft makes software for so many different areas, it has many constituencies that are part of their community. There are developers – they care about development tools and new frameworks. In addition, there are database gurus, administrators of their various products, office users, enterprise users, etc. There are many demographics that apply, and obviously it is good to have them all as part of an ecosystem. I am most familiar with the developer community, but will try to cover other efforts as well. This post will introduce the community-run programs, and then examine the different programs and support structures that exist to help the community.
Community Programs
User Groups
These are pretty traditional user groups, just like other companies and technologies have. They meet about once a month and discuss topics of interest to that particular groups. There are several programs out there to reinforce them, about which I’ll talk below. To give you an idea of the different areas covered, here are the active groups in New York City:
These groups are community-run in that their leaders (for the most part) are not associated with Microsoft in an official capacity. Microsoft does help out by providing space (and sometimes food). They also form a great basis for other community-run events, such as Code Camps (next section).
This is in NYC alone – there are similar groups in New Jersey, Connecticut, Pennsylvania, and others. For information about their meetings, check out Peter Laudati’s blog, where he does a great job aggregating all the meetings on one page.
Code Camps
Code Camp is a free community-run, (usually) one-day event. It’s basically a mini-conference. Here is the original “Code Camp Manifesto”. The focus is on sharing knowledge and showing code. It usually happens on weekends, most often Saturdays. Here is the schedule of code camps.
Because Code Camps are held on a weekend, people are less tired, and Code Camps are usually well attended. There are usually several tracks, and each talk lasts an hour, to a maximum of an hour and fifteen minutes at some camps. They attract up to several hundred attendees. What is so nice about these is that it’s a great way to catch up on some latest technologies, and learn about things and branch out your knowledge.
The people who run these are usually user group leaders. Microsoft tries to help out, sometimes with sponsorship money for food, sometimes by donating the space, but this is mostly a community-run event. I haven’t been involved in planning these, but they looks like fairly easy to plan compared to a full conference. If you can get somebody to donate the space, you can use the local user groups as a base for speakers, as well as invite speakers from communities nearby. Because they are community run, it’s relatively easy to get a speaking slot. However, the quality of sessions is quite high. Code camp in New York a few years ago was the first time I started doing public speaking outside of internal presentations at different companies I worked at.
I really enjoy Code Camps. They are nice to learn about things, to interact, to network. You get to see five or six presentations, so even if one or two is not great, it’s still pretty good signal to noise ratio. Also, they are local (although you can always travel to go to ones outside your area), so you don’t have to spend half a day getting there and back.
For a learning-addict like me, Code Camps are a great way to feed the habit…
Resources To Foster Community
User Groups and Code Camps are great community programs. Even though they are run by community, there are a few programs and structures that exist to reinforce them.
Microsoft-Employed Developer Evangelists
I didn’t mention Microsoft employees responsible for partnership because it’s pretty obvious that they exist. What is not obvious is that Microsoft has a title called Developer Evangelist. The job of these people is to encourage and foster Microsoft community, usually in a specific geographic region. Their geographic region can be quite large, with two evangelists covering the NY Metropolitan area, for example – NY, NJ, and CT.
The goal is to evangelize Microsoft technologies and increase adoption of .NET technologies. I believe the best ones view themselves as community’s voice inside Microsoft. I don’t know all they do, but I know they are a great resource to the community groups. In addition to supporting local user groups, they try to reach out to non-Microsoft communities, conduct online seminars for people who don’t like to go to the meetings, work with companies to increase adoption of Microsoft technologies and training, and many other things. Additionally, they have great contacts within the community, and can be counted on to give talks in a pinch.
Developer Evangelists have a tough job – to make it easier for the community to work with Microsoft. Additionally, they work to attract people from outside of Microsoft community, such as people doing Java, PHP. At a minimum, Microsoft would like to make sure they are not very unhappy with Microsoft, maybe just a bit unhappy J.
INETA
Another organization that supports the Microsoft community efforts is INETA – International .NET Association. It’s an organization that serves as an umbrella and a resource for user groups. According to the website, INETA serves 255 user groups.
The INETA Speaker program has a list of speakers, and they make INETA speakers available to user groups. It’s a somewhat exclusive group – to become INETA speaker is not easy. The nice thing about it is that the INETA speakers are good. As a user group you can request an INETA speaker and know that you will get somebody of high quality.
I know that with other user groups and conferences, the quality can vary – this is one way Microsoft user groups make sure the user groups have good quality content. I am not sure if there are member dues for INETA or if it’s a Microsoft-sponsored organization, but I do know it’s a positive force that provides lots of resources to the communities.
The Most Valuable Professional (MVP) Program
The MVP (Most Valuable Professional) program is probably my favorite program, since I think it’s quite brilliant. Within each product group, a certain number of community members get recognized as MVPs. These are the guys judged to be great at helping increase the community around Microsoft technologies.
What this amounts to is many people who don’t work for Microsoft spending a big chunk of their time evangelizing Microsoft, answering questions, and in other ways promoting Microsoft technologies. In exchange, they get some support from Microsoft, but my guess is that the MVP program costs a fraction of the value it generates for Microsoft. Many MVPs are independent consultants who can use their MVP status as imprimatur for their billable work. Others work for companies. It’s a very symbiotic program – both the MVPs and Microsoft benefit from the relationship tremendously.
One thing to realize is that this is a community program first – it rewards people who are active. This means that while MVPs are usually technically strong, MVP status itself does not really mean that this person is an expert in a technology, just that they are very vocal about helping people in this technology. It’s hard to have one without the other, but it’s possible.
Here is some more information from an article What is an MVP, Anyways:
MVP program is an “award and recognition program.” While a certain amount of technical skill is usually needed to accomplish the tenets of MVP membership, the MVP program is in no way a measuring stick of the technical merits of its members.
The key take-away here is that the MVP program is now agnostic as to the venue (online or offline) that you use to make your community contributions. The result should be a greater amount of diversification in the program’s membership, and, in some respects, it has worked.
The MVP program is designed for people who would make the same community contributions even if the program didn’t exist.
For instance, there are now over 3,100 MVPs in 75 countries worldwide, covering more than 75 technologies in nine languages.
MVPs are great people to reinforce other programs. They generate a lot of knowledge and help through their blogs, and are frequent speakers at community events and conferences. Since they are typically practitioners, they have a unique view of what customers need and how they are actually using the technologies, and some serve as advisors to product managers and Microsoft teams.
How do you become an MVP? It’s an award and recognition program for being active in the community. It started out as a way to reward people active in the online forums. It evolved to now involve speakers, prolific bloggers, writers, and others. There are many ways to become an MVP, and currently there are thousands of MVPs in topics ranging from Outlook to C# to SharePoint. As part of the reward, MVP get MSDN subscription, and are invited to a special annual conference for MVPs, where they get access to the product teams and see what is coming down the line from the company. There are people at Microsoft managing the program, and MVPs can contact them as necessary to get more support from Microsoft as needed.
Regional Director Program
To be honest, this is the program I know the least about. Each region has a person who is a Regional Director (RD), whose role is also to encourage community. There are less than 150 Regional Directors worldwide – you can find yours here. While not employed by Microsoft, I believe they do get some kind of compensation and have certain commitments to Microsoft.
Jonathan Goodyear, one of RDs, writes about the program:
“ RDs are not employed by Microsoft. In fact, we are not compensated for our role as RDs (that’s not completely true … more on that in a bit). The role of an RD is to act as an unbiased third-party evangelist of Microsoft products and services and to work with software developers to ensure successful project engagements. We act as the glue between Microsoft and the developer community”
That same article talks about the difference between Developer Evangelists (DEs) and RDs.
“An important distinction between RDs and DEs is that DEs can be influenced to ride the party line. RDs, on the other hand, can (and often do) voice strong opinions in opposition to things Microsoft is doing that the RDs feel don’t fall in line with the interests of Microsoft developers, end users, and customers. RDs have many media contacts, so their voices are heard loud and clear. In this way, RDs act as a strong advocate for the Microsoft community. “
So in a way, they are representatives of Microsoft who don’t work for Microsoft, and thus has some independence.
Other Programs
In addition to the larger programs above, here are some of the other efforts that I learned about:
Conclusion
One of the best things about the Microsoft Community is that it’s very easy to participate. I was a pretty unknown commodity when I started. Because Code Camps are community-run events, anybody can easily submit a talk topic, and get accepted. As you can see, with dozens of years of fostering it, Microsoft’s community is vibrant and strong. I believe it is one of the company’s biggest assets to remain relevant and increase its reach.
Note: I plan to continue this series by talking about online resources that Microsoft provides, and then will conclude with some suggestions for the Open Source companies on what they can learn from Microsoft’s efforts.
Tags: Microsoft, Community, MVP Program, Code Camp
I am helping out with organizing the NY local IT Architect Regional Conference, and will also be speaking there about content repositories emerging as equivalent of databases for content (i.e. documents). There are a bunch of great speakers in the lineup (at least a few of the ones I heard before). If you are an architect, or an aspiring architect, I definitely encourage you to attend. It’s a community-run effort, and the conference is run pretty much at cost, so I think it’s a great deal. The space is limited, so please register soon.
We have a great lineup of local and global keynote and breakout session presenters lined up for the conference. You would have to pay thousands of dollars plus travel expenses to attend a Gartner or other similar architecture conference elsewhere. We are bringing this conference to New York for a very low price. However due to venue space limitations we can only accommodate 200 attendees. If you are interested in attending we encourage you to register as early as possible.
The registration link is here.
The ITARC is run by the local chapter of IASA (International Association of Software Architects). IASA is the premier association focused on the IT architecture profession through education, advocacy, events, and the development of best practices. IASA New York Chapter web site here. They hold free monthly meetings focused on various architecture topics.
Also, check out a one-day Unconference called BarCampMoneyNYC for innovators in the finance and financial services industries. It’s a no-cost conference with an admission “price” of presenting a project or conversation topic. You can read more at http://barcamp.org/BarCampMoneyNYC. The event is hosted on Saturday, April 12th at the law firm of Wilson Sonsini in midtown Manhattan.
Note: this is part of the series of posts about Microsoft Community Ecosystem. The Introduction can be found here.
One thing to understand is that Microsoft fundamentally wants to be a product company. Their business is to make a product, and sell it millions of times, making a healthy profit. They don’t really focus on industry verticals, and are instead focusing on broad software that can be used by many companies. This leaves two gaps: System Integration and more targeted solutions towards specific use cases or industries. Both are addressed by different aspects of the partnership model. Additionally, Microsoft relies on training partners to do a lot of it product training.
System Integrators
By comparison to products, consulting and services is a low margin business. This means they have a lot of SI partners that do the actual integration work. This is a great relationship – there is very little channel conflict. Microsoft avoids the channel conflict by keeping their consulting force quite small. I am told that their sales people are not really commissioned on services sales.
This means their sales guys care about the job getting done, and have no problem with bringing in a partner to lead. The partners that have a good relationship with Microsoft get to be the lead implementers on the deal. They are brought in while being given Microsoft’s imprimatur, and then they take over the relationship. Often, they also get involved in Microsoft-funded proof of concepts, product launches, white papers, and other efforts. So there is some revenue coming in directly from Microsoft as well.
For small but good consulting shops, Microsoft relationship is a god-send. You get the benefit of having Microsoft’s relationships work for you. That can get you introduced into many big customers. The result is that your sales model becomes MUCH simpler – no longer are you going in trying to convince new customers that you are good. Instead, you are brought in by a Microsoft sales rep that already has a relationship with the customer, saying “these are our go-to guys for this technology”. This can allow you to have higher billable rates than otherwise, when you are competing against other companies.
One bad thing about working for a Microsoft partner, is that there is such a co-dependency, that the companies end up recommending Microsoft solutions more often than they should in order to maintain the relationship. If you are brought in to scope a SharePoint deployment by Microsoft, with licensing revenue on the line, then this is what the customer is likely to get, even if SharePoint is not the best fit for this particular problem. Being a technologist, this becomes frustrating at times, since you don’t feel the problems are being solved in the best way possible. However, this is not inherent in the Microsoft partnership itself, but rather in most companies and partnerships.
There are different competence areas in which you can be a partner. For example, a company can be a Business Intelligence partner, or a BizTalk / distributed technologies partner, etc. Since Microsoft has many product lines, this allows companies to specialize somewhat. Also, Microsoft can bring in different SIs into different deals. Several SIs within the same geographic area can thus have profitable relationships without stepping on each other’s toes too much.
To make sure that partners are good, there are some requirements they need to meet, like having a certain number of certified employees, and some other requirements I am not completely aware off. However, ultimately, it’s about delivering and building up the relationship. If you are known as a company that delivers, you will get more business, since Microsoft salespeople will be more likely to bring you in.
Additionally, there are other partner benefits, such as access to software from Microsoft, MSDN subscriptions, and other benefits. But of course the key benefit to the partnership is the business opportunities.
Training Partners
Training partners work somewhat similarly to SIs. They can also get leads from Microsoft for opportunities and also have different competency area that they can teach. One nice distinction is that Microsoft Training provides the Microsoft Official Curriculum (MOC) – courses that are completely pre-packaged to the point that almost anybody with some basic familiarity with their products can teach them. That’s the biggest value to you – Microsoft generates demand for products, which in turn generates demand for training. That, plus the curriculum that Microsoft puts out enables Training partners to make money and be part of the ecosystem. My old company did both integration work and training as well.
Independent Software Vendors (ISVs)
There are also a lot of ISVs that sell add-ons to Microsoft products. I do not have experience with these, so I won’t talk about this. Suffice to say that it allows Microsoft to fill niches it would not be able to fill otherwise, and also drive sales for its partners.
While partnership has many benefits, if you are a product company, partnering with Microsoft is a bit more dangerous, since you may find a competitor in the next version of their product. So you need to maintain a good relationship with the product teams and understand their product direction and product map.
In the next post in the series, I’ll talk about the Developer and User Community Programs.
Prior to my current job, I spent the two years working for a consulting company, Infusion Development, here in New York. We did business both with Java and .NET, focusing on large Financial Services companies and State and Local Government. The company is a Gold partner for Microsoft, and did a lot of services work around Microsoft technologies.
I learned a lot of Microsoft technologies while there, and got an inside glimpse into how Microsoft ecosystem works. Another thing I discovered and took part in was the Microsoft community – the grassroots-run organizations that foster developer education, networking, and are thus a great asset to the software giant.
What really impressed me is just how large of a community exists around Microsoft and its technologies. This series of blog posts will describe some of the community efforts that Microsoft has, and how they fit together. I will then try to take some lessons from Microsoft and apply it to the Open Source Community.
Note: This series of posts is a precursor to a talk I will be giving at Open Source Business Conference in March.
Blogged with Flock