Advice for Consultants
By Richard Rost 2 years ago
Whether you are currently an Access database consultant or you're looking to get into it, this page contains advice from my almost 30 years in the consulting business. I know a lot of my Access students bill themselves out as consultants for projects, if not full-time then definitely part time. They should. They have the best teacher, and they make great databases. However, technical skills alone aren't enough if you're going to be in business for yourself as a consultant. It took me a lot longer to learn the business and customer service side of the business. Access was the easy part.
As far as my resume goes, I started providing contract Access developent work in 1994. I've been teaching Access since 1996 (first in the classroom, and now online). I started 599cd.com in 2002. And just this year (2021) I finally decided to stop taking consulting work and to focus 100% on making new videos. So that's 27 years as a consultant. I think I'm qualified to give advice.
How Much To Bill Per Hour
I get asked this question all the time: "how much should I bill myself out for?" That's an enormously difficult question to answer. I've been a consultant since I started my first business in 1994 and I've always struggled with that myself.
One factor to take into consideration is how much do you want to earn every year. Or you can reverse it to say how much did you earn last year. Let's say you earned $100,000 last year, or you want to earn that much next year. That's $2000 per week (assuming 50 weeks, you deserve a vacation). If you work a normal 40 hour week (ha ha, yeah right) that's $50 per hour. That's not a bad starting point to figure out your billable hourly rate. If you have steady work and you can bill that much, you'll know what to expect for your income. If you want to figure in a raise for next year, go right ahead.
Don't forget, however, that for every "billable" hour, there's usually a lot of non-billable hours you have to put in. Customer service. Phone calls. Advertising. Email. Stuff you can't bill for. So I usually figure I'd double that amount.
How Many Hours to Bill
Then comes the harder question: "how many hours will this project take to build?" That can only be answered through experience. Very rarely will you find a customer that's willing to just write a blank check and say "however long it takes, I don't care." They're going to want a figure up front, so you have to get good at figuring out how long it's going to take to build something. And there's no easy answer. I've built literally hundreds of projects and even I sometimes get it wrong. Without spending too much time up front planning out the database, you have to "ballpark" it in your head.
Make a quick outline. Lay out your tables, forms, etc. but don't go crazy on the detail. At this point, it may or may not become a billable project, and you don't want to spend 3 hours preparing an outline for nothing. But, now that you know how many tables you need, how many forms you have to design, and (my least favorite part) how many printed reports you have to generate, then you can estimate X hours per table, form, report, etc.
How Long to Tell The Customer
Now let's say you are going to charge the customer for 10 hours of "billable" work. Make sure they don't have the expectation that they're going to get it in 2 days. I always tell my customers that billable hours don't always translate to actual hours. I usually multiply my "time to completion" results by a factor of two or three. 10 hours of billable work usually takes 20 to 30 real hours, especially if I'm going into territory I've never been in before. If I'm building a database that I've done a million times, sure, it's usually about the same, but if it's new stuff, it could take longer.
For those of you who are Star Trek fans, there was a Next Generation episode where Geordi and Scotty have a discussion about setting the captain's expectations:
Now I'm not saying that you should pad your estimates, or over-charge the customer for work you didn't do. BUT, you have to take into consideration that, pardon my french Jean-Luc, but "shit happens." You may run into things you don't know how to do and you have to do research. You may have to put out fires. I was working on a project for a customer just recently and my own database has a serious problem that took me 3 days to fix. Plus, you never know what issues may come up in your personal life. So be sure to set the customer's expectations up front. 10 hour project = give me a week. If they want it faster, it will cost more (see below on cost v. speed).
Get It In Writing
Once you've said to the customer, "this is what it will cost, this is how long it will take me, and these are the features that will be in your database," make sure you get it in writing. Have them sign off on the outline. Let them know that you need to know up front exactly what they need the database to do. If they can, have them draw out any screens (forms) they want custom designed. Get printouts of any existing reports they use so you can use them as a guide for new reports.
There is nothing worse than finishing a database, and you think it's perfect, and then the customer comes back with "oh, but it also needs to do this..." If you don't have it in writing, now it becomes "well, you didn't tell me that," "yeah I did." This way you've got a blueprint in writing that they signed off on and you can say, "I see that you want the database to do that, Mr. Customer, and I would be happy to ADD that feature. It will cost $X and 10 more days."
As a general rule of thumb, I always tell my customers that there are three factors in any consulting or service work:
PICK TWO. You can have it done well not spend a lot of money, but you're going to wait a while. You can have it done cheap and quickly, but the quality will suffer. You can have it done right and quickly, but you're gonna pay for it. So, keep that in mind.
The following are some stories that I have on my Consulting page for customers to read. They're worth repeating here:
A few years ago, a client called me and said they had a need for a specific database they needed built. They explained all of the details to me (some data entry, a few custom reports, security, etc.) and asked how long it would take me to build it for them. I explained that I could do it right there on the spot and have them a solution up and running by the end of the day. It was around noon at the time.
The client didn't believe me, and bet me $100 (on top of my hourly fee, which at the time was $90 per hour) that I couldn't do it. By 6pm that afternoon, I not only had built them a database from scratch, but I imported all of the data from their old system AND showed their staff how to use it.
Now here's the good part...
After doing all of this, the client (as he was handing me my check for $540 plus a $100 bill) told me that they had previously contracted another company to build the exact same database. They quoted him $5,000 and two months of development time to do what I had done in an afternoon. After waiting SIX months for a solution, the client told the other company to forget it... and that's when he called me. This isn't the only customer something like this has happened with either.
Someone's Always Cheaper
You will run into people who say "I can get a developer from one of these online sites for $10 per hour or less." Yes, that's true. If you're looking for the absolute cheapest developer possible, then by all means, feel free to pursue that route. I am not that person. I don't want to be. I pride myself in quality work.
Keep in mind that you'll possibly be dealing with someone who barely speaks English, may have questionable technical and/or communications skills, might not have the capability to develop the application you want based on limited real-world experience, and may or may not be available for support after the project is completed. These are all things to keep in mind. And remember... The old saying is always true, "you get what you pay for." Someone else is always cheaper.
I still run into this today with people looking for Microsoft Access training. I tell them the same thing. Sure, you can find most of what I teach online with a Google search, if you know what you're looking for. You will find many other people on YouTube, and other companies selling cheaper lessons. They're not me. My stuff is the best, and I'm not trying to be the cheapest. You get what you pay for... and you're paying for my nearly 30 years of experience teaching Access.
Tesla and Ford
And of course, there's this legend, which I like to remind my customers of all the time. It goes something like this:
Nikola Tesla visited Henry Ford at his factory, which was having some kind of difficulty. Ford asked Tesla if he could help identify the problem area. Tesla walked up to a wall of boilerplate and made a small X in chalk on one of the plates. Ford was thrilled, and told him to send an invoice. The bill arrived, for $10,000. Ford asked for a breakdown. Tesla sent another invoice, indicating a $1 charge for marking the wall with an X, and $9,999 for knowing where to put it.
Moral of the story: sure, I charge a lot for my time, but I can do in an hour what an inexperienced developer will take DAYS to do WRONG.
The takeaway for you: know your worth. You're not some minimum-wage programmer making $12 an hour working for some company that doesn't deserve your talents. Lots of companies out there would prefer paying more for quality work. Don't sell yourself short. I can tell you for a fact that if you're one of my students and you've completed all of my Developer-level Access lessons and you comprehend all of that material, you know enough to bill yourself out at least at $50 an hour as a consultant. The hard part is finding the work.
This is the million dollar question, and another one that I get asked all the time. I wish I had a definite answer. For me it's a combination of things. There are a ton of different ways to put yourself out there. Start by letting all of your friends and family know that you are a consultant and what your skills are. Post it on all of your social media pages. Build yourself a web site. It doesn't have to be super professional. Some people like that "down to earth" more laid-back style.
In fact, I used to try to make my own business seem larger than it is. Back in the 90s I actually had a company with 12 employees at one point. We did the standard computer sales, service, networking, training, etc. When that company folded in 2001, I decided at that point that I didn't want employees ever again. Sure, I'll farm some stuff out (like my handbooks) and I've got some great people helping me here and there (like Alex) but the core of the business is just me. When I started 599cd back in 2004, I tried to make it look like I was this big online training company. All of my web pages read in the plural "we offer training..." Now, 16 years later, I've done a 180. I prefer letting everyone know "I'm it." You're getting me. I'm the product. My lessons. My expertise. It's more personal, and I think it works in my favor.
The point I'm trying to make here, is market yourself. You don't need fancy business cards, Class-A office space, and all the trappings of a Fortune 500 company. Just let people know who you are, what you do, and that you're the best at what you - and you learned Access from the best instructor out there. LOL.
I'll talk more about what I originally did to drum up business below (under My History) but the techniques I used back in the 1990s and early 2000s are mostly not available now. I used to have a Fax newsletter I sent around to companies in the 90s. You can't do that anymore (laws have changed regarding unsolicited faxes). I've taken out ads in the phone book. It was an awful return, and you're limited geographically.
I had pretty good success with some smaller pay-per-click advertising (anyone remember Sprinks and About.com?) That worked well for about a year until Google Adwords gobbled it up. I've never had good success with Adwords. There's just so much competition, and the cost-per-click on the good keywords is just too high. It's hard to make money selling a $10 tutorial when I'm paying $2 per click. Too many clicks. Not enough sales. Yes, I could probably optimize, but that takes a lot of time, and I'd rather spend my time recording new lessons. I'm not saying anything bad about Adwords... it's just not profitable for me. If you've got the time to tweak your ads, then go for it. Lots of people make tons of money using it.
What has worked best for me has been YouTube. Fortunately I got my first videos on YouTube when it was in its infancy back in 2004. As of July 2020, I've got over 167,000 subscribers and my videos have a combined 30 million views. I'm not getting rich by any means, but it brings enough traffic to my web site to keep me in business. There's plenty of business to go around too. There's no reason everyone shouldn't put some videos together to promote their product or service. Now, I'm not saying you should do what I do, but if you've got a niche specialty - like a particular type of database you specialize (medical billing, landscaping, etc.) then showcase it with a video. You'd be surprised! And it's free advertising.
Another great way to get your name out there is to volunteer to answer questions on different forums. I've got my forums here and they're moderately active, but do a Google search and you'll find dozens of them. I used to volunteer a lot on AllExpert.com before they closed up shop. Now I pretty much focus on my own Access Forum and my YouTube Channel comments. Between that and making videos, it's a full time job.
One of my back-burner projects has been putting together an Access Developer Network. I have a lot of Developer-level students who are very good with Access. Of course they are. They had a great teacher. As of June 2021, I decided to stop offering consulting and tech support services myself. I just don't have the time nor desire. I've been doing this for almost 30 years. I just want to teach and record my videos. So, the ADN is a forum where people can post what they need done, and my Developer students can help them. As of right now, I leave it up to everyone to talk amongst themselves and negotiate pricing. Perhaps in the future I'll add some formal structure to it.
For those of you who care, here's how I got my start. It may give you some insight and some motivation.
Back in 1994, I was working as a programmer building software in Visual Basic and C++. A friend told me that there was this local company putting out requests for bids for someone to be their PC service provider. It was mostly on-site work to fix problems, upgrade machines, etc. It wasn't my forte (I've always been more of a software guy than a hardware guy) but I figured I could do it. Well, I put in a bid and I won. It was only a $2000 contract for like 100 hours of service (peanuts now) but at the time it gave me enough of a cushion to quit my job and start my own business. When I wasn't providing service for that company (which was only usually 1 or 2 days a week) I could spend time hunting down more business.
Now the techniques I used back in 1994 are outdated today. I sent a lot of direct mail to local businesses. I put an ad in the phone book. I actually had a newsletter I called "ComputerFAQs" which was quite popular. I sent it out by Fax (remember that?) from 1994 until around 2000. People would actually call and complain if they didn't get their issue that week. But, it brought in business. People got to see my name every week on their fax machine, read the articles (mostly Q&A of how to do things in Windows, Word, Excel, etc.) and they loved it.
That allowed me to build up enough of a client base in the Buffalo area where I had pretty steady work. I offered pretty much whatever a company wanted. Need new PCs? I got em. Need something fixed? I got it. Want to add to your network? No problem. Need to train 6 employees in Word? I got ya. Of course my favorite thing to do was build Access databases. I've always loved Access. So as my business grew I hired on more people (mostly friends) to do the things I didn't want to do. Building and fixing computers, running around doing service work, and eventually even classroom training were things that I hire others to do so I could focus on software development.
And then Y2K hit. I made a lot of money in 1999 as companies were preparing for Y2K. Everyone was buying new PCs, new software, upgrading their networks. I was busy making databases for customers who knew their old ones weren't Y2K compatible. We were all real busy. I hired on more staff to fill the need. And then of course, first quarter of 2000 comes around. Everyone got all new stuff last year. Sales dried up. Business slowed to a crawl. So, I shut that business down in 2001 and decided to just do what I wanted to do: the things I was good at: training and software development.
I opened my own physical computer training center in 2001 at a local shopping plaza. It did OK. However, I really started getting sick of teaching the same thing over and over and over again. How many times can one person teach Microsoft Word Basics? That's the problem with live, in-person training: you're limited geographically and your income is limited to the number of butts you can put in chairs. So that only lasted a year. Mostly because I got sick of the repetition.
Next, I figured I would record my videos and ship them to people on CD. I started 599cd.com in 2002, and started advertising online. Sites like About.com were a gold mine for me. They had pay-per-click advertising where you could pick the specific page you wanted to advertise on (specific topic like Microsoft Excel, Access, etc.) and you could enter what price you wanted to bid for ad spots (1st, 2nd, 3rd, etc.) and I was able to get clicks for like 3 cents a piece! It worked wonderfully. Then Google bought up all traffic for the small sites that did their own PPC ads and ruined everything. I still don't care for AdWords. Too much competition and the cost per click is way too high. My average sale for a new customer is only a few dollars. I can't pay $2.50 per click. So I stopped doing that.
Fortunately, in 2005 this new company called YouTube started up. In 2006, I started uploading videos there. Within a couple of years, my business really took off, and I attribute it to the steady stream of new people who find me on YouTube. As I said, I got in pretty early and I still have some old videos with really great search placement. But my channel has a lot of subscribers and good reputation, so YouTube is still my #1 traffic source.
My Consulting Days Are Over
As of June 2021, I've decided to hang up my hat in the database consulting arena. From now on, I'm only spending my time recording video tutorials. No more working on custom projects for clients or fixing other peoples' databases. I'm in the business of teaching people how to use Microsoft Access and other software applications. I prefer to spend my time recording video tutorials, not fixing databases. There just aren't enough hours in the day for me to do both (and have a healthy family life). Plus, it's not the kind of work I want to do - no matter how much people are willing to pay.
I'm currently in the process of removing all of the mentions of my consulting services from my web site, however I wanted to preserve some of this for you in case it helps you to understand how I used to run my consulting business. These are paragraphs that I used to have on my consulting page. Read them. There's a lot to consider for the new consultant starting out:
Here's a problem that comes up from time to time when dealing with customers as a database consultant. The client needs help with their database, that they built. They send you the file. You fix it. You charge them. Everyone is happy. A few days go by. They say the database isn't working right. Something's wrong. Maybe a calculation isn't correct or they're getting weird errors. You check it out on the copy of the database YOU have. Everything is fine. What gives? Did the client break something tinkering around with the database? They may have.
The "Computer Repair Hourly Rate" image to the right is equally valid for consulting and software design. LOL.
In this scenario, the client expects you to fix the database even though the problem likely was caused by them messing around with... er... I mean "working on" the database design. I've run into this situation before, MANY times. Here is how you politely handle that situation.
First, explain to the client that if they want a bullet-proof database that you will 100% support for any future design problems or errors, then you are giving them an ACCDE (encrypted and locked) file. They will not be able to make any future updates to it, but you will warranty the work. Some clients will be cool with that because they don't plan on making modifications, and they want you to do any followup work they may need. Great. You can tell them that they can have a copy of the ACCDB. It's still their database. But if there are any problems, you're just going to restore the original ACCDE file.
If they insist on getting the ACCDB because THEY want to continue modifying the database, you need to REFUSE to fix any problems OR explain to them that they will be "on the clock" for any future work, even if it's something related to a piece of the database you just worked on. Keep a backup copy of the last copy of the ACCDB that you sent them. If they complain "so and so form isn't working," then check it in your copy. If it works for you tell them to restore that form YOU built. If they do and it still doesn't work, tell them that you'll work on their copy of the database again, but they're paying for that time.
The obvious exception is if you do find a bug. If the problem was an error in your original work that didn't show up until the client started using it, then yeah, you should fix it. That may happen sometimes. Everything works OK for you in your office and then once they start using it in a real production environment, the bug surfaces. Try to recreate the bug in your copy. If it's YOUR fault, then fine, you fix it. But 9 times out of 10, in my experience, it's because the client broke something.
Over the years, most of my clients were wonderful. They took my advice. They let me make changes they needed. They paid on time. But... you will, every now and then, get that pain-in-the-ass customer who thinks they know more about Access than you do. They'll want to make changes to the database themselves and then expect free help when they break stuff. Don't let them eat up your time for free.
If they want free support, ask them what they do for a living. Oh, you're a plumber? Do you go to your customer's houses and fix their toilets for free? I didn't think so. This is what I do for a living. I work on Access databases. If you have a problem, I'll fix it. You pay me. That's how it works.
Sure, it's nice to throw a GOOD client a bone once in a while. They just spent $10,000 having you build them a database. They're happy with it, but they want a few little changes. OK, sure. No problem at all. Oops... the server went down and their database got corrupted? OK, fine, I'll come over and compact/repair and get it back up and running for free (this time). No big deal. But avoid those customers who keep wanting to take your time and not compensate you for it. That's the major reason why I stopped taking phone calls unless the client was PAYING for the time. They just want to pick your brains for free, or waste time with chit chat. Don't fall for it.
Access Jobs & Consulting
I just finished putting together a video on Access Jobs and consulting work. Check it out.
On "Being the Expert"
This comes from an email that I sent to one of my admin/moderators, Scott:
Understanding the Client's Business
On Giving "Free" Consultations
More to come...
Here are some questions people have asked me related to the topics above.