Any Business Questions?

At WordCamps and WordPress meetups, I come prepared to talk code but other developers seem more interested in my thoughts on business. It helps that I went to school as a finance major and have a few startup experiences under my belt.

I’d like to do more blog posts and conference talks on business/freelancing, but not sure exactly what I should talk about.

Do you have any topics or questions you’d like covered?

Bill Erickson

Bill Erickson is the co-founder and lead developer at CultivateWP, a WordPress agency focusing on high performance sites for web publishers.

About Me
Ready to upgrade your website?

I build custom WordPress websites that look great and are easy to manage.

Let's Talk

Reader Interactions

Comments are closed. Continue the conversation with me on Twitter: @billerickson

Comments

  1. Richard Buff says

    I’ll echo Joshua’s sentiment that is a fantastic post/thread, I’ve learned a tremendous amount from it. Regarding Joshua’s question, I have always been confused on how best to handle a lead who has a request for a project that would require bringing in another developer:
    1) How do you quote it? Do you give a ballpark guesstimate early on and if they have the budget, then do you reach out to the other developer to get a finalized quote? I could see a lot of legwork being involved just in quoting the project.
    2) Once the pricing is decided, do you then collect the full amount and pay the other developer from your pocket? Or does the client pay them directly?

    • Bill Erickson says

      It depends on the size and type of the work. If it’s a custom jQuery rotator I’ll need to hire someone for, I’ll estimate it myself or ask a jQuery dev what their quote is, and include it in my bid.

      If it’s larger than that, like the other developer will be building a membership section using MemberMouse, I’ll have the developer speak directly with the client and provide his own quote for that aspect.

      I try my best to stay out of the project management role because I’m not very good at it. If another developer will be handling a large portion of the project, I make sure the client knows that and interacts directly with that developer.

      If they want a single point of contact to manage everything, they should go to an agency (which will then hire me to build it and mark it up 🙂 )

  2. Amber @ Au Coeur Design says

    Bill,

    Have you written any blog posts about the history of your business or how you got where you are today? Specifically, I am curious about how you find your clients and the progression of that. Obviously being a listed Genesis Developer helps a lot. How else do they find you and how did you get the point of being able to design only and not provide support? I am trying to grow my business and lately it seems like I have been getting more interest from people with ridiculously tiny website budgets, whom I either don’t even bother to quote or realize after the fact that I wasted time writing a proposal for them. What’s the best way to find clients with realistic budgets?

    • Bill Erickson says

      That’s a great question. I’m going to go into more detail soon in a separate blog post, but here’s a quick answer.

      While being a recommended developer was my most important lead source early on (first with Thesis, then with Genesis), over the past few years more and more of my leads come from past clients and word of mouth.

      I think being a Genesis Recommended Developer, or something similar with other themes/plugins/tools, is a great way to find clients. But they usually aren’t the highest paying clients, and there’s a lot of competition for them (they email everyone else on that list as well). But once you get a few years’ experience, more and more of your work will come from past clients – either directly by them hiring you, or indirectly by them recommending you.

      For my last 50 projects, 42% were already clients (repeat work), 30% were referrals (mostly referred by past clients), 18% came from StudioPress, 8% from Google, and 4% from CodePoet. So it’s important to build good relationships with your clients because they are likely your source of future revenue as well.

  3. Jamie Mitchell says

    Hi Bill !

    i like many, struggle to get consistent, quality work, i have been building websites for over 5 years and it is frustrating to still be struggling to get quality clients, i seem to attract 90% of the bad ones.

    I read the comment above, but what about say from the perspective of your website, how have you found your site itself to attract more work?

    your site design is clean and simple, no fancy images or over the top design to distract people
    you share tutorials and code
    start big long discussions like here
    you show your prices

    these are 4 things i don’t do 🙁

    i consider myself a Genesis developer, the skills i have learned are from consistently building sites, but i am in no way and smart as you, i can’t write plugins, contribute to WP etc, so i guess i have always felt i have nothing to offer.

    what would be your thoughts on this?

    • Bill Erickson says

      Posting tutorials and code snippets definitely helps me with the search engines. A lot of my traffic comes from old blog posts. I’m sure quite a few of them are people who search for these things to fix their site, and when they give up doing it themselves they hire the guy who’s been writing the tutorials they keep seeing.

      They’re also a great way to self select for the projects you like to do. I enjoy doing event calendars, so I have quite a few code snippets relating to that, as well as a landing page built for it, a presentation at WordCamp Austin planned for it, and will be posting my slides and notes here as another post. So if you’re searching for WordPress event calendars, hopefully you’ll end up here.

      You can offer whatever it is you’re doing and enjoy doing. Blogging is a form of teaching, and teaching is a great way to refine what you know. While I mess with options and meta every day, writing my post on Overriding Options and Meta took hours of research to make sure I was describing it correctly, and I found things I didn’t know about before.

      It’s also a great way to document what you figure out, so you can refer back to it later on. That’s really where all this started. I didn’t write tutorials and code snippets for other developers and search engines – that’s the secondary benefit. I wrote it for myself, so I could find it later on. I’m on my code snippets page daily. I don’t have to remember all the code for something, I just have to remember where I can find it again.

      Some of the items you touched on are less about getting more leads and more about reducing leads that aren’t a good fit. I post rough pricing guidelines to reduce the number of emails like “I need a site for $400”. I post my current availability to reduce emails for urgent work. The goal is to reduce leads that never would have worked out, so I can minimize the time spent emailing back and forth with them.

      I’ve compared stats with another top Genesis developer recently. I have about 5x his traffic, mostly due to all my old posts. He gets about 2x more leads than I do, but I’m typically booked further in advance. That second number shows me those filters I have in place are working. He gets a lot of the “urgent” and “$400 website” emails I actively avoid.

      It also shows me traffic isn’t everything. Even with more traffic, we both struggle to find high quality projects to work on. Only about 20% of what I do I’d consider putting in my portfolio, and we all have that fear that no more work is coming in.

      As of January I was booked until the first week of April, and until about 2 weeks ago I was still booked until the first week of April. That was a bit nerve wracking – not booking a project in 3 months.

      So to summarize:

      • Share what you can. It doesn’t matter if it’s been written about before or seems like not many people will benefit. You’ll end up benefiting the most (I’m sure most of my code snippets are only ever used by me).
      • It takes a really long time to notice an increase in traffic from blogging, so if that’s you’re goal you’ll probably get burned out. I blogged for 4-5 years before I had noticeable traffic from it
      • No matter how much traffic you have, or how nice your site looks, you’ll always have trouble finding high quality clients. This is because over time, your definition of “high quality” continues to go up. You’ll always have your favorite clients and wish all projects were that great. A better way to look at it is to review the 10% worst projects you’ve had over the past few months and think of ways you could have prevented them (ex: have a project minimum, don’t work with real estate agents, don’t work on BuddyPress sites…).
      • Jamie Mitchell says

        Thanks Bill for your very detailed and thoughtful response.

        After reading this i now look at things in a slightly different mindset.

        I’ll see if i can apply these ideas immediately and see what happens.

  4. John says

    Hi

    Perhaps not a 100% business question but I see you “recommend” Soliloquy Slider but often use Flex-Slider. I was wondering if it’s because Flex Slider is a little more flexible (no pun intended) for you to work with? For example using the Flexi Slider JS with custom fields.

    Thanks

    • Bill Erickson says

      It depends on the use case. If I’m building a custom content rotator on the homepage, and I want the client able to customize the content (but not the slider settings), I’ll build with Flexslider and a custom metabox.

      If they want the ability to embed rotators on their own pages, or might want to tweak the rotator going forward, I’ll use Soliloquy.

  5. Steve Struemph says

    When you register your business such as with an LLC or a business license, what name do you use? I assume your business is branded as just your name but I was wondering if that is how it appears on paper.

  6. Wendy says

    Hi Bill

    Thanks for taking the time to answer our questions.

    Not entirely sure if this is a business questions but would love to hear your take on the below issue.

    When using a plugin like Advance Custom Fields I see one potential issue. When deactivating the plugin and you visit a page that are using the fields then you get a fatal error. Sean has written about it here: http://seanbutze.com/safely-using-advanced-custom-fields-via-wrapper-functions/

    What do you recommend? Just tell the client never to deactivate? 🙂

    Thanks
    Wendy

    • Bill Erickson says

      When I use Advanced Custom Fields, it is used purely for the nice-looking metaboxes on the backend. I still use the WordPress core function get_post_meta() to retrieve the values (or get_option() for options pages).

      I haven’t seen any compelling reasons to use ACF’s built-in fields. It’s an unnecessary dependency.

      If you use core WP functions and ACF is disabled, the frontend of the site looks and works exactly as it did before. All you lose is the metaboxes in the backend for managing it.

  7. Sheryl Coe says

    Longest running *useful thread to watch* ever… going strong since January 2013… thanks Bill.

  8. Chris says

    Hi Bill,

    Extremely useful information on here I really appreciate you (and others) sharing thoughts, I’ve learned a ton and will definitely be checking back on this.

    I have a couple of questions, one about backups (which you touched on earlier) and the other on growing your Developer skills:

    I’m currently working on a backup plan for all my client’s sites. The way I’ve done it in the past is backup their site after it is finished and migrated, onto my HD. People have mentioned Backup Buddy or saving it all to a cloud like Dropbox automatically every week. But you mentioned your development server is Synthesis, and your sysAdmin does daily backups. How do you cover yourself if a clients site goes down somewhere else, did you say that you keep a HD backup in a vault, and a backup on your Dev server for all your client’s sites? And is your insurance to your clients, that you recommend they use Hosting that offers daily backups?

    As a WordPress developer I know HTML, CSS and am gaining a good understanding of PHP however I’m not as skilled with Command Line and I’m beginning to think it’s necessary to learn if I’m to take my business to the next level. How often do you use it and, what are your thoughts on coding/languages a WP developer must focus on most (obviously learning the wp codex, experimenting with themes, Genesis) if they want to be a proficient developer?

    Thanks again,
    Chris

    • Bill Erickson says

      While I do have backups of past projects, this is not part of the scope of work I enter with clients. In other words, it is not something they pay me to do and they cannot depend upon me having a backup of their site.

      Clients should NOT depend upon developers having a backup of their site. I encourage clients to use hosts that have good backup tools in place (Synthesis, WPEngine…), and/or utilize other backup solutions like Backup Buddy or VaultPress.

      The backups I keep are purely for my own records, so I can refer to the code I created on past projects without needing to FTP into the client’s site. When the site is completed, I’ll create a backup of the wp-content directory and database. If the wp-content directory is more than 200MB, I’ll only backup the themes and plugins directories (trashing the uploads).

      I actually use the command line every day, and backups/migrations is a great example why. WP CLI adds a ton of useful functionality to command line. Here’s an example of what I do to backup a site: https://gist.github.com/billerickson/3e8a772ff07b6a94ca4e

      There’s no tools/languages you HAVE to know other than HTML, CSS and PHP to make a WordPress site. But tools like cli, git, vvv and others can increase your productivity, especially if you are part of a team.

      • Chris says

        Thanks for the quick response, hugely helpful. You certainly took a lot of pressure off HOW I look at backups moving forward. I’ll recommend to all clients past and present to implement either BackupBuddy or VaultPress for safe keeping. And begin pointing new ones to either Synthesis or WPEngine – used MediaTemple in the past as my prefered hosting having second thoughts now that GoDaddy owns them. By the way is Synthesis your prefered host for personal and dev sites? I’m ready to migrate all to a better host.

        And really appreciate the starting place with command line, I can see life getting easier already! And I will definitely check out the other tools, It’s all a bit overwhelming but I see value in time spent. Thanks for sharing.

      • Richard Buff says

        Regarding this: “When the site is completed, I’ll create a backup of the wp-content directory and database.” If you ever want to see this past project code in action, do you spin up a local copy of WordPress and copy/import it there? If so, what’s your process for that? VVV? Or is it easier to just refer to the live client site?

        • Bill Erickson says

          A lot of times I just want to see the code, not the actual site, so I’ll just unpack the tarball, look at code, then delete the directory when done. But if I want to see it live I’ll usually create a local WP install, move the unpacked wp-content in there and import DB.

  9. Jamie Mitchell says

    Hi Bill

    just checking what client management software or tools you are currently using, or a free one you can recommend?

    i’v been doing ok managing a few clients at once with just gmail and my memory, but as i’m getting more busy i want to be able to manage a dozen projects or more at once.

    thanks in advance.

    • Bill Erickson says

      I developed my own CRM for managing projects. It’s almost identical in function to the Genesis CRM I released a few years ago. I rebuilt it off of WordPress for a better database schema (doing advanced queries across thousands of “posts” (prospective client emails) slowed things down ).

      • Jamie Mitchell says

        thanks for your response Bill

        so you just run the CRM on a sub domain or similar, then just keep it open in your browser adding info to projects as your working on them…

        • Bill Erickson says

          Yep. While a project is ongoing the only thing I edit is the status (ex: “ready to start”, “waiting for feedback from client”, etc.) and a “needs work” checkbox which highlights which projects need work.

          When I’m done with initial development I log the time spent on that, and then when the site goes live I log the time spent on changes and mark the project as complete.

          • Jamie Mitchell says

            Hi Bill

            thanks for sharing the info on how you use the CRM

            I’ll grab the Genesis CRM version and give it a go 🙂