Microsoft Community Ecosystem Part 1 – Partners

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.

The Microsoft Community Ecosystem – Introduction

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

Tags: ,

Insigntful Podcast on Freedom in Open Source

I spent the last few months trying to take my understanding of Open Source and related issues to the next level. From a general understanding that I had as a computer professional, to a much deeper one, where I could conceivably call myself an open source expert. I am planning a series of posts to summarize some of my thoughts on this issue.

Last week, I was listening to one of my favorite Podcasts – Hanselminutes, where Scott Hanselman interviewed Bjorn Freeman-Benson, the Technical Director of the Eclipse Foundation. The podcast transcript is available here. The fragment here is about 18 minutes into the podcast.

They discuss customer freedom. The fact that Open Source includes the source code fundamentally gives the users / customers greater freedom.

“Bjorn Freeman-Benson: When you bring up the concept of free, there’s free as in it’s no cost to me because it’s such a common idea that everybody has implemented it now. When I went to university, syntax highlighting was a big deal. It’s the sort of thing we studied and now, syntax highlighting, 12-year-olds do that in their spare time.

Then there’s also the concept of free as in free choice and one of the things that Eclipse does, which I think is really remarkable is that it allows you to choose whether you want to pay for something or not pay for something. Let me give you the example of support. There are companies in the Eclipse ecosystem that you can pay them to support Eclipse for you or if you choose not to buy support, you could fix the bugs yourself because all of the source code is available or if you choose not to do that, you could submit bugs through Bugzilla to Eclipse and hope the people on the projects fix them. So, you can choose time waiting for people to fix them, you can choose doing it yourself, or you can choose money where you pay someone to do it. So, you have the opportunity to choose which way that’s going to be and I think that’s one of the real powers of open source is that it gives you that choice to how to spend your time and money. It doesn’t force you into a particular vendor’s model of you have to pay for support or you have to wait two years for the next version or whatever it is.”

This short excerpt addresses the fundamental issues raised by open source. As a user of open source, you have three choices:

  1. You can choose time to wait for people to fix your problems or implement your features.
  2. You can choose money where you pay someone (with greater expertise) to do it.
  3. You can do it yourself.

Arguably, #1 and #2 is present in closed source to some extent. However, the kicker is #3 – you can’t fix bugs of closed-source software.

For Commercial Open Source, this puts the pressure on the vendors to continuously provide value. Because the customers are thus enabled, the Commercial Open Source vendors HAVE to be responsive to the customers much more than closed-source. If a customer isn’t getting their bugs fixed fast enough, they will fix them themselves, but will also not renew a support contract since they are not getting the value. This is one of the fundamental differences between the closed source and open source models. This is also one of the reasons that Open Source companies seem to be more agile and have more releases than closed source counterparts.

Blogged with Flock

Tags: ,

State of New York Tech #1 – Universities

Another NY-based blogger, Hank Williams wrote a post about NY Tech Scene and how he feels it’s lacking. I wrote a post which I think is a bit too long, so I’ll break it up into several parts and post it over the next week or so.

It’s something I have been thinking a lot about as well. To be honest, I am not sure where I am on this issue. I am definitely interested in growing our community and recognize that it’s not as big as it could be. On the other hand, I feel we’ve been experiencing somewhat of a renaissance with all the community-based activities and meetings going on.

I have been in NY for a while, but only joined the startup community in the last few years. I know for smaller companies it’s very hard to find good people since I felt that pain at my previous company. Our CEO even came up with a pretty brilliant idea called Tour of New York, where they would cover all relocation expenses for good candidates and give them a corporate apartment in exchange for coming to New York for a year. The idea was to make it as easy as possible for somebody who has dreams of New York to get here.

In today’s New York Times, there is an article on how Seattle Tech community is booming. I found one paragraph especially disturbing:

“During the last 12 years, venture capital investment here has more than tripled, to about $1 billion annually. Last year Washington tied with Texas as the third-largest destination for venture capital money nationwide, behind California and Massachusetts.”

The fact that New York is not even vying for fourth place is unfortunate. In many ways, we are the capital of the world, never mind the United States. New York should be competing with Silicon Valley, not with cities a fraction of our size.

Universities

This whole conversation made me think back to Paul Graham’s essay on what it conditions need to exist for a Silicon Valley to flourish. According to Paul, two things make a “silicon valley” – rich people and nerds. Nerds congregate in Universities. NY Times Article specifically mentions the role being played by University of Washington. Stanford’s entrepreneurial past is well known.

