This talk compares Open Source (Open Stack) against Microsoft's .NET stack.
It helps startup assess which is better for their startup.
The video for this talk is here: http://bit.ly/H3Xu0c
Potential of AI (Generative AI) in Business: Learnings and Insights
Open Stack vs .NET Platform for Startups
1. development
THE OPEN STACK!
Open Stack vs. C#/.Net Platform!
Focused only on building Web based Startups!
Speaker! This Talk:!
Bryan Starbuck! ! Video: <Coming>!
CEO & Co-Founder – Stealth mode startup! ! Slides:
- Former CEO of TalentSpring (Acquired 2010)! www.slideshare.net/BryanStarbuck/presentations!
- Former Engineering Managed!
Linked-In: Linkedin.com/in/bryanstarbuck!
!
March 21st, 2012!
2. MSFTees often do Well in Startups!
MSFTees have Great RAW Potential in Startups:!
! Microsoft interviews find great characteristics for startup people: Strong
drive, intelligent, great computer science fundamentals, face problems
head-on, strong passion for building products and businesses.!
!
The Reason for this Talk:!
! In my many lunches with MSFTees wanting to join startups, they are
often surprised by many things in this talk!
! Some MSFTees are always looking at the startup space. !
! A healthy company with 9-year average MSFT employment results in 1,000
people leaving Microsoft every year (@ 90k employees)!
! I want MSFTee to Startup transitions to happen as smooth as
possible!
Slide 2! bryanstarbuck.tumblr.com!
3. Ex-Microsoftee Founded Startups!
Microsoft Founders of Startups (Acquired, IPOed, or Significant revenue):!
! Jonathan Sposato @ Picnik: ACQUIRED!
! Dan Shapiro @ SparkBuy.com (Shell) ACQUIRED! Rev, Acquisition or Market Cap
! Mike Matthew @ All Stars Directory ACQUIRED! Amount:!
! TA McCann @ Gist.com (Exchange) ACQUIRED!
$1+ billion: 3!
!
!
Joe Giordano @ PayScale! Companies!
! Rich Barton @ Zillow & Expedia IPOed!
! Mike Slade @ Starwave ACQUIRED! $100+ million: ! 6!
! Kevin Merritt @ Socrata!
Companies!
! Jordan Schwartz @ Pathable (MSN)! $30+ million: ! Many!
! Bill Bryant @ Qpass, Visio, Mixxer, etc.!
! Hadi Partovi @ Tellme Networks & iLike ACQUIRED!
! IPOed!
5!
Alex Castro @ Delve Networks (Shell) ACQUIRED!
! Rob Glaser @ Real Networks IPOed!
! Gabe Newell @ Valve!
! Alex St. John @ WildTangent! Companies!
! Bryan Starbuck @ TalentSpring (Shell) ACQUIRED!
Slide 3! are often confidential and anonymized.
Numbers Some information came from people in the companies listed!
bryanstarbuck.tumblr.com!
4. Deciding is a BUSINESS Decision!
Open Stack vs. C#/.Net Platform!
How many startups Decide:!
! Cost to run the company
(Often head-count costs)!
! Speed to market!
! No disadvantage competing with competitors!
Slide 4! bryanstarbuck.tumblr.com!
5. Engineering is VERY Expensive!
Assumptions: Startup Engineer Salary $80k / year !
Cost to Run company is: 60% of Engineers salary
(This is true BEFORE adding big sales teams or marketing costs. Pre-launch and often post-launch for non-VC funded companies)!
BLACK is just direct engineer salaries. BLUE is average cost to run the company, pre-big marketing & sales!
Important Take Away:!
! Engineering COSTS are often the BIGGEST factor! ! Competitors can win with smarter
! Engineering WASTE will KILL! engineering cost structure!
Slide 5! bryanstarbuck.tumblr.com!
6. Visualize the problem of Costs!
Scenario #1: Churning Marketing pages of a Website:!
(For SEO, improving Conversion rate, or expanding Marketing information)!
! !
! $6k to $10k! $0k!
! Requires Dev to Change! Marketing changes w/o Devs!
If it requires touching code to change the marketing pages of a website, it can take 1-dev
month in a year of normal changes!
Scenario #2: Many vs Few dev-days to create each page:!
!
If a startup normally wants to add 20 web pages per month (settings, etc.). What is the cost
per month?!
1/2 Pages per day! 3 Pages per day!
! !
$15.8k for 20 pages! $2,640 for 20 pages!
Inefficient Startup! Efficient Startup!
Slide 6! bryanstarbuck.tumblr.com!
7. Benefits of the!
.NET Platform!
Slide 7! bryanstarbuck.tumblr.com!
8. .NET: Incredible DEBUGGER!
Big Strengths in the .NET Stack:!
1 The Open Stack does NOT have a debugger nearly as incredible!
Slide 8! bryanstarbuck.tumblr.com!
9. Platform is Smaller & Less Redudancies!
Big Strengths in the .NET Stack:!
2 The Open Stack has a long-tail of versions of a COMPONENT for each part of the
stack, all varying in quality and levels of support!
Slide 9! bryanstarbuck.tumblr.com!
10. Linux Servers require Time to Learn!
Big Strengths in the .NET Stack:!
3 Windows server is simple to configure. Linux server takes an investment to learn!
Slide 10! bryanstarbuck.tumblr.com!
11. Microsoft has great .NET Local Engineers!
Big Strengths in the .NET Stack:!
4 Lots of .NET engineers locally. Microsoft contains some great engineering talent!
! GREAT Engineers are always hard to find!
! Some MSFTees (~5% ?) can work without salary
for 6-months to a year!
! Enough to scale for quite a while!
!
Slide 11! bryanstarbuck.tumblr.com!
12. Zero worry about IP ownership!
Big Strengths in the .NET Stack:!
5 No worries on IP ownership!
! This normally isn’t a problem for startups, but
this is valuable in some cases!
IP & Open Source!
! Almost never a problem! ! Adjustments inside OS
! If running on the server, componets are often not critical
doesn’t require disclosing IP!
(aka “Redistributable”)! ! Much less problematic than most
! Startups use OS MSFTees realize!
components, but APIs ! Not a problem during acquisition!
bridge across them!
! Many more reasons…!
Slide 12! bryanstarbuck.tumblr.com!
13. Great for DESKTOP Applications!
Big Strengths in the .NET Stack:!
6 Great for Windows Desktop Apps!
! This talk is focused on Website startups!
! It is hard to beat .NET for Windows Apps!
Slide 13! bryanstarbuck.tumblr.com!
14. Benefits of the!
“Open Stack”!
Slide 14! bryanstarbuck.tumblr.com!
15. Definition of “Open Stack”!
“Open Stack” ≠ “Open Source”!
“Open Stack” ≠ “Linux Operating System”!
!
Definitions:!
“.NET Stack”: Components across this stack generally interop together via the CLR,
Windows OS COM or ASP.NET generally!
!
“Open Stack”: Uses interop across components preferred and common in the open
community. (GEM dependencies, apt-get, Rails dir structure, GEMs for API integration,
and sometimes linux OS constructs)!
!
! Some components run on Windows OS perfectly (and without Cygwin)!
! Some require Linux (or Cygwin on Windows)!
! Some talk about running on Windows, but production level quality isn’t available!
! Some purely require Linux (or full Cygwin)!
Slide 15! bryanstarbuck.tumblr.com!
16. The Philosophy – of Open Stack !
in the MSFT Office Team! I moved to WINDOWS Team!
“!The OFFICE team
has a SHARED
CODE team !
“! I now work with the
Windows team’s
SHARED CODE team !
”! ”!
“! The OPEN STACK is the
SHARED CODE team for the
WORLD of open developers !”!
DRY = Don’t Repeat Yourself !
Slide 16! bryanstarbuck.tumblr.com!
17. Tour the Stack!
High Level View:!
External Services! Code Base!
Marketing! Ajax
Blog (Wordpress)
Forums (PHPBB)
(Growth)
Fast Web Layout
Workflow (vTiger)
CMS (Drupal)
Sales - CRM
GEMs
Cross-Site Auth
Billing
BUS (RabbitMQ)
Email & SMS
Hadoop
Automated Testing:
Cloud Hosting Services
MVC
Blackbox
Automated Testing:
Rails Dir Structure
Browser Based
Localization
Package Distribution Systems
Linux OS Support
Deployment
DB Debugger (PHPMyAdmin)
NoSQL Database
KeyPair DB
IT Monitoring
Relational Database
And
Much
More
Slide 17! bryanstarbuck.tumblr.com!
18. Work ABOVE the open stack!
Writing Code in 2002! Writing Code in 2012!
Your Specific VALUE-ADD!
Code you have to write
Your Specific VALUE-ADD!
!
Code you have to write
Open Stack!
!
(World Shared Code team)!
Language Libraries
Language Libraries
Language
Language
Slide 18! bryanstarbuck.tumblr.com!
19. MVC and Creating Pages!
Goal: Devs can create 3 pages per day, and not ½ page per day! MVC &
(Goal for 20 web pages is $2.6k instead of $15.8k)! Page Creation
!
This is why Ruby on Rails is used so Heavily:!
! Create Schema: I want a STUDENT record, a PARENT record, a SCHOOL record,
and a TEARCHER record.!
! It Auto-magically creates the work in the database!
! It Auto-magically creates the work in the OBJECT MODEL!
! It Auto-magically creates the work in the WEB PAGES! Create Student Page
Edit Student Page
Teacher Pages
View Student Page
Life of Students Page
School Pages
Slide 19! bryanstarbuck.tumblr.com!
20. Ruby GEMs !
! ½ BILLION downloaded!
! A HUGE stack inside just GEMs! GEMs
! Are there more GEMs than MSFT SDEs?!
! Get them on your server is easy. Type “gem install devise”!
! GEMs can let you:!
! Site Login, Cross-site Auth!
! Turn addresses into Lat/Long city, state, zip!
! Pack and unpack ZIP files! The Winner is Determined by:!
! Create PDF files!
! Security ACLs! By the Size
! Create images programatically!
of the Ecosystem!
! And 36,075 more tasks!
Slide 20! bryanstarbuck.tumblr.com!
21. Tour the Behavior: NON Open Stack!
Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2)
Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to
Accounts
CREATE ACCOUNT is now finished !
“!
Manager of non-Open
2 weeks of coding!”! Stack company!
I completed Cross-Site Facebook Create
New Hire Engineer!
“! Account, with authentication code!
”!
“!
With non-Open Stack 2 more weeks of coding!
Background!
Security ACL pages to user accounts
“! is now complete. !
”!
2 more weeks of coding!
Slide 21! bryanstarbuck.tumblr.com!
22. Tour the Behavior: Open Stack!
Welcome New Hire. Your first 3 tasks are: 1) website CREATE ACCOUNT, 2)
Create Account with Facebook / Twitter / Google+, 3) Security ACL pages to
Accounts. How long will it take you?
It will take me 6 weeks, 2 weeks each ! Dev Lead Mentor!
“! ”!
!
In Open Stack company!
5 minutes later!
Are we the first website on the PLANET to create this
Create Account functionality? Install the DEVISE GEM
“!
University New Hire!
accomplish CREATE ACCOUNT. Install the OmniAuth GEM
for FACEBOOK. Install the CANCAN GEM for ACLs
!
“!
I’m DONE
”!
After 8 hours on first day!
Slide 22! bryanstarbuck.tumblr.com!
23. A challenge with NON-OS to OS Hires!
If we hire you, we need to worry and plan for a 12-month RAMP UP period.
Dev Lead Mentor!
I can learn a new computer language
“!
!
In Open Stack company!
(ruby on rails) quickly. It will only take
me FOUR weeks to learn a language
and it’s language library !
”!
Experienced NON-Open
“!
Stack interviewee!
We have three problems with expectations not matching:!
1) Learning a wide range of OPEN STACK will take 6 to
12 months!
2) I need to heavily mentor for him to use the OPEN
STACK instead of writing from scratch!
3) BigCo hires and has 12-month transition times.
SmallCo needs productivity sooner!
Slide 23! bryanstarbuck.tumblr.com!
24. Building a
Startup!
Slide 24! bryanstarbuck.tumblr.com!
25. Let’s Build a Startup WITHOUT Code!
Our Startup Will:!
! B2C for Consumers to SEARCH FOR HOTELs. Vertical Search engine for Hotels !
! B2B for Hotel (businesses) to learn how we send them LEADS from customers!
! Marketing web pages marketing to Hotel Business customers on why to buy LEADs!
! WORKFLOW for 70 employees in a hotel have CRM over leads!
Vertical Search Engine!
Marketing Pages! CRM Workflow!
Slide 25! bryanstarbuck.tumblr.com!
26. Drupal – Your Homepage & Marketing!
ZERO Code for your “Logged Out” Website:!
! Your Home Page. Paste in HTML into editor without writing code!
! Gives you TOOLBARS and SIDE NAVIGATION PANELS!
! Great for your marketing pages: How it Works, Features, Testimonials, About Us,
Contact Us, Privacy Policy.!
! Great for: SEO, Lead Forms!
! My first startup spent ~4 months of a dev creating out “logged out website”!
! Then we replaced it with Drupal for $3k (~8 days dev salary)!
Marketing Pages!
! Let marketing “CHURN” away much faster without needing
any time from devs.!
Slide 26! bryanstarbuck.tumblr.com!
27. SOLR – Powering your Vertical Search!
Many sites do a “Search” and show results: (Yelp, Kayak, Google Search, etc.)!
! It supports FULL TEXT SEARCH. It includes “Stemming” (“Running” = “Ran” = “Run”)!
! It includes full BOOLEAN SEARCH – “MP3 Player” AND (“Nike” OR “Reebok”)!
! It supports: FACET Search, or Search Criteria!
! Price between $40 and $100.00!
! Includes POOL! Vertical Search Engine!
! Staying 4 days!
! Includes Geo-Location Search: !
! Within 21 miles of…!
! 98023, or!
! Mercer Island, wa!
! 123 Main Street, Redmond, wa!
! King County, wa!
! Vancouver, BC, Canada!
! Database SHARDING for multi-database spanning!
! Supports 100s of Terabytes to search!
! Supports SEMANTIC SEARCH and custom search!
Slide 27! bryanstarbuck.tumblr.com!
28. “Workflow” – is the Value-Add in Many Startups!
70 Hotel Employees need to work with your data:!
! vTiger gives you the benefit from SugarCRM (tens of millions invested), which is a
clone of SalesForce CRM.!
! vTiger is open source and FREE. !
! Each Employee needs a SEPARATE ACCOUNT with ACL Security. Included.!
! Each data type (Customer, Hotel, Room, etc.) has their own CREATE page, EDIT
page, READ page, VIEW LIST page, etc.!
! Full View Reports module.!
! Full APIs for Read/Write of the data.!
! Much, much more. Clone of SalesForce…! CRM Workflow!
Slide 28! bryanstarbuck.tumblr.com!
31. Summary!
Focus on Business Goals when Selecting:!
! Reducing Costs – and almost engineering costs!
! Speed to market!
.NET Platform:! OPEN STACK:!
! Hiring great Microsoft Talent! ! Bigger Stack: No engineering costs rewrite
! No need to learn the OPEN STACK! what already exists!
! Incredible DEBUGGER! ! Get business value often without writing
code!
! Great for Windows Applications!
! Open platform integrates with platforms
! Absolute Zero worries on IP! from SalesForce, Google, Facebook and
! Multi-Threaded CLR matches Java non-Microsoft companies!
and beats Ruby, Python, etc.!
Slide 31! bryanstarbuck.tumblr.com!
32. THE END!
Thanks for Listening!
Slide 32! bryanstarbuck.tumblr.com!
33. Person #1’s Feedback (1 of 2)!
The following feedback was from an experienced startup person, and often ex-MSFTee!
II spent many years working on the .NET stack at <Profitable seattle startup at ~$15m to $30m in revenues> (as technical co-founder, architect, etc). I have over 15 years experience on the MSFT stack, from VB3 to
VS 2010.!
!
Last summer, I built a new site using .NET + Entity Framework + ASP.NET MVC3 + Azure. That went nowhere for various reasons, and I started over. (I'll probably push that code to Github at some point)!
!
I am working on a new site (since November) that is a bit past prototype phase. I built this on Rails 3.2 + ActiveRecord + Heroku. I also evaluated NodeJS and Python/Django as alternatives. I went with Rails because
it was more mature than NodeJS, and seemed more vibrant for web development than Django.!
!
Here are some answers to your questions:!
!
Strengths of .net & C# stack:!
Debugging is far superior in .NET than it is in Rails. !
Intellisense works better in C# than in Rails.!
BizSpark gave me a free copy of VS 2010 and Office.!
SQL Azure is well designed and functions as I'd expect it to !
Functional programming is quite clean in .NET.!
I have confidence that upgrading major versions of .NET and windows will be relatively smooth. I have never had major issues with .NET stack upgrades (maybe a little from 1.1->2, but that wasn't a big deal)!
NuGet is a great idea.!
ASP.NET MVC is a huge improvement over webforms.!
!
Issues with .net & C# stack:!
!
BizSpark Application Process!
BizSpark initially rejected me because I didn't have a website (??!) or a business setup. There was all this "get listed in a directory" stuff that was absurd when you are just a dev trying to hack around. It's like they don't
understand how this works sometimes. In the end, I reapplied, made up a company name, and put up a fake site on Google Sites. But it took me weeks. I should have been able to signup in 10 minutes.!
!
Azure!
I chose Azure because I wanted to learn it. I thought it would mean I could spend less time dealing with the OS. That promise was not fulfilled, and I actually spent far more time than necessary.!
!
With BizSpark, there was a 3 month free window. That was not enough time, it should've been at least a year. They should have an always-free window for small apps. I spent way too much time fighting Azure. !
!
Azure is very challenging to get up and running (keep in mind this was last August/September). It was not mature back then, but I had lots of issues deploying.!
Here are two examples, that I ended up posting on SO. There were many more that I just struggled through. I calculate at least 2 weeks of a 2 month project on deployment issues. !
http://stackoverflow.com/questions/7487285/windows-azure-with-multiple-sites-in-one-role-not-transforming-2nd-web-debug-con!
http://stackoverflow.com/questions/7592043/web-deploy-error-with-azure!
http://stackoverflow.com/questions/4483670/how-to-speed-up-azure-deployment-from-visual-studio-2010!
!
SOLR!
I chose SOLR and SOLR.NET for my search. I actually hacked up a way to host SOLR on Azure but it was painful and probably wouldn't have worked long term. Wiring up SOLR.NET to my framework took me over a
week. I guess they probably don't want you to use SOLR. !
!
Dependency Injection / Static Typing !
Dependency Injection frameworks such as Ninject or Castle do not fulfil their promise - you have to write a lot of configuration code to get them to work. Your app code gets simplified but not much. And it isn't
completely tooled up for all scenarios. Here's a small example, not a big deal, but just annoying stuff like this slows you down:!
!
http://stackoverflow.com/questions/7586075/using-ninject-with-custom-webviewpage-type!
!
I had to write huge amounts of configuration code in xml files or in constructors.!
!
Entity Framework!
Entity Framework is not easy to customize. I often use a schema that has an internal ID key for joins, and a natural key that is either a string or a GUID for external use. This was incredibly painful in Entity Framework !
Slide 33! bryanstarbuck.tumblr.com!
34. Person #1’s Feedback (2 of 2)!
The following feedback was from an experienced startup person, and often ex-MSFTee!
Open Source!
The open source community is anemic. I needed an OAuth library, and the most popular one was http://www.dotnetopenauth.net/, which is a spaghetti nightmare. There are some other ones with better designs, but they
aren't done. They are also all just object libraries, with poor integration into ASP.NET. Similar cases with User authentication, !
!
Powershell!
The verbosity of Powershell just makes it hard to use and remember stuff. It's always secondary to GUI stuff and so you usually end up using GUI tools for many management tasks, which is bad.!
!
Strengths of open stack stack:!
Heroku / AWS!
Compared to Azure, heroku was a dream. I deploy in < 1 minute. Staging + production just work. Zero upfront costs forever. Super fast. Lives on AWS so I can drop down to AWS when necessary. Great ecosystem:
WebSOLR, AirBrake, New Relic, SendGrid. Just plug and play. !
!
Rails!
Rails/ActiveRecord is optimized for quick prototyping. It is so awesome to write a few lines of code and it just works. You focus on the product, not on the stack. !
!
Rubygems.org / Github!
I was able to add a ton of features quickly to my site with almost no work. Some great gems: Devise, Omniauth, Delayed_Job, Paperclip. Someone has usually been through some basic problem and there's almost always
a gem that gets me past the basic stuff.!
!
RSpec!
RSpec is a great advancement over unit test platforms. I love it and actually enjoy writing tests now. There is a .NET version called NSpec, but i've not tried that. It doesn't seem as popular. !
!
CLI Based Efficiency!
Everything is a shell script, which starts of slower but is so much faster in the long term!
!
The source code!
I love that I can just look at the source code, in the gem lib directory, on my own computer, step through it, fork it on github, change it. It gives me a great sense of peace and confidence. I don't really know why. !
!
Issues with open stack stack:!
Anti-windows bias!
I tried to get Ruby/Node working on Windows. It "kind of" works but you struggle more than you should. Core gems usually work, but there are often setup scripts written as bash scripts that haven't been ported. Ruby is
the worst at this, NodeJS is nearly as bad. here's a NodeJS example:!
https://github.com/maccman/hem/issues/23!
!
Testing to IE requires a VM which means you basically don't bother, and curse it afterwards when stuff breaks.!
!
Linux is buggy for development / desktop!
I ended up dual booting my windows laptop to Linux Mint. Linux Mint is ok. Battery life is poorer than Mac/PC laptops. Installing basic software with apt-get can be ponderous and scary. My touchpad randomly stops
working.!
!
Dynamic Language Clobbering / Errors!
Every once in a while, you will be working and just get some completely bizarre error. It is usually because two gems are clobbering each other in a global namespace. Stacktraces are nearly useless in this case, unless
you understand !
!
Syntax!
Ruby blocks are a weird thing. The code just looks messy. There are some weird spacing bugs that you have to figure out.!
!
CoffeeScript got dumped into Rails 3.1 as the default JS syntax. It's a little impure because it sits on top of Javsacript. So you can't ever forget you are in javascript. I struggled with it for a while, I'm not really sure it's
much better, but you are forced to learn it if you have any NodeJS components because it's what everyone uses.!
!
Poor documentation!
I tried to initially learn Rails via reading documentation, because that's how I used to do it on msdn. Big mistake. You have to just go write some code and ignore the nonsensical syntax of Rails for a while. Hard to do for
Slide 34!
C# devs who often want to learn the whole thing bottoms-up.! bryanstarbuck.tumblr.com!
35. Person #2’s Feedback!
The following feedback was from an experienced startup person, and often ex-MSFTee!
Strengths of .net & C# stack:!
Great support in Visual Studio - a fantastic IDE for editing .NET programs with Intellisense.!
BizSpark!
SQL Server!
Many good .NET developers in the local area!
Rapid innovation in the language / platform - LINQ, lambda expressions, async, ... Java is far behind on many of these!
LINQ - a simply brilliant addition to the language!
ASP.NET MVC - embracing the best of what the rest of the world is doing and making it their own!
Efficient Garbage Collection tuned to server or client makes GC a non-issue for 99.9% of uses!
NuGET package manager and a rapidly growing package library to pick from!
Moves by Microsoft to be more transparent in the design and development process (NuGet, ASP.NET MVC, EF, WebAPI, CQRS guidance)!
Strong-typing (aka having a choice of types instead of being forced to use just one dynamic type)!
You can use Reflector to look inside any code you don't understand!
You can mix in open source components wherever you like and there are many excellent third party open-source components for .NET, e.g. nHibernate, Autofac ...!
You can learn from reading the code in the many great .NET libraries and applications including many recent Microsoft releases like ASP.NET MVC, Orchard CMS, ...!
!
Issues with .net & C# stack:!
Microsoft technologies and documentation tend to be designed for the 'happy path', e.g. WCF. Makes for great demos but the reality of getting them to work reliably in production is hard.!
Microsoft puts security obstacles at every layer (that most people turn off) making it tough to configure even simple things (e.g. CAS, permissions on servers, ...).!
!
Strengths of open stack stack:!
You don't need Reflector to look inside code!
Easier to replace code you don't like!
Always free (except for support, of course)!
Strong community around many popular packages!
!
Issues with open stack stack:!
Fragmentation - you go somewhere to work and they have their own hacked version of some core feature in library X!
Figuring out which libraries and which forks of those libraries are the best ones to use!
Libraries that nobody is maintaining any more!
!
Challenges MSFTees often have in the transition:!
Lack of awareness of the latest Microsoft .NET technologies, e.g. there are developers at MSFT who haven't even used LINQ!!!!
Lack of awareness of the many great open-source libraries for .NET!
Lack of awareness of modern software practices, e.g. IOC containers!
Lack of awareness of databases besides SQL Server, especially highly-scalable ones like MongoDB, and non-RDBMS like graph DBs etc.!
Thinking that Microsoft's library for X is the best one when there are much better free ones available!
Trying to use Outlook and Exchange instead of switching to Google Apps!
!
Great Solutions to that transition:!
Before you leave, start learning! !
Never stop learning new stuff.!
It's cheaper to learn new stuff while you still have a paid job and healthcare! !
Try nHibernate, MongoDB, SignalR, jQuery, Angular.js, Autofac, Node.js, …!
Slide 35! bryanstarbuck.tumblr.com!
36. Person #3’s Feedback!
The following feedback was from an experienced startup person, and often ex-MSFTee!
Strengths of .net & C# stack:!
Great for Windows? I'm not sure I've done anything in .Net and C# that couldn't have been just as easily or more easily
done with other technology except when it comes to programming for Windows.!
!
!
Issues with .net & C# stack:!
Portability (barring the Mono discussion). In many cases, it's also not the fastest way to build a solution. And some great
OSS uses other languages and frameworks.!
!
!
Strengths of open stack stack:!
Frequently updated as long as projects aren't abandoned. Awesome to have so much available. And it's awesome to be
able to give back.!
!
!
Issues with open stack stack:!
Sometimes frequently-updated can cause pain. Progress and bug fixes are dependent on contributors meaning anything
can happen.!
!
!
Challenges MSFTees often have in the transition:!
Realizing that success at MS != success in a startup. Different skills, values, and behaviors are needed. Also, it's hard to
not have a paycheck and insurance and office furniture and ...!
!
!
Great Solutions to that transition:!
Hacking it! Craigslist, Ramen, etc. OSS, mentors, community like STS, etc!
Slide 36! bryanstarbuck.tumblr.com!