Hacker News new | comments | show | ask | jobs | submit login
CEO Friday: Why we don’t hire .NET programmers (expensify.com)
98 points by ayu 2252 days ago | hide | past | web | 75 comments | favorite

This strikes me as the rantings of a CEO who doesn't have any touch with the reality of development. Thanks for the offer, but I wouldn't want to work for you anyway ;)

In all seriousness, I just don't buy that .NET is an amateur language that prevents you from doing certain things. C# is a great, rapidly evolving language with a lot of functional programming features built in. On the other hand (as a developer who used C# for almost 4 years), I felt it gave me more freedom than most other environments. You can even drop down to pointer manipulation in performance critical areas when needed...

And with all the support for asynchronous programming, it makes it easy to write truly scalable web applications with a similar paradigm to Node.js.

And ASP.Net MVC is really nice... if I weren't developing on a Mac and in love with Heroku, I'd probably be using it over Ruby on Rails.

tl;dr; - your rant is only applicable if you are only talking about VBA developers. Modern C# on .NET with ASP.NET MVC is a pretty nice environment.

.NET is a pretty good implementation of a Better Java. It doesn't even suffer from some of the cultural problems of Java. (FooDelegatorHandleFactorySingleton...)

It is a thoroughly corporate ecosystem, though. The vast majority of .NET programmers are work-a-day IT department developers. There is a lot of deference to MS on tools, language features, and libraries. MS developers will tend to wait for MS to incorporate something into the official platform rather than creating open-source projects to fill the same need. (eg. ASP.NET MVC) Even Java is better in this regard. It's hard to imagine something like Clojure emerging from the .NET community.

From http://en.wikipedia.org/wiki/Rich_Hickey --

"Before Clojure, [Rich Hickey] developed dotLisp, a similar project based on the .NET platform."

Thus it looks like Rich Hickey was in fact a .NET developer at some point, and so Clojure did, in a way, emerge from the .NET community.

Interesting. I'd never heard of dotLisp. I'd love to know why he decided to move to the JVM.

A lot of .NET hate these last couple days. I consider myself a polyglot, but most of the work I do these days is in .NET. I agree, there's no limitation on what you can do with the languages -- its the frameworks that limit you. Isn't that true with Rails, Django, Struts, and just about any other framework?

As far as languages being a red flag on resumes? I'd argue the more you see, the better. You don't want to see 30 years of C/C++ and nothing else, nor do you want to see someone with 1 year of each language. You want to see passion, dedication, and a genuine desire to learn.

I think the real issue is how much you can make as a .NET developer. Enterprise clients buy things that come in boxes. Rails doesn't come in a box, and it doesn't come with a support contract or a lifecycle agreement. There's something to be said for easy migration from version to version, tested hotfixes, and a fully integrated stack from app code to db server.

Anyways, </soapbox>

As I think about this more, the point may be that .NET is most rewarding for developers at either end of the experience spectrum.

As a very experienced developer, it's easy to get into the low-level framework type features like remoting (and building RealProxies), unsafe code (pointer manipulation), asynchronous programming with io completion ports, etc. All of these features allow experienced developers to create from scratch very powerful abstractions.

In turn, inexperienced developers can easily take advantage of these abstractions to build something quickly. It is this group that the author is referring to (and probably belongs to). Once a member of this group needs to do something outside of the realm of existing re-usable components, it takes a more experienced developer to help.

I think a great first place for him, or anyone, who actually cares about this, would be to make sure to understand the difference between .NET the framework and the .NET languages. The framework has features at many levels of abstractions, and yes, the higher up you get, the less likely you are to see eye to eye with the developers, but there's always a lower level, and at the bottom, you absolutely can fiddle with the bits on a network connection or whatever else he mentions.

I wish the author of this piece the very best with his squirrel restaurant franchise.

Seriously, what the hell is this guy going on about? The fact that large companies that create huge ecosystems also create cookie-cutter ways of doing things? And this is bad?