In New York, I am just not aware of a significant role that Universities play. I know Polytechnic has been making some great overtures to the tech community, especially with their sponsorship of the Startup Weekend and BarCamp. Maybe with NYU – Polytechnic Merger NYU would become more prominent in this area as well. I know NYU has an interesting Interactive Telecommunications Program (ITP) program that hosts popular shows. I also know that Yale has a program designed to encourage their students to start companies, but I haven’t seen that get down to New York yet. Cooper Union (my alma mater) has hosted some NY Tech Meetup meetings, but I suspect that is because of Sanford Dickert’s own efforts as opposed to a push from the institution.

I see an opportunity to create a consortium of NY Metropolitan Area Universities to unite their efforts related to fostering entrepreneurial culture. We would have quite a nice representation:

  • Princeton University
  • Yale University
  • Columbia University
  • New York University / Polytechnic
  • Many others, such as Cooper Union, Fordham, Baruch, City College, Pace, etc.

Additionally, if these universities take more of a leadership role this can also play back into the rest of startup community, by helping us with spaces to meet, for example. They could become resources to the community.

Career Options for Students

Also, by simply making students aware that career paths other than “corporate IT job” exist, they would be adding people to the startup hiring pool. My guess is that few career counselors steer students towards starting their own companies. In New York, I am not sure how sexy it is to say “10% of our graduates make less than 20K their first year because they are founders of their own companies”. Many poeple get corporate jobs simply because at career fairs, only bigger companies are represented. Who is there to tell people of their options.

As a Tech Community we need to band together and educate students of their options. We need to give them examples of entrepreneurial successes. We need people at the career fairs advocating for people to start their own companies as a career choice. One possible driver of this might be NY-based Venture Capital Funds, since having more startups means more opportunities to invest in. I am not quite sure if we have other organizations that might take the lead on this.

* In next few installments, I will write about how I think that in NY tech is overshadowed by other industries core to the city economy, decry lack of “anchor” companies that educate the next crop of the CEOs, and finally end on a more encouraging note of how we can parlay New York’s strengths into more engagement and startups.

Your comments are very welcome. As a relative newcomer to the scene I am sure there is just a lot of information and resources I am simply not aware of.

Life-Changing Technologies and Services – Part 1 – Usability

I was thinking about some products and services that changed the way I live my life significantly. Not the ones that affected everybody – i.e. cell phone, or internet in general – these are part of a much larger socio-technological change (I think I just invented a word :-) ).

The four that came to mind can be subdivided into two categories. The first set of products makes something that was possible before MUCH easier:

  1. Tivo = TV + Social Life. I remember having a conversation in 2000 with a co-worker about a Tivo – he had one, I didn’t. I was telling him that what it does is the same to what most VCRs could do at the time- record TV. I don’t remember how that conversation turned out, but I ended up getting one.

    The big change that Tivo brought into my life is time-shifting. I watch quite a lot of TV, and now I can keep up with my favorite shows without having to sacrifice my social life. At no point in the last few years did I stay at home to watch my favorite shows instead of going out and seeing people. Also, this means I can watch TV more efficiently, since I can skip commercials. One thing I haven’t figured out is whether as a result I watch more or less TV because of Tivo J.

  2. Meetup.com – I remember the first meetup I went to – it was the NY Tech Meetup about a year and a half ago, organized by the Meetup founder, Scott Heiferman. I remember how exciting it was – people interested in the same things as I was talking about their startups. It practically forced me to write a blog about it (unfortunately, on an old blog server which I can’t quite recover). I am now a “member of” about 30 different meetup groups, of which about half I’ve actually been to, and others keep meaning to go to. Now, I regularly go to several meetups per week, ranging from technology topics, to entrepreneurship, to salsa dancing. This service actually changed the way I live my life.

The lesson here is how by making certain things easier, technology can make a huge difference. Both of these capabilities existed before – I could record shows with my VCR, and many offline groups existed around special interests. However, making it just a bit easier to record TV or to find like-minded people increases the likelihood you will do it EXPONENTIALLY.

