

Nobody really gives a damn what you built your site in (why I chose asp.net). - hughesdan
http://tumblr.com/xzh1ixatl0

======
j_baker
I disagree. For starters, _I_ care what I build my site in. I'd have a lot
more fun using say python or (if I'm lucky) lisp or Haskell than I would using
PHP. And more fun = easier.

Secondly, developers who might join your company are going to care. Developers
are more than the technologies on their resumes. Good ones can learn new
technologies quickly. And they might even be happier learning something new.

This view is typical of business people. There isn't anything wrong with that,
and it's necessary to a certain degree. But as he scales up, I hope that he
can find someone who can help him make a more informed technical decision.

(And for the record, this isn't necessarily targeted at ASP.NET. I can think
of worse technologies to work with)

~~~
xpaulbettsx
"And more fun = easier."

That's the thing though - you and I think programming is fun and awesome,
whereas this guy thinks business is fun and awesome, and programming is just a
means to do what he wants to.

What I think is a valuable lesson here though, is that he stayed focused on
his goal of "put out the site", whereas with hackers it's easy to have a real
goal of "Use technology X and write some awesome code" with a tertiary goal of
"ship a product". Always be focused on getting your product out the door, even
if you don't make perfect technical decisions.

~~~
j_baker
Hey, wait a minute. Just what are you trying to say here? That business and
technical people do better _working together_ than ignoring each other? Next
you'll tell me business people are _human beings_ and not drones some cruel
hacker made to torment other hackers.

~~~
JacobAldridge
Oh, if I had a dime for every time an MBA has interrupted and ruined a
productive hackathon...

s/MBA/Hacker s/hackathon/sales_meeting

------
jswinghammer
I think ASP.Net is a pretty smart move even if you do have a strong CS
background and know a few other platforms. The basic reason is that Microsoft
stuff performs really well and you won't have to worry about a lot of problems
for a very long time.

Chances are one or two webservers will handle your page requests for quite
some time before you need to start thinking about it. ASP.Net's sessions also
work very well with server farms without much work beyond configuration you
just need to follow a few rules and it works great.

Assuming you went with SQL Server 2008 then chances are your database is going
to perform very well for quite some time. A DBA or consultant can come in when
things get tough but any senior level developer who tries to act cool by
pretending to be a DBA can keep things moving along until you have cash to pay
someone to really make sure things scale well.

Plus no one cares. If your startup is moderately cool getting C# developers
won't be tough either. I've met plenty of great C# developers so they're
definitely out there.

~~~
japherwocky
By what metric does Microsoft stuff perform really well?

You're seriously saying you choose Microsoft for performance and stability?
And you have a dozen upvotes?

~~~
nostrademons
.NET actually isn't that bad as far as performance and stability go. It's
about on par with Java. It's _much_ faster than scripting languages, and
significantly more stable than Ruby.

Administering a Windows stack can sometimes blow, but the languages and
virtual machines themselves are relatively solid.

~~~
kondro
More stable than Ruby? Rails may have started off quite leaky, but to call
anything that's been put into production in the past 2 years unstable is just
plain FUD.

------
rit
I noticed that both examples of companies he didn't want to compete with
talent for (Tumblr and Etsy) are NY companies, so I wasn't surprised to see
his company is in Hoboken (just across the river from Manhattan).

The reality of course is in NY you're always competing for talent --- not just
with the hot startups of the moment (Etsy, Tumblr, Foursquare, etc etc etc)
but with the banks which are still paying big salaries for developers and
solid benefits and bonuses.

The truth here - whether the author thinks the technology or not matters - is
that he isn't competing at all for programming talent. He is competing for the
kind of people who want to work at a hot startup, and have that mentality,
versus a small one man shop. His statement "Hiring quality coders on a
bootstrapper’s budget is easier for ASP.NET than it is for anything open
source. It just is. " is telling.

Of course, its a completely unqualified unbacked statement.

But understanding the reality of what your talent shortages are caused by is
important. I get the feeling that he went with the first technology he could
hire people for cheap enough with.

------
jrockway
"I don't know anything about programming, therefore my first choice is best."

Sure, that makes sense.

(It also follows from this logic that cheap programmers are a good thing to
have. If you need to do twice as much work, you just hire twice as many
programmers! Combined with an IDE, you're sure to succeed!)

~~~
tjogin
That's my go-to argument when choosing languages.

Whenever someone says to use Java or .NET rather than the relatively obscure
Ruby (or Node.js or whatever) because that makes it easier to find
programmers, I always ask why they want to staff up on average to below
average programmers. (Edit: sure there are good ones, just far more bad ones)

At least if they use the obscure language, you know that the programmer in
question has his eyes and ears out there, finding things out on his own,
trying things, reading stuff. There are a lot of cubicle programmers who
simply don't; that find out about things when things are added to Visual
Studio.

Not saying obscure languages are better in and of themselves (well, maybe just
a pinch), just that the opposite isn't true. Easy access to droves of average
to poor programmers is not a feature.

~~~
Sandman
_why they want to staff up on average to below average programmers_

1\. Because they don't want to spend a lot of time looking for developers -
it's far easier to find a Java developer than, say, a Ruby developer, simply
because there's so many of them. Also, because there is so many of them, in
all likelihood they will ask for standard wages whereas a developer with a
good knowledge of some lesser known language/technology might ask for a higher
pay because he knows his skills are in demand and the employer cannot easily
find somebody else with those skills for a lot less money.

2\. For certain types of software there is no need to have _the best of the
best_. Average programmers are just fine for working on a standard CRUD
application. If you're Google and you're hiring people to work on your search
engine, then yes, you want to have the most brilliant minds out there, but if
you're a company that just needs somebody to maintain it's CRUD application
than you'll do just fine with an average developer, who'll be more than happy
to work for standard, average pay.

That being said, it's my opinion that, when hiring developers for work on an
enterprise app, it's probably best to hire those that have a good knowledge of
some enterprise-proven language like Java or C#, but with an interest in
languages such as Scala, Ruby or Python. This way you get the guy that knows
his way around an enterprise stack, but that's also not just a drone that
considers programming nothing more than a day job, you get somebody who
actually likes coding and frequently codes just for the fun of it.

~~~
RyanMcGreal
> a developer with a good knowledge of some lesser known language/technology
> might ask for a higher pay because he knows his skills are in demand and the
> employer cannot easily find somebody else with those skills for a lot less
> money.

Given the huge productivity gulf between low and high ends of programmer
productivity - a gulf that vastly outstrips the gulf between low and high pay
levels - it stands to reason that as you move up the pay scale, programmers
will tend to become net more productive in relation to what you pay them.

If you pay twice as much for a programmer who is ten times as productive, you
end up ahead of the game.

------
kevinpet
I don't think a startup that _is not fundamentally technical_ has much to say
about the merits of different technologies. This is a startup, and it's
innovative, but it doesn't rely on the technology. Technology is just one
piece of the puzzle for this kind of company. The company could succeed even
if the technology were junk. Let's say he had a competitor who had a similar
business model. They're competing on pricing models, advertising, convenience
of shipping methods, turn around, and, yes, convenience and reliability of the
website. But the last one is only a deciding factor if there's nothing more
important in the other factors.

To summarize: nobody really gives a damn what you build your site in, if you
aren't trying to do anything hard or innovative on the technology side.

~~~
pestaa
Succeeding _harder_ if the technology was junk is one assumption you might
agree with.

Furthermore, from your list, anything that's not business is technology. Not
every company ships physically, and those who don't just ship their product
through the stack.

How fundamentally technical the startup is, is not decided by the owner but by
the context. And technology matters there, a lot.

------
gfodor
I find this juxtaposition pretty funny:

"I made a list of likely acquirers and then looked at what kind of programming
skills they hire for. It was clear they all favor Microsoft. All things being
equal it seemed logical to do the same."

and

"At the end of the day things just have to work and customers don’t give a
shit what technology you built your site on."

If you're building a startup to "flip" it, isn't your future acquirer just as
much a customer as your, er, customers?

~~~
humblest_ever
yeah, what a misleading title.

"nobody cares what language you use." "potential buyers like asp."

------
mkramlich
Your endusers may not care. Not directly. But they'll care when your site has
problems or is slow. This part, in turn, is heavily influenced by the quality
of engineers you have behind the scenes, and the choices they make. The
nature/quality of your engineers will be influenced by what kinds of technical
choices are in place at the time you start trying to hire them on. As a
general rule, for example, a LAMP stack is going to attract a different mix
than a Microsoft stack would. Lisp will attract different than PHP. Therefore,
tech does matter. Does it matter as much as making a product people want and
are willing to pay for? Probably not as much. But if/when the time comes and
you want your site to scale, or have lower problem rate, then your engineers
and your tech are going to matter.

~~~
ThomPete
Pardon my ignorance. But isn't your site slow if you develop it wrong, not
because you use the "wrong" language?

I thought there where good developers in all programming languages and really
bad ones too?

For how many people is overnight success really the case? Most companies grow
slowly over the years making scaling issues much less volatile.

------
staunch
The right answer is almost always to go with what you know best. As long as
what you know best isn't completely ridiculous it will be the least of your
problems.

------
japherwocky
You know why you don't have a good reason for choosing a language? Because you
are a total programming newbie who hasn't actually tried to use other
languages for anything!

If you use a better language, you will add features faster and spend less time
fixing bugs, and you will be making the world a better place.

Your logic is naive at best, and awful at worst: "It just is." isn't an
argument anyone should take seriously.

------
mwdev
I'm doing the same. I'll give a shout out to appharbor. They have made it
insanely easy and cheap(as in free) to deploy a .net app.

...and here is a little secret that they may or may not want you to know...if
you don't have the MS tools, it doesn't really matter. You don't even have to
have windows. They build the code for you. You could used notepad to write an
ASP.net app on their platform. Push. Test. Repeat.

~~~
xpaulbettsx
Yep - and MonoDevelop will run ASP.NET just fine on any platform, or just use
gVim and make

------
makmanalp
> It’s not about the quality of the talent. It’s a simple supply and demand
> question.

Uh oh. "Programmers are a commodity" again.

~~~
hughesdan
I was trying to make the point that from my vantage point the talent pools are
deep in each camp. Bad choice of words on my part.

~~~
alnayyir
>the talent pools are deep in each camp

That doesn't really matter if in the PHP and .NET world you have to filter
through 10,000 people to find somebody of the same median grade as you'd find
in haskell/python/ruby/clojure.

I'm exaggerating for effect, but the take-home here is that if you don't have
unlimited resources you need to have some way to differentiate and filter from
the guys offering the sweet vacation packages and steady career options.

How exactly are you differentiating and filtering for higher quality people if
not by technologies and developer freedom?

Do you have nice offices ala 37signals?

Are you an advocate of developer 'rights' such as Joel has been known to
enumerate?

Why exactly should a dev tolerate using VisualStudio and Windows for the sake
of working on your company?

~~~
mkramlich
Exactly. I know a recent startup that did their initial build-out in Lisp.
Then the CTO left, for whatever reason, and then the remaining leadership team
seemed to decide to rewrite the stack in Java. They probably thought, "Hey it
will be easier to find people." Yes, it will be easier to find bad people. Are
their great Java people? Of course. But the total number of resumes you're
going to have to wade through, and the ratio of bad to good, is going to be
much higher with Java than with Lisp.

~~~
alnayyir
Moving from .NET to open source improved the quality of code and people I
worked with.

A lot.

>rewrite the stack in java

A rewrite was a bad idea to begin with. They shot themselves twice in the same
leg. GG guys.

------
kondro
As a newbie, you are as likely to write shit asp.net code as you are any other
code.

------
groby_b
Whatever you chose - is it really a good plan to write an article that amounts
to "my startup was written by somebody who's new to coding in general. And the
whole point is to flip it" ?

(Yes, I believe "exit strategy" is a fancy word for "built to flip".)

------
mkramlich
The absolute number one bottleneck in software-based startups right now is the
availability, interest and affordability of good software engineers. The
number and quality of engineers you're going to be able to attract will be
heavily influenced by your tech choices upfront. There are some engineers who
are so desperate they'll say yes to anything. There are others who have lots
of choices and get to pick which to say yes too. In general, you'd rather have
the second kind. So yes, tech does matter. The exact shade of the color blue
you use in some image somewhere? Probably not matter too much. Your tech mix?
Hell yes.

------
a5seo
The biggest lesson I learned at my last startup is that your dev platform is
an HR decision.

After the fact, I realized it would have been smart to at least check Indeed
Trends to find out how niche our platform was. If you aren't seeing many jobs
asking for CodeIgniter, just to use as an example, don't count on finding a
lot of developers. If you have a good company, you're better off competing for
talent head-to-head on a rising platform.

[http://www.indeed.com/jobtrends?q=codeigniter%2Ccakephp&...](http://www.indeed.com/jobtrends?q=codeigniter%2Ccakephp&l=Austin%2C+TX)

~~~
j_baker
It doesn't quite work that way. Strictly speaking, you _will_ find more
developers if you choose the technology of the week or some other popular
thing. But that doesn't mean that you'll find more _good_ developers. They're
difficult to find no matter what technology you're working with.

That said, you're on the right track as far as realizing that technology has
an impact on who you hire. I would choose one more because it helps set you
apart from other companies, not because it's what everyone else is using.

~~~
a5seo
Having inadvertently chosen something (almost) no one was using, except us, I
mightily regret not doing a sanity check to get the big picture. It made
hiring really expensive and slow.

------
DjDarkman
I feel that the author just didn't try any other technologies.

> I found ASP.NET to be unmatched in terms of documentation

I find this hard to believe. Again I think the author knows his way around
Microsoft products, and is biased towards it.

> Hiring quality coders on a bootstrapper’s budget is easier for ASP.NET than
> it is for anything open source. It just is.

I find this statement self-justifying and false. If a product is more scarce
than others than it will probably be more expensive, in other words: if there
is bigger competition there are lower prices.

The premise is true, no one cares about the server side technology expect
maybe programmers who will have to build on that... wait what?

~~~
kenjackson
_> I found ASP.NET to be unmatched in terms of documentation

I find this hard to believe._

Why do you find it hard to believe? ASP.NET is really well documented. Is it
absolutely the best documented product in the world, but it is reasonable that
someone doing an investigation could reasonably believe that ASP.NET has the
best documentation.

~~~
DjDarkman
I find it hard to believe if the author does not back it up with a lot of
research and statistics. If the author would have just said 'it has great
documentation' I would have said nothing about it, but when the compares it
with others, he should have something to back it up.

~~~
arethuza
I think calling it "unmatched" is a bit strong, but generally I would say that
the documentation of .Net is definitely one of its strong points.

------
andrewtbham
My personal experience is that the MS stack is tough for a startup because Sql
Server can get expensive... especially if you want uptime. The feature to
rebuild the indexes (without downtime) and do horizontal partitioning requires
the enterprise edition... and it retails at 25k/processor.

If you go with asp.net consider your budget before choosing sql server.

~~~
Encosia
You can rebuild indexes in-place in even the free versions of SQL Server.

~~~
arethuza
I think he means online indexing <http://technet.microsoft.com/en-
gb/library/cc966402.aspx>

------
Joakal
For those who are a solo developer and get strange requests such as "I demand
this to be in ASP/PHP/etc." With whatever language you use, program away and
modify .htaccess file to display the desired extension of .asp/.php/.etc.

I haven't yet wanted to try this but get tempted.

------
jonpaul
Although I agree with the point that customers don't give a shit about the
technology stack, did it seem to anyone else that he may be a little self-
conscious about his choice of choosing ASP.NET? Read every single point. They
all mention why he chose ASP.NET.

Edit: why the downvotes? I'm not saying that ASP.NET is a bad language. I'm
just saying that his title doesn't agree with what he wrote.

------
dennisgorelik
While Scott Guthrie is in charge of ASP.NET team -- ASP.NET would be a good
choice (even though Microsoft overall is stagnating).

~~~
superlogical
While Microsoft seems to be stagnating at the same time Mono and Linux is
gaining huge popularity. Checkout these links

<http://tirania.org/blog/archive/2011/Feb-14.html>

IOS \- IPod, IPad, IPhone: MonoTouch <http://monotouch.net> \- Windows: Mono
<http://mono-project.com/Main_Page> \- Mac: MonoMac <http://www.mono-
project.com/MonoMac> \- Android: MonoDroid <http://monodroid.net/> \-
Blackberry: MonoWebOs to be announced

------
noonespecial
The people who come along later to scale to those millions of users your site
attracted might.

~~~
tejaswiy
This is what I don't get. ASP.NET scales pretty well as Joel opines. Why do
people think .NET is bad just because it feels enterprise-y?

More: <http://www.youtube.com/watch?v=NWHfY_lvKIQ>

~~~
noonespecial
My beef with ASP.NET is that it makes it disturbingly easy to write code that
doesn't scale well and then is ridiculously hard to scale after the fact.

It really is all about the initial design not the language. ASP.NET just makes
it too easy to go with bad design and library choices, not to mention the tons
of examples of bad design that newbies might accidentally follow at the
beginning.

~~~
vyrotek
I'll have to agree with this... but its worth noting that there's a difference
between ASP.Net WebForm and ASP.Net MVC.

I'm a huge fan of .Net (in fact my startup runs on it) but I absolutely hate
the 'magic' that WebForms does for you.

~~~
noblethrasher
Of course, you don't have to use the magic of WebForms (as I'm sure you know).
You can use it just like 'MVC' where the code-behind class definition is the
controller. In fact, now that I think about it, the big difference is that the
controller-view mapping is static in WebForms (with code-behind) and dynamic
in MVC (method loads a view).

------
jfm3
Article should be called "I should not have built my site in ASP.NET, but it's
too late now, so I'm going to rationalize it as follows."

------
JSig
My beef with .NET is that the platform and community does not feel very
organic like it is with others. Making a huge generalization, I would say that
the .NET community waits around for the Mother ship to produce something that
it can use. This was one impetus for the ALT.NET movement.

A great example of community in action is the castle project at
<http://www.castleproject.org/>

In the year 2010, .NET finally has a package management system. Guess who
created it?

~~~
johns
It was first created by non-MS guys, and there are others out there by
community members. MS decided to form an officially-endorsed open source
project for NuGet. Pretty good model actually. It's a collaboration of MS
employees and community members and they take outside contributions. Not sure
what's wrong with that. It needed to be in VS to take off.

The organic community is there, it's just not the dominant one but it has a
significant presence.

~~~
JSig
>> It's a collaboration of MS employees and community members and they take
outside contributions. Not sure what's wrong with that.

I agree, nothing wrong with that. I think a lot of the stuff that MS has been
doing under Scott Guthrie in recent years has been very good in regards to
fostering a better community.

>> It needed to be in VS to take off.

Do you think NuGet would be successful if MS had not officially endorsed the
project?

~~~
johns
Lots of things are successful without MS endorsement. If the integration had
been as good as it was when it launched, yes. Only MS was willing to dedicate
the resources to make that happen (VS addins, gallery site, etc).

------
timclark
Nobody gives a damn but then he provides us with 4 debatable reasons why he
personally chose a technology. Sure looks like he gives a damn to me.

------
middlegeek
Wow, great insight for a fellow non-CS person who wants to build their own
site anyway. I just subscribed to your blog. Thanks!

------
pacifika
Dan has all the qualities of a Microsoft employee - staff photo on blog
(check), stripey shirt (check), called Dan (check), enterprisey design
(check), wall of text (check).

