Forgot your password?
typodupeerror
Programming Microsoft

Expensify CEO On 'Why We Won't Hire .NET Developers' 758

Posted by Soulskill
from the in-the-first-world-we-work-hard-to-discriminate dept.
TheGrapeApe writes "The CEO of San Francisco-based, VC-backed startup Expensify wrote a post on the company's blog about why he considers .NET experience on a resume a general liability, saying that it will 'definitely raise questions' when screening for developers in his shop. Quoting: '.NET is a dandy language. It's modern, it's fancy, it's got all the bells and whistles. And if you're doing Windows Mobile 7 apps (which the stats suggest you aren't), it's your only choice. But choosing .NET is a choice, and whenever anybody does it, I can't help but ask "why?"' Does he have a point? Or is it counterproductive to screen devs out based on what platforms or languages they have used in the past?"
This discussion has been archived. No new comments can be posted.

Expensify CEO On 'Why We Won't Hire .NET Developers'

Comments Filter:
  • Money (Score:5, Insightful)

    by telchine (719345) on Saturday March 26, 2011 @07:17PM (#35625510)

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

    I do .NET because that's where the money is. Next question please!

    • Funny, that's exactly why I program in LabVIEW. :)

      • but I kept running out of wire.
    • Re:Money (Score:5, Insightful)

      by WrongSizeGlass (838941) on Saturday March 26, 2011 @07:24PM (#35625572)

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

      I do .NET because that's where the money is. Next question please!

      I did a .Net project because one of my clients had existing applications written in VB and they needed them updated to a more current and stable incarnation that could be supported by their programmer. Does this clown think they should have re-done everything? I think we should all chip in to get him a gift certificate to the Asshat Haberdashery.

    • by Anonymous Coward on Saturday March 26, 2011 @07:25PM (#35625584)

      Who the fuck are Expensify? What, if any, notable things have they accomplished?

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        Who the fuck are Expensify? What, if any, notable things have they accomplished?

        ...VC-backed startup Expensify ...

        Expensify is a firm that suckered some rich people into forking over some money so that the Suckee can call himself a CEO, make grand pronouncements that are published, and generally has a much better life than I'll ever have.

        That man is a goddamn genius I say! A GENIUS!

      • by PopeRatzo (965947) * on Saturday March 26, 2011 @08:13PM (#35625958) Homepage Journal

        Who the fuck are Expensify? What, if any, notable things have they accomplished?

        Their main accomplishment for the purposes of this story is that they are rejecting a Microsoft product.

        For some people, that's enough. After all, I'm sure the previous story praising Microsoft's Kinect left a bad taste in peoples' mouths, so this is just a little something to cleanse the palate. By my calculations, we should be about due for a story about revolutionary technological advances expected in the iPad 3. It's the weekend after all, and the adult supervision is probably home with their families.

    • Re:Money (Score:5, Interesting)

      by SpryGuy (206254) on Saturday March 26, 2011 @07:32PM (#35625640)

      I've done C, C++, Java, and half a dozen other languages in my development life.

      While I loathe ASP.NET, I really like C# ... better than I like Java in fact. The Visual Studio development environment (with ReSharper added on) is really nice (though it's no IntelliJ IDEA). And I make a good living doing C# development.

      To judge me negatively for this choice seems... odd. Prejudicial. Baseless.

      I can understand if it was VB all the way, but come on.

    • Re:Money (Score:5, Interesting)

      by definate (876684) on Saturday March 26, 2011 @07:44PM (#35625740)

      Exactly. A lot of jobs, and most of my C++ skills/knowledge transfer well.

      This article is one of the stupidest things I've read in a while.

      "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. However, if you need to make a 1.7 oz burger, you simply can’t."

      I assume by this, he means there's something you can't do in it, because all of the shit is built in. Well, I guess .NET isn't the ONLY solution to EVERY possible problem. Who would have known? Besides that, it's a pretty good solution, to many problems.

      "Instead, we look for a very different sort of person. The sort of person who grew up cooking squirrels over a campfire with sharpened sticks"

      Awesome. I never want to work for you. I've got several friends, and they're good friends, but they're retards. They are C purists, and like to write everything in more low level languages because it's "leet". They have lots of knowledge about C, understand some amazingly complex concepts, but get them to implement something simple, and they're going to write everything from scratch. Why? Because that's the kind of person who isn't used to using all this other code. Isn't used to finding other libraries, or just re-using someone else's code.

      If they see .NET as bad on a resume, especially if that was on a resume from when the person worked at a reasonably large enterprise, and even more so if that was a windows environment, then they're retarded. If I saw a lack of it, especially when developing small applications, I'd be looking further at their work, to see if they really make smart decisions on the best language to use for the given solution.

      I'd say startups don't use .NET and Windows in general, because of licensing. Simple. They don't have to cash to do it. You might also find that the people who have worked at startups are used to dealing with this, because of their own monetary constraints.

      • Re:Money (Score:5, Informative)

        by Gutboy (587531) on Saturday March 26, 2011 @07:51PM (#35625796)
        There is no licensing to use .NET. You can even get Visual Studio for free (Express editions) which have no restrictions on developing business applications.
        • by definate (876684)

          I was thinking more about Windows licensing, as to run those you need to run Windows, and server versions of Windows are fucking expensive with licensing.

      • Re:Money (Score:4, Informative)

        by JAlexoi (1085785) on Saturday March 26, 2011 @08:34PM (#35626126) Homepage
        You don't want to work with them because they are a startup. You will not be able to handle the pressure in a startup. The 12hr workdays and weekend long workshops to ship a cool feature. That is common to most enterprise developers. Startups rarely look favourably at such people, while enterprise HR gobble up that crap like it's candy.
        On the other hand I doubt that you will ever be a CIO at a company of the caliber your clients are. Not because you are not smart enough(I am not in a position to comment), but because you don't have the right education and MBA with BA experience. Unfortunately developers rarely rise to any BA role.

        They don't have to cash to do it.

        They actually do. Because MS has a good startup oriented programme. But people know that MS will hit them with licensing as soon as they smell the smallest amount of cash rolling in. And MS licenses are a hell to decipher... One of my former colleagues, that is the lead of MS sales department,has issues in explaining what those licenses mean.

      • Re:Money (Score:4, Funny)

        by narcc (412956) on Saturday March 26, 2011 @09:08PM (#35626336) Journal

        "Instead, we look for a very different sort of person. The sort of person who grew up cooking squirrels over a campfire with sharpened sticks"

        I knew having that essential skill on my resume would pay off some day!

      • Questioning the use of the .Net framework when doing Windows development is like questioning the use of the J2EE framework for web interface development. Why in the world would you want someone who doesn't know the fundamental frameworks of the environment they're deploying to?

        The days of simple APIs is long gone. Every major product or project I've worked on for the past 10-15 years has started with the choice of a framework, followed by the choice of reusable add-ons for that framework. Only the "le

      • Re:Money (Score:5, Informative)

        by gbjbaanb (229885) on Saturday March 26, 2011 @09:42PM (#35626532)

        I think (or would hope) that he means that anyone trained in .NET development is the equivalent of the burger-button-pushers. They only know how to put the burger in the and press the lights,

        That you can do more, or with different tools, isn't the point - it's that these devs are not trained to be that good.

        This is perhaps the problem with the 'easy to use', 'developer productivity' languages. Whilst you'd never question that a dev who only know PHP is likely to be unable to turn his hand to the complex or unusual tasks, the same does apply a lot to the .NET devs too. Its not their fault, its not .NET's fault, its the way its designed. Its the way it's supposed to be as that's the design decisions that were made to make the language that gives you a lot of developer productivity.

        However, I'd be more concerned about devs with *only* .NET on their CVs. They're not not going to worry about a C++ guy who has said he also did a bit of .NET, PHP, javascript, Ruby, Java, C, Smalltalk and Concurrent Euclid. Its the guys who only know how to drive Visual Studio that you do have to worry about.

        • by julesh (229690)

          However, I'd be more concerned about devs with *only* .NET on their CVs.

          Well, sure. And I'd be particularly keen to ask them why they're applying for a job that isn't using .NET if that's all they can do... but that's not what TFA is talking about. He's saying that he's cautious about hiring a developer with *any* .NET experience. Which strikes me as extremely shortsighted. The best developers in the world work with everything they can get their hands on, just to try it.

      • Re:Money (Score:4, Funny)

        by Velex (120469) on Sunday March 27, 2011 @02:18AM (#35627828) Homepage Journal

        Well, I guess .NET isn't the ONLY solution to EVERY possible problem.

        Interestingly I flirted with the system.net.mail namespace. He played footsie with me, and our first date was fantastic. I was absolutely thrilled, but when we met for our 2nd date, I asked him if he had a way of proving to one of my clients that he had actually sent an email I'd asked him to, for example, by providing the SMTP session upon request. He asked the waitress for another drink and said that no, he didn't.

        I figured perhaps I could get my friend Eve to listen in on his communications with other mail servers, but Eve told me, "Girl, that dude's bad news. You don't want nothin' to do with him. Every time I tries to record his sessions, sister, he drops his socket at the first sign of a 200 response. My advice, girl, is if you's lookin' for something like that, you just best write your own emailer."

        And so I did.

    • If your choices are driven by money, you aren't the sort of programmer I'd be interested in hiring or working with. Not because I wouldn't want to pay you well, but because people who have that as a motivation tend not to do their jobs as well as people who have a more personal motivation.

    • Re:Money (Score:4, Interesting)

      by Penguinisto (415985) on Saturday March 26, 2011 @08:05PM (#35625900) Journal

      I do .NET because that's where the money is.

      So do you love writing code, or did you just do it for the paycheck?

      TFA (yeah, I read it, my bad) says they're looking for people who love to write code, and know how to do it well. They want coders who have a passion for what they do. They want coders who are flexible, and who are able to adapt. They want coders who are able to not only write apps, but who understand what's really going on deep down.

      Honestly? I agree with the guy. If you're running a startup, and looking for long-term growth, your initial coders need to be more than merely competent.

      I remember when I did a stint working for a small company... these guys, to be exact [daz3d.com]. They had two full-on coders, one hell of a script whiz who knew 3D/CG like the back of his hand, and they had me. I had to learn Qt in very short order, figure out the fun nuances of helping port everything from x86 to PPC (this was pre-Intel Mac). Oh, and we did all of our own documentation, for both the SDK (both code and our own home-grown CG-oriented scripting language) *and* the users. I had to pick up bits and bobs that I thought I'd never have to use after leaving school (dusting off rusty trigonometry skills, blending in gaming, artistic, printing/color, and a whole pile of other concepts). Oh, and we'd just bought the codebase for Bryce [wikipedia.org] during that time and had to clean that up (this is where I learned that Kai Krause can be a very evil man...)

      Long story short, in that environment, you had to be agile, and given the insane hours, you had to be agile, and you had to really love doing it. OTOH, I wouldn't trade that for anything. We were outright cowboys by big-corp standards, and had a ball doing it.

      In an environment like that? There's zero room for cookie-cutter technologies, or cookie-cutter programmers. (not accusing you, just sayin').

      • Re:Money (Score:4, Insightful)

        by shutdown -p now (807394) on Saturday March 26, 2011 @09:26PM (#35626442) Journal

        TFA (yeah, I read it, my bad) says they're looking for people who love to write code, and know how to do it well. They want coders who have a passion for what they do. They want coders who are flexible, and who are able to adapt. They want coders who are able to not only write apps, but who understand what's really going on deep down ... In an environment like that? There's zero room for cookie-cutter technologies, or cookie-cutter programmers.

        Cool, but how does it make the claim that .NET (and .NET alone, since he's singling it out - not even Java is getting the same treatment) is "cookie cutter technology"?

        His premise is that you're railroaded if you do .NET development. He claims that, so long as your solution fits the prescribed pattern, it's easy (true, as with any other language+framework combo), but then he also says that if your requirements are non-standard, then it's impossible to implement in .NET. And that part is patently false - it's more expressive than Java, for example, and in some ways reaches the expressivity of e.g. Ruby (thanks to lambdas with type inference and extension methods).

        Again, if he said that he's wary of people with only .NET (or only Java) on their resume, that would make some sense. But he's instead saying that merely having .NET on your resume at all is a negative sign as far as he is concerned. That's the part where it becomes clear that it's really a "my language is better than your language" pissing contest and nothing more.

        By the way, I wonder - is Ruby on Rails a "cookie cutter" technology? I mean, it does a lot more for the programmer than even the best .NET web frameworks do. At the same time, its "convention over configuration" approach means that you're strongly rewarded for doing things in a prescribed way with minimal deviation (even though you're free to step aside if you want). So, do they also consider RoR experience negative?

        The same, of course, can be applied to several dozen different frameworks written in and for a dozen languages, including all mainstream ones.

        • by quintesse (654840)

          Cool, but how does it make the claim that .NET (and .NET alone, since he's singling it out - not even Java is getting the same treatment) is "cookie cutter technology"?

          I'd say because, in general, Java is NOT cookie cutter technology. One of the big complaints coming out of the .NET camp is that Java just has too many options, that you'll spend more time deciding which technology, library or framework to use than doing actual work.

          So in a way I agree with what he says, because from experience I can say that I have met my share of .NET developers who think that a Web Service is that option that appears on the menu of Visual Studio and have no idea how all of it works or ho

    • Exactly (Score:4, Insightful)

      by Weaselmancer (533834) on Saturday March 26, 2011 @09:28PM (#35626452)

      It's not like every job I've ever had I was thinking "what will this make my resume look like, in the event I run into some language snob in the future?"

      I'm in it to get paid. If there was money in it, I'd write COBOL apps to run on mainframes that are beowulf clusters of iPads. I have a family to feed and a mortgage to pay so I don't wind up homeless. I don't give a rats ass about much else. Pay me and I write code - that's it.

      • by ianare (1132971)

        With that kind of mentality, you're not very likely to be interested in a startup anyway. There's always the very real possibility of complete failure, leaving you with basically nothing. They also expect you to work long hours, often 'volunteering' for unpaid overtime, or working at home on weekends. None of this is very appealing to a man with a family.

        There is, of course, absolutely nothing wrong with wanting a secure job to provide for your family -- and being able to leave your work, at work. In fact

  • Idiotic (Score:3, Insightful)

    by Anonymous Coward on Saturday March 26, 2011 @07:18PM (#35625520)

    I've been using C# at work for some time now as a co-op, not because it was my first choice, but because that was what we were told to use. I know other languages, and I'm quite good with them.

    It's just as well. Anyone who thinks .NET itself is a *language* isn't someone I want to work for.

    • It's great for throwing together something that mostly-works, and doing so very quickly. I wouldn't use it for anything that's at all performance-sensitive, or even just very big. It's somewhere in between true scripting languages and 'real' application programming languages.
      • Re:Idiotic (Score:4, Insightful)

        by SpryGuy (206254) on Saturday March 26, 2011 @07:35PM (#35625680)

        That's simply no longer true. C# is very good at performance, and isn't even remotely a "scripting language". And you can use "real" application programming techniques, just as in any other language.

        I think your perception of .Net in general is dated, and that's especially true of C#.

        • Re:Idiotic (Score:5, Insightful)

          by internettoughguy (1478741) on Saturday March 26, 2011 @10:58PM (#35626892)

          C# is very good at performance.

          Compared to what? It's comparable to Java, and a lot faster than Python, but it's still a great deal slower than C++ or C. [blogspot.com]

          That said it's a perfectly fine language, and is a good trade off between runtime speed and coding speed. If I had the choice I would go for Python, Java, C, C++ or a combination of those, simply because they are cross platform.

  • My experience (Score:5, Insightful)

    by Progman3K (515744) on Saturday March 26, 2011 @07:18PM (#35625522)

    Only known ONE .NET programmer, and he was damned fine, thing is, he was a damned-fine C++ programmer too, so ...

    • Re: (Score:2, Insightful)

      by bigstrat2003 (1058574)
      Yeah, this guy is a moron. What's next, he's going to rule out any developers that used dual displays at a previous job? I can see it now: "We can't afford to buy two displays for our developers, and once you have two displays you're forever tainted by their influence, so we can't hire you."
      • by brainboyz (114458)

        Well, to be honest, I feel horribly limited when forced to work at a company that only uses single screens. After years of developing and editing in one screen while referencing data or docs in the other, often multiple windows in each, alt+tab between two windows seems archaic and painful.

        • Yes, but if you had to, you could most likely adapt. That's the point, and that's what this guy is missing.
      • According to TFA, he doesn't generally rule them out - it just raises a flag.

        A developer who is versatile should have no problems getting past that.

    • Re:My experience (Score:5, Insightful)

      by Sycraft-fu (314770) on Saturday March 26, 2011 @07:30PM (#35625620)

      Ya as far as I'm concerned each additional language you can actually demonstrate you know (as in have done a non-trivial project in) is another point in your favour. Why? Because it means three things to me:

      1) You are a true programmer, not just a code hack. You understand how a computer actually thinks, how data is stored in memory, how a processor works, etc. You understand that languages are just tools to do a job, and all they do is help you describe to the computer what you wish it to do. If required you can pick up a new language with little trouble because you understand it is all the same process, just different grammar and syntax and so on.

      2) Because of that you have flexibility and will use the right too for the right job. You won't spend hours in C trying to make a text parser that could be easily done in PERL, and you won't wast time futily trying to optimize a critical function in Java that could execute 50 times as fast in C++. You'll choose the language that is right for the given task to get it done quickly, efficiently, make it maintainable, and so on. Choices will be pragmatic, not ideological.

      3) You can work in non-preferred languages if required. If there is an existing program written in something you don't normally use, but their developers want to keep it all in that language, you can adapt and use that. You won't feel the need to waste immense amounts of time rewriting the whole thing, or fighting with them to write the new parts in a different language that they don't want. You can adapt and use it, even if it is the suboptimal choice in your opinion.

      Real programmers you aren't paying for their knowledge of a specific language. You are paying them for their problem solving and logic skills. They can think like a computer and put problems in to things computers can understand. Having a large number of tools for that is a good thing.

      • Re: (Score:2, Informative)

        by sphealey (2855)

        > 1) You are a true programmer, not just a code hack. You understand how a computer
        > actually thinks, how data is stored in memory, how a processor works, etc. You
        > understand that languages are just tools to do a job, and all they do is help you describe
        > to the computer what you wish it to do. If required you can pick up a new language with
        > little trouble because you understand it is all the same process, just different grammar
        > and syntax and so on.

        I generally agree with that, and thr

      • and you won't wast time futily trying to optimize a critical function in Java that could execute 50 times as fast in C++

        I agree with your post entirely, but that point is based on the myth that Java is slow. Java is typically anywhere between 70-110% as fast as C++, depending on your C++ compiler and the program you're writing.

        In some pathological cases C++ can be 10x faster than Java (although there are pathological cases in the other direction too).

        But C++ is basically never 50x faster than Java on any so

  • Good to know (Score:5, Insightful)

    by Sycraft-fu (314770) on Saturday March 26, 2011 @07:21PM (#35625552)

    I'll make sure not to hire Expensify. Why? Well if they have a language-zealot mentality, then I'm not going to like what I get. That is the sign of code hacks, not developers. Real developers can develop in more or less any language. They'll have their favourites, of course, and use different ones for different jobs, but they won't write off a given language for ideological reasons.

    I can totally understand and support not hiring .NET only developers, particularly if your market is non-Windows. I mean someone who only does .NET may well be the aforementioned "code hack" and of course is little use if you are doing Android development. but that you'd count it against someone that they have done it? That just speaks of ideological zealotry, not anything practical.

    One of my coworkers is our UNIX and Linux lead. He runs those servers and so so well. He has hacked many a script to make Linux work well in our unique environment. He does back end development on our website, which is LAMP. However can can truthfully put .NET development on his resume. He has done some .NET stuff for the Windows side, and also does it as a consultant. It is not the only thing he does, but it is one of his many tools and I'd expect him to list it.

    He's a very skilled individual and to exclude him because he has additional knowledge of MS development would be really stupid.

    So to me, this CEO has proclaimed "Don't hire my company. We are zealots who will insist in coding in a certain language, even if your project would be better served by something else."

    Thanks for the warning bud.

    • Re:Good to know (Score:5, Insightful)

      by yelvington (8169) on Saturday March 26, 2011 @07:34PM (#35625676) Homepage

      I'll make sure not to hire Expensify. Why? Well if they have a language-zealot mentality, then I'm not going to like what I get.

      That's not what the blog post is about.

      And personally, I won't hire somebody who doesn't bother to read the citation.

    • by definate (876684)

      Exactly!

      Any company which presumes something about its employees, because they have written in some language, or presumes that the language isn't good.

      More so any developer which hasn't used .NET, especially if the solution they were implementing could have been developed in .NET, I would be more worried about. I have many friends like this guy, who are "code purists", where they stick to only certain low level languages, and write everything needed themselves. The problem being that many solutions don't ne

    • Woh, everyone slow down. I think he was trying to suggest that people that only code in .Net are less desirable than people that are coding in other languages. Where I work we ONLY use .Net. Period. There are those there that know other languages as well as those contained in .Net, they are the good ones... then there are the ones that went to the local community college and took all the visual studio classes, they are the bad ones. I think the latter are the ones he's trying to weed out.
  • I'm mainly learning .NET because it's a requirement as part of my university degree in management information systems. I wanted to learn regular C++ or Java as those have tons of applications, but .NET, and more specifically C# is required for pretty much any computer related degree these days. Whether this is due to lobbying by MS or due to many businesses using it, I don't have any idea, just it's that the university requires it.

  • Mutiplier (Score:5, Insightful)

    by igreaterthanu (1942456) * on Saturday March 26, 2011 @07:22PM (#35625560)

    .NET (like Java and old versions of Visual Basic) lets stupid programmers who usually wouldn't be able to do anything at all, do a bad job of something. So I can see where it gets it's bad reputation from.

    However, for intelligent and talented programmers, .NET increases the speed that they can write code greatly. Unless you are someone like Amazon, Google or Oracle then developer time is much more expensive than CPU and RAM costs. Desktop computers have been faster than we need them for years.

    .NET is also simultaneously lower level than Java (it supports pointers and pointer arithmetic), and higher level (LINQ, extension methods, better generic support, F#, TPL), so I can't see why you could pick on .NET devs and not on Java devs.

    You can't claim .NET is Microsoft only either, Mono runs on *nix and works absolutely fine for server code and most windows forms code.

  • Dear Slashdot, (Score:5, Insightful)

    by falzer (224563) on Saturday March 26, 2011 @07:24PM (#35625580)

    Dear Slashdot,

    Thank you for propagating this non-news publicity stunt in true Slashbot form. You never disappoint.

    Love, Expensify

  • by HornWumpus (783565) on Saturday March 26, 2011 @07:25PM (#35625588)

    See, Microsoft very intentionally (and very successfully) created .NET to be as different as possible from everything else out there, 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.

    The dude doesn't understand the first thing about .NET

    It is not different from everything else out there.

    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.

    However, if you need to make a 1.7 oz burger, you simply can’t. There’s no button for it. The patties are pre-formed in the wrong size.

    WTF? This dude is on crack.

    Why did this even get posted on /.

    Some pointy haired moron goes on a rant (that will likely be accepted on face value by a plurality of /. readers), why is this newsworthy. Why would anybody want to work for this twit. This story should be moderated flamebait and troll.

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

      Yup, it's definitely as different as possible from everything else out there. Well, except for this obscure little thing called Java, but that doesn't really count.

  • This CEO has chosen an unfortunate way to be an attention whore. .NET may not be his cup of tea, but to say the experience is a liability is plain stupid. I'd suggest he spend more time generating some positive attention instead of making customers think Expensify is run by a moron.
  • by Lemming Mark (849014) on Saturday March 26, 2011 @07:34PM (#35625670) Homepage

    If you think you've identified an easy way to judge a job applicant, you're probably wrong. A programmer can be good in any language, you need to test his aptitude for logical thinking and learning new things - requires more effort but is more likely to do justice to both you and the applicant.

  • this argument is just stupid.

    My highschool was a trade school where I "majored" in a computer science curriculum. Half of the curriculum was about networking and systems administration, and the other half of the program taught programming fundamentals. During my programming lectures we used a variety of languages. My freshman year we started with web development that included HTML, CSS and scripting with js and php. My first step into programming was with COBOL. I then used learned to use Visual Studio w

  • by Anonymous Coward on Saturday March 26, 2011 @07:48PM (#35625766)

    Every CIO makes choices for the technologies used inside their companies. They also make choices for technologies to be avoided for a variety of reasons.

    I'm a CIO and to be certain my company isn't stuck with single platform solutions or poor library choices,
    a) all our software runs on Solaris, AIX, HP-UX, Linux, Mac and Windows
    b) The Linux client cannot use Mono (my choice). PERIOD. We don't allow those libraries on Linux at all.
    c) The Windows client cannot have divergent capabilities from the other systems and needs to look and feel like other platforms.
    d) We prefer BSD, MIT, Apache licensed FLOSS over GPL or LGPL. I have to sign-off on GPL/LGPL stuff. Commercial stuff needs my sign-off too, obviously.

    I agree that this CIO may be going too far, but I do not disagree that .NET programmers have to work harder to write cross-platform. All parts of the world are churning out .NET programmers with that a single skill. THOSE are the developers I want to avoid on my teams. Cross-platform developers who happen to know .NET are not a liability unless they enjoy .NET programming too much.

    OTOH, we do have clients that force .NET development for specific projects due to 3rd party mandated tools - ArcGIS, for example. My dev team hates working on that software, so we charge 30% higher rates for that work. ArcGIS is a specialized skill and easily supports the higher costs.

    If I were running a Windows-only shop, then I wouldn't make the same decisions. Thank your-favorite-deity that I'm not.

  • Some of the points he is making seems to be valid. But that would be valid for any CASE tool (Computer Aided Software Engineering, remember that term from circa 1990s?). Yes, there are software development environment that allows you to create mickey mouse applications with lots of bells and whistles without fully understanding the nitty gritty. But it does not make all developers using such a platform idiots.

    His rant about backslashes in path names strikes a cord with me. The 8.3 file name size restricti

  • I'm not trolling, but his analogy on McDonalds kitchen sounds like Drupal and other CMS out there. Creating a 1.7oz burger is hard on those frameworks too, even though that's where the money on web development is.
  • by hey! (33014) on Saturday March 26, 2011 @08:07PM (#35625918) Homepage Journal

    It is critical, absolutely critical, to hire the very best people you can find. The output difference in going from a bad to competent to good to great in a developer is exponential, but the difference in cost is merely logarithmic. Only a fool lets his personal prejudices stand in the way of finding talent, whether that prejudice is about race, religion, sexual orientation ... even development languages and platforms.

    Maybe the candidate developed in dotNet because that's what he was asked to do by his boss. Maybe he thought C# was interesting, or would get him the job he wanted. Maybe he just *thinks* differently than you do, and so prefers dotNet to Java, Python, Ruby or whatever rings *your* bell.

    What you are looking for is somebody whose talent ideally transcends languages and platforms. Somebody you could ask to write something in x86 assembler, and he'd learn it and turn out something pretty good, maybe not as fast as the average assembler programmer could, but the second time around he'd be on par in getting the job done and by the third he'd leave the average programmer in the dust. You want a creative problem solver, a deep thinker, a team player who knows when to take initiative, somebody with real grit and dedication to the success of the project.

    What you want is all of that. But you'll never get it. That means *right from the get-go* you're talking about compromises. And this guy's thinking about blackballing applicants because they have experience he doesn't? Jackass.

  • A framework and language are a means to an end. Having a religious or emotional attachment to either is sheer stupidity.

  • He either never had, or no longer trusts, his own programming knowledge and skills. He, therefore, can't make informed decisions about programmers and programming and so comes up with arbitrary criteria to make his decisions for him.

  • It's not .NET's fault. It's the people he's been looking at.

    The deal is, if you're a commercial software company, the thing you really want to keep is control over as much of the stack as possible. Why? Because when you've got a hairy performance problem you don't want to find out that it's because of code generated by some "easy to use" wizard. That is now deeply intertwined in 1/10th of your classes.

    The sort of developer you want is someone who has been severely burned by wizards in the past and is now

  • Isn't this just a modern-day variant of "goto considered harmful"?

  • Impressions (Score:4, Informative)

    by JBMcB (73720) on Saturday March 26, 2011 @08:35PM (#35626136)

    FTA: ". 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"

    using System.Net.Sockets ...
    IPEndPoint _p = new IPEndPoint (127.0.0.1, 80);
    Socket _s = new Socket(_p, SocketType.Stream, ProtocolType.Tcp);
    _s.Connect(_p);
    _s.Send(...bytestream...);

    Boy howdy, that's just buried in layers.

  • by Locutus (9039) on Saturday March 26, 2011 @10:54PM (#35626874)
    I've often called Microsoft Windows McWindows because I constantly heard people explaining their choice of platform and software because it was popular. This guy doesn't like MS .NET developers because they picked a platform and SDK which is locked down and dictates too many things which you'll have a tough time doing differently. I was blown away in the 90s when there were all these Windows CE clamshell devices and Palm blew them away with a portrait format device( even though the screen was square(160x160) ) and they all closed shop until Microsoft came out with new version of Windows CE which had a different screen resolution designed for portrait layout instead of landscape. I thought WTF, Microsoft was dictating the display format.

    So that's the deal, the guy doesn't want developers who pick a platform that'll get them stuff on their screen fast but when the hard stuff shows up, the stuff outside the box, their platform restricts what they can do or how they approach the solution. That's what I got out of it. And it was fun seeing the McDonalds reference. That "everyone else is using it" shit always pissed me off when other technologies were far far better at solving the task and I've even quit a couple of jobs over it. Both those project failed because the lowest common denominator is not often the choice that you'll succeed with. But money just gets wasted and nobody gets fired for picking Microsoft. You just move onto another project and say thanks for the 1, 2, or 3 years of salary. To some, it's more about building it right, building it to last, building it with just a bit if pride. IMO.

    LoB
  • by SecurityGuy (217807) on Saturday March 26, 2011 @11:04PM (#35626916)

    Seriously. I'll do it.

    I RTFA expecting, like most of you, to want to rip this guy a new one, but here's the thing.

    He didn't say he won't hire .net developers. He said he considers it a liability and will want to know why you chose to learn it. He never said there were no good reasons. Hell, a lot of you have posted some. I don't know .net, but if it's what I had to learn to get something done that my client needed, it's what I would do.

    So, dearest editors, how about not massively misrepresenting what people are saying? That, or let someone else do it.

  • by gig (78408) on Saturday March 26, 2011 @11:51PM (#35627150)

    I wouldn't hire anyone with majority Windows experience in general. It speaks to their judgement. You decided to use Windows instead of a Mac or other UNIX? In this century? In San Francisco and Silicon Valley? I'm not impressed, because you are not going to know how to do the real version of a task. You're missing key tools. You're hobbled by Microsoft's involvement, not enabled.

    For example, when interviewing Photoshop pros, I'm always looking for Wacom Tablet experience (it is amazing that people think they are "using Photoshop" with a mouse) and rarely does someone with Windows experience actually know how to use a tablet. I'm always looking for Photoshop automation experience, because there is a lot of grunt work in graphics, you can make it all go away with a little AppleScript. Rarely does a Windows user know how to automate Photoshop, because it is 1000 times harder on Windows. Further, Windows users don't know color management, which is a bolt-on for Windows, but built-into the Mac. Then a guy or gal comes in who knows Photoshop, the Mac, the Tablet, AppleScript, and ColorSync, and they can sit down and be immediately productive all day. And they won't need I-T help all day, either.

    So I get what this guy is saying.

    I have a chef friend who told me the most important lesson a chef can learn is to use great ingredients. She said a chef with organic, grass-fed beef and organic vegetables and a little olive oil and fresh oregano and garlic is going to out-cook a more-skilled chef who has to use typical mediocre supermarket ingredients. The great ingredients already have flavor from the start, and the mediocre ones lack flavor from the start. So she said when she is hiring people, the first thing she looks for is their attention to ingredients, because that means they are paying attention to the big picture, they are going to make more flavorful food no matter what circumstance you put them into, what kitchen, what challenge you set for them. I took her advice and even with my very limited cooking skills, I suddenly make great-tasting food because I start with great-tasting ingredients.

    The equivalent advice I give people who ask me how can they make digital art or applications as good as mine is "get a Mac." Start with good ingredients like ColorSync, AppleScript, QuickTime, WebKit, Apache, PHP, Python, Perl, Ruby. People come back to me a month or two later and thank me for making them into better artists with that one bit of advice in the same way I thanked my chef friend for dramatically improving my cooking by opening my eyes to the importance of ingredients.

    Somebody who chooses to use a Windows machine in the 21st century is not paying attention to the big picture. They may be able to cook you a meal, they may know how to bake and broil, but they will not make you any great tasting food.

    And if you are talking about mobile applications specifically, then somebody who went through 2008-2011 and did not get into Xcode? You have to wonder is their passion mobile apps? There is a whole PC replacement cycle between 2008-2011 and they didn't buy a Mac, on which you can also run Windows, so that they could make an iPhone or iPad app? Even with my limited Windows experience, if Microsoft had done iPhone in 2007 and iPad in 2010 instead of Apple, I would have a copy of Windows 7 and Visual Studio and would have made apps for those devices. So someone who spent 2008-2011 doing .NET is not part of the mobile game. You have to be suspicious of that person at an interview. You want somebody who makes mobile apps, not Microsoft apps.

    • by caywen (942955) on Sunday March 27, 2011 @02:14AM (#35627816)

      What really undermines your *point* is that you think that somehow studying Windows development undermines ones judgement. It's not a bad judgement to learn a technology that is required of you. I started out a Linux and Java developer. I needed to port to Windows because that's where the market is. In doing so, I learned some .NET technology. What judgement should I have exercised? Quit the job? I think the better judgement is to be open minded and meet the challenges you're faced by learning.

      The basics of your point are OK, of course. If I'm running a shop based on Linux, I'd probably skip the Windows developer resumes wholesale. Not a problem. We get that. If, however, I'm running a shop that makes a popular Mac app, I might be quite interested in Mac developers who have Windows development experience if I'm at all interested in the possibility of targeting the other 90% of PC's.

  • by Morpeth (577066) on Sunday March 27, 2011 @04:15AM (#35628290)
    "NET is a dandy language."

    That comment alone gives me the image of a clueless Dilbert-esque pointy-haired boss who has no business leading anything. Whoever is funding the start-up, needs to fire him and get someone else.

    If he's going to make broad (and stupid) decisions based on something like this, he should at least be able to distinguish between a framework and a programming language. And even then, he's STILL an idiot...

"We are on the verge: Today our program proved Fermat's next-to-last theorem." -- Epigrams in Programming, ACM SIGPLAN Sept. 1982

Working...