I've coded in just about everything out there except Haskell and Lisp. I've worked with heavy web-centric systems, distributed systems, P2P systems, and so on. I've written drivers, shell extensions, and rules-based database applications. And yes, it's true, I'm moving more to linux and F# on mono lately. But that's because of licensing and scaling issues, not because the .NET stack is somehow defective. In fact, if .NET were a liability, I would very quickly jump into something else. But it's not.

It's also true that there are a LOT of .NET developers who understand the cookie-cutter approach and can't go outside a very small comfort zone. But that's a product of being the world-wide standard, not a product of something gone wrong. When you own the game, hundreds of thousands of folks are going to go through 6-week "learn .NET!" courses and come out the other end button-pushers. If anything, those guys are a sign of a mature market, which is a good thing.

And what's this about .NET being a language? He acts like this entire system is similar to what? Javascript? .NET is a platform which runs dozens of languages with hundreds of thousands of easily pluggable libraries. If you're coding C++ in .NET writing unmanaged code you're doing something completely different from some guy dragging and dropping controls on a web page in VB.NET

This article shows the worst thing about all of us as programmers: we tend to run on assuming that we are experts in areas where we have the slimmest idea of what the hell we are actually talking about.

In fact, I feel this article is so bad that it has to be a joke: a poke with a sharp stick just to incite a lot of invective comments, like this one. Fricking linkbait. Bah.

I don't think its a joke, I think the CEO was genuinely trying to share that he had seen a lot of correlation between folks who programmed in .NET and people who weren't a good fit for his company.

I get similar negative vibe when I talk to people who don't use data structures (seriously I interviewed a guy who wrote a frickin' file system that was linear arrays, all the way down)

But it doesn't mean there aren't jobs that aren't a great fit for those folks, and this is where I think a lot of these discussions go off the rails (if you will forgive the pun).

If I am a programmer who loves .NET, and I read this, I can choose to take it in a couple of ways, I can be offended that this guy has just hugely disrespected me and all my .NET lovin' friends, or I can be glad to know that I don't need to bother myself talking to any of his recruiters that are scouring the globe. As I tried early and often to drill into my kids, you can't control what people say but you can control how you choose to feel about it.

"This article shows the worst thing about all of us as programmers: we tend to run on assuming that we are experts in areas where we have the slimmest idea of what the hell we are actually talking about." -- I think what you were trying to say here (but don't let me put words in your mouth) is that it is a mistake for programmer's to take what they know about themselves and to generalize it to everyone else indiscriminately. I would be happy to interview .NET programmers if they were willing to try other methodologies and languages. However I will relate that I have met people who have found God's Own Language (and it varies from person to person which one it is) and refuse to try any other language, or any other development methodology. If that isn't compatible with mine then we both should know that it won't work well.

The author gives a good description of the kind of people he would like to work with, that is valuable because in reading it you can get a feel for whether or not you would like to work with him. So its a win - win.

In your reply, I think you touch on an interesting aspect of this: why did it push so many buttons?

I really think it has very little to do with .NET -- I can take .NET or leave it, depending on the nature of my needs.

I think it has much more to do with the smart-ass feeling you get reading it, combined with the fact that, if you're any good at all in the .NET universe, you know better.

That made me think of all the times I've spoken to developers when they just knew that such-and-such was true. And it wasn't. That same snarky attitude, that same over-generalizing, that same use of silliness to try to mask the predjudice.

I wouldn't throw out working with this clown. Who knows? Might be fun. But the attitude is worthy of comment, and, since I have been known to be this way myself, I feel like I can honestly jump in.

But really, who this guy wants or doesn't want, or what his opinions are don't matter that much. The interesting question would be how he deals with realizing he doesn't know so much. That's true for anybody.

> I get similar negative vibe when I talk to people who don't use data structures (seriously I interviewed a guy who wrote a frickin' file system that was linear arrays, all the way down)

An array is a (simple) data structure.

Great assertions. How about some evidence or examples?

.NET was created to be as different as possible from everything else out there? Show me at least one example. Further, show that it was deliberately done in order to be different.

Backslashes in path names? What does this have to do with .NET?

Left-handed coordinate system in DirectX? What does this have to do with .NET?

A dozen complex files before you even write a line of code? When I start a new .NET project (desktop), I get an XML and a basically-XML file that are so straight-forward that I regularly modify them in a plain text editor, and I've never even read the documentation on them.

Allergic to open-source licensing? I use at least a half dozen open source .NET projects on a daily basis.

Every day with .NET takes two days to unlearn? The author is just throwing out random numbers and ideas at this point.

The author comes across as having nothing but preconceived notions of .NET. I'm with the others. I wouldn't want to work for you... or even with you.

I'm really not sure where to begin with my criticism of this article. Perhaps the McDonalds kitchen straw man. Or maybe the outright fabrications like:

"Big things, like obscuring the networking stack under so many countless layers of abstraction that it’s virtually impossible to even imagine what bytes are actually going over the wire."

The only actual examples of "incompatibilities" that weren't lies were trivialities -- who cares if DirectX is left handed or right handed? Flipping your Z axis is trivial.

As someone who has extensively used both .NET and other platforms (C++, Java, etc.), this article strikes me as the naive views of someone who hasn't learned enough .NET to form a cogent opinion.

Wow I hope this guy is just trolling. I haven't done much C# programming myself but the best coder I know built a HFT platform on .NET that made millions of dollars.

If this CEO wouldn't hire that guy because he's a ".NET programmer" then he has more important issues to deal with than his technology stack.

Also, his definition of a .NET programmer is hopelessly out of of date:

Programming with .NET is like cooking in a McDonalds kitchen. It is full of amazing tools that automate absolutely everything. Just press the right button and follow the beeping lights, and you can churn out flawless 1.6 oz burgers faster than anybody else on the planet.

Ummmm no. You're not describing the .NET platform. What you're describing is the old VB6 winforms-style or MS-ACCESS-style coding that was popular 5-10 years ago. The .NET platform has moved much much further than that in a short period of time.

I realize this is just linkbait, but I'll bite.

I probably wouldn't want to work for such a narrow-minded person and I am not a .NET coder (may I never write Enterprisey code again!)

I realize he's probably just trying to use an imperfect filter to narrow the field of candidates but a lot of his criticisms extend to any framework, whether we're talking about Swing or RoR. Every tool you choose will limit you in some way. Oh well.

Wow, this is the most personally insulting article I've ever read on HN. I've been programming since I was 8, worked at a successful startup (that used .NET exclusively), and do most of my pet projects on the MS stack.

I can't agree with him on any of his examples on why .NET is a bad platform. Backslashes and coordinates systems are trivial. I can't imagine any point for any startup where it's necessary to know the bytes going over the wire when dealing with networking. Code generation is an incredible time saver, and can easily be deleted if the generated code is unnecessary. Expensive servers have nothing to do with quality of code. I've never heard of a .NET developer allergic to open source, not to mention that also has very little bearing on quality of code.

I would propose that the platform is a tool, and a developer who can only use that one tool is limited. But it's totally ridiculous to discriminate against someone for knowing how to use the tool and having experience with it.

hes wrong about the "bytes over the wire" bit anyhow, it's pretty straightforward actually

While the McDonalds kitchen analogy is kinda applicable, the theory of malicious lock-in is just plain silly.

Did it ever occur to you that just maybe Microsoft's customers are big corporations that routinely employ the programmer equivalent of french fry managers? And maybe, just maybe, Microsoft's products are highly successful at achieving the benevolent goal of engineering a product for their target audience?

