Show Notes

Episode Transcript

Liam: This is Hallway Chats, where we talk with some of the unique people in and around WordPress.

Tara: Together, we meet and chat with folks you may not know about in our community.

Liam: With our guests, we’ll explore stories of living – and of making a living with WordPress.

Tara: And now the conversation begins. This is episode 18.

Liam: Welcome to Hallway Chats, I’m Liam Dempsey.

Tara: And I’m Tara Claeys. Today, we’re joined by Robin Cornett. Robin is a work-from-home mother outside Chattanooga, Tennessee who ended up becoming a developer kind of by accident. She’s been working with WordPress for about 10 years and we’re really happy to have her here.

Robin: Hi guys, thanks for having me.

Liam: Hi Robin, welcome. Thanks for joining us. We heard just a little bit about you but go ahead and expand on that and tell us a little bit about yourself if you would please?

Robin: Basically I started working with WordPress about 10 years ago because my kids were old enough that I wanted to do something for a job and started my own little business and decided that I needed to have a blog as part of that. I started blogging with WordPress and just kind of gradually went down the trail of trying to figure out how to make it do more and more than what it did straight out of the box and ended up helping a friend rebuild their website in WordPress and then another, and then another. It just kind of kept going from there and here I am.

Tara: You started doing it as a hobby and as a favor, which I know happens with a lot of people who end up in the WordPress space, and then you decided you like it and can make a living from it. Can you tell us about how you make a living with WordPress?

Robin: Well, I am not the primary wage earner in our home. My income is supplemental but I kind of do a mix of client work and then in the last couple of years, I’ve started selling a couple plugins through my site so it is mostly those two.

Tara: Okay. What kind of client work do you do or have you done and how have you found those clients?

Robin: Mostly my clients and I connect through word of mouth or referrals and they kind of vary from small businesses to nonprofits and churches and a few individual bloggers here and there.

Tara: When you’re doing client work and now you’re doing your plugins, do you have a preference of which you prefer or what you’re doing more of if you had a choice? Also along the same lines or carrying that through, which is more sustainable for you?

Robin: I feel like they’re not really separate. A lot of my plugins have happened because of something that I wanted to do for a client and a solution that I ended up building for a client and then decided that I would like to be able to use it again. So I’ve extracted it out and made it into a plugin or something that I can drop into a theme – but primarily plugins, so that I could more easily reuse it on other projects. Some of them I’ve released on the WordPress Plugin Repository and people actually use them, which is a surprise to me every day – I mean, awesome, it’s neat to see that I’m able to help more than just myself.

Tara: Yeah, it’s impressive. I think that you figured out a way to carry one project, expand it into more than serving just one client, scratching that itch is how a lot of things are invented. but having the wherewithal and the interest ability and knowledge to release it out into something that other people can use, that’s an extra several steps from what I’ve seen. How did you learn how to do that? It’s one thing to say, “Oh, I’ve built this really cool thing for my client and my client loves it, it’s doing exactly what I want.” But you can’t just take that and put it into repo, there’s a lot that you have to learn how to do to expand that. Can you talk a little bit about your learning journey and how you’ve learned to code and learned to release a plugin like that?

Robin: Sure. You’re right, there is an awful lot that goes into making a plugin, especially one that you want to be able to release on the repository or through your own site and be able to update it easily for your users. And I feel like at first, I was working primarily in themes and child themes, I worked with the Genesis Framework primarily. I was doing a lot of the code just adding things to child themes and went from not knowing anything about PHP to learning that slowly but gradually. And I think the first time I figured out how to do a plugin, honestly, the hardest part was figuring out how to get it to show up in the WordPress Admin because there’s the block of header text that goes in the main readme file. And I see Liam nodding his head. [laughs] That was so hard for me to understand how to get that to happen so that the plugin would be available for WordPress to see. But once I got that, then I was able to start moving things into a plugin and started out fairly awful just because I was learning how to code from the ground up and I think one of the biggest learning experiences that I had was I contacted Gary Jones who’s a developer in the UK, and at that point he offered plugin audits as a service. And I had taken on a client project where I quickly realized that I was in over my head because they had some pretty specialized needs and I knew what I needed to make happen for them but it was all going to have to be built by me. That was a little intimidating so I got the code working and then contacted Gary and said, “I want to hire you for a plugin audit.” At that point he had two options, he said, “I can fix it for you or you can spend a little more money and a little more time and I will walk you through how to fix it.” I said, “I want to learn. Please, I will pay you more money, walk me through it.” It was incredibly helpful. It was amazing just how much I was able to get from a few hours on a Skype conversation, just walking through my own code basically line by line and getting an analysis.