This is something to keep in mind in many areas. Simple, more usable interfaces win. Here are some examples:

  1. Google search page vs. Yahoo’s busy front page.
  2. Seamlessweb – ordering food as simple as possible.
  3. Drop.io, a New York-based startup that allows anybody to create a simple collaboration space in seconds.
  4. Tripit.com – you don’t need an account to start using it – just forward your confirmation emails for airline, hotel and rental and it automatically parses and puts together an itinerary.

The simpler you make your service, the less hurdles between users and you – the better the user experience, and ultimately, more users.

Nature of Genius by Gladwell

Recently I watched an excellent online talk by Malcolm Gladwell. It is from the New Yorker 2007 Festival, and he discusses the nature of genius. He centers his talk on two people. – Michael Ventris, who deciphered ancient language Linear B, and Andrew Wiles, a Princeton Mathematics Professor who proved Fermat’s Last Theorem. Both of these men solved extremely sophisticated puzzles, but they came at them from different perspectives.

Michael Ventris conforms to our traditional paradigm of genius – he spent one and a half year on his free time (he had a normal job), and had a brilliant flash of insight when it all made sense. Andrew Wiles, on the other hand, took about ten years to solve the theorem, and built on work of at least thirteen other people who worked on the problem ahead of him.

Gladwell makes the point that Wiles wasn’t a genius. His key attribute to success is not having the most brilliant insight, but being stubborn in continuing to work on the problem. He brings up an interesting psychological theory – that it takes 10000 hours to achieve world-class mastery in many fields. This amounts to about 10 years. Andrew Wiles spend about that time on understanding Fermat’s last theorem, which means he was the most expert person in the world. This led him to finally solve the theorem. Not a flash of brilliance. 10000 hours of hard work that got him to the level of the world class and building on top of people who thought about this problem before. This is very interesting – this reinforces the idea that hard work is more valuable than inspiration or brilliance.

Gladwell also brings up two interesting theories (couldn’t find references, perhaps he used non-standard names):

  • Mismatch problem refers to how certain things do not match our preconceived notions. He gives an example of oncologists who have to diagnose certain cancers. Some of them are MUCH better at it than others. When they studied the reasons for this, they found out that the biggest different was in the TIME the doctors spent looking at the lab results. The ones who were good at diagnosis spent about 10 minutes looking at the results, as opposed to one or two minutes by the people who did poorly. This is counter-intuitive to our expectations – we would expect that doctors should be able to diagnose quickly, after all – this is what their training is about. However, our expectations are mismatched.
  • Capitalization problem. This relates to how people capitalize on opportunities given to them. He says that studies looked at how different ethnic groups capitalize on economic potential of their members. When people of similar IQs are tracked in their careers, we see that Japanese and Chinese Americans tend to capitalize on opportunities much better. Once again, this reinforces the idea that hard work pays off more than brilliance.

To conclude, Gladwell makes a point that the only way to solve problem like Fermat’s Last Theorem is through hard work, and this is what we need more of. Gladwell concludes with “The truth is we would much rather have a dozen Andrew Wileses than a single Michael Ventris”.

Social Networks – Social Media Club New York Meeting Summary – January 15, 2008

After meaning to for a while, I finally attended the Social Media Club’s meeting on Tuesday. The conversation was about Social Networks – the current state of the industry, and, more importantly, where it’s going.

They had two panelists, Andrew Weinreich, and Peter Shankman, moderated by Howard Greenstein, the founder of Social Media Club, who had a lot of his own experienced to add.

  • Andrew Weinreich is the former founder of the original social network, SixDegrees, and current founder and CEO of MeetMoi.
  • Also, Peter Shankman, CEO – The Geek Factory, Inc., Founder – AirTroductions, and an advisor to a few social networking startups.

The conversation was fascinating, the three panelists had some very good insights. Here is a summary, or an article, really – with a few of my own thoughts sprinkled in.

Historical Overview and Some Anecdotes.

Andrew started out with a little bit of historical perspective. He started SixDegrees with the idea that people want to know who their friends friend are. He found out that while this is true, all social networks are dominated by dating. All of them.

He shared some interesting anecdotes about SixDegrees. For example, Facebook is the largest photo site, and sharing photos are a key part of why it’s useful. Back in 2000, digital photography didn’t really exist yet, so it was not really viable to put up pictures on the site easily.

In general, there have been several paradigm shifts in Social Networking. First, addition of pictures to social networking. Then, broadband service and rich media content started driving adoption as well. As more and more people get online, the value of social networking increases. The network law is that a network’s utility is proportional to the square number of its users. For example, if only one of your friends has a phone, buying a phone is not that useful to you. However, if all of your friends have a phone, then not having a phone becomes a problem. Now, the current paradigm shift is that the social networks are becoming an application platform.

