Scaling Your Freelance Business – OfficeHours.fm interview with Marius Vetrici
I was recently interviewed by @CarrieDils on how did we scale from Freelancing to WordPress development agency. Here under you can find the podcast:
Full transcript of the article
Male Speaker: You’re listening to OfficeHours.fm the podcast where we put WordPress to work, peek inside the minds of successful business owners, meet amazing people from the WordPress community and pick up tips and techniques for your own work with WordPress. And here’s your host, Carrie Dils.
Carrie: Today’s episode is brought to you by Beaver Builder, a powerful drag-and-drop design system for WordPress. Beaver Builder works with just about any WordPress theme and gives you a suite of layout tools and templates to create beautiful websites in no time flat. Whether you’re a WordPress user looking for code-free control of your site or you’re a web professional looking to scale your business by building responsive websites faster, Beaver Builder gets the job done. I’ve used it on my client sites and for personal projects as well. As soon as you finish this podcast, go check out their live demo at wpbeaverbuilder.com to see exactly how it works.
Howdy, howdy everybody. Welcome back to OfficeHours.fm. Today, I am chatting with Marius Vetrici. Did I say that correctly?
Marius: Yes. Yes, Carrie. Thank you so much for rehearsing my name. I really appreciate that.
Carrie: Well, you know, it’s just the worst to mispronounce people’s names, so—yeah, I appreciate you letting me practice there. So, I’m thrilled to be bringing Marius to you guys today and introducing you to him if you haven’t met him already. He is very active over in the Bucharest WordPress space, leading a meetup over there, speaking at local WordCamps. And so, Marius, I’m going to let you introduce yourself more thoroughly here in a moment. But, before coming into the WordPress space, he had a software company that he was leading and now has a—I’m not sure. How long have you been doing WordPress?
Marius: That’s a great question. It all started in 2006 when I started blogging and it was love at first sight. At that time, I was running my other software company. We were building document management software for USA market. And I had some interesting stories to share about how to run a company, about management, etc., and WordPress was really handy. I switched to WordPress. I’m making money out of WordPress. Around 3 years ago, I decided—I’m sorry—after I closed my other software company, I started freelancing and started making good money out of WordPress. And in about a year and a half, I decided to scale up and build a team—one more time to build a team this time around the WordPress business and here it is—WordPress Riders, WPRiders agency. We have 6 full-time people now on board. And we are happy to have a lot of work from recurring customers.
Carrie: Well, I want to chat with you about sort of all of that from the beginning too, how you’re getting to those recurring customers. You know, a lot of folks that listen to this show are freelancers or looking to be freelancers. And I know from the experience you’ve had both in your software agency and then now in your freelancing-turned-small-WordPress agency, a lot of great advice that you can give. So, we were talking before the show and I don’t want to make my listeners feel like they’re missing out on all the great conversations we had. So, let’s kind of walk through some of those things that have helped you get from where you were to where you are in terms of what’s important to focus on. So the first thing you mentioned to me was a business plan. Can you describe what that is and how that has been helpful to you?
Marius: Yeah. This term business plan might sound scary to some, but in reality, it’s just a word document with 1 or 2 pages or document that brings you clarity. This is the keyword. You need to—as a freelancer or as a future freelancer or as a future agency owner, you need to know what you will be focusing on. What I mean focus, I mean you need to really choose what you are not going to do, what kind of services you’re not going to provide. This might sound a bit counterintuitive, but whenever you start a company, you have so many things to do, so many opportunities around you that you just have to sit down and see which of those activities bring you the highest return on investment, which of those activities bring you the happiest customers.
Well, basically, you need to choose a very specific niche, a very specific set of people that you can serve, and you need to spend a lot of time with them, talking to them and understanding them as much as possible. So basically, you need to define and write down—it’s very important to articulate that on paper in your word editor or whatever. You need to articulate for whom you are going to provide the services. As I also mentioned, you need to decide what kind of services you are going to provide.
Another important part of this business plan is how you are going to be generating new leads on an ongoing basis. This is quite crucial. It’s like the food that you—as a human being—that you need get on a daily basis. Your company will need new leads and new projects on a recurring basis.
Carrie: So, let’s start with the “what” you’re going to do and I love that you said what you’re not going to do because sometimes I think that’s easier to identify maybe than what it is that you want to focus on. But in terms of your agency, WPRiders, can you share what niche that you have focused on and who your ideal customers are?
Marius: Yeah. I will share that with you gladly, but I think it will be more useful if I tell our listeners how I came to that list. Initially, I was doing everything and that’s pretty normal to do everything for everyone for a few months. But, I was keeping a written track of what I was doing. I was writing down types of projects. I was like creating an inventory of services and types of plans that I was working on. It’s not that difficult to keep it. You’ll probably end up with 5, 10 or 15 items on your list. For instance, you can do web design. You can do theme development. You can do plugin development. You can do support. You can do website migrations. You can do speed optimization, etc., etc., etc. There are myriads of tasks and tasks types and project types in the WordPress world.
And after I nailed them down, I started listening to my, let’s say, heart or guts—which are the customers that I am most happy to work with. This is an important light, an important sign. If the customers feel they are happy to work with you and if you are happy to work with them, that’s an important point in choosing that particular niche. Second very important item is how much money are you making out of those customers and how much money—again, this can be boiled down to what is your margin with those customers. I mean are you able to charge a premium hourly rate while you work with them? And the actual question boils down to are you able to generate that much value so that those customers are comfortable paying you a premium hourly rate?
So, bottom line, find those customers that you can create the highest value for. You can solve some very, very painful problems that they have and they are, of course, willing to pay you a higher hourly rate. So, this is how I narrow down the list.
Carrie: So how do you find those people who are willing to pay you that premium rate?
Marius: First of all, you need—before having many customers, you need customers. It might sound like a—yeah, it might sound like a truism, but before having some customers to choose from, you need to have a base to choose from. And for that, you should look around for places that can easily generate leads for you. In our case, we went on some freelancing platforms. That’s because the freelancing platforms were doing all the heavy-lifting of the marketing part. By the way, I am not very good at marketing or technical work in this agency. So they complimented quite well with us. They were generating leads and I’ve started with Elto which later got acquired by GoDaddy. And then, we made quite a good start with Codeable.io. They have really high-quality leads and we still get like half of our work through Codeable.io.
We also partnered with some other agencies that have leads and they are not willing to serve those leads and to work with them, and they are outsourcing those leads to us. And also, we are getting some customers through our website. That would be the channels that we’ve used and you might also use to generate leads and to have a base where you should start and choose from.
Carrie: I love that. So, you said you have 6 people as part of your team. Can you define—or excuse me—describe how you built your team, how you picked the right people to be part of what you were doing?
Marius: Yes, yes. That’s a very interesting process, and it also applies—even if you are going to hire a full-time developer or if you’re going to hire a part-time or even a project-based developer, I think some of these principles will still apply and still aid you in choosing the right people. I started as a freelancer, as a solopreneur. I was doing everything. I was wearing many hats. First and foremost, I hired 2 developers. But before hiring 2 developers, I made sure I have work for at least 1 month in advance. How did I do that? I was just taking more and more work through Codeable because Codeable is also an escrow service. Basically, the clients whenever they hire me, they made a deposit on Codeable. Then I know that that person, that client is serious. He’s really going to work with me. And then I was just scheduling them in my calendar.
By the way, if you want to be effective, you need proper tools. For scheduling, I was and still—we’re still using the forecast app from Harvest. So—yeah, yeah. Later on, if we have time I can share some of the tools that we use to get organized. But coming back to choosing the right people. So, first of all, I made sure I had enough work in advance, then I hired 2 people. I hired these 2 developers and we’re still working together and it feels like a family. We are like a tribe. I was looking for people which shared my values because I was alone at that time. Alongside with my business plan, I wrote down my reason to exist. I mean some call it the mission, company mission. Our company mission is quite simple. It’s success online. We help our customers to be successful online.
Then I nailed down the values, those cornerstone items that we come back to every time we make an important decision. So I wrote down our values and I was looking for people that truly—they don’t share. They are those values. And—yeah. By the way, those values, you should be those values. It’s not enough to have those values. Be the values you want to see in the world, if I were to paraphrase.
So, how did I do that? I added those values. I listed them together with a paragraph explaining those values right in the job ad. So the people that read my job ad, they knew specifically what kind of person—not people, I was only one person—what kind of person are they going to find in that team. How do I view the projects, business, hiring process, etc.
And In our case, things that worked and still work for us I think are worth mentioning. The first one is be accountable. The second one is integrity. Always do the right thing. The third value is personal growth. Try to improve and to learn as you go. And fourth and the last one is contribution. It’s because we are part of a bigger family, the open source family, the WordPress community and we are trying to pay back every time we create something. So this is how I hire people. Of course, there were technical interviews.
So, the first interview is the getting-to-know interview and the second one is a technical interview where the candidates should write some code. I want to see him writing code either side-by-side or via screen-sharing if he or she is remote. So, seeing how a person codes, you can understand the way he or she thinks, what kind of problems does she see, what questions arise in her mind, etc., and that’s why this is very useful. So basically, this is my small plan. No magic. It’s just a very structured plan.
Carrie: So, have you had to let anyone go? Or were the hires that you made sort of the right hires from the start?
Marius: I was lucky enough to make the right hires from the start. We had a person that left our company, but it was not a developer. It was a project manager. It was my first—so, I had the chance to hire developers prior to this company, in my previous company, but I have never ever hired a project manager and especially for a WordPress agency. That’s why I think I chose the person with the wrong skills for what we needed. It was not the wrong person. It was just a mismatch between skills.
By the way, I want to share this with you and hope you don’t make this mistake. I hired a non-technical person. It was an experienced project manager but she has been previously working in a corporation and we had some misalignment of values, although all my endeavor and effort to align, still, someone that comes from a corporation to a startup might pose some challenges, and it was a non-technical person. That was a wrong decision. But now we have another project manager which is actually one of our former developers and she’s like blooming. She found her place and she’s—it’s like, you know, when a good seed finds the proper soil. It’s just like that.
Carrie: That’s a great analogy. Awesome stuff, Marius. We’re going to take a quick break for a word from our sponsors and then we’ll be right back.
[Female Speaker: And now, for our word from our sponsor, Ninja Forms. Building a form for your website isn’t always easy. The forms are either too basic and incapable of more than simple use cases or they’re so complex that you need to have a computer science degree to use them. But what if you’ve found a form-builder that had an easy-to-use interface and it also included advance developer features like field templating and custom action hooks. Well, thankfully, the team at WP Ninjas has mastered this challenge and they call it Ninja Forms. Built and maintained by sleepless masters, Ninja Forms slices the competition like yesterday’s practice fruit.
Ninja Forms integrates effortlessly with WordPress as well as an arsenal of supported add-ons. You’ll be hard-pressed to find a better way to build a form. And if you need help along the way, excellent documentation and an eager team of support ninjas are always nearby. Ninja Forms is the forms plug-in that has your back, so get started now at ninjaforms.com, the site where your form-making struggles end. Ninja Forms, we make forms look easy.]
Carrie: And we’re back. So, Marius, when you were talking about hiring your team, one of the things that you mentioned that I thought was really critical was you made sure that you had work in the pipeline for at least a month to pay for those 2 developers. Can you talk a little bit about cash flow and how you have budgeted for that and planned for that and used that in your business?
Marius: Yeah. Some say that cash is king. I think cash flow is King Kong. I’m saying this because a startup without constant cash flow will just dry out and it will disappear. That’s why you need a constant flow of cash either from a recurring customer, either from a recurring partner as we have with Codeable or from a recurring project or product. This is the case for theme developers or plugin developers.
Now, about cash flow, one simple rule of thumb that I have been following is to set aside at least 10% of our income that we have on a monthly basis. And this allowed us to build a cash flow airbag, if you will. Yeah, we have cash for 3 months of taxes and salaries, for fixed costs basically, in our bank account. And I’m openly sharing this info with my colleagues, with developers and project managers and they’re really happy. They feel more secure. This is important for those persons that want to be hired. For entrepreneurs, it might be less important.
So, 3 months of cash, and how I was keeping track of all of this? I use a very handy tool which is tool called You Need A Budget, YNAB. I’m using this for both my personal budgeteering and for company to work really well so far. In what concerns planning the actual workload because there is a trap and I hope you avoid it and that is taking on more work than you can possibly handle. There’s a caveat here. I don’t think there ever is too much work. I think there’s only mismanaged expectations. You can take work in advance for 6 months as long as you clearly tell your clients that they’re going to be served starting in 4 months from now.
So, therefore, if you make that extra effort to add all your deadlines with a tool like Asana—we are using Asana by the way—and to lay down all the hours that you’ve estimated in this Harvest forecast, that will easily help you calculate the next available spot. By the way, I do take the time to thoroughly estimate every task and project that I take. And if a task is larger than 4 hours, if a piece is larger than 4 hours, then I just take the time to break it down into smaller 4-hour bite-sized pieces. This lowers the estimation risk quite a lot.
Carrie: And do you ask your developers then to track their time?
Marius: Yes. This is what we are selling. We are selling our time and we are using Harvest as a time-tracking app. By the way, we have an internal target of productive hours, of quality coding time hours per day of 5 hours. So, up until 8 hours, we have time for research, study, maybe to help some clients that just came back with extra stuff, requirements, bug fixing. But we are not doing much overtime. It’s only like probably 1 or 2 times, a few hours extra per day, but normally, no, we don’t have this.
Carrie: Well, you know, I think that’s really important for people to hear because if you’re inexperienced with this, you assume that every hour of your time is billable time and that’s simply not true because of administrative overhead, meetings, like you just said, research. There are all these other tasks that need to be considered as part of your overall budget for a project.
Marius: Right, right.
Carrie: So, is there anything else on cash flow that you want to share?
Marius: Yes, regarding the cash flow. You need to get paid every month, on a monthly basis. So, either find 1 or 2 clients and try to make them really happy as long as you’re happy. If you have a not-so-good client and you are working too well, if he says to you, “Well, work on this cheaper, but I will have many more projects for you.” This was the trap that I was lucky enough to avoid a few times and a few times I’ve avoided it. But the thing is I cannot afford to get paid the next month or in 2 months. I need to get paid every month. So, if it’s a smaller project then I make sure I have money during that specific month. If it’s a larger project, I break it down into manageable milestones. And whenever I deliver that milestone, I ask the client to be paid. And if it’s through an escrow service like Codeable, I just ask them to close the task and the money will automatically get transferred to us. So, for us, what worked is that we were really trying hard to have recurring clients, which works pretty nice.
Carrie: Yeah and I love tying payments to milestones. That’s something that I didn’t learn until much later in my career. I wish I had learned it earlier. I wish I had interviewed you much earlier, Marius.
Marius: Thanks for the compliment. So, it’s a matter of how much you pay for this lesson. It’s not a matter of IF. It’s a matter of WHEN and how much.
Carrie: Exactly. Well, you’ve alluded to some of the tools that you use. You said you were using Harvest for both forecasting projects and actually tracking projects and Asana for, guess, you know, kind of overall project management.
Marius: For task management and for managing—I would say it’s more than deadlines—for managing the promises that I make to the clients. Every time I promise something to a client, I write this down as a deadline in Asana. And by the way, we always, always add 1 or 2 days on top of our estimate. And what this boils down to is that the clients get their tasks at worse on the date that we promised. Yeah, and it worked pretty well for us. But normally, we deliver 1 or 2 days in advance. It’s just a small trick, if you will. We didn’t invent this. We are just applying it and it works nice.
Carrie: Sure. So are you—
Marius: Oh, yeah. So about—
Carrie: Oh, go ahead.
Marius: Yeah, about the task, about our tools, it’s Asana. It’s Harvest. It’s YNAB. It’s Forecast and we are also using LastPass to manage passwords. We have probably more than 1,000 passwords to manage and we need a secure way. We are using WordPress, by the way. Yeah. PhpStorm for coding and for debugging. We have an account with Cross Browser testing service which allows us to test our projects on all browsers and devices that you can imagine. We are using Skype for communication, Google docs for collaboration, Sublime text for texting, Slack with some customers. But this is pretty much all of it.
Yeah, we are also using—by the way, speaking about recurring revenues, I decided that we need more recurring revenues and we launched a WordPress update service where we—besides doing the updates, we thoroughly test all the updates. And for this service, we signed up for a screenshot comparison tool. Yeah, it’s called Cross Browser testing, one of them, and the other one is [0:29:51][Indiscernible] is a free tool. But Cross Browser testing allows us to do screenshots before and after an update and to quickly spot out any inconsistencies. It’s a pretty handy tool. It’s somewhat expensive, but it works fine for us and for our packages. And we’re also using Codeception as a tool. It is more like a framework, but we are running Codeception tests.
For those of you that do not know what is Codeception, basically, it allows us to automate clicks in a browser. So, whenever we update a website, we need to make sure that website is still working after the update, that the checkout is still working, and that the contact forms are still working. So, we just went ahead and automated all of these mundane tasks. And now we have these scripts and these tools running through this browser stack or Cross Browser testing. We have the same script that runs on multiple browsers and multiple devices and you can quickly spot out any problems with the features. So, that’s pretty much about the tools.
The tools are—you can have the best tool in the world but besides that, you need, we call it a process, a checklist. For us, it is a really simple list of steps, but we are always following before working on a client’s project. As a rule of thumb, we never touch a website before backing it up. And by the way, speaking about tools, we use BlogVault. We signed up for BlogVault for backing up the websites. Then we only start working on the website. We might use Git if it’s a larger website. We might use as a tool—For Git repositories, we might use Beanstalk, beanstalk.com—beanstalkapp.com. It is somewhat better than GitHub or Bitbucket because it has automatic deployments built-in. So whenever you make a Git Push, it automatically copies the files via ftp or sftp to the web server. Yeah. And a good process ensures that we can deliver the same quality level over and over again without surprises, without missing anything. Both tools and the right process in place will get you productive and efficient.
Carrie: All right. Well, for all of you listening in, I will have links to all the tools that Marius has mentioned over at OfficeHours.fm and then just look for this episode with Marius. So, Marius, I’ve got one last question for you. You talk about the importance of a business mentor. Why is that important?
Marius: It is important because you have a certain visibility range. But, let’s say you see to the horizon but you need someone that is able to see beyond your horizon. What I call a mentor is just a person that can answer your phone every now and then whenever you have an important decision to make. I am lucky enough to have a business mentor, a person that runs a 150-employee company, and he’s a friend of mine. And whenever I needed to—if I have doubts about hiring someone, whenever I had to fire someone—I was earlier talking about our project manager. It was a very, very delicate thing to properly do the un-hiring process. So, we had some, let’s say, coaching or mentoring sessions. We even made a role-play for how all the things flow, about the cash flow, about—
For instance, we recently decided to sponsor WordCamp Europe in Paris. It was and it is quite a bold decision to take 3 people to Paris and to pay all the expenses and to pay that fee for sponsoring. But, it’s—a mentor is very handy and good to have for this kind of moments when you feel like it is going to be a good decision, but maybe the numbers aren’t right or you still have doubts. You need someone who is not involved on a daily basis, operationally speaking, in your business but who somehow cares about what you’re trying to do there or has some passion for helping or for seeing startups grow. You should see for yourself what’s in it for your mentor. That’s also an important part, but mainly a mentor helps me have a broader visibility and just double-checks some important decisions that I am going to make. By the way, my mentor told me to make this cash buffer of 3 months. It was one of the most important decisions that still supports our emotional well-being in my company.
Another example, for instance, my mentor advised me to share the profits of our small agency with those employees that stick with the company for at least 1 year. It’s not a matter of shares of options. It’s just a matter of, “Guys, if we do well, everyone is going to do well on an individual basis.” So, at the end of this—or actually, at the beginning of this 2017 year, I made all the calculations together with our accountant and, yes, I did share some of the profits with them and we are going to keep doing this. The feedback is very good. So this kind of advice is maybe more personalized and tailored to your day-to-day challenges and activities you are hopefully going to get.
And if you are from the United States as a listener, I can also recommend you to go to www.score.org. They are offering business mentorship for free, and I had some very, very good advice from a mentor that unfortunately has passed away recently. But it was like—I mean it was a time when I was so unfocused, so spread and he just told me, “Stick to one thing. Build it and just stick to one thing. You have—Marius—” He told me, “Marius, you have to be known for something; otherwise, you will be known for nothing.”
Carrie: What a wonderful resource. Thank you for sharing that and I’ll be sure to add that in the show notes as well. Marius, it’s been wonderful chatting with you. Where can people find you online to just check out more about your business or say hello?
Marius: Twitter, that would be the best place to get in touch with me. I regularly check my account. So it’s—on Twitter, it’s @mariusvetrici. It’s my name. Also, you can also find me on our agency website WPRiders.com, Facebook. That’s pretty fine. You can get a pulse with what we are doing and what will be our next steps.
Carrie: Fantastic. Well, thank you so much for your time today, Marius. I appreciate it.
Marius: Oh, thank you. Thanks for the time and for your invitation to this interview. It’s a privilege to be here and to speak with you.
Carrie: My pleasure.
Struggling to get a product out the door?
Let's talk about how we can help!