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.
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.
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.
What's the point in asking a question and waiting for a meaningless (but diplomatic) response?
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.
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...
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".
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.
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)
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.
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.
All my personal opinion that applies to my particular circumstances only.
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.
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.
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.
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).
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).
>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_...
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.
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.)
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.
True, but he goes on to say the company he accepted deploys to Linux but develops on Macs. Huh?
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.
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).
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!".
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."
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.
That's when you say "I'm not a Windows guy" and leave it at 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).
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.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.
The wrong reason to do this is just 'cos MacBooks are more fashionable than Dells...
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 ;)
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".