Expensify CEO On 'Why We Won't Hire .NET Developers'
758
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?"
Money (Score:5, Insightful)
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!
Re: (Score:2)
Funny, that's exactly why I program in LabVIEW. :)
I tried LabView once (Score:3)
Re: (Score:3, Insightful)
By "guys like in the article", I assume you're talking about the founder and CEO, who's discussing his hiring practices, and observations of employee behavior.
I actually find his evaluation to be pretty close to factual. Most Windows driven developers who swear by MS products, frequently don't know much more than "I point, I click, it works."
I was recently sitting in on a meeting where two developers were pushing the development of a new site. The CEO had a cle
Re: (Score:3)
> Dont DISS .Net people, PHP or even anything can be as bad. Its just that linux stuff is so
> obscure only smart geeks use it at home at the age of 12.
Which is kinda the point now isn't it? The really smart geeks know Linux not because they were taught it in school, but because they taught themselves beforehand. .NET people tend to learn it in school or from some goddamned "learn [foo] in 24 hours" book right before they try to pass themselves off as competent to get a job. In a startup environment
Re: (Score:3)
Programming is not a black art. Its simply what do you want to build, what is the best technology to the task, and build a plan/strategy for controlling risk and project creeps...
Wish we could control a few of the creeps in our project......
Re:Money (Score:4, Informative)
Because you don't really want labview skills. You want engineers or physicists, and they can be trained up in labview if needed. That isn't to say people don't use labview, only that it's just a tool, and the hard part is learning the science or engineering. Most of the physicists I know still program in fortran (77, not even 95), but it doesn't show up on want ads for PhD in physics: must know fortran, because well... they can learn fortran.
CS and Software eng hiring is much more driven by business guys who, ask questions like.. I kid you not "Do you know HTML" (I got asked that in a job interview after my MSc in comp sci). The tools used shouldn't replace the knowledge that drives their use. However, if you did your CS degree and only learned to program using C++ the program probably wasn't very good, but in engineering you can do the whole thing with well.. labview. The question I suppose with .net is if you only really know .net do you know enough about programs to be any good at writing them.
But of course... you don't choose who offers you a job first, and they pay for .net, you learn .net. Because 50k/year programming .net is better than welfare, and better than 20k/year at macdonalds.
Re: (Score:3)
While I won't argue with the substance of what you're saying and I haven't ever considered "Labview experience" in a resume, there are a few scenarios where it might be pertinent to ask if you have a particular language experience, primarily if you're deep at the hardware layer or doing kernel (Linux, NT, custom) level stuff. While I expect that with an MS in EE/CS you should have no trouble learning C, or even understanding calling conventions and interfacing with assembly, some of the problems I want you
Re:Money (Score:5, Insightful)
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.
Re: (Score:2)
An asshat haberdasher like this one [xkcd.org]
Next question: Who the fuck are Expensify? (Score:5, Insightful)
Who the fuck are Expensify? What, if any, notable things have they accomplished?
Re: (Score:2, Insightful)
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!
ha ha ha ha (Score:4, Funny)
thank you for summing up the economy of the United States, circa 2000-2010
Re:Next question: Who the fuck are Expensify? (Score:5, Funny)
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)
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: (Score:2, Insightful)
i make 6x that fucking around with shell scripts and perl. one of the many joys of actually having a clue about shit without having to constantly learn whatever technology microsoft is pushing this month.
Re:Money (Score:5, Funny)
I make close to 6 figures using real languages.
Most of us don't count the digits to the right of the decimal point.
Re:Money (Score:5, Informative)
Re:Money (Score:5, Insightful)
Re: (Score:3)
One that isn't an integer?
Re:Money (Score:5, Interesting)
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)
Re: (Score:2)
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: (Score:3)
That's why you run apache with mod_mono [mono-project.com] on a Linux box instead.
Re:Money (Score:4, Informative)
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 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)
"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!
It's a framework, not a language (Score:3)
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: (Score:3)
What to practice is a moving target. A fast moving target. But the underlying principles will serve you well no matter what paradigms, methodology, language, environment, tools, or libraries you use.
As an example, it's still useful to know how to do basic arithmetic by hand, not because you need to know that specifically, but because you ought to know a few examples to help you understand the concept of an algorithm. This is repeated on a higher level because these days, application developers seldom i
Re:Money (Score:5, Informative)
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.
Re: (Score:3)
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)
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.
Re: (Score:2)
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:5, Insightful)
I'd have thought striving to be independently wealthy would be an admirable goal - it's a lot easier to be a philanthropist when you don't have to worry about the roof over your head and where your next meal is coming from.
You'd have thought, but you'd have been wrong.
The pursuit and acquisition of wealth generally breeds greater stress and worry rather than less. Granted, there is a level of income below which one struggles constantly to manage even the most basic aspects of daily living.
Having lived on both sides of the divide, I can say with some assurance that living in poverty is debilitating, but so is significant wealth.
The one lesson of any value I've learned is that if you're really serious about helping others (or helping make important things happen), you're doing it already. Opportunities tend to look for people willing to accept them. You don't have to be rich or powerful to achieve important things. Most of the time, you'll find yourself pitted against the rich and powerful - at least you will if what you're doing represents any sort of change. Even then, there are always influential allies to be found. Put in enough hours, demonstrate - no, prove - your abilities and Good Things do happen.
But here's the catch. To do so is to accept uncertainty and risk as your constant companions. You are guaranteed to fail more than you succeed. Every victory, save a very choice few, will be temporary or mitigated by compromise. Your own needs and satisfaction will always take second place to those of others. You'll find yourself - as I do - older, wiser, largely contented, but with very little to guarantee a contented, comfortable retirement.
All of this, of course, runs counter to the American myth of Success, where the sole measure of influence and importance is wealth. Rightly or wongly, it highlights people like Steve Jobs, Bill Gates and Mark Zuckerberg, relegating Knuth, Woz, Mohammed Younus and countless other more meritorious figures to the shadows. This is a distortion. It's not false, but it's fake.
In rare cases, wealth will accompany accomplishment, but that's not always the case, and if you let the former stand for the latter, that's all you'll have. As a wise man once said to me, 'If you go into the hills looking for gold, all you'll find is gold.'
Re:Money (Score:5, Insightful)
You're assuming the goal is wealth, rather than merely independence from the golden chains of wage slavery. For some people, there *is* such a thing as enough money.
Not really. I actually grant right up front that freedom from wage-slavery is pretty important. What I take issue with is the assumption that one can focus on the money first and then get to the important things afterwards. In my admittedly uncommon experience (I walked away from the corporate world in 2002 and have lived and worked in the developing world since then), waiting until you have the means to achieve important things leads to a lifetime of waiting.
In my home country (Canada), there was an ad campaign for a life insurance company, titled 'Freedom 55'. Its premise was that, if you work hard and save now, you'll not be too old to enjoy the benefits when they finally accrue. I always found them wryly amusing, because I was enjoying myself - fulfilling myself - already, and I was only in my thirties.
Now, I'm closer to 50 than 40. But I'm healthy, happy, with a rich and challenging home life. I do work that's demonstrably important to the development of my adopted country (and about 20 more throughout the region). In my own humble way, I've been able to assist in the development of a small but thriving society. I'm fairly well off by local standards, but if I chose, I could be much, much richer. The problem is that the time I spent chasing a secure income would be taking away from the very things that give me the greatest joy and fulfillment.
My argument, then, is: Why wait? What is so important about economic independence that it can't simply be considered one of several equally important corollaries that stem from the desire to lead an interesting life?
Re:Money (Score:4, Interesting)
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)
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.
Re: (Score:3)
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)
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.
Re: (Score:3)
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
Re: (Score:3)
Then I would hate to work for you. Not because I feel that certifications have any value in defining my skill as a programmer, but because there are legitimate business reasons to obtain such certifications, and if you discard resumes because someone had legitimate reasons to obtain certification, then you're somone who places more value on ideology than substance.
As an example of a legitimate reason. Many companies are microsoft partners, and Microsoft requires that they have a certain number of certifie
Re: (Score:3)
Then you're not "kind of a douche", you're a douche with a capital bag.
Fucking hipsters.
Disclaimer: I don't have any MS certifications.
Idiotic (Score:3, Insightful)
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.
Re: (Score:2)
Re:Idiotic (Score:4, Insightful)
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)
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.
Re: (Score:3)
The chart in the link you post shows .net c# only being 16% slower than c++, while java is displayed 35% slower. I would call that slower than c++ and faster than java, slightly closer to c++ than java but still near the middle pont. Deffinitevly not comparable to Java, though.
You're right, I was comparing Mono to Java, rather than .net as the GP suggested. However .net itself is not cross-platform at all, while Mono is still incomplete and slow. So porting .net software would be difficult. As to the .net C# binary tree being faster than C++, the C++ code must be a fairly poor implementation :).
My experience (Score:5, Insightful)
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)
Re: (Score:2)
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.
Re: (Score:3)
Re: (Score:2)
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)
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)
> 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
Re: (Score:3)
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
Re: (Score:2)
Most?
I would say MOST of the reasons programmers learn any language is because their university/boss at one time told them to program in it (many times without any way you could of known they would of suddenly decided you should use some stupid or good language).
Re: (Score:2)
The question is WHY did he choose to devote time to that language. There are a few reasonable answers, but most come down to poor decisions.
.Net is way more than a language. That said, C# is one of the best general-purpose languages out there. It's far ahead of Java and Ruby. Only Python really competes for general purpose stuff.
Good to know (Score:5, Insightful)
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)
That's not what the blog post is about.
And personally, I won't hire somebody who doesn't bother to read the citation.
Re: (Score:2)
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
Re: (Score:3)
Why I'm learning .NET (Score:2)
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)
.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.
Re: (Score:3)
The libraries is one of the important parts of it, the "yield" keyword, LINQ and extension methods cannot be implemented by libraries alone though.
I write this as someone working on a project in C# where iPads and Android tablets would be ideal platforms for one part of the project, but will never happen because of the poor decision to use C# made because the internal programmers at the company that hired us only knew that language.
So .NET somehow does not work on the iPad [mono-project.com] and Android [mono-android.net]?
Dear Slashdot, (Score:5, Insightful)
Dear Slashdot,
Thank you for propagating this non-news publicity stunt in true Slashbot form. You never disappoint.
Love, Expensify
This dude is an idiot. See quotes below. (Score:5, Informative)
The dude doesn't understand the first thing about .NET
It is not different from everything else out there.
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.
Re: (Score:2)
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.
What an asshat. Make money, not controversy. (Score:2)
No easy shortcut to hiring well (Score:3)
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.
I dont consider myself a programmer, but... (Score:2)
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
CIOs make choices about technologies (Score:3, Informative)
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.
Confused rant. (Score:2)
His rant about backslashes in path names strikes a cord with me. The 8.3 file name size restricti
sounds like a CMS (Score:2)
Never used dotNet, but this guy is an idiot. (Score:5, Insightful)
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.
expensify...dickhead bigots? (Score:2)
A framework and language are a means to an end. Having a religious or emotional attachment to either is sheer stupidity.
This isn't about .NET, it is about the CEO (Score:2)
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.
Needs to look at a different class of .NET develop (Score:2)
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
.NET considered harmful (Score:2)
Isn't this just a modern-day variant of "goto considered harmful"?
Impressions (Score:4, Informative)
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.
before you call him and idiot, RTFA (Score:3)
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
Can we have new editors, please? (Score:4, Informative)
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.
This is how I feel about Windows in general (Score:3, Insightful)
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.
Re:This is how I feel about Windows in general (Score:4, Insightful)
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.
Moron doesn't even understand what a language is.. (Score:3)
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...
Re:Language flamewars today? (Score:5, Funny)
Re:Language flamewars today? (Score:5, Insightful)
Re:Language flamewars today? (Score:5, Funny)
Re: (Score:2)
Let's try to stay civil this time.
THAT'S JUST WHAT I'D EXPECT FROM YOU! SHIT COCK!
The filter says I use caps too much, well this wouldn't make much sense if I didn't, it would come off with the wrong tone, so consider this entire sentence a way of me correcting the ratio. Fucking retarded Slashdot.
Re: (Score:2)
You must be new here. :p
Re: (Score:2)
Re: (Score:2, Funny)
Emacs maybe but not vi, vi sucks. I would never hire anybody who used vi by choice, sure sometimes you're forced to use it but mostly it's a choice.
Re: (Score:3)
It's a dead end because you've inextricably tied yourself to one, and only one vendor. And recognizing this trap for what it is goes a long way in my evaluation of a candidate.
Why? Most people take jobs to make money. If someone got hired at a place that was using Microsoft tools, and now they'd like a shot at a position you're looking to fill, how does that experience make them a less attractive candidate? How were they "trapped"? Most in-the-trenches coders don't get to make the big purchasing decisions; they work with what they're given. I'd be more impressed with someone who can be flexible, adaptable, and inventive than someone who stormed off a job because the boss wanted t
Re: (Score:2)
Isn't C# a standard now? Doesn't Mono run on Unix? I hardly think that C# would completely disappear if MS did tomorrow (which, for the record, isn't likely to happen).
Re: (Score:2)
Re: (Score:2)
I'd say Java is more of a liability than Mono these days. MS isn't likely to sue you -- they're just happy you're coding in C#. Oracle, on the other hand, is quite likely to announce a retroactive relicensing of Java, at, oh, around $100k per developer.
*chuckle* That is a point. I guess I'll just stick to Python. I like it better than either of them anyway.
Re: (Score:2)
Even if you list it it wouldn't likely cause any problems. What the article was talking about was .net being hard to unlearn, and that too much investment in it might be harmful to ones career, outside the .net world. It doesn't sound to me like he refuses to hire those people just for having it on their resume, but that it does raise something that will be addressed in the interview.
To an extent he does have a point, that anybody that can't be trained or learn the tools that are in use at a given place of
Re: (Score:2)
Its a great way to screen candidates. If you program in .NET you're probably less sophisticated and skilled than if you programmed in C or Java on Linux.
Do you have any idea how much better a language C# is compared to Java?
Do you have any idea how much better C or C++ are compared to C#?
Re: (Score:3)
Its a great way to screen candidates. If you program in .NET you're probably less sophisticated and skilled than if you programmed in C or Java on Linux.
Do you have any idea how much better a language C# is compared to Java?
Do you have any idea how much better C or C++ are compared to C#?
Actually I do; well, that is to say, I know that they're not really directly comparable most of the time. C is great for low level stuff. I wrote a small C-subset compiler in it once. C++ is great for mid-level development. I had a lot of fun writing games in C++ in high school. Both of these languages are great when you need them, but they are not the same type of tool that Java and C# are. If you need to write maintainable business apps (which is what 90% of us have to do to put food on the table),
Re: (Score:2)
You simply can extend .NET to produce your 1.7 oz burger since it's very customizable and doesn't just require you to do everything one way. He obviously knows fuck all about it and just thinks it's the same as VB6.
Re: (Score:3)
Funny, I communicate with Perl web developers quite well. I learn a little about Perl, they learn a little about .NET, and magic happens. Amazingly, those Perl developers happen to know (sometimes quite a fair bit) of C++. Amazingly, I happen to know some Perl. What a diverse world we live in! Welcome to it!
Re: (Score:3)
Consequently when you write a .NET application for the Internet, not a single term in your vocabulary is the same as that of a Perl, Python or Ruby programmer. WWW standards are rarely, if at all, referenced.
Yep - all those things I hear like SOAP and RESTful web services in WCF, or Atom in WCF Data Services, or AJAX and jQuery in ASP.NET MVC, are all just figments of my imagination.
Seriously, did you ever write any web app in .NET? Was it, perhaps, in 2003?