As a former hard-core .NET developer and Microsoft employee -- who hasn't run a Windows box at home since nearly two years before quitting Microsoft -- I agree that most .NET developers are kinda lost in a Microsoft-crafted echo-chamber la-la land. But I don't agree that it's got anything to do with nefarious intentions, rather it's got to do with social dynamics and product/market fit.

This article deserves to be slammed, and it's been well slammed, but there's a nugget of wisdom inside it:

Once you've exhausted your friend-of-a-friend type referral hiring, you need some way of turning thousands of resumes into tens of resumes for interviewing.

And no matter what filter you use, there are lots of examples of good candidates who fail it. The canonical example is GPA. The ratio of good programmers to poor programmers is higher in those with high GPA's (IMO), but there are tons of good programmers who flunked out of college.

There are lots of crappy .NET programmers out there, so filtering out .NET programmers will discard a lot of chaff. There'll still be wheat in the chaff, but you've got to get a shortlist somehow.

An even better filter might be to filter out anybody who calls .NET a language. Would that mean they have to fire the CEO too?

> They write everything from assembly to jQuery, on PCs to mobile phones, doing hard core computer graphics to high level social networking. They’ve tried everything. Everything, that is, but .NET.

I've written everything from assembly to jQuery and written software in C++ for mobile phones. I'm not a fan of either computer graphics or social networking but I've written a ray-tracer and built a few popular websites. When I'm not working in other technologies (which is much of my day job) I also dabble in .Net. Why? Because it's an absolutely fantastic platform for getting stuff done in Windows.

I'm working on a little hobby project right now in .Net that interfaces with a piece of embedded hardware. .Net has been crazy effective for it: low-level bit twiddling is a breeze without the programmer overhead of C/C++ (don't even bother trying it in Java). I even made sure it's possible to port it to Mono for Linux users. And those tools that "make 1.6oz burgers"; I'm using those. The project also requires a whole bunch of boring CRUD work and I auto-generated at least half that work away. Sometimes you don't need 1.7oz burgers so why waste a lot of time and effort replicating that capability for nothing?

I think you'd be remiss to hire someone who only knows a single technology, whether that be .Net, Java, or PHP. But I don't think .Net is some kind of poison for the mind.

Moreover, if you did need 1.7oz burgers (Jesus, what a horrendous analogy), the only thing potentially standing in your way would be your own ignorance of the framework.

Sort of like what's standing between this company and some very talented developers.

