For all the programmers out there that are just starting or are not yet earning as much as they want, this video explains why my rate is $180 per hour and how I got there. I'll go over which languages I have used and what skills I have mastered which justify this rate. By the way, I've been working virtual office for the last 20 years.
This information is also available in this video:
First a little History
When I started my career as a freelance software developer 20 years ago my rate was $40/hour. I chose that rate because I had just left a company where my annual salary was $80K as a senior technical engineer. After a couple years of being solo I hired a few programmers and started a company named Programming Labs. By 2013 my rate was $180 per hour and then I closed my software development company in 2015 to become the Chief Technology Officer for one of my clients. Last November I quit that job and restarted my software development company. I decided to keep my rate at $180/hour.
Language Progression
I'm going to skip going over the programming languages I learned in my early days since they don't affect my hourly rate progression. My freelance career started with Clarion and HTML. Clarion compiles to windows executables and is great for windows programs that are database intensive. Next came SVG - Scalable Vector Graphics.
Then I added ASP and MS SQL because a client required that. Plus I worked with Clarion/ASP and used these skills for years. Next I learned Clarion/PHP and PHP. Then PostgreSQL. After that I added MySQL to my skill list because other clients used MySQL.
All the while I was building my personal code library to help make me more productive. In 2009 I built the Quickstep Library and the first iteration used ASP. Then I did a total rewrite a few years later for PHP. This QuickStep Library I used for several clients and it allowed me to develop data-driven websites very quickly. With this improvement on efficiency my hourly rate went up considerably.
In January of this year I decided to take some time off and focus on a complete review and rewrite of this library to make it use PDO instead of ADO, enhance security and optimize every aspect. At that time I also renamed it the Wizards Toolkit and the current version is leagues better than the old QuickStep Library.
My Knowledge and Skills
- Full stack developer
- PHP, SQL, JavaScript, CSS, HTML5
- Coding Standards and Naming Conventions
- Excellent Tool Use - I'm a Macro Master
- Project Management
- Business Analyst
- Wizards Toolkit
My secret weapon is the Wizards Toolkit. It allows me to write better code faster than others.
How I Determined My Rate
Billable rates should be based on a combination of things.
- breadth of knowledge
- depth and expertise of knowledge
- availability of experts in the field and their average hourly rates
- quality of code
- is it bug-free the first time?
- did you follow Coding Standards and Naming Conventions
- how fast and efficiently you can deliver
I slowly raised my hourly rate as I learned new skills and found more clients. I continually improved my code library and tools so I could develop faster, cleaner code. Whenever I felt I had "leveled-up" in skills I would raise my rates a little for all new clients and would notify my current clients that in 6 months my rates would be going up to my new rate. There was one client where I did not raise my rate because their monthly budget was very high and kept 3 to 4 of my staff working full time.
When I had several PHP and SQL programmers working for me I started using my efficiency as a guideline for their billable rate. For example when my rate was $120 I would occasionally assign the same task to one of my staff and I would do it myself. If I could finish the task in one hour and the tech took 2 hours to complete, their billable rate would be $60/hour. If the tech took 3 hours their billable rate would be $40/hour.
Blended Rates at Programming Labs
Although I based my staff's rates partly on comparisons to myself, there are some things that staff could do as quickly as I could. Like SQL imports or building a standard data-driven web page. Once the methodology was outlined and perfected, any of my SQL staff could do it equally fast. So I would assign those tasks to the SQL person with the lowest billable rate. That would save the client a lot of money. There was always more work available than could possibly be done in a regular work week. So I was never greedy for hours - the more I could assign to my other developers the better. As the project manager my job was to assign the project to whoever could do it for the least cost to the client.
My Current Rate and Status
Even though it has been 8 years since my rate was $180 and my skills have continued to grow, I decided to keep my rate at $180 per hour.
I'm not actively looking for new clients because I prefer to focus on creating Software as a Service offerings. Plus I'm working on making the Wizards Toolkit into a commercial version that I can share with other clients and developers instead of only using it for my clients and projects.
That being said, I wouldn't turn away any clients right now. I do have four programmers working for me that would be happy to have some client billable work. So if a client wants to hire me and Programming Labs I would do only the work that is most cost effective for the client to have me do, and the rest I would pass to my programming staff.
Pitch to Clients at $180/hour
When you hire me and Programming Labs you have access to programmers of varying skill and experience. I've been doing project management for over 20 years. I'll personally work with you to determine your technology needs, write functionals and then after you review and approve, I'll translate them into technical specifications. Next I assign the tasks to the tech on our staff that can complete it for the least cost to you. This way you always have access to our most experienced gurus, but the easy tasks are done by the staff with the lowest hourly rate. This saves you money and ensures everything is done correctly the first time.
This blended rate methodology has worked very cost-effectively for our other clients.
Let's set a time when we can talk about your project in more detail. My rate is $180 per hour but this will be off-the-clock. I'd like to understand your technology needs better. By the end of the call I bet I can outline a small project towards your ultimate goals. Then, if you want, Programming Labs and I can do that project for you at our regular rates. If you like the results we can continue working on other projects. If you are not happy with the speed of delivery or quality of work at any time, fire me. We will have deliverables weekly and I'm certain you will be pleasantly surprised at how quickly we can meet and exceed your technology needs.
...
Usually that is enough. The goal here is to find more details about their goals and project which will give me opportunities to build rapport, learn about their needs, and impress them with my ability to quickly grasp the business aspects and relate them to the technology to come up with innovative solutions they may not have considered yet. Or if they already have a good grasp of their technology needs this is an opportunity to discuss the tools and methodology I would use to meet those needs.
If they say "no thanks" then the last offer is:
You have nothing to lose. I expect by the end of our tech talk I will outline how to achieve one of your goals. If you do not think me and my team are right for your needs you will at least have something to talk about with whoever you do end up with.
Programming Gifts for Clients
Final tip on how to keep high-paying clients happy. There are some kinds of gifts you can give clients that nobody else can. For each of my clients every year I would build them an analytic report, graph, or widget that would give them a new insight of their business data. This usually wouldn't take more than 2 or 3 hours to build and I would sometimes showcase some new technology I had discovered. This always leads to gratitude and sometimes leads to new projects. For example build them a widget that shows how many new visitors and new registrations they had since midnight. Do this off-the-clock and show it to them during a meeting as a "thank you" for their business. It is quite likely they will say "Wow, can you make me one that shows those values for last week and last month?" Even if they don't, they will appreciate it and it strengthens the relationship.
Summary
In summary, my $180 hourly rate is justified because of:
- breadth of my knowledge
- Project Management
- Business Analyst
- Wide variety of technologies and API integrations
- full stack developer skills
- Primary skills: PHP, SQL, JavaScript
- Secondary skills: HTML5, CSS3, MaterializeCSS
- fast, efficient, quality code
- Coding Standards and Naming Conventions
- Wizards Toolkit
- Excellent Tool Use - I'm a Macro Master
For more information about my company Programming Labs:
https://ProgrammingLabs.com
For more information and to sign up as an early adopter for Wizards Toolkit:
https://WizardsToolkit.com
Top comments (1)
Agreed.
Back in the late 90s when I started my consulting company I charged $70 an hour and thought I was expensive. Then I started working with another consulting company who used me as their consultant and paid my full fee. They charged their clients a lot more than $70...
So I sat down with the sales person at that company and had an epiphany. Besides the obvious branding and styling they delivered, the price also delivered a benefit I hadn't thought about. Clients wanted to pay more...
Let's say you have a technical problem and you need a consultant to help solve that problem. You can hire the $70 an hour developer to solve that problem but what happens if he fails???
If you hire a $300 an hour consultant and he says this can't be done then you can go right to your managers and explain: "I hired the best guy at great expense and he says X so it's true".
I also noticed a HUGE difference in the attitude in the room when I did the high price consulting gigs. Yes there were times people "tested" me to make sure I knew my stuff, but overall they treat you much nicer.
Obviously you need the skills to back this up. To be on top of everything. But it's still crucial to be able to state your ignorance when challenged on something you don't know because that can be very dangerous.
Since then I often stated a higher price for my time and just walked away from people trying to negotiate me down. This kept me well employed for a long time but it is a grind which is why I don't do consulting anymore.