top | item 7145781

My first six weeks working at Stack Overflow

75 points| jonhmchan | 12 years ago |jonhmchan.com | reply

78 comments

order
[+] kylec|12 years ago|reply
I'm curious what the licensing costs are for their Microsoft stack. Stack Exchange was in BizSpark early on so they got a pretty good discount, but they can't be anymore since it's been more than 3 years.
[+] df07|12 years ago|reply
The only thing that really hurts are the SQL Server licenses. Everything else (MSDN licenses for devs, OS licenses, etc.) are small percentages on the cost of hiring a dev or building a server. SQL Server pricing is a beast -- they know you're locked in, and it's carefully priced just under the "what if we just hired several people to do nothing but move us off of SQL Server" price point.

With that said, we're getting amazing performance out of SQL Server without having to shard, etc: all of Stack Overflow runs off a single server, and most of the rest of Stack Exchange runs off a second server.

[+] scrabble|12 years ago|reply
One of the reasons the MS stack gets a bad rap is that it has been adopted by a lot of enterprises and a lot of poor developers.

You can write something inefficient in any stack, but it seems like there's a larger proportion of unskilled to skilled developers working in the MS stack.

Edit: To clarify, I work in the MS stack 9-5.

[+] guiomie|12 years ago|reply
I think the MS stack has a bad reputation because a lot of developpers come from an academic (undergrad) background, and not that many institutions use MS products (licence fees). When I got out of school I was young and arrogant (still kinda am), and since I only did Java at school in terms of OO languages, I immediately dismissed C# as not good enough.

Then theres the whole anti-MS movement out there that will simply bash MS stack because is it by MS.

[+] pc86|12 years ago|reply
This has not been my experience at all. In terms of the unskilled:skilled ratio alone (again, in my experience), the Microsoft stack has more highly skilled developers than PHP by at least an order of magnitude, but not quite as many as the more "academic" languages such as Haskell and the like.

I've seen a lot of hesitance on the part of unskilled developers to venture into the MS stack as it has historically been hard to set up and expensive to get the software and server(s).

[+] jasallen|12 years ago|reply
I think this is right. To answer some of the other comments, yes, c# has a better ratio than does PHP, but it has a much worse ratio than to Python, Ruby, Scala, Clojure, Go, and possibly even javascript.

All that is a shame, because I think C# is fantastic, as is SQL Server. The rest of the MS stack is mostly so-so.

[+] jonaldomo|12 years ago|reply
How do you like working on a Mac on a Windows stack? I work on a Mac on a Linux stack and it's very straightforward. We have some Windows applications have have to rely on remote desktop.
[+] jonhmchan|12 years ago|reply
It's not really that bad. I'm running a parallels VM running Windows 8. The major difference between that and running a straight Windows environment is that we switch off from Vagrant (running a VM within a VM is pretty rough)
[+] barking|12 years ago|reply
It seems hypocritical to me that Apple facilitate the running of other OSs on their machines but refuse to permit their OS to legally run on non Apple machines.
[+] isuraed|12 years ago|reply
Good article. Always interesting to read how others approach learning new technologies.
[+] Oculus|12 years ago|reply
Is it a Microsoft stack all the way down or are there parts of the codebase that are written in other languages? In my mind, when a company gets big enough you usually get different teams writing in different code bases if it fits into their problem domain better.
[+] mwsherman|12 years ago|reply
There are several codebases now, yes. The main Q&A and Careers sites are C#. We have other projects in Node and Go as well.

(We also rely on Redis, HAProxy and Elastic Search on non-MS platforms.)

[+] mattfenwick|12 years ago|reply
Very interesting read, thanks for posting.

Out of curiosity, since you mentioned you're a self-taught programmer -- what did you major in at college?

[+] thebouv|12 years ago|reply
I'm surprised. I thought everything was written in JavaScript nowadays.
[+] gtrubetskoy|12 years ago|reply
Stackoverflow runs on Windows, really?
[+] sdegutis|12 years ago|reply
I recently had an epiphany: operating systems are just operating systems. None are better than the others, they're just different. Having tried nearly all of them by now (MS-DOS, Windows *, Mac OS X, Linux), I regret having any loyalty to any of them.
[+] justathrow2k|12 years ago|reply
People are still surprised that people write software that runs on Windows, really?
[+] toddan|12 years ago|reply
And what wrong with that? The site is scaling extremely good and for a long time the whole application was running on only two servers.
[+] TacticalCoder|12 years ago|reply
SO / SE is one of the posterchild of C# / .Net.

However at the beginning they were really Windows only while now there's really a lot of Linux in there. HAProxy running on Linux, for example.

There was a recent post about the various technologies using by the entire stack and there have also been SO/SE employees detailing the stack here on HN.

So it depends what you mean by "runs on Windows". Certainly the scalability issues are handled, at least in part, by Linux.

[+] isuraed|12 years ago|reply
Thought this was well known. SO was founded by Joel Spolsky who was a long time MS employee.
[+] jonhmchan|12 years ago|reply
Yep - it's incredibly performant. As I mentioned in the post, I was pleasantly surprised having been a die-hard python/mongo/os x/etc developer.
[+] kops|12 years ago|reply
Oh man!!!! How will you sleep tonight ;-?