Liam: That approach, Robin, of investing in your knowledge and spending an extra hour or two of a senior developer’s time to get that is an approach that I absolutely love and it’s one that we do in my consultancy where when we hire developers to do some more of the advanced code that we need, we never just have him write the code. We say, “We want you to write the code, and then we want you to budget some time to talk us through what your code does, how it does, why you chose that approach, what other approaches there could have been.” I just think that that extra hour of time, developers are 100 or 200 an hour but in terms of a learning curve, even $400 to know the process and to be able to repeat it because we understand that is great. Thank you for sharing that. One other point that I just wanted to flag up that I think is hugely important and I love that you did it is, you were in a client project, you realized you were in a bit over your head and you didn’t wait until after the deadline, you figured out a solution. Talk us a little bit about that because I think a lot of people struggle with that and they realize they’re out of their element and they’re not sure where to go. Sounds like you took a pretty proactive approach and I wonder how you came with that?

Robin: I think I was really fortunate in being able to know someone that I could contact and get that. I think a lot of times we do know that we’re in over our heads but there’s so much information available if you search, and you can search for days and then hit on the right search and realize that the first days of searching you were just looking for the absolute wrong thing, or maybe that’s just me.

Liam: No, I don’t think so.

Robin: But I think there’s just such a difference between being able to Google and answer and find something that works that you may or may not understand and having somebody walk you through and say, “Well, why did you decide to do it this way?” Or, “Do you understand what your code is doing here and do you realize that your conditional is never actually going to be true?”

Tara: Yeah. I totally agree with that and I think about that a lot whenever I’ve felt a need in my own development path to consider going back to college and getting a degree and sitting in a classroom and learning code. I always back off of that in favor of the more targeted one on one tutoring opportunities that you have in this community, either to learn for free on Google, or when it’s something that you need more attention or more enhancement with to do that, exactly what you did, which is solve the problem that you’re working on but use that as an opportunity to learn more and learn it one on one with someone. It’s less expensive than going back to school and way less of a time waste sitting there learning some things that you already know. I think that’s a brilliant approach.

Robin: I think one thing too is the revision process is really important. I’ve been thinking about that a lot the last couple of weeks because I realized that as a writer, I’m very prone to not revising. I’m a fair writer so I’ll put words on the page and then kind of give it a cursory once over and say, “Okay, I’m good.” But I realized that when I’m writing code, I get something that works and then I’ll stand hours going back through and making it more efficient and trying to figure out what could be better and what could be improved. I’m much better editing my code than my writing, but I think that’s really important because it gives you– once you get something that works, it’s tempting to stop and say, “Okay, great, it works.” But it’s better to dig through and say, “Okay, why does it work?” And, “Is this really the best way that I can be doing it? Did that guy on Google know the best way to do it?”

Liam: Can I ask you a question about that from a business standpoint? When your client asks you, “Can you add this bit of functionality to our site?” Are you, given your thoughts over the past couple of weeks, thinking that, “I know it only takes an hour to do that, I’ve done it before, I can do it for this site. It’s all a little bit of unique but it’ll be about an hour.” Are you thinking that maybe you want to budget an hour and a half of time so that you can spend that revision time, not just with the code itself, but as the code relates to that site or that project?

Robin: Well, I’m going to confess that I’m not great at budgeting time and most of my projects are not built by the hour so I don’t track time as diligently as probably I should or as a lot of people would recommend. And it depends, I feel like a lot of times the more intense revisions I’m working on are more the things that I’m doing for the plugins that I want to release for some reason or other. And when you’re offering them for free on the repository, there’s not a lot of return on your time investment, but it’s all learning so it’s all valuable, if not monetarily, at least for myself.

Liam: Yeah, great. The value of learning is difficult to put into financial terms but it’s hugely valuable in whatever ways we measure it. Let me ask you this, you have said that you don’t typically build by the hour or you don’t estimate on hourly and that you’re not good at timekeeping. I think all of us would put our hands up and say none of us are all that good at it, some are better than others but it’s a talent. But then how do you structure your billing? The client says, “Hey Robin, we would like this added to our site, it’s not currently there.” How do you figure out what to charge or what to ask for, or what the estimate might be?

Robin: If it’s a small thing that they’re coming back and saying, “We want to add in a small feature.” Then yes, generally I do build that hourly and I’ll look it over and I’ll say, “You know, I think it’s going to take two to five hours.” And usually we’ll do probably an hour on investment upfront and in those cases, I do track my time for them very religiously. And if it’s going to go over what I initially told them and they agreed to, then I absolutely let them know that I usually try to overestimate how long I think it’s going to take. But for major projects, it’s definitely like, “Here’s how much the project is going to cost.” And time is not their concern, it’s mine.

