views:

248

answers:

11

I come from an IT/business background, but I'm not a programmer. Recently, I've been aproached to head up projects that require software development.

On the same token, this has led me to spend more time developing business ideas that revolve around a developed software or web development.

Because I'm not a programmer, but am technically savvy, I can speak the language, but I'm trying to figure out what would good programmers be looking for to join in on a project?

How do I locate good programmers who want to participate in a project atmosphere? Is it just a money thing? It doesn't appear to be...

I'd imagine that much like IT, its about being part of a smart, innovative environment... but that creates a chicken/egg problem because you've got to start somewhere. So where's all the talent and how do i get their attention?

//EDIT there are a ton of interesting comments below. I'd love for all of you who are contributing to keep an eye out. I think I'm going to break this up into several questions over the next few days because your comments have actually led to more questions (a good thing). So plz keep looking...

+2  A: 
Chris W. Rea
also, we like to get paid
Muad'Dib
What about geography? Is physically working together in a skunkworks type environment apealing (it is to me) or are most people happy to work remotely?
Krevin
IMHO, working in-person with teammates is important for team jelling and productivity. But, permitting remote work from time to time is also attractive from a convenience perspective. So, I can't rule definitively one way or the other, but I can say both extremes have issues.
Chris W. Rea
+1  A: 

Some things that definitely catch my eye:

  • Use of new technologies
  • Use of version control
  • Projects that I have a personal interest in developing
  • Nice work environment
  • Use of newest and best tools for the job
  • Working with other great programmers
  • Chance to learn new things

Money isn't the factor, but it is a fairly large one too.

John T
+2  A: 

I think you've hit the nail on the head. Working with smart people is a major thing hackers look for. It really would help if the project itself was interesting. If the project isn't interesting, it would help if it had some interesting/technically challenging aspects. New technologies can help attract people too. Or rather, interesting technologies. Also having a say in what is used can really make for an enjoyable work environment.

Generally, they also want to be left alone after being given something to work on. Seriously. Don't bother the programmers unless the building is on fire. And even then it's iffy.

docgnome
+6  A: 

I think that it's important to a manager to understand the difference between intrinsic and extrinsic motivation. One of my managers does not understand this; he believes that everyone works for money, and so gets very frustrated when we don't respond to what he thinks is a large amount.

The reality is, we (and by 'we' I mean 'the people on my team') want:

  1. Not to be micromanaged--ie, trusted to do what we've been hired to do
  2. To be given clear tasks
  3. To be compensated fairly
  4. To work with interesting technology on interesting problems (for a given value of 'interesting')
  5. To be respected for the work that we do. If we spend five days slaving over a button design to make it work perfectly, then the effort should be recognized. Recognition should not be a plaque or anything, but it should be something like "Wow, good job. I'm glad you got that done." (as opposed to yelling that you want more more more, which seems to be the current status quo around here, and why my SO rep has jumped more than 600 points in the last few weeks).

Extrinsic motivators are things like money, benefits, etc, that are definitely helpful for the draw, but the intrinsic motivation is where you'll get us. I want to do useful, interesting things, not boring, mundane things. Money helps turn the boring into the interesting, but only for so long.

mmr
+1 for "...why my SO rep has jumped more than 600 points in the last few weeks"...I totally identify!
Andrew Siemer
what's interesting/useful.. or more importantly, whats boring?
Krevin
Interesting and useful varies from programmer to programmer. For instance, I find image processing to be very interesting, and database programming and web programming to be extremely boring. Part of hiring 'good' developers is hiring developers who find your project interesting, enough so that they will be motivated to solve the problems of the project.
mmr
great, most of my projects are web related!
Krevin
Again, though, that's just me-- other people find web development to be awesome. More power to them :)
mmr
A: 

Since you have already a solid business idea, then the search is about who/which team can implement the business idea regardless of what tools they are using, but with certain measurement such as :

  1. Short/Acceptable development time
  2. Flexible change to the current application
  3. Acceptable performance throughput

For the good start, a POC (Proof of Concept) needs to be developed as a good start in measuring above metrics.

hadi teo
+6  A: 

I would suggest you pick up a copy of Peopleware. It gives a good overview of what is required for having great software teams. Joel's post on find programmers is also worth a read.

