Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Setting up an internal development environment for a small company?
2 points by kaens on July 14, 2009 | hide | past | favorite
Firstly, apologies if this is something that is easily googleable - if it is, I have been unable to discover the correct keywords to search for.

Here's the situation: I'm currently the only coder for what could be considered a startup in the UK. We've been developing a web-app for use in a specific industry that makes peoples jobs a lot easier, and although up until now we've been bootstrapping, money is starting to roll in.

As such, we're going to be looking to hire a few more coders in the near future. In addition, we've got a few more ideas that we'd like to get started on in the near future.

Since it's just me at the moment, development process is pretty simple. We're currently a linux shop, and our current product is written in Python. We (I) use git, and we have a trac install as well.

This is all well and good, but the way we're doing things right now kinda depends on me knowing the entire stack. If and when we bring more people in, I don't want to end up either putting people in a position where they need to know how everything is set up to get anything done, or in a position where I've hacked together a bunch of shell scripts for the purposes of trying to streamline some stuff.

So here's what I'd like some advice on, and what I'd ideally like to set up:

Firstly, we'll need a network. New developers should be able to start working with tools that they're comfortable with as quickly as possible. I prefer a linux environment for development, but I'd prefer not to mandate it. Ideally, I'd like to find a way to set up a network of mixed-os machines that all get automatically backed up over the network. I know that there are multiple ways of accomplishing this, but I'm not too familiar with any of them, or their benefits / drawbacks. I don't want to dictate editors, or OSs. I'd prefer not to dictate as much as possible as far as programming languages go (but frankly, this would probably be more of a function of the other developers than not).

Secondly, if we're going to be having multiple projects going on, possibly in parallel, I'd like to find a way to streamline the creation of all the stuff that needs to be done to support those. Creation of a bugtracker instance, source code repository, commit access, etc. Something where we can see progress made on individual projects from a central location, and where we can create a new project in (preferably) a small number of steps - mostly giving it a name, and clicking a button. We're not planning on focusing on one "type" of project, either - our current project is a web-app, but we have some ideas for desktop-apps, phone-apps, and at least one hardware project we'd like to work on.

We don't expect to have a very large team in the near future, at the most I'd say 4 or 5 other developers, but I can't rule out the possibility that somewhere down the line we'll expand further than that.

I'd prefer to not have to pay a monthly subscription fee, and also to keep stuff on an internal network, but if there's something that is really great for this stuff that is either not free, or hosted externally, I'd be willing to look at it.

I'm willing to roll my own automation-glue stuff, but I need to get a handle on just how much I'll need to write. I don't want to reinvent the wheel here, and it seems like this is the type of thing that's been solved over and over again. Unfortunately, I've never been part of a team of coders in real life (I moved from doing individual freelancing, which mostly consisted of fixing other peoples broken codebases by myself, to doing this job), and I'm finding it rather hard to find good information on setting up stuff like this.

How do those of you who are working in small (or not so small) development teams manage stuff like this? Anyone here with experience designing internal development networks that would like to share some expertise? Recommended reading?

Edited for formatting




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: