Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It may seem arbitrary, but the platform an organization uses is indicative to me of a whole lot.

Was anyone else a bit annoyed by this statement? It's a good, wholesome, and healthy thing to say "You guys use Windows and I like using Unix", but it's wrong to say "You guys use Windows, and that says something about your organization."

Why do techies have such a tendency to phrase "I don't like x" as "It is wrong to use x".



I agree.

When my company is hiring, and we lose a candidate like this, I often send emails that are similar, "Sorry to hear you're not accepting our offer. Can I ask why you didn't choose us?" This is actually the potential hire's chance to pay me a compliment, give a small amount of feedback, and keep the door open for the future in case their other "better" option falls through.

I think this blog shows a terribly self absorbed reply. My response to receiving this would be to forward the reply to my team and say, "Glad that didn't work out for us... Blessing in disguise. See below."

Know your audience. Remember, the person you're emailing works there, so you're essentially telling them that their job and work environment sucks when you write something like this.


"This is actually the potential hire's chance to pay me a compliment, give a small amount of feedback, and keep the door open for the future in case their other "better" option falls through."

That's quite narcissistic and self-absorbed. You're really not that important and to take a letter like this and try to paint it as a "blessing in disguise" is arrogant and foolish.

He doesn't want to work in a Windows shop. He wanted to be able to work with particular technologies. He's a new grad and idealistic. He has preferences and opinions and had the insight to skip working in an environment he believed he wouldn't do well in. He's not a bad hire, just a bad hire for your organization. Get over it.


"That's quite narcissistic and self-absorbed. You're really not that important and to take a letter like this and try to paint it as a "blessing in disguise" is arrogant and foolish."

He bolded a sentence in his email that read "It may seem arbitrary, but the platform an organization uses is indicative to me of a whole lot." BOLDED IT! If that doesn't scream arrogant prick, then I don't know what does. So, yes, not hiring him is a blessing in disguise. I don't want to work with someone who is that arrogant and condescending.

As I said in another reply, I wasn't suggesting that I need a compliment. I was just giving an example of a successful way to respond in order to keep the door open. A compliment won't hurt that, and in reality, it wouldn't hurt to keep the door opened.


I agree it wouldn't hurt to keep the door open but I also don't believe he was being condescending. The platform a company uses is indicative of a whole lot. In this case, that it's a Windows shop. No one said there's anything wrong with that but that's not what he wants.


And how would a fresh grad know anything about what organisations are like? He's spent his entire life to date in the artificial environment of school...


Honestly you seem to be focusing a heck of a lot on a <b> tag here.


> Know your audience. Remember, the person you're emailing works there, so you're essentially telling them that their job and work environment sucks when you write something like this.

What's the point in asking a question and waiting for a meaningless (but diplomatic) response?


People are always incredibly nice when they want something (like a job) from you. If you really want to see how diplomatic someone is, you have to pay attention to how diplomatic they are when they don't have to be. That's why (for instance) a lot of employers pay special attention to how polite you are to clerical staff and others who aren't involved in the hiring process.


I would think everyone would know this by now, but amazingly they don't.

I remember long ago interviewing a fellow. I asked him why he wanted to work for my employer. He answered that he wanted someone to pay for his move to Seattle where he could go skiing. People can be astonishingly dumb sometimes.

Yes, and I did and still do many astonishingly dumb things.


Baffling on the face of it, but I think he answered that question when he said he wanted to be paid a compliment. I took that to mean he just wanted reassurance that he and his company did not come across in a negative light. Maybe they weren't the best, but at least it would be reassuring to know they didn't "suck".


False dichotomy. A third option is meaningful, constructive feedback. Only things they can improve.


Right, because they need someone just out of school to tell them how to improve their business. LOL.


They do if they are concerned about losing too many viable candidates to competing employers, which seems likely since they sought feedback.


Apparently they liked the guy. Even if the fit isn't right for this particular candidate, he might be able to refer (good) developers who are. I recall reading about some CEOs treating unrecruited interviewees as recruiting tools for their good friends. Always seemed like a sound idea to me.


