Live data from Hacker News

CEO Friday: Why we don’t hire .NET programmers

blog.expensify.com

21–30 of 79 posts

Re: CEO Friday: Why we don’t hire .NET programmers

#22
"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.

Re: CEO Friday: Why we don’t hire .NET programmers

#23
> 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.

Re: CEO Friday: Why we don’t hire .NET programmers

#24
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.

Re: CEO Friday: Why we don’t hire .NET programmers

#25
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.

Re: CEO Friday: Why we don’t hire .NET programmers

#28
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.

Re: CEO Friday: Why we don’t hire .NET programmers

#29
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.

Re: CEO Friday: Why we don’t hire .NET programmers

#30
post #3

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 u…

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.

Post reply on HN