I honestly would never work for this guy. I have a C, Python, Java, Ruby background (as in what I've used in past jobs), and I'm working with .Net currently even though I'm a Ruby fan. I find C# and ASP MVC, pretty freaking good, even though I'm a Windows hater. Close minded people like this dude don't deserve good programming talent at all.

I might not be one of the best programers ever (I'm probably not!), but even if I was I'd send the same message to this guy: "I play almost every stringed instrument from the violin to the piano. I can juggle up to 5 objects with ease. I know a quite a few magic tricks. I'm freaking special and I will never work for a narrow minded person such as yourself. Even if you pay me a quadrillion nigerian dollars."

i applied for a job with expensify about 3 months ago. the interviewer asked in what language i wrote a web app from my portfolio. i said c#. he said, and i quote "you can make websites in c#?" he literally had never heard of asp.net. yet is ragging on .net in this blog post.

their office was just 1 room, with 3 guys sitting at a single table. they kept offering me a beer. i guess it was to seem hip, seeing there's no real reason to have a beer during a job interview.

another funny thing from applying is in the coding test they show you how to connect to their api using javascript, but it would never work because of cross domain restrictions. they probably have only tried it over localhost ;p

i wound up not getting the job because i used the kohana mvc framework in the coding test and they 'couldnt understand my code.' i think in all i wrote less than 150 lines of clear, commented code, but they dismissed it outright because i used these things called classes. im sort of glad i didnt get the job, because i got a job paying literally double their offering salary the next day.

"keeping the programmer far away from the details such that they’re wholly and utterly dependent on Microsoft’s truly amazing suite of programming tools to do all the thinking for them."

Kind of the whole point of frameworks. Including jQuery which they're using.

"But choosing .NET is a choice, and whenever anybody does it, I can’t help but ask “why?”"

Because in certain pockets of the country 90%+ of the jobs are in .NET.

"See, Microsoft very intentionally (and very successfully) created .NET to be as different as possible from everything else out there"

? It's almost exactly like java.

I was pretty much a 100% .NET guy before joining Amazon in January. Without reading a book, I was immediately able to start writing Java at Amazon because of how similar it is to C#.

Follow up article: Why I would never hire a CEO as clueless as this guy...

Actually, I'm surprised no one else touched on this part yet:

See, experience is cheap. All it takes is time. Skill is harder, but really only requires hard work — a lot of people can get that. But attitude. You either have it, or you don’t.

So, what he's saying is, experience is cheap, hard work is cheap (seriously???), but attitude, now that's worth something? I think I see the point about his programmers beating up everyone else's.

I say, let him have all the attitude he can choke on. I'll settle for the hard work and experience, thankuveddymuch!

I'm going to keep my response brief: 1) .NET is not a language, and calling it such is just silly. 2) I've built everything from insanely high-performance emulators (IronBabel) to kernels (Renraku) to computer vision applications (not announced yet) using .NET; all of these are "1.7oz burgers", and all of them were performant, flexible, and easy to build.

Troll, troll, troll...

This should be a giant red flag to anyone who is considering working at Expensify (as long as this CEO is around). I see this "we're hiring the best developers in the world" mentality from time to time at small startups and honestly it borders on delusional. You write software which makes expense reports and you've made some money. You aren't working on anything that would interest one of the best developers in the world and I seriously doubt you're prepared to pay what it takes to employ one.

We all know that working in .Net means about as much as a carpenter using a saw. Drawing conclusions from it is just another example of very poor reasoning skills.

In the end this is just linkbait and I hope the CEO apologizes publicly for making a poor decision in publishing it.

Why does a company that creates expense reports need "the best programmers in the world"?

Apparently, so they can beat up everyone else's programmers.

Exactly what that contributes to programming or expense reports is anyone's guess.

Because everyone wants to claim they have the best programmers in the world. :-)

This article probably does more to hurt expensify than it says anything about .NET development. I'd seriously hope that any CEO I work with would come talk to a dev before writing something like this.

I have a hard time taking this seriously beyond the ".NET is a language" statements. I don't think most of his statements really apply to C#, but they certainly don't apply to F#.

This is cargo cult management at its finest. The author is clearly one step above knowing absolutely nothing about this at all. It reads like he got burned by a bad hire and now everyone who shares traits in common with that person is also a bad hire.

I feel like he is both right and wrong, and for all the wrong reasons.

His hunch is that for the most part .Net developers are bad, and by and large I agree with that. Because .Net is used in a lot of Enterprisey places, and it's so easy to get a job in it right out of school you find a lot of just horrible code, and broken mindsets about programming in general. All of the idiocy I find in .Net is usually just someone who wouldn't know how to solve their problem in any other programming language either.

But he's wrong that that is a direct result of .Net in general. I feel you could swap out .Net for Rails: "oh all you know is how to run `rails g scaffold` therefore you're not worth my time". That is wrong. Like Rails, .Net provides abstractions over mechanics, but you will be a happier, more confident programmer when you can understand the intent of those abstractions, and maybe even take a theoretical stab at how you would implement it. That goes for any platform you develop on.

Personally I think I've grown a lot as a developer in general over the past few years using .Net professionally. Despite the stigma I've met a lot of smart developers, and C# has helped me hone how I like to think about and solve problems in general. I'm sure it helps that I do a healthy amount of other hacking outside of it all to give me perspective, but I certainly don't feel stupider for being exposed to things like LINQ, which helped my grok Monads and embrace more Composition style programming in a fuller way.

The Author of this article obviously has some misconceptions about .NET, and has probably had some bad experiences with enterprise developers. I've worked at two very successful startups that have used .NET for high traffic web development (and no, I'm not talking about MySpace). Some sites dealing with 5million + page views a day, and some of our .NET services would handle 5billion+ requests a month. It is great for large teams, the CLR is well optimized, and C# is a beautiful language in itself (although the platform supports many scripting and functional languages). I believe what the Author really means, is stay away from seasoned Asp.net web form developers who have never strayed from .NET and have no experience in an agile environment... if you are looking to hire for your startup. I've been hiring quite a few developers recently for the once startup I'm currently working at, and when recruiting I make sure to never start discriminating based on the language that an engineer develops in. I've hired programmers who were mainly developing in C++, Java, Python, PHP, and many other languages. If they are Jr, you just need to be super smart problem solver with decent programming skills. If you are Sr./Lead, you need high traffic experience, along with being well skilled with a strongly typed language, among other requirements. These kind of candidates have done extremely well, and enjoy the .NET platform that we mainly develop in. And me personally, I prefer .NET, but if the team and product is great, I would be happy to work with Ruby, Python, .NET, Java, etc... I think my PHP days are over though=)