All these trends caused an evolution of social networks.

  • Six Degrees won the space because they were the first
  • Friendster won the space, not sure why.
  • MySpace won the space because it allowed people to express themselves
  • Facebook won the space because it paid special attention to privacy concerns

Given that, there didn’t seem to be much concern that Facebook is likely to lose. The consensus was that they are smart, and know what they are doing, and doing similar things to other social networks that are trying to defeat them.

OpenSocial vs. Facebook API – Google vs. Facebook.

This led into a discussion of OpenSocial and Facebook API. In the industry, you typically see the leader trying to promote their own platform as being best, while people who are lagging often band together and try to push open standards. This is what is happening, in a way. OpenSocial is an open standard that allows people to build applications that can run on many social networks. This stands in opposition to Facebook API, which is supported by Facebook (they are also licensing it to other players, I think Bebo licensed it). Right now it’s basically Google (OpenSocial) against Facebook. Google does have strengths in this area. Orkut, for example, is the largest social network in Latin America.

The core point is that if Google (or somebody else) makes contact manager truly interoperable, then the value of a specific social network will decrease. We won’t be locked into Facebook, we’ll be able to easily switch between networks and social applications. People understand that, this is one of the reasons Plaxo is important, and why it tried to release an application to get friends information from Facebook recently.

After the contact manager is interoperable, then any social network becomes Facebook. You can create your own and have it be useful to you almost immediately. This is key to more and more applications becoming social. This way, the social graph is the operating system, and we write applications on top of it.

How do we know that Social Networking Arrived?

The panelists made fun of some of the popular applications on Facebook that allow various poking methods, throwing ghosts, and vampires. This is a sideshow. The social networking will have arrived when major companies start building applications on top of social networks, i.e. Amazon, eBay, SEARS, NBC, etc, etc. For example, if SEARS builds an app, and can get reviews from your first degree / second degree on this refrigerator. Because this is a greater context and greater relevance for reviews / other data.

When we no longer have to use the word “social networking”, that ‘s when it has arrived. Sort of like we don’t say “search engine”, but just say Google. Somebody in the audience made point that for people who are in school or right out of school, Facebook has become such a big part of their lives, that for them it’s beyond comprehension that there is web without Facebook. For them, it HAS arrived.

Privacy & Personal Social Currency.

The panel agreed that privacy is a thing of the past. While we’ll have control over what we can share, there is a lot of data collected about us, often without our knowledge.

Peter gave an example of somebody who acted atrociously after a date with a girl he met online. Peter posted a post on it – How not to Act On JDate. This had tremendous repercussions for the person, he said he had to change his last name. Now, if you look up his name online, the article “How not to act on JDate” and a bunch of other posts related to that incident come up.

It’s expected that people will find out about you in job interview situation. We need to consider that. As professionals, we need to be aware of what comes up in a Google search for us?

This means that we need to manage information available about us, it becomes our social currency. How we choose to invest our social currency will determine the return we get on the currency. Peter, for example, said that his Facebook (or LinkedIn- don’t remember) profile has earned him 75K in business last year, partially because he made sure it has relevant content on it, and not a collection of superpokes and funwall posts.

Social Networks accelerate Social Behavior

Some people challenged panelists notion that social networks represent nothing new. Panelists clarified – it’s not like there is nothing new, but there is nothing new in social behavior. Technology providers who really understand human social behaviors, what instincts preceded internet, and build technology that facilitates and accelerates those interactions are the ones that are succeeding. Every company that tried to radically change people’s behaviors has failed. Companies that try to understand human behavior are more likely to win.

If anything, we’ve gotten closer to the core of the human nature. Internet has not spawned new human nature, it just made it easier to find answers to questions we always we wanted to know. One key difference is that we can do certain thing with more privacy (or perceived privacy, anyway). For example, we can look up a potential job prospect on the web without him finding out.

Social networking in the enterprise.

There is a lot of money being invested into bringing Social Networking ideas and Web 2.0 into the enterprise. One of the most obvious benefits relate to sales – using the trust network to find potential clients. However, within the enterprise there is also value in social networking as a way to find people who are facing similar problems, so collaboration can happen faster.