> This is actually the potential hire's chance to pay me a compliment, give a small amount of feedback, and keep the door open for the future in case their other "better" option falls through.

Out of curiosity, is the compliment required for you to consider keeping the door open? I'm guessing you didn't mean for it to sound that way, but I'm not quite sure how else it should have sounded...


No, definitely not. What I meant is, if I put myself in the prospective employee's shoes, he has been given an opportunity to keep the door open. A compliment to the hiring manager would help do that in light of not taking the job. That's all. No I definitely don't expect a compliment. Just a suggestion along the lines of how to win friends and influence people.


So you ask someone why they didn't choose a job but only accept the reason as valid if it is positive? With that attitude what happens when someone in your company suggests some of your current methods suck and could be improved? Dismiss them out of hand because they are being negative?


It's not a matter of "it's wrong to use X". It's a matter of "I don't want to spend my time working in Windows and dealing with all of the headaches and banging my head against a wall with the differing OS paradigms."

True story. At my previous company, it wasn't made clear during the interview that Windows was the ONLY thing allowed on the network. Despite the fact that all of the servers were running Linux (this was a major financial institution), we were forced to use Windows XPSP3 and we couldn't even use VMware (that changed a month or so after I got there luckily).

Neglecting to mention that was a CONSCIOUS decision by the people doing the hiring because it cost them employees. Not only did it cost them employees who turned down the job based on that fact, they had people LEAVE once they found out about it (developers and operations folks alike).

Talented and skilled people can get a job anywhere. They don't have to put up with stupid bullshit illogicals like "You have to use Windows even though we trust the financial records of customers of EVERY MAJOR CREDIT CARD COMPANY to live on and be processed by Linux servers".


Right or wrong, there is a sense that some people have that any place that mandates Windows usage to developers is the equivalent of "Initech" from the movie Office Space. At least, that's the feeling I get from similar discussions with my undergrad friends.


My anecdotal experience indicates that this is an accurate heuristic.


Wait do you mean your experience working for companies that mandate Windows, or your experience listening to anecdotes from people who've worked at said companies?


Both. But I don't give much credence to internet anecdotes -- they are untrustworthy. Close-friend anecdotes who give lots of details are a big part of my impression.

It might be one of those false-positive effects.

e.g.

Few windows shops are Initech, but all Initechs run Windows, therefore to avoid Initech you could avoid Windows.

There are probably other heuristics with fewer false positives, but anyway I'm just saying.


Are we talking about companies that mandate Windows, or companies that just lean strongly toward Windows?

Much as I dislike it, I use it as work because some of our key software is tied to it. (I VNC to a Linux box to do actual development.)


They are clearly using Macs at Initech, look at the screens.


The majority of skilled developers prefer Macs or Linux. I've been at large conferences and not seen a single Windows machine. Some developers like Windows, that's fine, but just as many hate it. It's not wrong for a developer to use Windows, but it is wrong for a company to impose it, or even to have it as the default option.

For a company to say "at our company, we use Windows" is to say "We don't give a shit about developers". The issue isn't Windows, the issue is a workplace culture that places the preferences of management over the preferences of developers. Life is too short to work for people who don't respect you, especially when you've got one of the most valuable skills in the world.


The majority of skilled developers prefer Macs or Linux.

You don't know that, and I seriously doubt you can prove it. Please don't offer conjecture as fact.

(Spoken as someone who does prefer Macs and Linux)


I can say that the majority of skilled developers I know use Macs or Linux, and I know a pretty good number of developers (skilled and not-as-skilled).