I dislike .Net. I enjoy perl/python more.

I work on a .Net app now. It has tons of complexity that any other app has, if anything more complexity because of the requirements put around you.

Perl and Python are like poetry. You can do whatever you want.

.Net is like a haiku. You have limitations, but often times those very limitations are what allow you to focus on the true meaning of the code, and what it should be doing.

I think there is some level of truth to the article, but it's overstating it, which is clear.

"Why we don't hire .Net programmers" turns into ".NET on your resume isn’t an instant showstopper. " turns into "If you are a startup looking to hire really excellent people, take notice of .NET on a resume, and ask why it’s there."

So ask why it's there. Just like ask why Python is there, or ask why Perl is there.

So really, what you're saying is, it's important to ask why they programmer in the particular languages they choose, and use that information to determine why they do what they do. Prefer people who do it like a hobby as opposed to those that do it as a job.

Great. But what does that have to do with .Net? Oh yeah, you just don't like it.

That's fine, I don't either but I don't immediately think a programmer is bad because they use .Net.

I think that they are bad because they use PHP.

What. A. Moron. Talk about a mega-facepalm! How is bigotry supposed to entice people to your firm?

Apparently, this guy skipped "Intro to the Theory of Computation" class on the day they covered the concept of Turing completeness. The notion that there is any program that can be written in any other Turing complete language that cannot also be written in one of the Turing complete .NET languages is provably wrong. End of story.

Excuse me while I go and remove Expensify...

I started programming out with MSC 5.1-> Borland C++ 5.0-> MS C++-> MS C# and have never looked back.

It's elegant, powerful and gets out of your way when you need to deep dive.

I would suggest you take another look at it and don't confuse all .NET developers with VBA script kiddies.

I'd say this is clearly written by someone who hasn't worked with .NET.

That's fine I guess but you will miss out on good people even though you don't think you will. The reasoning here suggests that .Net doesn't require you to do anything outside of controls and drag and drop which isn't in my experience very true at all. I've been able to some the occasional control for what I do but it's never anything fancy at all.

What platform are you using that doesn't abstract the networking stack? Network programming in C isn't that that different than in C#. The same basic concept of I/O is there and the APIs basically work the same way.

Also .Net isn't a language. I guess you are referring to C#.

I agree with previous posts, I don't know any programmer who can 'choose' the language. Usually it's the boss who selects the language the whole team uses.

And then it's a job to pay bills and maybe child support.

But, clearly it's just his opinion, as he makes references to backslashes or forward slashes. It's an uninformed opinion?

In certain circles, we call this trolling. He knows what kind of response he will get. He's attacking .NET programmers. Let's see how they respond, etc.