Some companies mentioned were VisiblePath, which can figure out the true social graph by tracking email activity, i.e. who is really communicating with whom. Also Spock was mentioned. Howard said that Microsoft with its Active Directory / Exchange could have capitalized on capturing of these relationships a long time ago, but missed the opportunity. Having done a lot of work with SharePoint, I know that they are investing very heavily into it now. A lot of people are trying to integrate with key Web 2.0 / SaaS providers like SalesForce.com.

The open source startup I work for, Alfresco, is releasing some interesting offerings around this, and we are finding clients (mostly large enterprises) very receptive. Here is a link to our CTO’s “Manifesto”. He is a former founder of Documentum, so he has a keen feel for enterprise space. I think we are well positioned for this space, since we come from another core Web 2.0 tenet, and that is “Data is Intel Inside”, or if I rephrase this a bit, “Content is the Intel Inside.” We have been innovating in this area, and recently released enterprise-oriented solution for Facebook, iGoogle gadgets, integration of our core content management offering with MediaWiki, and others.

Future of Social Networking

There was general consensus that going forward, EVERYTHING becomes LOCATION-BASED. Historically, there was a problem with location-based technology, it was dependent on the carriers giving access to information. After 9/11 the carriers are required to know position of each cell phone. However, they don’t give that information to small companies. Recently, Google did something brilliant, it
indexed locations of cell towers, and now can identify location without relying on carriers.

When everything in the world has an IP address. When this happens, our lives will be more connected, we’ll have more information. Information will be pushed as opposed to us having to pull it. We’ll just get relevant information everywhere we go.

Peter gave an example of a likely future. You land in London, text message sushi, get a list of five places, and also people who you know in the area. Possibly recommendations by your friends of the sushi places, so you can pick. The key here is phone.

In the next few years, everything you are doing on your computer, you’ll be doing on your phone. You’ll have the same functionality, plus add location-based services on top of this. Expect to buy several phones over the next few years. This is one of the reasons why both Google and Yahoo and Microsoft are making such pushes into the mobile space.

UPDATE:

Howard Greenstein put up a link to the mp3 of the meeting.

http://www.socialmediaclub.org/2008/01/16/social-media-club-nyc-meeting-11508/

Talk Follow-up – Agile Experience Report – Scrum in Training @ APLN-NYC

 

Earlier this week I spoke to the New York chapter of Agile Process Leadership Network . I spoke about my experiences adopting agile techniques, more specifically Scrum, for the training boot camp I ran with my previous company. The title of my talk It was fun sharing the experiences. They will post the slides as well as a video of the talks at their website.

Thanks to Jochen Krebs, and the International Academic Alliance for making me feel welcome.

3 Seamless Experiences

1. My former co-worker Ajay raved about SeamlessWeb a few months ago. I finally tried it today – it’s great.  It’s a restaurant site that automatically integrates with restaurant’s ordering system.  All I had to do was pick a restaurant, click on the dish I wanted (General Tsao’s Chicken).  Since it was a lunch special, it allowed me to choose white or brown rice, and a choice of soup.  I paid with my credit card, including the tip, and 20 minutes later the food was here.   This is the type of interface and simplicity that more and more online services are creating.  They find something that’s valuable to people, and make it insanely easy and convenient. 

2. Another one is the Flock Browser. I just found out about it recently and installed it.  Within about 5 minutes I had integrated it to my WordPress blog (I am writing this post through Flock’s built in blog editor), looking at status of my friends in Facebook, and browsing through Flicker photos.  Seamless experience again – a browser that’s very well integrated and designed for humans as social beings.  Love it.   Really makes me think of possibilities. 

3. Yesterday I learned out about a tool for Mac called QuickSilver.  It’s a software that makes it very easy to search and open programs.  I found a few ones that are similar at lifehacker.  If finally settled on a program called KeyBreeze.  So far I love it.  It allows launching programs with a few keystrokes, has stick-it notes, allows to search the web or wikipedia or movies with a few keystrokes as well.  Nice and simple and extremely powerful.  I no longer have to look through a huge list of installed programs just to find the one I am looking for.  Windows Vista has search-based start menu as well, but this is even more convenient.  For example, to start MS Word, I press the hotkey ‘;’ anywhere I happen to be, then type ‘wo’ and the top application is Word.  Press ENTER – word is launched. 

