Welcome to the Coda Community.
I’ve been doing custom applications development for a very long time – mostly for law firms doing big-case litigation. In the last 20+ years I’ve worked with several different platforms and technologies, and during that time, I’ve sometimes charged by the project (or more precisely, by stages of a project), but most of the time I have worked on an hourly rate. In 2020, I’m adding Coda to my toolkit and will soon start moving some of my client projects to Coda. At the moment I don’t plan to make any special changes in the way that I charge my clients, that is, I will continue to charge by the hour.
Doing custom development work for clients with Coda does present a few interesting technical problems that I haven’t fully solved myself yet. But your question is a very basic business question for consultants and developers and really has little to do with Coda. The question you ask–Charge by the hour or by the project?–is the one all consultants and custom developers ask. I will give you a couple thoughts about it.
By the project
Years ago I was given some advice by one of the most successful businessmen I have ever known well–a fellow who left a position as VP of one of the largest tech companies in the world to start up a small development consultancy on his own, and in no time had fifty full-time employees in three cities and was making money hand over fist. His advice to me was to work by the project. He explained it this way.
- Get as much info as possible about what the client requires
- Figure out what it’s worth to the client
- Decide whether you can do it for that or less than that
If you decide you can complete the project for less than it’s worth to the client, then take the project and charge them that (i.e. every dollar they’re willing to pay for it).
Which sounds brilliantly simple, doesn’t it? Except that it’s not.
My friend acknowledged that sometimes you’ll lose money on a project, because you bid wrong. But with his experience, he was able to make a big profit on enough of his company’s projects to more than balance things out in his favor. A “big profit” was where his company got paid way more than they needed to make the project worth doing. But again: He was a very good businessman. Most of us freelancers and consulting developers aren’t.
My friend succeeded in large part because he had the very good business sense to aim his services at large institutions with very large budgets. This allowed him not just to get a sense of what these companies were willing to pay; it also gave him the confidence to build a considerable amount of comfort space into his bids. He also specialized in one particular industry so the work he did for one client was very similar to the work he had done for the last five clients; this allowed him to get a good idea of what it would cost him to do any given project.
In my experience, if you can work for the government or very large industries, you can consider working by the project, especially if you can figure out how to get clients B, C, D, E and F to pay you for doing more or less the same thing you did for client A. But even then, this is tricky. I did a large project years ago for one of the largest school districts in the US. My firm won the competitive bidding process with a bid I was very comfortable with–actually, I was pretty excited about it. My team and I completed the project on time and made reasonably good money, but boy, we worked our rear ends off, had many, many all-nighters. One unforeseen problem after another arose. Client didn’t take our advice on certain matters. And on and on. When it was over, I tried to calculate what we’d made on a per-hour-worked basis. The number I came up with was really depressing.
By the hour
So while working by the project sounds very tempting, nearly all of the custom developers I know across the US and throughout the world work, as I do, by the hour.
It’s true that, working by the hour, you’re not going to become a millionaire. But if you can bill 20-25 or more hours a week at a reasonable hourly rate, you can at least make a respectable living.
And even when you bill by the hour, clients are going to ask you to estimate costs. This is a very delicate issue and it’s way beyond the scope of a response in a forum like this for me to give advice on it. The real secret is experience. Good luck.
One other path to consider
If you want security and less stress, get a job working as an employee. You’ll get a regular paycheck, you’ll get benefits, and you won’t be up all night very often, at least not because of work. I think Coda may be especially appropriate for solving certain in-house data management challenges.
p.s. You might find this article amusing and instructive: https://www.briandunning.com/browse/browse0305.shtml. I knew the author a little bit many years ago. Extremely smart fellow who did some extremely dumb things and got himself into legal trouble. But this article is valuable nonetheless.