How I learned to charge my customers

A fair price

After I completed my first programming class, I went straight to Craigslist. I advertised my programming services. I called myself an experienced programmer who could code anything. I posted a link to a website, the one and only I had built for a friend. I described the challenges regular people face when building their own website, then I said a few bad things about WordPress. I ended the post with these words: "I charge a fair price."

This was 2008, you could still reach real human beings without being bombarded with spam. It didn't take too long for the first email to land in my inbox. You can only imagine the excitement. This person was asking for what he called "a simple website." He was part of a small community in Los Angeles and was happy to have found "a local webmaster".

I had taken one programming class. It was a JavaScript class. I completed the entire book in a month, and tutored the rest of the class for $10 a head. One evening, I was at a friend's house, watching a Lakers game. He told me about a business he wanted to start; for that he needed a website. I answered that, I knew how to build a website. The game was still playing when he handed me his laptop. I created three generic web pages and designed a logo. We bought a domain name on Godaddy, and I uploaded the files to the server. He wrote me a $100 check before the game was over.

But now, I wasn't soliciting friends. I was out in the real world creating quality advertising. A real customer was inquiring about my service. I read his email until I reached the last paragraph. I was still excited, but I had to pause for a moment. I read the paragraph a couple more time before I understood it. It was a clear and simple question, yet I didn't have the answer. Here is what he wrote:

I'm a humble man with little means, but I will pay. Please tell me, how much do you charge for a website? Like I said, what I want is very little and simple.

How much do I charge? When I tutored in school, I didn't draw a business model with a revenue plan. The first student offered 10 dollars for the class, so I charged everyone else the same price. My friend who paid me 100 dollars, I didn't charge him by the line of code either. It was more like a bet that I won. But when you solicit clients, you must have a price for your services, right?

I created a new excel sheet, then wrote under the newly created "Product" column, "small and simple website." Next to it, I created another column titled "Price". I spent a good deal of time crafting a response to that email. Meanwhile, other customers responded to my ad. They weren't as humble as the first, but they all ended with the same question. "How much do you charge?"

I discarded my response. I ignored the rest of the emails. What if I had given them a price that was too high? They would have thought I was greedy, and walked away. If my price was too low, they would have thought I was not serious enough and still walk away. That's what I had read googling various blogs anyway. On the web, everyone spoke in abstract terms and gave hypothetical examples. I left the price column empty.

I still wanted to work and get paid, so I went to a different section of Craigslist. The job section, where people advertise projects for developers to snatch. It was the wild west.

1890s cowboys

People offered a hundred, 200, 500 dollars. Even one thousand dollars. With a single class and a single website under my belt, I focused on the cheap projects. I built the 100 and 200 dollar websites. Sometimes, I got paid. Other times, the project owner mysteriously stopped responding to my emails. After all, all I knew was HTML, CSS and JavaScript. This was not enough to build the next MySpace. No, server-side JavaScript did not exist yet.

I navigated these lands for a couple of years until I decided to find a secure job. But then, here I was a college drop out, so-called self-taught programmer, applying at 50 to 60k a year jobs. I wasn't making more than $2000 a year building websites, I had to support myself with part-time jobs. All I found was a web programming job that agreed to pay me $37,500 a year, with the possibility to grow in the company. This was incredible to me. But it didn't take too long to realize that I was underpaid.

Through non-repeatable tactics, I ended up boosting my salary to 75k before I left the company. I became a productive member of my team, I learned from great people, and I took initiative. And I also made a joke about quitting at the right place, and the right time. Someone overheard me and passed it on to the vice president. The VP passed it down to the director, and it followed the chained of command until it reached my manager. Amidst the great pandemic of employee turnover, they rewarded me with a pay raise and $10k in bonus.

When I left, I was comfortable to say that I valued my time at $80,000. Sometimes, I even said $90,000. But, I still didn't know how much to charge for a website. I was frustrated with jobs, I didn't want to work for a large company anymore. I had this inkling of starting my own consulting business. But how much do I charge for the damn websites? The answer came to find me.

A friend of a friend, knew the friend of a friend who needed a website for a revolutionary idea. We had a call, where I mentioned nothing about price. Instead, I listened to him talk for hours on end. Then he gave me a hint. He had found a team in the Ukraine, and they built "a shitty website" for all of $25,000. I silently gasped, but I kept listening. Where did they post these jobs on Craigslist? Was Craig even aware of these gigs on his website?

If a shitty website could cost 25k, how much was "a very little and simple" website?

