top | item 2224871

Nobody really gives a damn what you built your site in (why I chose asp.net).

87 points| hughesdan | 15 years ago |tumblr.com | reply

130 comments

order
[+] j_baker|15 years ago|reply
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|15 years ago|reply
"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.

[+] krisrak|15 years ago|reply
It does not matter what you build, you can achieve the same with using either PHP, Python, Ruby or ASP.NET. I choose Python/Google App Engine, free hosting is what was important for me, so I learnt a bit of Python to build me sites http://initlabs.com
[+] barista|15 years ago|reply
If you are hacking just for the sake of hacking then you are absolutely right. You should choose the technology based on how fun it is. But soon you will need to worry about how to pay the server and the bandwidth invoices. That time the business people's opinion will probably sound better.

Even for hacking, it is generally better to choose the technology that your core set of technical people are most comfortable with.

[+] georgieporgie|15 years ago|reply
> Secondly, developers who might join your company are going to care.

He pretty much covered that by talking about the cool kids, and about the space he's in being about bodies.

His goals probably depend more on having average work done steadily than awesome work done when it's cool to do.

[+] jswinghammer|15 years ago|reply
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.

[+] j_baker|15 years ago|reply
To be clear, there are valid reasons to use C#. I just don't think "nobody cares, besides C# developers are cheap and easy to find" is one of them.

(and while I'm leaving a comment anyway, I might as well apologize for the accidental downvote)

[+] math|15 years ago|reply
I second that. I know quite a number of very high calibre C# developers and in my experience getting good C# developers to work on interesting projects has not been overly difficult.

I'm currently building a site in C# and deploying using mono on Linux. Very impressed with mono so far. My site has not been tested under high load, but nothing is suggesting to me so far that mono is not a viable option, and a solution which solves many of the problems pointed out in the article's comments.

[+] japherwocky|15 years ago|reply
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?

[+] rit|15 years ago|reply
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|15 years ago|reply
"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|15 years ago|reply
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.

[+] kevinpet|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
yeah, what a misleading title.

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

[+] mkramlich|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
Yep - and MonoDevelop will run ASP.NET just fine on any platform, or just use gVim and make
[+] makmanalp|15 years ago|reply
> 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|15 years ago|reply
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.
[+] danshapiro|15 years ago|reply
Lots of things that you or I think are unique and special can be modeled as commodities. VCs model startups as commodities when they're preparing forecasts. Recruiters model high powered executives as commodities when they're preparing an interview pipeline. Like all abstractions, it's sometimes useful, and sometimes misleading. Certainly it's nothing worth getting excited about as a passing comment by the author.
[+] kondro|15 years ago|reply
As a newbie, you are as likely to write shit asp.net code as you are any other code.
[+] groby_b|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
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&...

[+] j_baker|15 years ago|reply
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.

[+] tzs|15 years ago|reply
I'm a bit suspicious of their trends. It shows Perl significantly ahead of PHP, which is significantly ahead of Python. As a Perl programmer, I wish that were true, but I doubt it.

It also has COBOL ahead of Python up until 2008. I am skeptical of that.

[+] DjDarkman|15 years ago|reply
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|15 years ago|reply
> 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.

[+] rodh257|15 years ago|reply
.NET documentation is really good. I can't quantify it as being the best but there is so much training material out there.

Examples: Tons of free video tutorials: http://www.asp.net/web-forms http://www.asp.net/mvc http://www.mvcconf.com/

heaps of books http://www.asp.net/community/books http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dap...

then of course there is the Microsoft Developer Network http://msdn.microsoft.com/en-au/ff380144

with training courses/hands on labs http://msdn.microsoft.com/en-au/VS2010TrainingCourse_AspNetM...

plenty of people who can answer your questions on SO (C# and ASP.NET are a couple of the most popular tags) http://stackoverflow.com/tags

and msdn forums http://social.msdn.microsoft.com/Forums/en-au/categories

if you want to pay for training, there's plenty of that too, as .NET is used lots in the enterprise there is training centres and other paid services a plenty: http://www.learnvisualstudio.net/ http://learning.microsoft.com/manager/catalog.aspx?brand=msd...

additionally, they have a certification program with all the training materials and training courses for that http://www.microsoft.com/learning/en/us/certification/cert-v...

I realize that there is probably great documentation for other open source frameworks as well, but I can see that it's likely Microsoft will always have great documentation on the very latest versions of their tools as they pay people to make the documentation, whereas OSS frameworks are more likely to rely on people to write boring documentation in their spare time.

[+] MortenK|15 years ago|reply
As others have mentioned, using the term "unmatched" might be a stretch. I really wouldn't know the state of documentation for something like, lets say Lisp or Clojure, and probably the author doesn't either. But it's not up for discussion that .NET has a very comprehensive, high quality level of documentation, just take a look at MSDN.
[+] andrewtbham|15 years ago|reply
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.

[+] sokoloff|15 years ago|reply
Most places can take the few minutes of SQL blocking resulting from an index rebuild in standard edition.

I know we often jump towards 5 9 solutions, because it feels like the "Right Thing(TM)" to do, but you can afford a lot of episodes of few minutes of blocking for what enterprise edition will cost... (we do run enterprise edition on our needed-by-cash-register DBs)

I'm a big fan of MS-SQL, and would encourage people to think about the value of chasing that 4th nine of uptime. It doesn't make sense for most companies, IMO.

[+] arethuza|15 years ago|reply
Nothing stopping you using another database server - I've started using CouchDB with an ASP.Net MVC application because I wanted documented oriented storage and it works perfectly well.

MySQL seems to have plenty support, as does Oracle etc.

[+] Encosia|15 years ago|reply
You can rebuild indexes in-place in even the free versions of SQL Server.
[+] Joakal|15 years ago|reply
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|15 years ago|reply
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|15 years ago|reply
While Scott Guthrie is in charge of ASP.NET team -- ASP.NET would be a good choice (even though Microsoft overall is stagnating).