Tara: Yeah, so putting a value on your time that’s not necessarily tied to an hourly rate but on the value of your time on the project, I think that makes sense. There’s a lot spoken and written about that lately in this community.

Robin: Yes, but keep in mind I’m no business expert.

Tara: Speaking of business expertise and charging, and making money, and making a living, and having a budget for your time, paying attention to that. I know you were telling us earlier before we started recording that you live in Heaven near mountains. I’m sure you enjoy that time too. Something that we like to talk about with our guests is success and what it means to you. Whether that’s a personal thing or a business thing, or a combination of the two, how you maybe marry them together, how would you define success, Robin?

Robin: For me, I think success is being able to do what I want to do mostly when I want to do it, and still be able to be present for my family when they need me, when they want me.

Tara: Do you feel like you’re in that place? Is that what you strive for?

Robin: It’s what I strive for, I will say, during the summer it’s harder because the kids are home and they want to play board games or need to go more places than they do during the day. During the summer this year, it’s been more very early mornings so I can get a few hours of work done and then put things away and make breakfast for kids and then do things with them and maybe– it’s a handful of hours spread out in weird places over the day. But during the school year, they’re out the door and that’s my work time. And I try really hard when they come home that I’m done and not working in the afternoon or the evening unless they’re doing homework and don’t need me.

Tara: I’m very distracted by the fact that your teenagers want to play board games with you. [laughs] That’s amazing. You’ve got to grab that opportunity while you can, that’s amazing.

Tara: Okay, thank you for clarifying that. I was starting to feel very self-conscious. I can’t think of the last time I played a board game with my kids. [laughs] That’s excellent.

Robin: I’m just telling you, don’t play Clue with my middle daughter because you will never win.

Tara: [laughs] I love Clue, that’s a great game. Robin, I’m going to switch gears and talk to you a little bit about the WordPress community. I have never met you in person, I don’t know what your involvement is with your local community so I’d like to hear more about that but I would also love to hear you talk about how much time you spend in Slack answering people’s questions? Because it seems to me that– I’m in Genesis Slack among other channels and whenever I have a question and I go there, you’re often the first one to answer it and you’re so gracious and helpful with your time with so many people. I just wonder how you budget that time and just in general your approach to the community in helping others?

Robin: You know the dogs in Up where they’re in the middle of something and then, “Squirrel.”

Tara: Yeah. [laughs]

Robin: Yeah, that’s what Slack does to me. I tend to work with Slack open and I like to see the conversations that go on there. And if I know the answer to something, I like to be able to jump in partly because I feel like I’ve received so much from the community and it had so many of my own questions answered that it seems only fair, I guess, that I should pay back forward in helping other people because there was a time where I knew absolutely nothing and could tell you what the time of day was and that was about it. And if I can answer somebody’s questions today, then I can. And ideally, I’d like to be able to answer questions with some groundwork so that people understand what it is that I’m explaining or why I’m explaining something a certain way so that they have something that they can take away as a learning tool, I guess.

Tara: What about your local community there, do you have one? Do you attend meetups or WordCamps or anything like that?

Robin: We do, we have a Chattanooga WordPress Group that is small but it’s a great group, and we are trying to grow. There are a lot of tech people in Chattanooga because we have the fastest internet in the country which is really awesome. I save a lot of time with downloads and uploads because of that.

Tara: I did not know that.

Robin: Yes. There’s a lot of tech people in the area, not necessarily WordPress related though. But we’re working to grow and we have a monthly Meetup and we’re working on it, it’s a great group, and yeah, it’s great.

Tara: In your daily life, switching gears again talking about something else that we like to ask people about, what would you say is the most important thing that you do every day? Whether it’s work related– sounds like you’re very family-oriented so I would think that’s part of your day as well. But if you were to say, to nail down one thing that you would say is the most important thing that you do every day, what would that be?

Robin: I think probably just to get on the computer and work on something, whether I’m trying to figure out a problem or make something better, or even if it’s not directly productive, if I’m writing code or trying to figure out how to make something happen, then I’m getting better and learning.

Tara: And what would you say is your biggest challenge?

Robin: Javascript. [laughter]

Tara: Are you working on learning that or is it something that you know and are trying to improve upon?

Robin: Remember, I started out knowing nothing so I’m learning Javascript, kind of kicking and screaming.

Tara: How are you learning it? Are you doing video classes or what’s your method?

Robin: Honestly, I really struggle with tutorials and classes that I can’t put my hands on, I guess so to speak. Like the tutorials that use words like foo and bar, as soon as I see that, I just have to close it and walk away because I know that I don’t understand. And I understand that that’s a programming tradition to use those bug again, this is not my background. When I’m working with my own code and breaking it– error codes are the greatest gifts because it tells me where something is broken and I can narrow my focus on what it is that’s broken. The hardest is when something is not working and there’s no indication of what it is that isn’t working. I forget what the question was but–

