Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

How Do I Get Open Source Programs Written For Me? 285

An anonymous reader writes "I am a biomedical researcher interested in having general-purpose, scientific programs developed and released as open source. Interface design and reusability of the code are of primary importance to me. For my purpose, Cocoa applications relying on Core Data seem to be the best way to get the job done quickly. While I have some programming experience, I have few connections to the industrial world. So my question to Slashdot readers is: how do I find someone (individual or business) to write high-quality programs? Are there reputable contractors experienced in Cocoa? What sort of rates should I expect, to use as a starting point in negotiations? Would a requirement that programs are released as open source make it more or less difficult to find someone to do the job?"
This discussion has been archived. No new comments can be posted.

How Do I Get Open Source Programs Written For Me?

Comments Filter:
  • er... (Score:5, Informative)

    by girlintraining ( 1395911 ) on Friday November 07, 2008 @11:28AM (#25675841)

    The same way you find regular programmers. Just ask them to document their code and have in the contract that the work done is work for hire. When the job is completed, you own the copyright. At that point, release it under the open source license of your choice. For details, consult the GNU website on assignment of copyright.

    • Be careful here. Simply saying "work for hire" in the contract does not necessarily make it so. Find a good form agreement recommended by a lawyer or a lawyer to draft a contract that includes an express IP assignment as well as work for hire provisions.
    • I think that's what he knows.

      I think his question should have been "How do I find good OSS programmers?". From his article, I'm quite sure he knows that money will do the talking once he has someone for the project. I guess his problem is finding that someone, without that someone being just anyone.

      • Re: (Score:3, Insightful)

        by nine-times ( 778537 )

        Actually, if you read the summary instead of just the title (no, I'm not new here), you'll see that he has a number of fairly specific questions:

        • How do I find programmers?
        • How hard is it to find Cocoa programmers?
        • What sort of prices should I expect to pay?
        • Will there be a problem with the fact that I want to release it to open source?

        So the GP post is answering these questions fairly well, actually. He's saying hire normal programmers like you'd hire any other programmers, with the employment deal incl

    • Re:er... (Score:5, Informative)

      by Anonymous Coward on Friday November 07, 2008 @12:27PM (#25676639)

      Under English law, at least, this is entirely wrong. You will need to specify in the contract that any IPR developed belongs to you, and that the developer will take all steps to perfect this, including undertaking assignments.

      The developer is the author, and thus the default owner of any copyright work (source code) - as the commissioning party, you get nothing more than a limited licence, unless you specify it in the agreement. Plenty of companies have got caught out by this, and think that, by paying for development work, they necessarily own it.

      • Re:er... (Score:5, Insightful)

        by Otto ( 17870 ) on Friday November 07, 2008 @01:33PM (#25677365) Homepage Journal

        Under the US Copyright Act of 1976, works made for hire belong to the person who did the hiring. The employer owns the copyright, not the employee.

        See http://www.copyright.gov/circs/circ9.html [copyright.gov]

        Of course, the law is complex, so it is best to specify that you get the copyright in the contract, to eliminate any doubt. But in general, when you hire somebody to produce something, you own the copyright.

      • Re: (Score:3, Informative)

        by pdbogen ( 596723 )

        Although Parent presents himself as being only correct regarding English law, the main thrust of what he says also applies to US Copyright law.

        Refer to http://www.copyright.gov/circs/circ9.html [copyright.gov] for information about this.

        I don't have a car analogy, but it's pretty important to read and understand the document.

  • Cash. (Score:5, Insightful)

    by Gordonjcp ( 186804 ) on Friday November 07, 2008 @11:28AM (#25675843) Homepage

    Simple as that.

    • Sorry, I have to respectfully disagree. If it was as simple as throwing money at it, Vista would be the greatest OS ever made, instead of the dying pig that it's become.

      Cash helps. But without good management (on the client's part), it's going to lead to disappointment. Unless you happen to get one of the very few contractors who knows how to manage things (like the customer) themselves (maybe 10% do, but 80% will claim to :) ).

      There's an old Engineering saying:
      - Better

      • Cash helps. But without good management (on the client's part), it's going to lead to disappointment

        Yes, to me this also raises some other questions. For one, I'm assuming that the guy asking the question has a reason for wanting specifically to open source it. He's probably hoping to get some amount of work put into the project that he's not paying for, or else why bother?

        Now that doesn't necessarily mean that he's expecting completely free labor to be given selflessly for his own sake, but he might have the idea that other individuals or companies would have an interest once he got the project rollin

    • Re: (Score:2, Informative)

      OR, sucker a bunch of graduate students into doing it for credit/thesis. You just need a professor to go along with it, which involves promise of money.
    • Women (Score:3, Funny)

      Find him a girl with a who likes geeks.

  • by hedronist ( 233240 ) * on Friday November 07, 2008 @11:29AM (#25675857)

    Let us review some basic truths:

            1. Every good work of software starts by scratching a developer's personal itch.
            http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ [catb.org]

    I don't think 'wanting someone else to do it for you' quite falls into this category.

    • by Sneftel ( 15416 ) on Friday November 07, 2008 @11:30AM (#25675877)

      Getting paid is, for most developers, a "personal itch" worth scratching.

      • by MrNaz ( 730548 ) on Friday November 07, 2008 @11:43AM (#25676097) Homepage

        Getting paid for as little work as possible is the real nature of the itch. Recognize it for what it is; if your developers don't have any motivation to write excellent code, they won't. You'll end up with the barest minimum that satisfies your requirements list and any use cases you gave them, and not one iota more.

        I say find a few other people who are in your same field who perhaps are more code minded. Get a group together with a common itch, and organize yourselves to do it together. For small niche products, that's pretty much the only way. Anything else will either be prohibitively expensive (hiring top notch developers with a track history to maintain) or result in mediocre results (hiring developers whose interest stops at the paycheck).

        • by chrylis ( 262281 ) on Friday November 07, 2008 @11:51AM (#25676215)

          Perhaps so, but if the programmer is aware that his code will be available for future customers to see, that provides a pretty strong incentive not to churn out crapware. This works in most of the rest of the economy, and it's hard to believe on faith, as so many seem to, that it can't work for software. I doubt that all of the programmers hired to work on Apache or MySQL always feel pumped about writing whatever regression test needs doing, but even if they had no personal pride in their work, there would be the external incentive.

          • Very good point. Mention to the programmer that he will be able to use this as examples of his work that future prospective employers may like to see.
        • by 2short ( 466733 ) on Friday November 07, 2008 @01:03PM (#25677073)
          "if your developers don't have any motivation to write excellent code, they won't."

          Excellent developers write excellent code partly because they understand lousy code is more work to write.

          Such developers are, of course, hard to find and expensive. If you're not going to find and pay someone really good, you probably want to do it yourself. It will probably cost more (counting your time) and won't be as good, but that will be true for hiring mediocre developers too. In the future, it will be better to have bad code you wrote then bad code someone no longer available wrote.
        • Re: (Score:3, Insightful)

          by Chyeld ( 713439 )

          Decades ago, a professor in college asked me what I considered was most desirable trait to look for in a potential hire.

          My response was, "I want lazy people."

          Among all other traits, maximizing laziness is the quickest way to efficiency.

          If you pretend that all other traits could be rolled into a single axis of which the two extreme ends could be labeled "Stupid" and "Smart", and then figured how much work got done over the spectrum of Stupid&Smart vs Lazy&HardWorker it would look like this:

          Stupid Laz

      • Don't know about you, but it sure ain't mine.

        Sure, I get paid to write code. But I don't write code to get paid. I write code that I want to write, and someone actually is stupid enough to dump money on me for that. We are currently fortunate that we may, to some extent, actually choose our work place. We're not forced to work in a field that isn't to our liking. Don't like SQL? Don't have to do databases, you can write drivers. Don't like that? Maybe frontend design and implementation is more your thing. P

    • by Dan667 ( 564390 )
      Not thinking of it does not make it a cool problem that would be interesting to a competent programmer to solve. "Not invented here" should be stomped out of everyone that pushes it.
    • by Weaselmancer ( 533834 ) on Friday November 07, 2008 @11:44AM (#25676111)

      The second half of his question is about pay rates and how to find programmers for hire. He does mention open source in the first half of the question though.

      It seems like he wants to scratch a personal itch, but he's willing to put up some cash for someone to scratch it for him. Then once it's working, open source it and have the community improve upon it. So it's not the typical open source scenario of "start it yourself, put it on sourceforge, then try to get people involved."

      I'm picturing this guy as an open source project manager. Eventually anyways. He's going to start out as a client to some programming firm. Then he'll take the code he paid for and open source it on sourceforge. Then he'll go through an open source recruitment phase. Finally, he'll be the one saying "we need this feature" and "I'm not accepting that patch."

      What I'd recommend is to read the commit logs and notes for a large project. Study your Linus Torvalds. Read how he manages kernel commits paying close attention to how he handles rejected submissions. And the occasionally poorly received edict (for instance, when Linus moved to a pseudo-proprietary source control system) X.org might not be a bad study either, especially around the time of the split from XFree.

      Learn how to manage an open source project correctly, and your odds for success will greatly improve.

      • Re: (Score:3, Insightful)

        by Kjella ( 173770 )

        Then he'll take the code he paid for and open source it on sourceforge. Then he'll go through an open source recruitment phase. Finally, he'll be the one saying "we need this feature" and "I'm not accepting that patch."

        Somehow, I have a bit of a problem seeing this scenario come true. Either I'm afraid it'll die without someone at the core or that someone at the core would take much of that position. After all, the initiator here is more of a subject matter expert than a software architect from the sounds of it. Maybe the "we need this feature" part but there's always been a surplus of the wanters and a shortage of the doers. I don't know, it all depends on how much he wants people working with him or people working for h

    • by dubl-u ( 51156 ) * <2523987012@pota . t o> on Friday November 07, 2008 @12:47PM (#25676873)

      Every good work of software starts by scratching a developer's personal itch.

      That's true, but you're not interpreting it broadly enough.

      Sure, if he finds a developer who wants this software already, then that's great. But there are other ways to get people personally engaged in a project.

      One is to make sure it involves technical challenges the developer finds interesting. E.g., a good Cocoa developer who's wanted to use Core Data but hasn't. Or, assuming that statistics play a part here, a developer who has always wanted to learn about that. That's not enough on its own, but it's a good start.

      Next, find ways to get the developer engaged in the domain. A developer with an interest in this kind of science would be great. A lot of good developers started out studying something else, so it's possible he could find somebody with graduate training in his domain.

      Third, connect the developer in a personal way to the people who need the software. If this is lab software, then just pay him to spend a week working in the lab with the future users. Have development happen as close as possible to the users. Maybe in the same room, and certainly close enough that they share the same break areas and would naturally go to lunch together.

      Fourth, get a good feedback loop going. Show demos every week or two to actual users. As soon as possible, get an alpha version actually in use, and release updates every week or two. Get everybody together weekly over coffee to talk about how it's working. And occasionally get people together over beers to talk about the bigger picture.

      Do all these things, and the developer's personal itch is to make something great that satisfies people he has come to care about, people working in a context he understands intuitively.

  • by jollyreaper ( 513215 ) on Friday November 07, 2008 @11:29AM (#25675861)

    How Do I Get Open Source Programs Written For Me?

    Offerings of pizza and beer usually work.

    • I contracted a guy once that offered to work for pizza and beer. He quit working even though I tried to pay him with pizza and beer.

      Not my fault he wasn't specific about what kind of pizza or beer.

  • a few ways (Score:5, Informative)

    by i.r.id10t ( 595143 ) on Friday November 07, 2008 @11:30AM (#25675867)

    If you find a project similar to your needs on freshmeat, sourceforge, etc. you can always contact the developer and ask them to modify/extend, etc.

    A second option is to look at rentacoder.com - put out a request, your budget, and include the requirement about being F/OSS software. Get your bids, make a choice, etc.

    • Re:a few ways (Score:5, Insightful)

      by lysergic.acid ( 845423 ) on Friday November 07, 2008 @12:13PM (#25676489) Homepage

      If you find a project similar to your needs on freshmeat, sourceforge, etc. you can always contact the developer and ask them to modify/extend, etc.

      that's actually a very good idea. i'm surprised nobody thought to mention this earlier. there are already tons and tons of open source projects out there. there's no need starting a fresh new project when there's already an open source application that fits your needs and is much more mature and already has a development community around it.

      if you're willing to pay the developer(s), there are tons of open source projects out there that could use the funding. who knows, maybe one of them is exactly what you're looking for. it's hard for open source projects to reach critical mass when everyone wants to create their own application rather than contribute to an existing project that might fulfill the same objectives.

      one of the great advantages of open source is that there is room for both cooperation and competition. even if you don't find a project that fits your needs perfectly, you might be able to fork an existing implementation that you can use as a starting-off point. that reduces the amount of redundancy in the code space. and if you can revived a dead project, then even better.

      i think part of what kills off open source applications is a perceived lack of interest, which is partially due to the dispersal of resources over too many redundant projects. luckily, FOSS being what it is, anyone can pick up a dead or inactive project and resume development on it. so before you go off and contract a developer for a brand new open source program, see what's already out there that might fit your needs.

    • by dubl-u ( 51156 ) *

      A second option is to look at rentacoder.com - put out a request, your budget, and include the requirement about being F/OSS software. Get your bids, make a choice, etc.

      This is a reasonable option for throw-away software, but the original poster is a non-programmer looking for something solid and reusable, qualities he can't personally judge.

      For any sort of fixed-price contracting, the incentive for the contractor is to develop something minimally compliant and then flee. Reusable code requires discipline and polish. Because reuse always comes later, and because it's hard to measure or prove shoddy construction, odds of getting a christmas-paper-wrapped turd are high.

      I per

  • by Ngarrang ( 1023425 ) on Friday November 07, 2008 @11:30AM (#25675869) Journal

    ...I should think you would be determining the end result of the program. If I read the question correctly, that is. You want to pay someone to write a program or programs. Then, you want to release them to the world as open source. The contractor would not own the code if as part of the RFC you stated the code would not be owned by them in any manner. The programmers may insist proper attribution in the source code, but attribution does not imply ownership.

  • by Anonymous Coward on Friday November 07, 2008 @11:30AM (#25675881)

    That's the basic rule. Based on what we pay for our contractors (Qt experts -- they are really hard to come by), count on between 600 and 1000 euros a day.

    • by w3woody ( 44457 )

      That's about the same in the United States as well.

      Unless you can find an individual who has a personal itch to scratch or a university writing something similar that is in alignment with what you're doing, or there is a private company already trying to enter your market and is willing to allow you to give it feedback on it's software to add the features you want, then you're looking at perhaps $85/hr to $130/hr for someone who has experience and has specialized skills.

  • The Academic Route (Score:5, Insightful)

    by EaglemanBSA ( 950534 ) on Friday November 07, 2008 @11:31AM (#25675889)
    Perhaps you could contact a University with a good CS program, or something of the like. You could fund a few grad students to develop your program for beans, with the stipulation that the source code be GPL'd. Grad students can be cheap, believe me - I am one, and I make a whole lot less than minimum wage.
    • by tzhuge ( 1031302 ) on Friday November 07, 2008 @11:38AM (#25676013)
      I second this idea... especially the grad student part. Better yet, find a way to make this work part of a thesis for one of these students... then you might not have to pay them at all. :)
      • by rockmuelle ( 575982 ) on Friday November 07, 2008 @12:21PM (#25676575)

        No! No! No!

        CS grad students are in their program to do research, not develop software for other departments. Their time should be spent working towards their thesis. There is no research value in applying software engineering practices to develop an application for a researcher in another field. I know some schools allow theses along the lines of "A Software Framework for Cool Science Problem X", but these types of projects only shortchange the CS student. The projects are simply software engineering and should be handled by software engineers, not potential researchers.

        There's also the problem that most CS grad students have never developed large scale software and are essentially in the "0-3 years experience" range. While they are usually very bright, they are not skilled practitioners yet. The code they develop will have all the same problems that plague young developer's code: little reuse, lots of reinvention, tendency towards trendy solutions (Oh! Let's do the whole thing as an Eclipse Plug-in/OO Framework/Scheme Interpreter/etc), and overly clever solutions. If the research wants to learn software engineering, their time is much better spent earning decent wages at a real software company with people who can provide proper mentoring.

        Finally, there is the conflict of interest. A researcher's main goal is to perform research and publish papers. Software does not count as a publication. Thus, the software will be developed up to the point where there is something to publish and not much beyond. And, once the student completes their degree, they are off to greener pastures and support will quickly dry up.

        So please: Stop using CS grad students as software developers!!! It hurts everyone!!!

        -Chris

        • Finally, there is the conflict of interest. A researcher's main goal is to perform research and publish papers. Software does not count as a publication. Thus, the software will be developed up to the point where there is something to publish and not much beyond. And, once the student completes their degree, they are off to greener pastures and support will quickly dry up.

          If the Grad student wants to actually get a job in research, any references he can cite as applicable research experience will help him.

      • by sorak ( 246725 )

        I second this idea... especially the grad student part. Better yet, find a way to make this work part of a thesis for one of these students... then you might not have to pay them at all. :)

        The problem with GPs suggestion of giving the project to a CS department is that the programmers are mostly inexperienced, not putting in forty hour weeks, are dividing their time between working for you and studying for the test (with the test getting a higher priority), and are given a relatively short time to crank out a product.

        What I like about your idea, is that, although it is probably a lone effort, getting a grad student to devote three semesters to the project will ensure that by the end, you will

      • by dubl-u ( 51156 ) *

        Better yet, find a way to make this work part of a thesis for one of these students... then you might not have to pay them at all. :)

        I can understand the appeal of this, but it is probably a terrible idea.

        There is an almost universal problem with CS students that gets worse the longer they are students. Because classes end soon and school ends eventually, they have little or no experience maintaining code. They thus don't know how to write for maintainability, and instead have a host of tricks for quick solutions.

        Because students are always throwing away their code bases, short-term wins are great, and the long-term costs don't matter. B

      • CS != computer programming. If I were interested in the latter I'd be making a lot more right now. I'm going into CS because I want to do research and am willing to make less to do it.

        That said, everyone wants to make some mone yon the side.... (not an offer personally, but there's probably someone like me who'd do it)

    • You could fund a few grad students to develop your program for beans

      Yeah. Problem is, if a maintainable, well-design result is your goal, a grad student might not be the greatest idea... ;)

  • Step 1: (Score:4, Insightful)

    by Qzukk ( 229616 ) on Friday November 07, 2008 @11:32AM (#25675899) Journal

    Find an interesting problem that people would like to work on.

  • There are a few things about this blocking your path to open source success ... and even then, it's not guaranteed. So right off the bat, if you're depending on this to get a job or research done, you might want to exhaust all other options (footing the bill yourself/coding it yourself/seek help in your department).

    First off, the Cocoa requirement reduces your target development community substantially. Is this necessary? Are you opposed to Linux based development and execution? Personally, I haven't done a darn thing with Cocoa nor do I own a single Apple ... and I'm not a fan of the cost associated with OSX. But if this is a hard set requirement, you're winnowing down your possibilities. Just get them out there, put them on Sourceforge, post them here, get eyes looking at them.

    Second, where is the list of requirements? I know you're not a Systems Engineer but if you're not worried about this stuff getting out there, why not link us to a list of requirements. I know very little about what you need and therefore would have a hard time advising you on who to approach and how to do the job. I know a little bioinformatics (FASTA) ... is this what you are interested in? I recommend your first step being to approach a friend who is a system engineer (again, seek help) and drafting requirements for your initial program. Once you have that, it will both make development very easy to do via open source and help you concrete your end vision.

    If you do end up approaching a business to help you, research them. Do they have competitors? Is this their bread and butter or a side project? Have they historically contributed to open source? Figure out these answers so you don't have a pitch meeting that they take as an insult.
    • I'd be willing to bet that where he works uses Macs, so it's easier to get software that runs on the machines they already have, instead of having to run Linux on all of them, or buy new machines?
    • by Entropy2016 ( 751922 ) <entropy2016@yahoo . c om> on Friday November 07, 2008 @12:11PM (#25676465)

      It sounds to me like you might be trying to change his mind purely because of your own personal development biases. It's not like Linux is supposed to have some sort of monopoly on open-source software. And in a medical setting, you're going to want as few potential technical problems as possible. Using a Mac there makes quite a bit of sense.

      Cocoa is by far the easiest application framework I've seen so far. If you know C++, you can learn Objective-C in an afternoon on a weekend. And you'll be better off for it, as it's a dream to use. If he wants software made on a Mac, there's almost no reason to avoid using Cocoa.

      The best thing that this guy could have done is to get the backend in C++/C so its portable and keep parts like the GUI as Objective-C. The parts between can be compiled as Objective-C++. It's not like if it was a Linux/Windows application you weren't going to have to rewrite the GUI-code to port in the future it anyway. I can tell you if the programs I wrote weren't Cocoa apps, they'd have taken much more time, and if that had been the case I probably wouldn't have even attempted them.

      If you know Cocoa's history (dating back to NeXTSTEP), you'd also realize that for scientific research, Cocoa really can be ideal. Scientists/researchers are often able to program, but they're not "professional programmers", so when they do it, they want it to consume as little of their time as possible. A scientist's priorities are not the same as a programmers priorities. Cocoa definitely makes sense there. I doubt this guy would be asking for an open source app in the first place if he didn't plan to at least review and consider modifying some code himself.

  • Cocoa? (Score:3, Insightful)

    by andy753421 ( 850820 ) on Friday November 07, 2008 @11:35AM (#25675949) Homepage
    If you're looking for Free/Open Source Software, you'll probably have better luck if you use F/OSS development tools such as GTK+ or QT.
    • by pembo13 ( 770295 )
      Quite.
    • Re:Cocoa? (Score:4, Informative)

      by mebrahim ( 1247876 ) on Friday November 07, 2008 @12:07PM (#25676415) Homepage
      For 1000th time: It is not QT, it is Qt. QT is QuickTime.
    • by Creepy ( 93888 )

      Well, there's also GNUStep, but that wouldn't be possible if Core Data is used. From my understanding, Core Data is more-or-less a database without a database - basically a uniform way of storing data objects so they can be read by many different programs (much like the dicts in mac, which are XML files, if I remember correctly).

      The alternative would be to have an actual database backend and write the programs to use those data objects.

      The advantage from the mac end is their data model ties

  • "Would a requirement that programs are released as open source make it more or less difficult to find someone to do the job?"

    I do not think this will make it any harder. But if you approach commercial companies be prepared to pay a substantial extra to have them give up copyrights. They would also have to make damn sure they actually have the right to open source (or sign away the copyright for) all the code that goes into the project. In some cases this might be difficult.

    I know for a fact the company I wo

  • by jchawk ( 127686 ) on Friday November 07, 2008 @11:52AM (#25676235) Homepage Journal

    I've used - http://www.rentacoder.com/ [rentacoder.com] for a few different projects.

    You can put the request out with whatever terms you'd like and the let the market set the price.

    • The problem with rentacoder.com, guru,com, and getacoder.com is that they are all about brokering the deal and getting a percentage of the take. They couldn't care less about quality or satisfaction. The coder is asked to make a fixed bid on what usually amounts to less than a paragraph of information. It promotes incompetence for both the sellers and the buyers too. In terms of quality, it's a race to the bottom.

      May I introduce an emerging alternative to these kinds of sites? I am building an online com

  • as a biomedical researcher, you can:

    1. inject them with a lethal toxin or virus that gives them 48 hours to live. you possess the antidote, but you won't give it to them until the programming is done. you may find this code to be slapdash and hurried

    2. reprogram their genetic makeup so that they slowly devolve into an insect. revertion to homo sapiens status only occurs if the programming is done. their coding effort will be highly hierarchical, with independent nodes functioning in close cooperation, like a hivemind

    3. surgically insert a biomechanical morphine injector directly into their spine. press the button, and give them rapturous pleasure. get them addicted, then demand they get no more fixes until the programming is done. code produced from this approach will be alternately pure genius, and pure garbage

    combine #1,#2,#3. be the perfect bad guy. code will resemble naked lunch

  • Raise Money (Score:3, Insightful)

    by kevin_conaway ( 585204 ) on Friday November 07, 2008 @11:58AM (#25676325) Homepage

    First off, please realize that custom software development is likely to be a 5-figure investment. Just because you want to open source the end product doesn't mean that it will be cheaper to do. You may find someone to quote you a really cheap price but I guarantee you that you won't be happy with the end product and you'll probably end up spending more over the long run than if you had paid up front to do it correctly.

    With that in mind, there are plenty of quality software consulting firms that will do this for you. To your developers, it shouldn't make a difference what you do with the end product. If you want to open source it, thats your business because you've paid for it.

    If you don't have the money to pay someone else to do it, I'd start learning to write software and/or reach out to other lab rats in your field who may want to help

  • by cinnamon colbert ( 732724 ) on Friday November 07, 2008 @11:59AM (#25676337) Journal

    Over the last 20 years, I have worked for several small biotech companies in the boston area, and all have had large (> 200 K) budgets for software. The take home lesson is that there are a lot of really bad programmers out there, and the only way to survive is to have someone you trust , who knows how to code, vet them.

    My current company has a really sharp VP/programming (whatever his real title is, thats what he does) and he hires good people.

    This may seem like chicken and egg advice, but it is all I have

    For examples, scan through almost any story at www.thedailywtf.com

  • Post your job offer to the mailing list of any projects listed in the subject:
    - Osirix (www.osirix-viewer.com/)
    - VTK (http://vtk.org)
    - ITK (http://itk.org)
    - Slicer3d (http://www.slicer.org)

    They are all 'BSD' type, meaning familiar with both the open source people and the industry !

    cheers

  • by mkcmkc ( 197982 ) on Friday November 07, 2008 @12:13PM (#25676493)

    I commend you for trying to find a programmer to work on this, rather than a biology student. As a bioinformatics programmer, I've seen the wreckage that results from the latter, and it's not pretty. There's a reason they don't let me in the wet lab, and it works the other way around, too. (I would never discourage anyone from learning to program for their own enjoyment, but if the results matter, you should act accordingly.)

    The most difficult part of what you're trying to accomplish is finding a programmer who's competent and has the right mindset. I've been programming for decades, and it's still difficult for me to figure out whether a particular person is good until I've observed them for quite a while.

    Regarding Cocoa, I think you should consider very carefully whether that's actually a requirement or whether it's simply something that sounds good. It's kind of like going to a doctor: you don't necessarily say "I want you to give me a bypass"--rather, this should be a long conversation with an expert in which you describe what you're really trying to do, and he/she provides suggestions and information about the pluses and minuses of various approaches. There may very well be alternatives that will be much cheaper and that you would be much happier with in the end.

    On the whole, the requirement that the results be released as Open Source should actually make it easier to draw good people.

    • wxWidgets is a good alternative to Cocoa, since the programs look like proper native apps. An added benefit is easy porting to any other platforms they may use, and the only drawback is a few megs of library overhead.

      But DO find a proven, open source-friendly developer.

  • why not ... (Score:3, Funny)

    by ianare ( 1132971 ) on Friday November 07, 2008 @12:23PM (#25676591)
    post a question to this site [slashdot.org], there are many programmers there. One will anwser you I'm sure.
  • OSX? (Score:3, Insightful)

    by FunkyELF ( 609131 ) on Friday November 07, 2008 @12:28PM (#25676645)

    For my purpose, Cocoa applications relying on Core Data seem to be the best way to get the job done quickly. While I have some programming experience

    Why don't you either get more than "some" programming experience or stop making decisions on the framework / platform. This kind of crap happens all the time when non-technical people make high level decisions on language, framework, or platform.

    And if you want it open-source why are you tying it to a particular OS?

    If you use QT, or GTK, or WX you can still have it on OSX as well as others.

  • Research Software (Score:4, Insightful)

    by rockmuelle ( 575982 ) on Friday November 07, 2008 @12:31PM (#25676687)

    Developing software in a research environment is challenging. There are a number of constraints and conflicting interests that make it difficult for researchers unfamiliar with software to be truly successful. To make matters worse, the relationship between academics and professional software developers is almost non-existent, in large part simply because the research community has limited funds available for software development.

    I've worked with a number of research labs to help bridge this gap and have developed a basic set of guidelines for developing software in research environments. In the end, the most important thing to do is draw a clear line between research tasks and development tasks. Understand what is in your area of expertise (research) and what is best handled by software engineers and other professionals. Then, depending on your resources, either hire a full time development team, a part-time consultant, or work with your university's IT staff to find local resources (many universities provide software development services). The place not to look is in the CS department: those students are there to do research, not write software.

    I've put together a presentation that outlines a number of the challenges and how to address them. This presentation has evolved over the last 5 years based on a few ongoing academic research projects that have applied the ideas in it. Most of the ideas are standard practice in industry, but applying them to academic projects can be trick.

    The slides are at:

    http://www.osl.iu.edu/~chemuell/projects/presentations/vt-software.pdf [iu.edu]

    Good luck with your project!

    -Chris

  • My company develops on Macs on a work-for-hire basis. We have experience in the defense field with scientific legacy desktop applications, server-based enterprise apps, and process simulation. We charge $100/hour for development, develop using agile methods, and are extremely customer focused (redundant since I already said agile). You can do whatever you want with the code when we're done; you will own the copyright. We are quite comfortable with OSS; we rely on it for our dev tools and the frameworks w

  • Depending on where you are, you may either land a job with students who need money for their tuition (US) or profs desperate to prove that their ivory tower actually produces anything useful for the economy (Europe).

    In any case, I'd start looking around the universities. You have a vast pool of highly intelligent people who will probably work for rather little money or even free provided the software may be used in their research and/or they can use it as proof for their interdisciplinary research efforts f

  • Have a look at cofundos [cofundos.org]. While it may not suit the OP, those who are in a similar situation may find it useful.
  • I'm a Cocoa (specifically iPhone by preference these days) contract programmer who's quite open to the idea of working on an open source project, as virtually all my contractees insist on keeping my involvement secret which is very annoying indeed. It would actually be rather nice to have a freely available example of my coding skills to point people at.

    Not nice enough to work for free, mind you, but if the project's halfway interesting I'd consider something in the range of $50/hr probably which is about h

  • Bioinformatics (Score:2, Informative)

    by bakuun ( 976228 )
    The field of bioinformatics is basically all about developing software to solve biomedical informatical problems.

    If you want somebody to develop a program to solve a scientific problem in the biomedical domain, it is likely that what you need is a bioinformatician.

    The asker does not mention in what context he is doing research. If at a university, offer the problem for bioinformatics msc students that need to come up with something for their dissertation project (or even as a phd project if the problem

  • by ChrisA90278 ( 905188 ) on Friday November 07, 2008 @01:15PM (#25677169)

    What kinds of rates to expect. It depends a lot. You can find kids who will work for peanuts but then you want profesional quality well documented work that is well tested. You will have to hire some real software engineers, some real quality control peopel and some real technical writers and editers and graphic design people. I've worked in the software business for 25+years and I'll tell you that it is expensive. You'd be shocked at how little a million dollars will buy. For example I live in So. California and have a wife and two kids. How much money would I need to support a middle class lifestyle? Then figure in typical levels of productivity. In my area, embedded systems used by military equipment we are lucky to see 200 lines of code per month per engineer. But that is fully debugged and tested and we have very, very strict quality controls. If you are writing for the web then you can be almost 100 times more productive because crashes and failure is tolerated because people don't die when a web page fails. Productivity is also a matter of luck. Studies have shown that in any group of 6 engineers there will be a 2:1 ratio of productivly between members of the group.

    "Lines of code" is a horrible mearse of a program's size but is as good as anything else we have. Typical LOC counts are about 5,000 for a simple but non-triveal program that one or two people might write. The Postgresql database system has nearly 500K lines and the Linux itself has about 10M line.

    So take the productivity numbers, your line of code estimates and an assumed salery plus overhead, payroll taxes, worker's comp insurance, social security and so on. Pick 100K per year for young people and double that for those with 10+ years full time experience. Run the numbers with low, average and high estimeats and you will get the range of costs. And yes you might be able to pullit off using all low estimates if yuo hire students who work at home and alrady have a solid understanding of the science and math.

    The worst case would be back when I worked on a radar system. In industry, radar is hard. Just over half the projects fail for technical grounds and this is even for organizations like Raytheon. We blew through millions and had nothing to show for it. But then producing maps in real time in the cockpit as a supersonic aircraft flies over the ground is not easy. But on the other hand if you are only creating forms on a web page, some kid will do it for you in a few hours. Cost depends very strongly on the problem domain AND the experiance of the enginers in that feild. In our radar case no one had yet solved this specific problem so going in we know we had a high risk.

    Risk is I think a worse problem than cost. Most software managers try very hard to reduce risk and make of a plan A, B and C. at least. It is worth paying double to reduce risk by half. Your best risk reduction technique is to find engineers with the relevant experience. Who understand both the science and the programming environment. On a large project yuo simply can't find enough of these people unless your project is very generis (like an on-line store)

    Good Luck.....

  • by meburke ( 736645 ) on Friday November 07, 2008 @01:16PM (#25677175)

    You have already "jumped to solutions" with this question. You have made decisions about the outcome that you haven't related to the actual problem. For instance, you have specified Cocoa, but you don't say why that specification solves a specific problem.

    So, I guess I'd recommend asking a few questions like:

    What do you want? What problem are you trying to solve? How many alternative ways could you solve this problem? What are the necessary constraints? What is the best alternative that satisfies solving the problem within those constraints?

    For instance: You need to have a program that does "X". The program solves the problem of calculating and communicating by typewriter or longhand. The program could be written in C/C++, Qt, Python, Smalltalk, etc., etc.. The program must be maintainable by you and you only know C++ and Cocoa. Therefore you must select an alternative that includes these languages...

    Most decisions are sub-optimal because people don't evaluate enough alternatives. This is OK if the decision is not important or easy to change, but the more time and money invested, and the more people involved in the use of the solution, requires you try to create an optimized decision.

    Then you start picking the programmers. Under similar circumstances, I have found it best to check with the employment agencies, and ask around among my IT friends for referrals. Get references.

    Good luck on your project.

  • by FrozenFOXX ( 1048276 ) on Friday November 07, 2008 @01:17PM (#25677185)
    While at USENIX 2008 I got to listen to Jim Waldo from Sun Microsystems and among other topics he covered programmers. He had the following to say about getting a programmer.

    Have you ever seen these programmers? Most of the time they've got more metal in their faces than in my car. It's like I always tell people, you want to attract a good programmer? Use an electromagnet.

  • Cardinal Peak (Score:4, Interesting)

    by Mr Howdy ( 242956 ) on Friday November 07, 2008 @01:32PM (#25677349)

    Well, to start, posting the question anonymously means that nobody who actually does this sort of a thing for a living can contact you :-). Not sure if that was the intended effect or not.

    I run a 25-engineer development shop in Colorado named Cardinal Peak (http://www.cardinalpeak.com). We do quite a bit of development on OS/X and Linux, including open-source development, and I'd be happy to talk with you about your needs.

    Please forgive the obvious self-serving nature of this response, but it seemed on-topic for the original question.

  • by Cajun Hell ( 725246 ) on Friday November 07, 2008 @02:09PM (#25677779) Homepage Journal

    Would a requirement that programs are released as open source make it more or less difficult to find someone to do the job?

    Here's how my previous job worked: We would find someone who wanted something, and charge them hourly to write it, and then give 'em a binary to which we're the copyright holder. Then that program would be a "product" that we would sell to other people in the same business. It was great for us (and not so great for them, but they didn't know better).

    If you make it so that we don't have a proprietary product (developed at your expense) to keep selling over and over, then we're going to ask for more at the "charge them hourly to write it" part. (Well, either that, or you're going to do business with someone more competitive than us, who is ok with only being paid once for each unit of work.)

    And to be fair, the business was actually a lot more honest than I just made it sound. And it is still a standard practice in the business (there just wasn't anymore more competitive than us). That's how things will be, until enough people like you say they're willing to pay for free software, so that it reaches critical mass and becomes the new standard.

"If it ain't broke, don't fix it." - Bert Lantz

Working...