Hacker News new | ask | show | jobs
Ask HN: What makes coders happy?
7 points by bloomshed 5705 days ago
I'm a non-coding founder trying to develop a website. I'm looking to find a technical cofounder and I need to understand how to better work and connect with coders.

I've read a fair amount about retaining programmers but most of those articles are confusing to me because they contain lots of coder specific language. I thought it would be more fun to have a discussion around the following question:

What should non-coders do (or not do) to make it easier for hackers be excited about collaborating and developing a great product?

7 comments

The best sort of manager acts like an administrative assistant. When managing creative people like developers, you don't need to "manage" them in order to get them to create; their natural state is creating things, and this only changes when some obstacle gets in the way. A good manager makes sure that obstacles -- needing to get paid, getting approval to travel to a conference, purchasing a new computer, finding people to test code, irritating users with bug reports which are too vague to be useful -- don't intrude on the developer's time.

The best thing you can do to make yourself attractive as a non-coding co-founder (short of learning to code) is to say "I'll take care of all the non-coding muck so that you can focus on doing what you do best".

I agree. And if you've found someone that needs to be prodded into coding, they aren't a good coder. That's your first warning.

Also, anything that annoys a developer is an obstacle. If you make it difficult to take vacation time, for example, that's an obstacle. Many companies seem to think 'Oh, everyone is that way' and that it makes it okay somehow. If there's something in the contract and you make it hard for the developer to get it, you're going wrong. Part of honoring your contract should be making sure it isn't difficult for the developer to collect on what they are promised.

Part of honoring your contract should be making sure it isn't difficult for the developer to collect on what they are promised.

Also, keep in mind that when they're not writing code, developers often have about as much attention span as a five year old on crack. You might think that filling out a couple pages of paperwork in order to get the company to pay conference registration fees is perfectly reasonable, but it will irritate the hell out of many developers.

I was very recently in your position.

Remember, an idea is worthless. They have people asking them to build things for equity all the time. You have to compete with these people. If you want to attract a tech-cofounder you have to show value. No one is interested in a one-side partnership where they have to do all the work and then give up a large portion of any profits. How are they going to know you can bring anything to table if you have nothing to show?

After I had identified a potential pain point and thought up a solution, this (in order) is how I proceeded.

I enrolled in a relevant classes (business fashion/intro to entrepreneurship), wrote a business plan/financial statement, figured out the features and how I wanted the app to work, contracted wireframe mockups, raised money from family, hired a lawyer to form a corporation, had the graphic design done, had the front end done.

It took a year and $4500 before I finally found my co-founder.

All the stuff had to be done anyways and it was stuff I, as a non tech-cofounder could do. After I met my technical co-founder we spent a week transferring knowledge (after working on it for a year, i had a lot to say) and now he is coding away.

Also everything took way longer then I expected.

Ok, lots of administrative suggestions here, which is good insight, I appreciate it.

What about collaboration and working with developers to incorporate their knowledge of sound programming structure and data architecture into the site? My site looks simple from the front end, but has a ton of stuff happening on the back end of things.

Excellent data management will be key for me and its something I need a lot of help with. The front end was easy for me to draw up but I need a great creative relationship with a technical cofounder to make the site as powerful as I'd like it to be.

"What about collaboration and working with developers to incorporate their knowledge of sound programming structure and data architecture into the site?"

Assuming you've hired a good coder, be clear when explaining what the requirements are and what needs to be done but don't tell him/her how it should be done. Coding and design is where their expertise lies so give them the freedom to use their professional judgement.

You may also find Joel Spolsky's "Field Guide to Developers" article interesting, in particular the section entitled Independence and Autonomy http://www.joelonsoftware.com/articles/FieldGuidetoDeveloper...

Do's: Focus your communication, clearly define specifications early on, set list of priorities for tasks, and aim for a minimal amount of meetings. Basic software engineering stuff, but this makes a world of difference. Leave margins for things to go wrong: you'll need them, and your programmers will love you for it.

Don't make assumptions about what is easy and difficult to build. Take advantage of the expertise of your team to assess how much time different tasks might take.

Have a clear vision of what you want to accomplish. No one likes hitting a moving target. Sure there might be pivots, but don't add to that by not understanding in great detail what you want built.

Assist them by helping them test everything you can.

I would definitely recommend learning the basics of some programming language. If anything else this will help you to understand what's going on and what needs to be done to have your vision implemented.
Any suggested languages? I was emailing a guy last week about learning C. My first developer I worked with (college buddy) was using Rails for my site but my current developer is using Drupal.
Learning the basics in any language will help, I'd suggest Python, Ruby, or C++. Rails is actually a web development framework built on top of the programming language Ruby and Drupal is similar to a framework and I think uses the programming language php (not too sure though don't know too much about Drupal). C/C++ will be harder to pick up and isn't really necessary for someone just looking to learn. Try going through a python or ruby tutorial and pick the one you like better.

http://ruby-doc.org/docs/ProgrammingRuby/

http://docs.python.org/tutorial/

This video might give you some insights: http://www.youtube.com/watch?v=u6XAPnuFjJc