garethm
+1 for Peopleware. Excellent, excellent, excellent read.
Chris W. Rea
Yes. I fantasize that my manager(s) will read it.
mmr
heh well maybe i'm management then... i'll definitely look at it. Thanks for the suggestion
Krevin
+7  A: 

Generally money, technology, and the project itself are the first things that initially attract an engineer to the table. However, the thing to keep them there is the environment that the person has to work in. This can make or break the deal. Programmers are generally an odd sort of people. They want the respect of a suit...while wearing flip flops, shorts, a Hawaiian shirt, and having pink hair. They want their opinion to count (we are often asked for our opinion...only to have it thrown in our face to build something or do something other than what we suggested). They want to be consulted about a product prior to the sales guy actually selling the product. They want to be treated like people rather than a tool in the box. They want to be viewed as competent adults rather than a "young kid" that needs constant micro-management. They want their work to count as much as the product does (often times you will see a multi-million dollar company dependent upon the success of a products development not provide a solid development environment - no build process, no source control, no dev/performance/production environments, no backups, no QA, no testing, no software analysis, no productivity tools {resharper!!!}, no industry standard IDE's). It's all about R-E-S-P-E-C-T!!!

Andrew Siemer
+1 for RESPECT.
Chris W. Rea
Andrew - that list you have at the end.. that's some good meat (i believe you guys call it chunky bacon) can you serve up some more... not just an 'etc' that's the stuff i'm looking for
Krevin
@Krevin - I added more!
Andrew Siemer
+3  A: 

Regarding enlightened managers-- I'll list one thing that stands out in my experience:

Work with a realistic schedule.

Bad managers say "that's too long, we have to pull the time in". Thus begins the long journey of pain and frustration (or good programmers are scared off the project, if they can see that coming, or they quit). Instead, good managers promote accurate estimates, trust good programmers' estimates, and make realistic adjustments to project requirements and scope if necessary. Or possibly hire more people, to the extent that's feasible.

Craig McQueen
+1 for NO SCHEDULE B/S.
Chris W. Rea
what is a good way for a non-programmer to estimate a timeline?
Krevin
@Krevin the most approachable book I've read on the subject of estimation is http://www.amazon.com/Software-Estimation-Demystifying-Practices-Microsoft/dp/0735605351
ChrisW
Here's an interesting article on making schedules:http://www.joelonsoftware.com/items/2007/10/26.html
Craig McQueen
+1  A: 

It's so hard to build a strong development team. In my experience this is as much an organic process as it is a manufacturing process. Sure, you can hire great developers and make the environment conducive to keeping developers happy (see other posts for lots of ideas on this) and the team still fails. Why? The developers just don't work well together...

Over time people will come and go from the team and you will end up with a bunch of like minded individuals that work very well together. Development staff turnover should practically halt at this point. Now you have a great team that can take on anything.

What I would query is why you think you need to build a software development team. Would you consider outsourcing the software development? No, I don't mean to India! I mean with a (potentially local) software development company that already has a stable, experienced, capable, mature, productive team with a proven history of success? Partner with them. The closer the relationship the better.

Aside from getting a "ready made team", you can discuss different remuneration models, like product license fees or equity, rather than the usual hourly rates and salaries. Your new partner probably has an existing code base that can be leveraged, reducing your development time and costs. It's good all round.

To answer the question - a large proportion of "the talent" are running their own businesses. All you have to do is go find them.

Daniel Paull
If a ready made team was in fact available and for hire, then yes of course that would be a great option... but would they be affordable? I guess that comes with negotiating, but for extensive projects, it can be cheaper to pay a salary than a consulting fee.
Krevin
I think it depends - if they can bring in background IP that kick starts your project and you don't have staff turnover, training and other costs, then outsourcing is very cost effective. In my business we promote the fact that we amortise the software development cost over a number of projects (thanks to code reuse), so the cost to any one client is somewhat cheaper than in-house development. Simple scenario - let's say that the consultants get you to market in half the time for the same cost (ie, double the hourly rate) - what's that worth to your business??
Daniel Paull
A: 

Grab a copy of the book "Making Things Happen" by Scott Berkun. Its a great introduction to how to software projects go.

Frank Schwieterman
A: 

Besides the obvious, finding a place with peers that you can learn from and grow and be allowed to do so.

eschneider