A good problem for us enterprise software developers to have is that people will get used to this seamless experience.  Forrester called this recently “Technical Populism” – people demanding the same seamless experience with their software at work as they do in the web.  I am excited to be part of the people bringing that to the enterprise.  

Blogged with Flock

Tags: , ,

Lessons for New Technologists

I am now finishing up a boot camp-style training program for recent college graduates. It’s an experience I enjoyed tremendously. The students were a very fun bunch, and did a great job on the assigned project. One of the things this really showed me is just how much I myself learned since graduating from college – something I really got to see in this situation.

The biggest difference does not have to do with knowledge of certain technologies – that comes with experience – it is in how you approach tasks. The following are the three most important things that might distinguish an experienced engineer from an inexperienced one:

  1. Breaking big tasks down into manageable tasks. The first and the foremost is that when faced with a new task, you have to take baby-steps. You need to know how to break down a hard problem to something simpler, and evolve it to a solution.
    First you want to get a good mental conceptualization of the problem – if you don’t understand what’s going on from a 10000 feet view, it’s going to be impossible to know where to start. When faced with a new unknown task, I try to read up on the basics, get a good introductory understanding. I also look for resources available. After that, I start experimenting with the technology. This is why “hello, world” is such a powerful concept – it says that you have mastered enough of a language / technology to write the simplest program possible.

    For example, say you are tasked with writing an ecommerce website that needs to be process PayPal payments. You have to write it in php, but you don’t know php. How do you approach this? Let’s try to break this down a bit.

    1. Write a “Hello, world” in php
    2. Write a “hello, world” web page in php
    3. Write a “hello, world” web page in php that also gets user’s name and writes it out.

    If you can do this, this means you can start evolving closer to your requirements now.

    For PayPal, same thing applies – break things down.

    1. Start with trying to find an overview of how to integrate with PayPal – it’s very likely that many people have done this before you.
    2. Once you have a good basic understanding, try to write some code to connect to PayPal, just to prove you know how to do that.
    3. After you have your initial connection experiment done, go on to more advanced tasks, like actually sending payment information over to PayPal.
    4. Only after you have all these experiments complete can you think about designing a good solution to your problem – by now you understand enough about the problem itself.

    Throughout the task, you need to identify if there is something missing for you and come up with ways to get through the roadblock.

  2. Perseverance and resourcefulness. There were times during the project where some of the students would simply get stuck. This is perfectly normal, happens to everybody. However, what distinguishes an experienced engineer from an inexperienced one is what happens next. Fresh-out-of-school engineers still have the expectation that there will be somebody to help out – so they go to their instructor, or to their manager, for help. They send out an email, and then wait for response, possibly for hours or even days. This may work in the academic environment, but you are not in school anymore – it’s nobody’s job to make sure you get unstuck. You are getting paid a good salary to solve problems, and if the person in the best position to help you is unavailable, this should not mean your task will not be done. You must figure out how to move forward.
    You need to think creatively of where the potential solutions to your problems may lie. Can you think of somebody who is likely to know about this problem and help you out? If your email is not being returned immediately, can you try to pick up the phone and call, or even go to the person’s desk? This is one of the things that distinguishes star performers from average ones. With time, you will form a network of people you can go for help, and it will be easier and easier to solve these problems, but being junior is not a good excuse if you want your career to go somewhere. If you are really stuck even after you did everything you could think of, you can then escalate to your manager – hopefully he / she will be able to help –
    but
    at least this way you can tell them that you have tried many potential solutions – making you look like a competent employee, not as a cry-baby.
  3. Finishing things, and getting things done better than expected by your manager. This is also very important. Chances are, your manager has too many things to do to actively manage you and follow up with you. Therefore, you need to think about a task given, and make sure you really understand not just what the manager said, but what they really meant, the context of the task. This will help you to formulate a good idea of what it will take to finish the task to the highest expectations of your manager. Then go for it – perform the task in a way that it’s better than if your manager would have done it himself. This doesn’t mean you can’t ask for help, but it does mean that you need to self-manage as much as possible.
    Also, make sure you see it to the final completion. The better your ability to self-manage and perform tasks to highest levels of quality, the more likely your manager to have confidence in you so that he / she can give you more sophisticated tasks.

I highly recommend the book “How To Be a Star At Work” by Robert E Kelley. Here is also a review / recap of the book in Fast Company – http://www.fastcompany.com/magazine/15/star.html.