Wow. Circa 1980's "Micro$oft" rant from a 2011 CEO. No wonder they're having a hard time hiring.

I think the real moral of this story is: (1) avoid technology religion and it's practitioners, (2) if you're cooking steaks on a gas grill and you see your CTO warming up a dead squirrel over a book of matches, find another job.

Ok I am going to defend the guy somewhat. He clealy can't be talking about C# or any other CLR languages themselves, that would be just plain dumb and I'm going to give him the benefit of the doubt.

I guess he is talking about the various Microsoft supplied frameworks. Within say, Silverlight, it is easy to dip your toe in, get to something like databinding, and go off the rails, trying to bend silverlight to your will to do something that should be easy, and coming away with the impression that what you are doing is totally impossible within silverlight. Then you spend 20 minutes actually thinking instead of in a Microsoft hate fugue state and you see that it actually is easy if you don't fight the framework. So you are like "fuck you .net I want to do it my way!"

But that is the nature of frameworks, not endemic to .net.

He should consider switching to a digital tabloid as a writer. He might not be great at recruiting or how to identify great programmers but he seems to have a gift for getting his trolling just right.

Some startup here should take him up on the developer vs developer challenge.

I am a .NET developer, and I am trying to hire excellent, well-rounded .NET developers (hint), and I can tell you that it is non-trivial, specifically because many .NET developers are not particularly well-rounded, nor have the vast majority of them much experience outside the .NET ecosystem, nor more than a basic understanding of the technologies which underly the very powerful abstractions MS has built on top of them.

So I can certainly sympathize that someone who is building something that requires more fundamental knowledge might find .NET to be an effective bunny-filter.

I did stop reading the article when I got to "I'm sure .NET is a dandy language."





I've read much bullshit over the years, but this tops it all. I personally have wrote code in more than a dozen languages and would still prefer .net any-day. You can write almost anything with any language. You can develop web.apps in assembly language if you insist, but it'll take 10 times more time and money than doing it with .net, php, ror or other modern languages and you'll have 10 times more bugs to deal with. This attitude is plain stupid arrogance. If it were a company doing embedded systems for the defense industry I'd understand, but from a company that deals with invoices... they must be kidding!

First of all, what flamebait but I'll bite

"Even worse, every day spent learning a Microsoft kitchen takes TWO days to unlearn, meaning once you get a reasonable way down the .NET career path, there is almost no going back."

That's not true in my experience.

I work at small, profitable company using Linux / Python / Amazon Web Services, we have some fantastic developers who came from a pure .NET background - some worked at Microsoft.

They transitioned successfully because of their attitude. If you commit yourself to learning the tools and not fighting them, you can make the transition in a couple months - no problem.

You're full of it. In what way does .NET hamper you? Why can't you make a "1.7oz burger"? It's a full-blown programming environment - the limit to what you build is what your mind can conceive.

Is this guy qualified to talk about hiring programmers? Based on all the little errors in detail in his blog, I assume he's the non-technical co-founder of his company, not the technical guy.

I think this is just a rant by some CEO who hasn't had much real world experience. Sadly, it doesn't give any examples of why .NET is worse.

I would question why he REALLY doesn't like .NET. This article to me it like a person stuck inside a box with only peep hole towards the java stack. When he realizes that there is more to life and academics than just java or objective C, then maybe we will talk.

Can we please not keep up voting this rant that I didn't learn anything from except for the comments posted here on HN?

It's great that he posted this.

Most of us may not agree with his philosophy, and have questions about his basic technical and leadership competencies. But right or wrong, he's being very transparent about their hiring and development philosophies.

This is a good thing. It helps his company attract the kind of person that will work well in that environment, and gives clear warning to the rest of us that this is not the place for us, and that we are better of not wasting our time seeking a career there.

Although I also dislike .NET, it seems the primary complaint here about .NET is that it abstracts programmers too much away from the bare metal. But doesn't that apply equally to non-MS languages like Python and Ruby? In fact, isn't abstraction in general a good thing?

The author also bewails .NET's lack of configurability. But what is it about C# that instantly defiles any programmer who touches it, that doesn't also apply to, say, Java?

This is a really bad take on Microsoft technology lol.

I've wrapped a lot of my stuff around .NET technology and is very happy with it. You can definitely save a lot of time and launch your product fast to draw attracting with .NET. In a B2C business, you need to bring your product to the market as fast as possible before you can present, the end user doesn't care what you are built based on. Just take a look at match.com..

Just because he managed to attain the title of CEO, doesn't mean all he speaks would be gospel. Having a closed mindset is, more often than not, detrimental to one's ventures.

wow that sounds really arrogant.

Skills shouldn't be rated by the IDE developer use.

Not everbody wants to be that kind of geek, that's hacking into a console all day long, rather than using an good IDE.

Rate people by their abilitity to handle those programming languages (e.g. readability, cleanness, layout, speed and so on).

If you don't need C# developers fine, but don't say people should be aware of C# programmers.

By the way, I worked with really good developers, which also programmed in C#, many of them were real experts and absolutly passionated.

I think every developer who reads the article should link to it. That way when any future employee googles them they will see what an ass they would be working for.

If you ever want to work in a startup, avoid .NET. It does you no favors.


Got to love how he extrapolates his own little idiosyncrasy to every startup.

Maybe the difficulty in hiring good people is because the CEO is clueless?

Any hacker with half a brain would stay far, far away from this company.

it's like saying real singers, the ones with true talent, the ones that have sung since they were young and not just voice trained year after year are rare. Except opera singers - they are truly hacks without the range or talent to do anything else but belt out high pitched drivel in god awful costumes.

there's no (well, hardly any) such thing as bad languages, just bad programmers, managers and business people.

this stuff honestly makes me sad for this industry. There are probably 100's of programmers that will now never get to work in the start up world because they list c#/.net etc on there resumes.

I should probably be ashamed, but I stopped reading after he claimed that .NET is a language.

Actually, you shouldn't. I was getting fumed by the end of his first paragraph where he bragged about his decent programmers being able to fence and do knife play. If he's looking for mercenaries* who can code I should email him! Anyway, I read on and he made several contradictions to his own points. I can't take him seriously now.

*not a mercenary but I'm a runner who flies planes and is a good shot with a Glock, but I sure as hell wouldn't put that on my resume

I think it's unfortunate an article like this even gets up-votes on Hacker News.

"Now let me clarify - .NET is a dandy language"

Why I don't listen to CEOs.

Is this site becoming Slashdot? Visual Studio does have some features that can make you lazy I suppose. ASP.NET web forms does suck, but ASP.NET MVC is good. Is Java supposed to be better than .NET?

This is nice linkbait. I will add to my swipefile.

"Kelso, did you ever FINISH Lord of the Flies ?"

this is so arrogant..

I'll bite...

.Net as a framework is designed to get stuff done so you can go home and play with your kids, not pander to the whims of a CEO with his head up his behind.

According to him, I shall have to "unlearn" all those ever so bad practices and technologies such as ORM/DDD (NHibernate), DI (Autofac), SoC (MVC), SOLID, Messaging (NServiceBus), SOA (WCF)...

I will give him one thing; at least 75%+ of the "developers" on the market in the UK couldn't put a web page together without the ASP.Net webforms designer but the same is true with all technologies otherwise we wouldn't have dreamweaver and the likes.

The guy is a total muppet.

Fuck this guy, and everything about him. I can program in Assembly, C, C++, Java, and Lisp fairly competently, but frankly I like C# because I can see results almost as fast as I can imagine them. It has an amazing tool set. Does it really make those other programmers better than me because they prefer needless complexity?

If I need a 1.7oz hamburger, I'll use one of those other tools. But 99% of the time 1.6oz is just fine.

McDonald's has lambdas? Who knew.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact