How to win at WordCamp

This past weekend I attended WordCamp Austin (my first WordCamp!), and had an absolute blast. I met tons of great people (some of whom I already knew online), heard great talks, and enjoyed great food. Beyond just having a good time, though, I heard things and met people that will have a significant impact on my business. Here are my takeaways from the weekend.

Just go

I had considered going to WordCamp Austin last year, but just made some excuses to myself (which I don’t even remember now), and didn’t go. This year, I finally decided I just needed to make it happen, and I’m sure glad did. Quit making excuses, find a WordCamp in your area (or whatever other conference, meetup, event, etc. applies to your situation), and go!

Ask questions

Every session I attended included at least some question and answer time after the talk, and one of them was almost entirely Q&A time. I asked a question in several of the sessions I attended, and as a result the speakers recognized me later (if they didn’t know me already) when I talked to them more. Not only that, but if you have a question about something they said, there’s a good chance someone else is wondering the same thing, but is too shy to ask. Speak up!

Answer questions

If a speaker is trying to generate audience participation and is asking questions, don’t just sit there like a bump on a log. Figure out a way to answer somehow! This will get other people more into the talk, and as with answering questions, will help the speakers recognize you later when you approach them after their talk, at lunch, etc (more on this in a minute). They’ll also be grateful to you for being confident enough to answer their question and kill the awkward silence. It gives their presentation a lot more energy.

Talk to people

My one regret from the weekend is that I wasted about 30 minutes before the sessions started not talking to anyone new. I knew there were several people around that I talk to on Twitter all the time, but I didn’t make a point of seeking them out right away and introducing myself. What a wasted opportunity! Once I got over my initial shyness and started talking to people, I had a great time, and met some really interesting people. Saturday night, I got to talk to Jason Cohen, co-founder of WP Engine. Within three minutes of starting our conversation, he pointed out some flawed ways I was thinking and talking about my business, and gave me one heck of a pep-talk. It was simultaneously humbling and encouraging.

Talk to the speakers

This is really an extension of my previous point, but don’t be scared of talking to the speakers, even if they are “famous” – they’re still human. Cory Miller of iThemes fame gave a really great titled Your Quick Biz Tuneup in 45 Minutes or Less (slides here). The title is a little misleading, though; it was really focused on deep, important issues like whether your business is making you happy and propelling you toward long-term goals, whether your spouse is happy, how your mental health is, etc. Kudos to Cory for talking about what really matters.

After Cory’s talk, I approached him, thanked him for his great talk, and asked him a questiona about my business. He gave me some really great advice, shared his experiences, and then told me to email him so we could set up a time to talk more. Cory’s a really nice guy, so he may have done this for anyone, but I suspect it didn’t hurt that when he asked “are you happy” during his talk, I spoke up and gave an honest answer (no, not as happy as I want to be). He expressed appreciation for me being vulnerable, and I think that sparked some connection. Thanks, Cory

Teach people

Possibly the most rewarding & fulfilling part of the whole weekend was when someone approached me at the after party and started asking me questions about my business and how they can improve in their business. I was a little bit surprised at first, but then realized I know some things that some other people don’t know – things that can really help them. I really enjoyed sharing my experiences, some resources I knew of, and offering to help them out in the future as well. That experience made me realize that teaching others is something I want to spend more time doing.

What did I miss?

If you went to WordCamp Austin, or have been to another WordCamp or other conference, what am I missing? What’s your advice for first-time attendees?

What questions do you have?

If you’re considering going to your first WordCamp or other conference soon, what questions do you have? What are some things you’re wondering about?

Bill Erickson & Jared Atchison: How to succeed at freelancing

Bill Erickson and Jared Atchison gave a great talk on how they run their freelancing businesses. It was fairly unstructured, with lots of question and answer time. They did a great job of sharing their philosophies and processes for running their businesses. My notes are fairly stream of consciousness; I was just trying to get as much down as possible.

Getting started – making the jump to full time

Jared:
Started off just working evenings, scheduled meetings during lunch, etc. Eventually switched to working his job half time as client work picked up and he had some clients bringing him repeat business. Networking is super important: going to WordCamps and networking with people has been a huge factor in growing his business.

One of the big things that put me in a position to be able to go full time was going to WordCamps and meeting people.

Bill Erickson and Jared Atchison

The Beard speaks!

Bill:
There is still more work than most developers can handle. If you’re just starting out, build relationships with accomplished designers and developers. The good ones are in high demand and are always looking for other people to send business to.

Find a niche that you can target (Genesis, bbPress, WooCommerce, etc.), and specialize in that. Become the go-to person for that niche. This way, other freelancers will send you inquiries they get in that niche.

Scalable processes:

Bill:
As you grow, some stuff (like communication) becomes a problem. A 1 hour phone call always takes 1 hour, so reduce the number of 1 hour phone calls you have to take per client.

He can re-use code all day long, but can’t re-use one-on-one communication, so he uses his website to weed people out. He puts pricing and timeline information front and center, so people who want a $100 website never even call him. Same thing with timeline/availability: he shows what date he’s currently scheduling projects for, so people won’t contact him if he can’t help them with their urgent project.

He also has canned responses for once people do contact him. He customizes them for each client based on what they say.

Once they’re qualified from there, he schedules a 30 minute phone call to close the sale.

As an example, 100 people might see his website, 40 will contact him, and then of those, he mgiht schedule a call with only 10 of them and closes the sale from there.

Reusing code & scaling development efforts:

Best practices for reusing stuff: build things in a modular way – do it right once and reuse it forever.

Break down a project into multiple processes: pre sale, contract, initial development, modification period/training, launch.

Bill looked at his projects and found where he can save the most time, e.g turn stuff into a plugin that he can reuse on every project from now on (he gave the example of his Genesis Title Toggle plugin). As you build things, find ways to store that knowledge so you don’t have to reinvent it later.

Combatting scope creep:

Have an iron-clad contract with a scope that you’ve defined, then defined again, then defined again.

Any time you run into a nightmare client/project, step back and analyze the situation, then figure out what you can add to your contract & communication to prevent that problem for future projects.

For average small business contract, Bill likes to put the scope of work in an email with bullet points and avoid the legalese (I happen to disagree with this approach, for what it’s worth. I use a contract for anything over a few hundred to a thousand dollars. However, I also realize Bill operates on a different scale; he’s doing much, much more volume with many of them being at that lower dollar amount, so it makes sense for him to optimize for speed). He sees contracts as a way to get everyone on the same page. He includes 1 hour of phone consultation in his contract, and everything above that is billed at his hourly rate. Most clients like this so they’re not paying for the overhead from the bad client who needs 10 hours of hand holding.

Bill uses the design to avoid scope creep: he requires the client to hire a designer, then he works off of the design comps, so the scope is clear: if it’s not on the design, there’s no way that Bill can know to build it, thus it’s not in scope. The design process serves as a discovery process as well, so the client can figure out what they actually want.

Audience question: What about when a client comes back later and they want something new (not a whole new project, just add something on that wasn’t in scope)? Do you take it on an hourly basis, or send them to someone else?

For Bill, he likes to avoid if possible since it’s not super profitable. He’ll tell them he won’t be able to do it for 8 weeks (discourages it by pushing it back), and here are some other devs who can do it now.

Bill doesn’t like hourly work: it punishes you for being skilled, and it doesn’t align interests and incentives. If he estimates 10 hours for something (and that’s the minimum), then if he finishes in 5 hours, they’re not happy, because they feel like they’re paying for 5 hours of empty time. He charges by the project, so the client is happy if they get a good website (because that’s what they signed up for – not a certain number of hours).

How do you work with designers?

Bill gives them a list of designers. He doesn’t suggest just one, so if they have a bad experience it’s not solely on him (they need to assess and choose). He requires layered .psd files from designers. Some clients provide more (brand guides, etc.).

Pricing structure:

Bill: I do value based pricing. I charge what I think is a reasonable rate for a site (base level), up from there is based on time. Starts at e.g. $2500 and goes up from there based on custom features.

Bill makes data-based decisions. He logs everything on each project: revenue, expenses, time spent. Then from there, he sorts by effective hourly rate, and figures out what the highest dollar per hour projects have in common. He discovered the smaller sites are better for him, because more of the work is reused (because there’s not a lot of custom stuff), whereas the bigger projects he was spending way more time per dollar on, since it was lots of new/custom work.

Jared:
It was crucial to track time on projects for the first year of freelancing to see where he was spending his time, figure out where he went over time budget, etc. Can then fix from there.

Bill built a CRM so he could analyze where leads were coming from (especially the higher quality/more likely to convert leads). If you find that referral leads are 5x more likely to convert, spend time maximizing that channel.

Jared: Don’t be afraid to charge what you’re worth.

When you’re starting out, how do you schedule/estimate what a project will take?

Bill: at first, I just took whatever I could get, and learned from there how long it takes.
Schedule initial dev in week-long sprints. A small project takes less than a week, bigger ones are 2 weeks, etc.

Week-based timelines work great: clearly shows what I have going on and when I can schedule more work.

Always under-promise and over-deliver.

What about pro-bono work?

Bill says it can be good, but be careful, because you don’t want to get known as the free guy. Maybe instead, find a random website, rebuild it in WordPress and put in your portfolio as a sample of what you can do (especially if you’re a designer).

On WP101:

Jared: the WP101 Plugin puts all the video tutorials on the WP dashboard for the client. It’s been an invaluable resource.

Bill:
It’s the best way for a non-WP user to learn how to use WP. Bill sends the video tutorials to his clients before the site is ever done, so they can review them while he’s building the site, and then not be overwhelmed when he delivers the site. Then he just gives instructions on the custom stuff he built.

Jared puts in his proposal the awesome plugins he uses (Gravity Forms, WP101, BackupBuddy, etc.) that they get for free because he has a developer license, and the value they get from that.

What do you do in a situation where a client has paid you a deposit, but then takes forever to get you the content?

Bill has something in his contract where the modification period is separate from the development period. The modification period can last as long as the client wants (if mods are within scope), but each modification can only last up to 15 business days. If it’s been over 15 business days since the last communication, then the project is complete (for Bill).

Jared says look for the red flags up front. If you have to beat the design out of them, it’s going to be a bad project. You can adjust your contract/payment terms so that if they take forever to get ready to launch, it doesn’t hurt you. Final payment isn’t tied to project launch; instead, tie it to completion on your end, not when they’re ready.

Bill sets the payment terms to align interests: if payment is tied to launch and the client decides they don’t want the site anymore, they’re not incentivized to complete the launch. Instead tie payment to development/modification completion.

Jared: when I send out a contract, I tell you my availability as of *now*, but you don’t get on my schedule until you pay the initial deposit.

Some people put an “inactive” clause in the contract: if the client disappears for x days, the project goes inactive. Then it takes e.g. $300 to get the project restarted. Also, if a project goes inactive, then they get put at the end of the line, so they can’t just show up and demand you do something right away.

What about staging sites?

Bill:
If it’s an existing site, he copies it to his dev server and builds it there. Works same for new site. Only problem is if you’re redesigning a busy existing site where you need the new content that’s being made.

Jared uses the excellent Registered Users Only plugin to keep the site from being publicly visible during the development phase.

I’ll add here that my process is a little different: I develop locally on my machine, and use git to push code to a site on WP Engine (whether the production site, or the fantastic staging site that WP Engine provides). I also use the excellent WP Migrate DB Pro plugin to push and pull the database as well. A workflow like this (using version control) is especially important if you’re working with a team (even if it’s only two people).

What about payment?

Bill and Jared both use Freshbooks and take credit cards through there (google payments, but they also have Stripe). They also take checks. Don’t use Paypal! Both Bill & Jared have had their accounts locked there.

How do you convey that you care about the customer’s site, even though the onus is on them to handle content etc.?

Jared: set realistic expectations up front. Do some amount of hand-holding, but not too much.

Jared on when you have to end a relationship with a client: “It’s not you, it’s me.” When you turn someone away, try to send them other options.

I really liked this talk, and especially the format (for this subject matter). It was great for audience members to be able to ask questions and get them answered right away. I feel like I’m in a pretty good place as far as running the business side of doing client work with WordPress, but I still learned plenty and got some great ideas for things I can implement in my business (such as Jared’s “you don’t get on my calendar until you pay the deposit” method).

If you have any questions about any of this, please ask in the comments! I’ll try to share whatever I can, and I’ll ask Bill and Jared to add more if they want to as well. You can also find me on twitter: @tnorthcutt