[GLLUG] (no subject)

Kami Vaniea kami.vaniea at gmail.com
Fri Feb 6 16:08:02 EST 2015


In an effort to shift the discussion I'll throw an initial opinion out
there about finding and hiring developers in general.

Full disclaimer, I'm a professor, not a professional software developer.
I have quite a bit of experience hiring undergraduate students to do
smallish one-off projects and no experience hiring serious developers. I
also work in labs with mixed backgrounds, so while I have a CS degree
some of the other professors I have known do not. So I get to see some
of the challenges associated with managing a CS student when the manager
has minimal CS knowledge. I've also been repeatedly asked by my non-CS
colleagues how to handle this type of hiring problem.

My first recommendation is to stop looking for a developer and start
looking for a partner. The other people on this list are very correct
that the fiddly details of building software are immensely important and
extremely hard to do if you have no experience. You need someone who is
interested in helping you to design the project and not just hammer out
the code. This is also good advice for finding a programmer who has
skills. In my experience very few programmers just want to be code
monkeys. They got into the profession because designing new things is
fun and they want to work on interesting projects. I once advised a
health researcher to prominently include the words "social aspects of
health" in her ad for student programmers and play down her "code stuff"
tone for exactly this reason. Good programmers are hard to find, and
that means that they get the pick of the projects. You need to make sure
that your project is interesting and give them enough of a piece of it
that working on it will be rewarding independent of the money. The money
is important, but I know plenty of students who would take a pay cut to
work on something intellectually fun or that they believe in. 

I have less experience finding good well seasoned programmers. But there
are tons of places where you can get some development help from
students. Most universities have a career services who will help you get
in touch with students who are looking for part time work and can help
you build a prototype. Many Universities also require students to do a
thesis project or a major software development project. These are
frequently sourced either from the open source community or from the
local area. If you were a faculty member I would tell you to talk to the
CS undergraduate adviser as they tend to know the students very well,
though that might not work as well for you. Some Universities also have
a coordinator that works with local businesses to help get the students
experience designing projects.

Hackathons and Maker networks are another good place to meet developers,
do a short project, and then decide if you think they are good. Pitching
an idea like this one is going to be challenging without a prototype,
and a Hackathon is a good way to meet other people and get a sense of
how projects like this one are built. Even if your group ends up working
on a different project you will learn tons about what makes a good
programmer and what makes a bad one. It also gives you the opportunity
to meet people and determine if you can work with them (sometimes more
important than their coding skill) before trying to do any type of long
term investment.

Social networking is not to be ignored either. One of the best ways to
find a good person at anything is to know someone who knows someone who
is looking for a job. Some of my best students have been recommended to
me by my other best students. People who are good at their job know each
other and they know who is good and who is not. Note that this cuts both
ways. The students also rapidly figure out who has interesting projects
and who does not. See the first point.

I would also heavily encourage you to get some programming experience.
It doesn't necessarily need to be seriously involved. But you should go
and take a free online tutorial type class on basic programming. You
should also find a tutorial that walks you through building a basic
hello world Android app. Some of the worst relationships I have seen
were with fast talking students where the faculty member couldn't tell
the difference between an if statement and a for loop. Having even a
rudimentary grasp of these issues will enable you to have useful
conversations with any developer you work with.

Hope this helps,
Kami Vaniea




More information about the linux-user mailing list