I have a good working relationship with Inquirium and Dr. Loh. developing realtime software. Most recently, we have been working on a series of National Science Foundation-funded grant work.
If we have a fruitful first meeting, the next step is to tailor a few projects around our needs and your expertise. There are three kinds of starter projects that come to mind:
Teach Us Stuff - We may book a few hours of your time to learn about a topic. There are a lot of things we have been too busy to research: unit testing, Unity engine development, database replication strategies, etc. Let us know what you know.
Give Us an Example of How Something Works - It’s helpful for us to work from complete self-contained skeleton frameworks that demonstrate a concept. For example, a working skeleton project you are already familiar with but “new to us” might take only 4-8 hours. Followup enhancements would be billed at your hourly rate.
Work with our Codebase - We have a fairly complicated codebase, and would work with you directly to spec a “bolt-on” system that you can make for our code. After that, we would work out how to integrate the code into our project. This is anywhere between a 10-40 hour project over several weeks. I would be also working with you to help refine our internal documentation, so a secondary supporting role is increasing our experience making things very obvious in code.
After a few projects like this, we will have a better idea of how we work together and take it from there. It is our goal to form good long-term working relationships with contractors.
Unlike other software, our code does not have to result in a “perfectly-polished” software experience. Instead, we are implementing prototypes to test ideas that are still being formed by research questions.
Since we work with demanding academics on publicly-funded projects, there is a considerable amount of communication that happens between each milestone. We emphasize the needs of the research over high polish, though we of course strive to deliver both.
Our everyday communication is handled via Slack, Zoom, Google Docs, GitHub, and other online collaboration tools. My colleague at Inquirium is located in San Jose, California so much of our communication is time-shifted.
We emphasize the needs of the project, but not over the needs of people’s lives. You should, however, have a high tolerance for conversation and be proactive in telling us your availability. Our approach depends on it.
We use an agile-style approach to estimate time and burn rate. Typically our arranged meeting overhead is about an hour a week, plus time spent in Slack asking questions or giving answers whenever we are around.
We do not have fixed working hours, but schedule meetings and pair-programming sessions as needed. We try not to have more than one meeting a week, shifing peer problem-solving to the Slack channel. Talking out problems when we are stuck is a strategy we use more regularly than status meetings.
We keep detailed time logs of our work for use in billing the client. You will be paid monthly upon timely submission of your timesheet.