If you yourself use OS X or Linux, you are much more likely to know primarily people who are similar in this respect (for the same reason that I as a .NET guy don't know many Rails developers), and in any case jdietrich's statement lacked the qualifier.


Totally, I mean you pretty much have to be on Windows to be a good .NET developer (unless you're big on Mono or whatever).

It sounds like the OP is interested in working with "latest and greatest" web technologies, though (no offense), and many of them are developed on Macs or Linux and therefore the best development environment for them is on a Mac or Linux machine.

I think it might just be a culture fit thing, as some people gravitate to .NET type stuff and some people gravitate to node.js or Rails, and just as it's a pain in the ass to get .NET stuff working on a Mac, it's often a pain in the ass to get things like Rails or node.js working on Windows.


Every developer I've met in person prefers Mac/nix for any situation in which Windows development isn't mandatory.

Am I looking at a biased sample? Maybe, maybe not. I mostly operate in the web development world, but I know developers of all stripes. And none of them prefers Windows.

That being said, there are developers and companies who prefer to develop for MS platforms as a business decision. I.e. they want to target that market. But that doesn't mean they actually prefer developing on Windows. It just means Windows is imposed on them by their business choice. Analogously, I don't care much for Xcode or Objective-C, but I still write IOS apps because it's an important market.


I prefer Windows. I work in a cross platform shop, my code needs to run on Mac and Windows but unless I'm trying to track down a Mac specific bug I'll do the initial coding on Windows. For what I am trying to do (cross platform C++ development) Windows has better tools. Visual Studio has a better C++ compiler than Xcode. Visual Studio has a much better debugger than Xcode. Beyond Compare is Windows only and I haven't found anything that matches it on Mac (please let me know if there is something that's as good on Mac). Source Insight is only available on Windows - I know that SlickEdit is available for the Mac but I much prefer Source Insight.

All my personal opinion that applies to my particular circumstances only.


OSX has dtrace. Hard to imagine a better debugging tool.


While dtrace is a wonderful tool, it is a little disappointing that when Apple adopted it from Sun that they modified it so that setting a simple flag in your code (P_LNOATTACH) will prevent it being traced. http://dtrace.org/blogs/ahl/2008/01/18/mac-os-x-and-the-miss...


Is Dtrace fully integrated with Xcode now?


It's been fully integrated with Instruments for some time now.


The majority of skilled developers prefer to develop rather than talk about which environment is the best.

And the skilled developers aren't the young cats, they are the old dogs. Don't confuse what's popular with what's good.


And the skilled developers aren't the young cats, they are the old dogs. Don't confuse what's popular with what's good.

Personally, I know just as many terrible old developers as I know young and just as many excellent young developers as old. What you're saying here is passing judgement on a group of people due to their age just the same as the OP appears to be passing judgement on a group of people due to their development platform preference.


If being a good developer is correlated with IQ (which I suspect is true), skill should be normally distributed independently of age.


Of course there are skilled young developers as much as there is terrible old developers. I was responding in context of the OP wasn't trying to pass judgement on age group simply trying to restore balance. Sorry if it was unclear.


I'd argue that is largely based on the type of conferences you go to. At Google I/O or WWDC, I'd agree with you in a heartbeat. If you go to a .NET conference, I'd guess you wouldn't see too many macbooks actually running OS X.

Windows developers are out there, they're just probably not attending the same talks as you are and probably not reading many of the same blogs.


Yes, but .NET is a Microsoft platform. Are there any non-Microsoft-specific platforms for which Windows is the best development environment? Because the majority of languages, frameworks, etc in the world are not made by Microsoft.


That's impossible to answer, because the definition of best is completely subjective.

Best is what works for you in whatever role you happen to be in. I know people using windows coding in RoR, Python, Java, etc with a high degree of efficiency. I know others who are doing the same thing on Linux and OS X. It works for them.


It's not wrong for a developer to use Windows, but it is wrong for a company to impose it, or even to have it as the default option.

I agree with the only caveat being if the dev shop is working on a platform-native stack (like .NET or iOS) - in which case you obviously have to use the 'family' platform for consistency and to be able to obtain all features (like being able to compile + emulate an iOS app - which can only be done on a Mac).


"The majority of skilled developers prefer Macs or Linux."

Do you have any data to back that up or is it just an uninformed opinion? In my experience the majority of skilled developers use windows but I wouldn't try to extrapolate from my experience (as a windows developer) to a univeral truth.

There are reasons for mandating windows (or osx or *nix) devices. Whether they are valid reasons depends on the circumstances. Personally I prefer to develop on the system that I am developing for but that is not always feasible (ios) or desirable (anything involving xcode).


I like how my workplace does it. Everyone gets a linux desktop. You then get the option of either a MAC or Windows 7 laptop, totally up to you.


What's the percentage of those that choose mac? I would choose mac since it can run Windows, too.


It seems pretty even. At orientation you are given a new Windows PC. You then have to trade it in for a MAC.


Can you get any Windows-running laptop, or only from a given vendor or vendors?


Right now it's Thinkpads.


Complete bullshit statement, from the Facebook Hackathon where 25 of the most skilled software developers from all over the world competed:

>And all twenty-five coded atop, um, Windows machines. Facebook offered a choice of Windows or Mac, and according to Alves, no one wanted a Mac.

http://www.theregister.co.uk/2011/03/12/facebook_hacker_cup_...


You're kind of robbing that phrase of its context by omitting the 'deploy to linux' part. I have nothing against windows devs developing on windows - in fact, I can't offhand recall having met anyone developing desktop Windows software in anything other than Visual Studio - but when you're deploying to Linux, it makes an awful lot of sense to be developing on the same platform. Otherwise you're just begging for issues with dependency management, platform-dependent tests failing (you ARE running a test suite before committing, right?), even simple things like \n vs \r\n.

It's useless trying to figure out why they're developing on Windows without having talked to them, but I for one can't come up with a good reason that doesn't warrant at least mild condemnation.


> but when you're deploying to Linux, it makes an awful lot of sense to be developing on the same platform.

True, but he goes on to say the company he accepted deploys to Linux but develops on Macs. Huh?


Yes, but the number of potential bugs when going from OS X -> Linux are far fewer than going from Windows -> Linux.


That's what we do. It works great for us.


It's just a matter of time before a version mismatch or something bites you. My money's on the idiocy of the case-insensitive filesystem.


On our Ubuntu server, I can create both foo.txt and Foo.txt in a folder. On my OSX machine, those are considered the same file.

Three reasons that's no big deal: 1) We never create both foo.txt and Foo.txt. Why would we? (OK, that's a bit snarky.) :) 2) We're developing on the system that's more restrictive (doesn't allow caps and non-caps versions) and pushing to the one that's more permissive. So nothing will get lost in the process. If we were going the other way, or migrating from Linux machines, I could see it being a problem. 3) If this is really a big deal to someone, they can configure OSX to use a case-sensitive file system. May cause other side effects (some Mac backup utilities may ignore either Foo.txt or foo.txt when backing up), but it can be done.


I don't know; why do techies have a tendency to misleadingly paraphrase someone's statement?

He didn't say that using windows was wrong, but that it is indicative about the philosophy of the company (which, I agree, it can be).


I never said using Windows is wrong or implied anything negative about its use; I said that I don't prefer to develop on Windows and that I like the principles behind Unix.


You're very diplomatic.

Unless a company is specifically geared around a toolset that doesn't exist in OS X or *nix (game developers come to mind), institutional, mandatory Windows use seems like a great signal for "shitty company right here!".


Enterprise custom software is probably another area, not that it has to be on windows, just there is a big business opportunity for people to fill on the .NET platform. Not to say thats where you'd really want to work, but some of those shops do very well for themselves.


I think what you mean to say is you didn't intend to say that. Whether or not you actually did say that is another matter entirely. In this case, the majority of your post seems good. But the big bolded sentence that grabs your eye first seems to be implying that there's something wrong with an organization that uses Windows.

I mean, imagine telling someone you don't like their cooking and then saying "The fact that you use margarine instead of butter says a lot." You're not directly saying anything bad about them personally, but most likely they're going to take it as a roundabout way of saying "Real cooks use butter, but you use margarine. Therefore, you're not a real cook."


"But the big bolded sentence that grabs your eye first seems to be implying that there's something wrong with an organization that uses Windows."

So what if he did? By the time you've reached that point you really ought to have figured out the entire post is a subjective opinion.

Here, I'll say it too: I don't want to work for an organization that primarily runs Windows by default. I don't have to justify it rigorously scientifically. Nor am I saying there are no skilled Windows developers in the world. In fact my company has quite a few in it ("some of my best friends are Windows developers", ahem). Nevertheless, I do not want to work for a primarily Windows company. I do not like Windows software culture.


> I don't want to work for an organization that primarily runs Windows by default.

That's when you say "I'm not a Windows guy" and leave it at that.


He can say what he wants, is the thing. When you reply to a "why didn't you take the job with us?" feedback request, you can be as succinct/diplomatic as you think is appropriate. The OP did the same.


Well he did say that they develop in Windows and deploy to Linux, which in my opinion is just weird even if you are working on things like virtual machines and such why are you using windows for that?

I can't see an advantage that favors Windows for linux deployment but I can definitely see an advantage over Windows by using something that behaves more like a linux system (in this case OSX).


On the othe hand, some one recently (maybe Zed Shaw? Or dzubia?) had a great rant about the idiocy of developing on MacOSX when you need to deploy on Linux. Im not sure I completely agree with the rant (being one of e many MacBook toting Linux deployers myself), but there were at least a few points that had me nodding my head in agreement.

If you're just coding higher level stuff in php or python or perl, you're unlikely to get bitten by MaaOS/Linux differences, but the same can be said for (an appropriately set up) Windows development machine.

If you're tuning databases or hacking middleware or performance tuning your NoSQL backend or in memory cache, you really need to be doing that on the closest you can get to the deployment platform.

One big plus to doing web app development on Windows is not having to switch out of MacoS (or Linux) to do Internet Explorer testing...


   If you're just coding higher level stuff
   in php or python or perl, you're unlikely
   to get bitten by MacOS/Linux differences,
   but the same can be said for (an appropriately
   set up) Windows development machine.

   If you're tuning databases or hacking
   middleware or performance tuning your NoSQL
   backend or in memory cache, you really need
   to be doing that on the closest you can get
   to the deployment platform.
Even if you are running the same OS on your development machine that you are running on your deployment target, you likely aren't going to be able to do that performance tuning on your development machine because the hardware is likely to be too different. The server is likely to have a different amount of memory, cache, number of cores, and an I/O system with significantly different performance characteristics.


>> but the same can be said for (an appropriately set up) Windows development machine.

For php sure, but not really for python or ruby OSX/Linux are much better supported and it is so much easier to use tools like rvm and virtualenv on linux/OSX. Perl I don't have much experience (How easy is it to use something like CPAN and/or mod_perl on windows?)

I really can't see the advantage of Windows if you aren't building to deploy on Windows.

Internet Explorer should probably be an afterthought unless you are going directly to supporting enterprise.

I agree with the build and deploy on the same platform thing but from what I have seen there are a large amount of tools available on Macs not to mention things like photoshop and the like being supported that might make it more advantageous to develop there and still have a similar system to what you are deploying on.


Strawberry Perl has made CPAN _very_ easy to use on Windows. I don't know about mod_perl, but with Plack there are a lot of great options besides mod_perl for web app deployment.


My last employer developed on Windows and deployed on Solaris (trading software in C++). Chief reason for this was, as anyone who has cross-platform experience will tell you, Visual Studio is a world-class environment. It really beat anything available on Solaris (yes, including Emacs) hands-down. Second reason was that developing cross-platform forces you to keep the codebase clean - when a customer asked for an AIX port, it was easy. If we were a pure Solaris shop, we'd have struggled to know what was clean and what was actually Solaris specific without us realizing.

The wrong reason to do this is just 'cos MacBooks are more fashionable than Dells...


It was Ted who said it and he was pretty much wrong. The issue isn't the platform you develop ON in that case. The issue is lack of a proper per-developer testing environment.

The issue would be resolved with a copy of VirtualBox, Vagrant and some proper f'ing configuration management that can be replicated on a local developer environment ;)


Err, have you used Windows?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: