Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Programming Microsoft

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?"
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!

  • 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.

  • 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:My experience (Score:2, Insightful)

    by bigstrat2003 ( 1058574 ) on Saturday March 26, 2011 @07:21PM (#35625546)
    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."
  • 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.

  • 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.

  • 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.

  • 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 Anonymous Coward on Saturday March 26, 2011 @07:25PM (#35625584)

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

  • I agree that the person who wrote the piece this article is about has a point. I don't think I'd go so far as he does, but I can definitely see why .NET would be a negative, as well as having a Java-only resume.

    In truth, I've always been mystified as to why anybody would invest the time or energy in learning so much about Microsoft's platforms. It's not like that knowledge would do you much good if Microsoft were to simply vanish from the planet.

    On the other hand, all the stuff I've learned about computing outside the Microsoft world will do me a whole ton of good even if several major vendors leave the planet. If RedHat dies, for example, it's not like my Linux knowledge is useless. If the FSF dies, my knowledge of C++ gleaned by using g++ isn't useless. If Oracle goes up in a puff of smoke, my knowledge of Java will not go to waste.

    But if Microsoft were to utterly disappear, we'd have about 5-10 years of useful programming that could be done before all the other platforms outpaced your aging, no-longer-maintained platform so far that a good 60% of your knowledge was useless. 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.

  • 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: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.

  • 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#.

  • by ustolemyname ( 1301665 ) on Saturday March 26, 2011 @07:53PM (#35625814)
    People normally don't flamewar over common knowledge, sorry.
  • by Anonymous Coward on Saturday March 26, 2011 @07:53PM (#35625822)

    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!

  • Re:Money (Score:2, Insightful)

    by Anonymous Coward on Saturday March 26, 2011 @08:00PM (#35625866)

    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.

  • 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.

  • Re:Money (Score:0, Insightful)

    by Anonymous Coward on Saturday March 26, 2011 @08:13PM (#35625960)

    Saying you like C# better than Java is a bit like saying you like Stalin better than you like Hitler. By all means do .net work for the money, but don't put that shit on your resume unless you are applying for a job where .net experience is specifically requested.

  • Re:Money (Score:5, Insightful)

    by Belial6 ( 794905 ) on Saturday March 26, 2011 @08:40PM (#35626170)
    A real language is one that people who don't want to learn anything new are already familiar with.
  • Re:Money (Score:5, Insightful)

    by grcumb ( 781340 ) on Saturday March 26, 2011 @09:17PM (#35626388) Homepage Journal

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

  • 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 dbIII ( 701233 ) on Saturday March 26, 2011 @10:26PM (#35626746)
    I've never been happy to let whitespace mean something in a program - it just seems wrong.
    That's all I've got against it.
  • Re:Money (Score:5, Insightful)

    by grcumb ( 781340 ) on Saturday March 26, 2011 @10:37PM (#35626796) Homepage Journal

    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: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. []

    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:Good to know (Score:2, Insightful)

    by adolf ( 21054 ) <> on Saturday March 26, 2011 @11:21PM (#35626988) Journal

    (Not directed at you, 8169. Just directed at the philosophies espoused in this thread.)

    FWIW, I just hired Expensify, having become aware of them from this Slashdot submission.

    I recently became self-employed and I'd actually been looking make tracking receipts and expenses easier ("easier," as in "easy enough that I don't talk myself into not ever doing it at all"), to minimize the IRS ass reaming that will happen next time taxes roll around.

    To be clear, I don't much care if were a Windows app, or a Linux app, or a cloud thing, or a hosted thing, or a [whatever] thing -- I don't care a whit who has access to my expenses, so long as I can enter them on the road with my Droid and get the data into Quickbooks without invoking perl/awk/sed/grep/whatever. And Expensify does this (or at least it claims to -- I've only been goofing with it for a few minutes so far).

    And, frankly, I could care less what their hiring practices are, as long as it works: I just got back from buying some Wal-Mart brand Ol' Roy dog food, and I'm sure there's a huge string of bad employment practices behind that bag of kibble, probably going all the way back to the farmers who grow the stuff that goes into it.

    And I don't care, because feeding Ol' Roy to my giant Doberman makes her fart less than anything else, and it breaks down quickly in the yard after going through the dog. Those are the two parameters I most care about for dog food. That it's cheaper than most others is simply a nice touch, but (yet again) I don't care where it comes from.

    Expensify, meanwhile, is free for me (though it's $5/head/month for bigger companies). If it does what I want, and it sure looks like it does, then I don't CARE if they don't like .NET programmers.

  • 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 JWSmythe ( 446288 ) <> on Sunday March 27, 2011 @06:13AM (#35628628) Homepage Journal

        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 clear plan of what he wanted, and it was perfectly reasonable. They gave an outline for their plan. It was later demonstrated that ... "In Visual Studio, all I have to do is click this, then click this, and then it's done." There was a lot of MS jargon thrown in. While I'm fluent in it, I refuse to repeat it. :) They still were unable to provide the ability for some very basic functionality. Their claims ranged from "It can't be done" to "It would take years to develop". What? I program, or have programmed, in several languages fluently. I'll admit, I don't do much Coldfusion nor Java any more, as I haven't had any demand for it. I also associate myself with a wide variety of very good developers. While I may not code in their languages, I can read and understand what they're doing. There's a huge difference between seeing a function and knowing what it does by name, and needing to look up the syntax for each one if I were to try to do it myself. In any of the languages I'm fluent in, the functionality the CEO asked for was trivial, and even if it were to be integrated into a completed project, it would be less than a week to add the functionality in.

            Their stopping point was "Microsoft doesn't provide it in Visual Studio, we can't do it.". So far in seeing Microsoft based developers in the real world, that is not the exception.

        So as the author said, if you want a 1.6oz burger, the McDonalds kitchen is perfect, and you can churn them out all day. If you want the 1.7oz burger cut square, with garnish and a crinkle cut pickle instead of a sad limp excuse for a steamed pickled cucumber, you'd better find someone who isn't primarily focused on doing the predominant MS methods.

        There are perfectly good .NET developers out there, who don't use the crutches of the common tools, but they are rare. There are people who depend on crutches of their languages though. I've seen "PHP Programmers" who are webmasters as long as you use a template for a common CMS. Ask them to write "Hello World", and they're lost.

        I asked an ASP person to write me a simple "open a file, write some arbitrary string, and close the file". Two hours and 50 lines of code later, it was done. The mention of file locking just got a blank stare. I just said "forget it".

The shortest distance between two points is under construction. -- Noelie Alito