It took a whole team to build this mess. But a solo developer with Unmatched Experience ™ could do the job for, let's say half the price. "That's exactly what I was thinking," my new customer said. I built his flower subscription service in a month, and collected my fee of $12,500. I offered a $1,250 monthly maintenance fee (10%) for the following 3 months in case there were bugs to fix or features to add.

In my excel sheet, next to "somewhat complex website," I wrote $12,500. I tried writing a new advertisement on Craigslist with this new number. I didn't get a single hit. I lowered to half the price and still didn't get a hit. I chose another route where I joined a recruiting company where they promised to find me work. They did not argue one bit when I proposed $40 an hour as my rate. I calculated it based on a 80k a year salary. They found me more work than I could handle.

I was sent to work at a particular company a few times. It was a company that claimed to be more than a hundred years old. They also claimed to have invented some form of newsletters advertising. What they did was print newsletters and build websites for non-profits. This was an opportunity to add a new row in my excel sheet. "Non-profit websites"

It didn't take very long until I found myself sitting in a large meeting room with 15 other people. We were to discuss how we could lower our prices to attract lower tier customers. Their base price for building a website for a non-profit was $35,000. This was the bare minimum and I was appalled. But then, the manager broke down the price.

Every single person in the room was involved in building the website. The standard time frame to complete it was 6 weeks. So, the manager named each person, their title and how much time they spend on the project. There were the designers, the copy writers, the consultants that gathered the information. There were the sales people who started the process, the 2 developers that included me. Everyone at the table was indispensable. Then he gave a ball park estimate of salaries using glassdoor standards, and the price jumped to 35k. It was completely fair.

"What if we have Ibrahim as the sole developer on this tier?" the director asked. "And we use only one designer, and we can reuse copy." The manager crunched the numbers and we were still going to charge 25k. "What if I don't get involved at all in this tier?" the manager removed the director's name from the list. He contributed only a couple of hours of work, yet the number went down to 22k.

This was a small and simple website for a non-profit that we were talking about. If I had replied to that humble man on Craigslist, if I had proposed half the price, $11,000. Would he have thought it a fair price?

non profit

A few weeks later, I was in another company, where I built dynamic ads for their clients. I was still getting paid my regular $40 per hour, but these guys thought I was an expensive investment. Every time I reported my hours, they would try to shave a minute here and there. Sometimes, they'd tell me not to work until they get their customer to pay first. I assumed that the recruiting company that sent me there added a margin to get their cut. But it would still be reasonable.

For a span of two weeks, I had to work overtime every day so we could meet a deadline. When I was done, the manager asked me if I could shuffle my hours around over three weeks instead. Otherwise they couldn't afford to pay me. "None of our developers here gets paid 160k a year. So I'd appreciate it if you could spread your hours."

160k? If I worked as an employee at my rate, I'd get paid 83k not 160k. Was this how much the recruiters were charging? Maybe he was exaggerating so I spread my hours. I knew there was no way I could ask the recruiters and get a firm answer on how much they charged. I needed to know how much I was worth. Luckily, I found the answer.

The recruiting company used a webapp called erecruit. When you click the name of the company you work for, it gives you some information like your manager's name, your schedule and the hours you worked. In the background it makes a web request to fetch all this information. When you look at the JSON response, there is much more data than is displayed on the page. Not only it included the rate I was getting paid, it also included the rate they were charging the companies.

Where I was getting paid $40 per hour, the recruiting company was charging $78 per hour. I clicked on every single company I worked for and saw that the minimum charge was $66 per hour and the greatest charge was $100. In the eyes of these companies, I was an expensive contractor. They expected a lot for the money. There was absolutely no way the humble man could afford my service.

In 2017, the recruiting company closed its Los Angeles office. I continued to work contracts on my own, charging from $75 to $100 per hour. How I decided on the price was not solely base on the type of product I built. It depended mostly on the urgency. This allowed me to work in bursts and take some time off.

For example, a relaxed job may require my service for 2 months and pay me $6,000 (for 10 hours a week). While another would ask me to build a single static page, and pay 3 times the price.

Until I started writing this piece, I had long forgotten about that excel sheet. I could have added so many new columns. But I still couldn't fill out the price column. In fact, I would delete that column. There are no prices for a small or complex website. But, there is an answer to the question, "how much do you charge?" I vary it from customer to customer, but the message is the same.

“It all depends on how much time you need from me.”


Thierno Abdoulaye Diallo :


I’m also from Guinea. I have been living in LA since 1986. I wish I had known about you when you were here in LA. I’d have met you. I’m so proud of your achievements.

Let's hear your thoughts

For my eyes only