A few months ago I was contacted by a friend of a friend on Facebook who owns a local creative marketing agency. He knew I had made the Thoughtback iPhone app and was wondering if I’d be interested in doing some work on an iPhone app for him. I decided to head down to his office and find out more.
At that first meeting, he told me that bd’s Mongolian Grill, one of their clients, wanted an iPhone app and they had no idea how to make one. That was where I came in. We talked a lot about the whole process of building an app and what was even possible to do with an iPhone. I was expecting something more like a job interview, but was surprised when it wasn’t. They told me that they were going to talk about what features they wanted to put in the app and get back to me.
A few days later, I came in again to talk about the features that they wanted to add and to see if what they wanted was realistic. At this point I wasn’t sure if I was going to be making the app or if they were evaluating me. I guess they had pretty much already decided I would be hired, since either at that meeting or in an email right after, they asked how much I would charge to build this app for them.
How much should I charge?
How much to charge is a really hard question. On one hand, I wanted them to hire me and was afraid that if I charged too much they’d try to find someone else. On the other hand, I’m a qualified, professional, software engineer and my time is worth real money. I was really hoping they were going to make me an offer so I wouldn’t have to come up with the number myself.
I did some googling and found some crazy numbers. People were saying anywhere from $10,000 – $50,000. I tried doing an estimate of how many hours it would take and then multiplying it by what I get payed at my day job. All these numbers seemed unreasonable to me. $10,000 dollars is a TON of money. Remember, this is NOT how I make my living so I don’t actually need the money, it’s all gravy. I ended up picking a number that would let me take a couple pretty awesome vacations, but still not be unreasonable for a smaller company to pay. I think I lowballed myself a little bit because obviously development takes longer than you think.
You’re worth more than you think!
If I had any advice for someone else in my situation, pick a number that seems just a little bit too high. Remember, you can’t get money you don’t ask for. Don’t worry if it’s something you haven’t done before. Odds are good that you can. One of the reasons I think I went low is because I wasn’t sure I could actually do what they wanted. Now that I actually finished it, that seems silly because I was able to do everything they wanted (and more).
How long is this going to take?
Of course, with the money estimate, they wanted a time estimate. This was another tough one. I had never done an iPhone app of this scale before. They wanted lots of stuff that I’ve never done before like Facebook sharing, Twitter sharing, and use of the iPhone’s Camera. So I went through each feature and figured out how long I thought it should take in hours. Then I added a little padding time because everything always takes longer than expected. Thankfully, my client understood that too and added some more padding of their own onto the deadline.
You suck at estimating!
Well, maybe you don’t, but I do and so do most other people I know. There are always a ton of factors you don’t think about when making that first estimate. In my case, I was thinking I would spend about 2 hours a day working on the app after I got home from work. What I wasn’t thinking about was my weeklong vacation to Florida and all of the time I wanted to spend having a life (hanging out with my girlfriend, playing video games, going to movies, etc.). So towards the end of the project, 2 hours a day turned into 3 or 4 and some weekends were even longer. I also wasn’t anticipating all of the changes that my client would want me to make. I had to completely change some functionality mid way through because they wanted something different. This brings me to my next point.
Working for a client is NOT like working for a company that sells software!
Where I work, we don’t have clients. We sell software to consumers. Our deadlines are self imposed and we have to come up with our own specs. When you work with a client, they set deadlines and they tell you what they want in the app. They get what they want, because they’re paying for it.
Will you do it again?
Hmmm, it’s hard to say. This has been a very positive experience. It’s a great way to pull in some extra spending cash and I learned a TON about iPhone development. The company I worked with was really great. We kept in constant communication the whole time and they gave me a lot of freedom in finishing out some small parts of the design that weren’t in their mockups.
Even though it was awesome, it was a lot of work. I don’t really need the money and as much as I like doing development on the side, it’s nice to be able to set something down when I want to.
I would recommend any developer with some spare time to try something like this at least once. I really learned a lot, not just about development, but about communication and working with others.