CEO Friday: Why we don’t hire .NET programmers
21–30 of 79 posts
Re: CEO Friday: Why we don’t hire .NET programmers
#22Because 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
#23I'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
#24I 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
#25His 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
#26Why does a company that creates expense reports need "the best programmers in the world"?
Re: CEO Friday: Why we don’t hire .NET programmers
#27Why does a company that creates expense reports need "the best programmers in the world"?
Exactly what that contributes to programming or expense reports is anyone's guess.
Re: CEO Friday: Why we don’t hire .NET programmers
#28I 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
#29If 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
#30This 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 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.