views:

521

answers:

7

Is it worth my while letting programmers from Oxford University loose on my projects? What are universities like when you wave confidentiality agreements at them?

+6  A: 

(1) Yes. (2) They get lawyers involved.

Charlie Martin
+4  A: 

Working with students can be challenging. We do a lot of that here in our development shop (I work for a university). It's probably best if you consider it to be part of their learning process rather than as a way for you to get cheap coding labor. Hopefully, both the student and your development benefits, but that's not always the case. In all cases we pair a student (or students) with a professional developer to help guide the project and make sure that the code is well constructed.

tvanfosson
A: 

yes it is worth your while - but I'd recommend something like a mentor-program for the student-devs - so they know how to work for you or how to work in general. the benefit you get are new ideas on how to solve problems or even how to view them.

As far as I know (I worked as a student for companies) NDAs are never a problem.

Gambrinus
+5  A: 

I personally try to always have one student employed for me. I find that it helps me, especially when trying to develop new software.

There are some things to be aware of, though -

  • Students are not the same as a professional employee. They require a lot more management, and the management must much more hands-on than with a normal employee.
  • Students work best if you pair them with a mentor or some other experienced programmer. Pair programming often works well with a student being one half of the pair.
  • The right student will work hard and be very happy to be learning and getting professional experience. The wrong student will be very flaky, tend to not show up randomly, etc. Sometimes its difficult to tell early on which way a particular person will be, especially if they have little experience/references/etc.

Some advantages of working with students -

  • The better ones tend to be very happy working on just about any project.
  • Since they're just learning, I've found that a student is the perfect person to review an API. If they can understand it and follow what you are doing easily, chances are most professional programmers will understand it as well.
  • You often have to spend time teaching the student concepts before they can work productively. This is a pro and a con - it does take your (or their mentor's) time, BUT it forces you to be very clear in your thinking, and also to think about how to articulate a particular point. Many times I've found myself rethinking how I did something and deciding to refactor because of this, and nearly every time, I've been glad this happened.
  • It's easy to hire a student for a short period of time, short hours, etc. They often prefer working 15 hrs/week, or just for 2 months over the summer, etc. It's a nice way to get some extra work done when you can't justify bringing on another full time staffer.

As for NDAs - I've always negotiated this directly with the student, not with the University. It's never been an issue for me. I have a stock contract that I make students agree to before I hire them, and so far, I've never run into any problems.

I pretty much treat students just like any other contract-for-hire work, but knowing that they'll be a bit different when I'm working with them.

Reed Copsey
A: 

I've been a student programmer, and I've had student programmers working for me. Here's my advice:

  • Don't hire just one, or make sure that the student programmer always has a tech/programmer to turn to for advice or discussion.

  • Set working hours and location right at the start. Student programmers might want to work from home, but that's a bad BAD idea.

  • Confidentiality agreements are fine, don't forget a time-limited non-compete clause. Confidentiality doesn't stop them from taking their knowledge to another shop to create better product.

Michael
A: 

Please see a similar question "How to fully utilize attachment students?"

It is possible to view the involvement of university students as either part of your tactical or strategical plan. Tactically it might not be worth the effort you have to make to bring them up to scratch with your domain and managing the high churn.

In terms of strategic partnership the goals might be:

  • Forming a partnership with the uni to get access to their brainpower.

  • Learning from students the latest techniques taught at universities.

  • Evaluating the brightest before they graduate and are available relatively cheaply and then retaining the best.

  • Spreading the word about your company to increase future hiring pool.

  • Converting the students into "word of mouth" sales force for your services and products.

  • Bringing in students from foreign universities (MIT for example) to achieves the same objective but internationally and to get a different cultural perspective on your products and services.

Totophil