Liam: You answered it. I appreciate that, there’s something wrong, there’s no indication of what the problem is, where do I start, I don’t even know. That’s hugely frustrating. You just told us about your biggest challenge today being Javascript and learning that, and the struggles you’re having with that. But what is your single most valuable piece of advice, and it can be either personal, professional, or maybe a combination of both, that you’ve ever received and implemented in your life?

Robin: Goodness, I feel like I’ve gotten so much advice over the years. I think just to get in and work and keep working and keep improving, and I think back with watching my mom when I was growing up. She worked with data analysis, I guess, and she was kind of a troubleshooter for her company. And she would sink her teeth into a problem and I could just see the wheels turning in her head, even when she wasn’t at her computer. Sometimes she’d get up in the middle of the night because she had figured out what direction to go. So she would dial into– back in the day when you had to dial into the office maybe at three in the morning she’d get in and figure out how to solve that problem. And that’s something that’s really stuck with me, and maybe part of that is sometimes you just have to walk away from a problem because you can be sitting at the computer for hours, banging your head on something and not making progress, and sometimes the best thing I can do is close the computer and take the dog for a walk, which she needs anyway and I need it anyway, and a lot of times I’ll be a couple miles away from the house and went, “Oh, I know how to solve this problem.”

Tara: That’s excellent advice right there. Walk away, get your head clear and it might just come to you when you least expect it. I think that’s definitely true. I know we’re going to be wrapping it up soon but I want to ask a little bit more about something because I’ve been thinking over in my head all the things that we’ve talked about and I’m curious about and admire your interest in, as you said, revisioning and going back and improving the code. And just because it’s working, doesn’t mean that it’s done the best way. This is something that I think about a lot with website development is that there always seems to be a better way to do it. I would love to know the way, just tell me the way to do it that that’s the best practice and that’s the best way and then I know how to do it. But it seems like there are many different theories about that. How do you reconcile that with your great interest in improving upon your code? When do you stop? Because it seems like that could be an endless process.

Robin: Well, it is kind of an endless process. I think with client work, you do the best you can with what you know at the time and when the project is done, then you’re done, and you put it away. And I know that I have clients that had set up their site three, four years ago, and I would love to go back and redo it with what I know now because I know that it would be better. But they’re done and if that opportunity comes then I can redo it, but one nice thing about maintaining plugins is that I can continue to work on them and improve them. And even though I put something in the WordPress Repository three years ago, there are still things that I can do to improve it or make it more useful for people or make it better. And that has its own challenges because once you have more than just yourself using it, you have to worry about what other people have done and maintaining backwards compatibility. I see that it’s very difficult to do just in my own projects. And WordPress, in general, having such a strong commitment to maintaining backwards compatibility, you just realize how big of a challenge that really is. Continuing to work presents new problems too.

Tara: I think that’s a great answer. I think it is, I can’t imagine just the ongoing need when you have something like that, a plugin out there that you– it’s not like you’re saying like a client site, “Well, we’re done. You’ve approved this site.” We walk away and then if code changes or something happens then you rehire me to go back and fix it. When it’s your own thing, you really never are done, are you?

Robin: It’s true.

Liam: The proverbial excellent versus good enough.

Tara: that’s right. Okay, Robin, I think we’re about out of time. I want to thank you so much for joining us today. Can you tell us where people can find you and your plugins also? I know you’ve got some great plugins out there.

Robin: My website is just my name, Robincornett.com. It’s Cornett with two Ts and no E on the end. I have a handful of plugins in the WordPress Repository and one is display featured image for Genesis, and one is send images to RSS, one is scriptless social sharing which is a surprisingly hard name to say. [laughter] And there’s a handful of others. They’re all listed on my website.

Tara: Your superside me plugin, I’ve used that one, it’s a great one.

Robin: Thank you. That was one that started out as a client need and grew into a plugin.

Tara: Thank you so much again, it’s great talking with you. We appreciate you sharing your story with us on Hallway Chats, Robin.

Robin: Thank you.

Liam: Thanks for joining us, Robin. Pleasure to meet you.

Robin: Thanks, Liam.

Liam: Thanks for the listening to the show. We sure hope you enjoyed it much as we did.

Tara: If you like what we’re doing here – meeting new people in our WordPress community – we invite you to tell others about it. We’re on iTunes and at hallwaychats.com.

Liam: Better yet, ask your WordPress friends and colleagues to join us on the show. Encourage them to complete the “Be on the show” form on our site, to tell us about themselves.