Software Engineering, Project Management, and Effectiveness
When you can speak the language, it’s easier to find your way around. One of the key things I’ve learned at Microsoft is that I can find my way around the platform fast, *if* I know the language. The language usually consists of scenarios or topics, features, and APIs.
The toughest part is usually mapping out the features. The beauty is that if you know the features, they tend to be a token or a handle that connects you to various documentation sets, presentations, samples, and a plethora of other resources. The other value of knowing the feature names is they tend to be unique names, so they are more precise and they help cut to the chase when searching through vast seas of information.
Here is an initial map of the Microsoft Application Platform from a topics, features, and API perspective. It’s effectively a language for the Microsoft application platform. Note that while many of the feature or API lists may be out of data, you can use the idea to build your own maps. Once the frame is in place, it’s a lot easier to update it with current information. In fact, this would actually be useful as a Wiki map. It would serve as a master map of the application platform, that would make it easy to connect to relevant resources, using a common frame and vocabulary.
The map starts off by focusing on the most common application types, and then walking each core technology building block, then drilling into topics, features, and APIs.
Enjoy the map … and please extend.
Application Technology Patterns
ADO.NET Topics and Features Map
ASP.NET Topics and Features Map
View more …
Silverlight Topics and Features Map
View More …
WCF Topics and Scenarios Map
Windows Azure Topics and Features Map
Windows Client Topics and Features Map
Windows Phone Topics and Features Map
I would definitely add F# and F#-related technologies like Type Providers...
+1 on F#, thats definitely an omission!
@ Petr -- If I were to add a language branch, I would include Visual Basic, Visual C#, Visual C++, Visual F#, and JScript to be inclusive.
@ Dave -- To add the leaf, I would add the branch. In terms of omission, I would also call out a dev tools branch as well.
It's great to see the passion for F#.
This is fantastic and reminds me of another of your posts, blogs.msdn.com/.../mapping-out-the-microsoft-application-platform-at-a-glance.aspx.
My big question is can you find a home on MSDN for these type of lists and ensure they are kept up-to-date as the Microsoft platform progresses? If you could do this then this would be simply invaluable.
@ Carl -- Thank you.
I wish I could. I always thought MSDN would be the right home for this kind of information vs. my blog. I've tried many times and many ways with MSDN, but it always ends the same way. What might work is if I could create a healthy spot on the TechNet Wiki. That might be a workable way forward.
Blogs are great, your blog has been a constant source of information and knowledge but IMHO blogs are being used to replace traditional documentation. MSDN is rarely where I find the information I am looking for these days, it is much more likely that it will be in a blog that belongs to the developer etc.
The issue with blogs is that they are inconsistent, unstructured and hard to find. When you do find a quality blog it can be a gold-mine of information however this is often through lucky searches on Google than via the more traditional approach of navigating your way through structured documentation.
It would be great if all Microsoft people posted to the same blog system but often they are on completely unrelated domains and not indexed or linked from anywhere trustworthy.