Tom McFarlin (Pressware)

Transcription:

Aaron: [00:02] Hi, I’m Aaron.

Micah: [00:04] And I’m Micah. And you are listening to the WP Square One podcast. Today we have with us Tom McFarlin. He is a self-employed WordPress developer, dad of two girls, married to his high school sweetheart, and a sweet Instagram influencer for fifteen to twenty people at any given moment. He’s also an all around professional and we’re glad to have you Tom.

Tom: [00:25] I am a pleasure— It’s my pleasure to be here.

Micah: [00:28] You are a pleasure.

Tom: [00:31] So I have been told. I probably should have led with the Instagram following first since that’s my primary qualifier, I’m sorry, influencer. I’ve been told that I am a pleasure, on Instagram that is. This is already starting off to be a fun podcast. So thank you for having me.

Aaron: [00:51] No, thank you.

Micah: [00:52] Absolutely.

Aaron: [00:53] So, I need to know more about the Instagram, which I guess Instagram is better than Pinterest maybe? I don’t know.

Tom: [01:03] I’ve never cracked the Pinterest code, and by code, I’m not talking about software but just in terms of getting a large following, because the things that I would take pictures of or find around the web and pin, no one found it to be interesting. So I have two dogs and we’ve had them for ten years. I love them to death. Big animal person. Not that I like big animals. I like animals of all sizes—let’s qualify that—but if I just share pictures of large animals, no one liked them, especially because most of them were not good looking animals, like moose. I did take a picture of a Yeti one time. No one really liked that. I took a picture of a Wampa from Star Wars. No one really liked that. So I just dropped the Pinterest game.

[01:56] But Instagram, on the other hand, that’s a whole other story. I get on Instagram, I’ll show photos of running, I’ll show photos of playing the guitar, show photos of giving my dogs their monthly medicine, give them pictures of car keys. People really like that because they can relate. Everyone that follows me has a car, so they see car keys and they can relate.

Aaron: [02:19] Is it a requirement though? Do you have to have a car to…?

Tom: [02:25] Oh, no, no. You can just…

Aaron: [02:27] Oh, okay. Good.

Micah: [02:29] Even babies have that.

Tom: [02:32] Well, it’s key enthusiasts. Yeah. Babies do have that. Very good point. But we call it, in the key enthusiast culture, we are call ourselves Keyenthusiasts—all one word. So we’re very interested in the teeth of the key. I’m not a big fan of remote entry to cars. So I’m very into machines that you might see in Walmart where you can make a copy of your key, things like that. People love that. I am a pleasure. It is a pleasure to be a thought leader and an influencer with regard to that.

Aaron: [03:12] Awesome.

Micah: [03:13] Absolutely. That’s why you’re just an all-around professional.

Tom: [03:17] Yeah. I never want to say I’m a professional anything because then I would be boxing myself in and I would rather keep that box top open, so to speak.

Aaron: [03:28] Understood. Well, let’s jump in, I guess, into a couple of questions. We understand you like keys, which is important. We need them to go places and get into things. But what do you do for a living?

Tom: [03:47] I’m a professional.

Aaron: [03:49] Thank you. Alright. Next question. I’m just kidding.

Tom: [03:55] I am a self-employed WordPress developer and that’s the short answer. The longer answer is that I am a self-employed WordPress developer. I enjoy flying object-oriented techniques, modern development workflows, and developing high-quality custom solutions for typically small businesses and individuals. And I know that high-quality is a bit of a loaded term, maybe a point of a conversation later, but that’s the modern version of what I do.

Micah: [04:29] You also do a bunch of other things, too. So what are some of those other things?

Tom: [04:35] I blog regularly. I used to blog five times a week. I write every day of the week, but I only publish three times a week. I enjoy reading, sometimes fiction, sometimes nonfiction. I enjoy jumping on trampolines, not as much as I did when I was a child, and I don’t even have a trampoline right now, so the neighbors get really upset if they see a grown man jumping on their trampoline. And then I also play guitar. Well, they shouldn’t leave it in unfenced in backyard, but that’s another… Anyway, also, I am very, very much into music to the point where, in high school, I almost forwent college because I wanted to be in a band and thought, “I could do this.” And as it turns out, that did not align with the goals that I had set for my life, so I still play and jam with people, and I have played with other bands kind of around, but right now, it’s pretty much just me hanging out at my house jamming. And in all seriousness, I will put videos of that on Instagram at the time of the recording. I’m taking a month off of social media so everything I’m either logged out of or it’s marked as private. So there’s nothing really going on in my social stuff right now.

Aaron: [06:02] You actually had goals while you were in college or before college?

Tom: [06:11] Now, I could totally joke about this. In all honesty, so we had an Apple IIe when I was a kid, but I was a little too young to fully grok the technical aspect of it. As a hobby, my dad was an amateur radio operator, I was very interested in that. Very interested in electronics, got where you could build a transistor radio as a kid, got a kit for that when I was a kid. And then we got our first computer, I believe in ‘93, April of 1993. And I was immediately intrigued. Prodigy was our first Internet service. I don’t know if either of you used that, but I used it to…

Aaron: [06:52] I knew it. But yeah, yes.

Tom: [06:55] You are aware of it. So we had Prodigy and you had, I guess the equivalent of channels or boards, kind of like bulletin boards on AOL. Then we moved to AOL. And anyway, I lived out where we had fourteen four K and then we got twenty-eight eight, then we got fifty-six K but the fifty-six K was what stayed for a while. Then we had cable but it was only down so it was cable down and then phone up.

Aaron: [07:31] Weird.

Tom: [07:32] So gaming was out. But yeah. So starting back in literally 1993, I was nine years old. I had an insatiable curiosity of how is what I’m seeing on the screen getting there and how is it responding to what I’m entering on the keyboard? How is it knowing to paint these colors? How is it knowing to draw this material? How does this machine work? So the short of it, because this carried me all the way through to high school and all the way through to college, was I want to do something with computers. And then as I got more and more into learning how to write code and things like that, I wanted to write software for a living. And so I am one of the few people in my friend group, peer group, what are the cool kids saying? Squad? I’m one of the few people in my squad, I went to school, knew what I wanted to major in, I majored in it, got out of school and then pursued a job in it and haven’t changed careers sense. And I have learned that that’s an exception to the rule. So I don’t take it for granted.

Aaron: [08:49] I totally agree. I get it. I kind of had the same type of background so I knew when was twelve, I built my first computer and I knew from that point on I wanted to know how to do that stuff.

Micah: [09:04] He was too broke to be able to afford one he had to built his own just from spare parts he had laying around.

Tom: [09:12] But there’s truth to that because it is cheaper to build your own. I will say I cost my parents so much money destroying things as I was trying to figure it out. But once you get it figured out, then you start modding Xboxes and then you’re the guy at school who has a DVD-RW and a couple of hard drives in your Xbox and you’re playing Super Nintendo emulation. I mean, it spirals.

Micah: [09:51] Yeah. I thought it was fun that you said, I don’t know if it was really your first computer, but you said you had an Apple IIe. That was the first computer that I had as well, and ended up writing my first program in Apple BASIC on that. I think it was a number guessing game but nothing too complicated.

Tom: [10:09] I did learn a little bit of BASIC on there, but it was line ten, do something, line twenty, do something, line thirty, go back to ten. So I am a professional, always have been.

Micah: [10:34] So tell us a little bit more about your company and how that got going, and how big is it, who’s involved? All that kind of good stuff.

Tom: [10:48] Yeah, for sure. So my company started out when I was in college, actually. I formed an LLC. Now, I grew up in a family of… my dad is in the construction industry, commercial storefront industry, but he’s self-employed and I am not at all interested in that industry clearly because I’m sitting here in front of a computer, not working on a storefront and aluminum frames and whatnot. But this entrepreneurial itch, and I use that term carefully because I do think that a lot of people will call themselves an entrepreneur and I don’t want the attributes that are currently ascribed to that title to necessarily be ascribed to me. I just knew early on, “Hey, I could get paid to do work that I enjoy doing. That’s what a business is so let me go from there.”

[11:45] So I had the advantage of having my parents be really good examples of how to do that. So anyway, in college, I set up an LLC, formed the whole articles of organization. So in college, I set up my LLC and I went through the whole process officially with a lawyer, drew up articles of organization, things like that. And then anytime I would do custom work for anyone, so in school, I was doing assembly and C and then moved up to Java and then Ruby on Rails. And then my first job out of school, and we can talk about this in a minute, was in TimeNet, but I was building websites with some CRUD operations between PHP in MySQL.

[12:47] And then I just had a small group of customers that I worked with. And then I worked for a large company here in the Atlanta area for about three and a half years as a software engineer. And then a team lead doing .NET development. And it was a fantastic job, but at the same time, you’re young, you’re working in. I was married at the time. We didn’t have children. Well, I’m still married but we were married at the time and we didn’t have children. So I’d come home and then I would do my contract work. And as the contract work increased, I felt that it was the time my wife and I made the decision that now’s the time to make the jump to self-employment. So I did. And from there I was doing custom web applications in Ruby on Rails, PHP, MySQL. And then also just building out websites, permitting I could find a halfway decent designer because I am not. And then through WordPress, which I was using at the time, and we can talk about my history with that later, too, if it comes up.

Aaron: [13:58] Yeah. What year are you talking for using WordPress?

Tom: [14:02] So I actually started using WordPress, well, I tinkered with it in 2003. I started using it as a blogger in 2005 and then I began to do some light customizations here and there because I was familiar with how PHP and Apache and MySQL all fit together and started doing some minor tweaking here and there. But I was using WordPress as a blog, just to blog, and basically as a public notebook of “Here’s what I’m learning as a computer science student and here’s what I’m learning now that I’m in the real world with this degree. Here’s the difference. Here’s what it like. Here’s what I’ve learned.” Just different things like that.

[14:41] And then people begin to want WordPress customizations. And then I also began to notice around 2007, 2009, in those two years begin to view WordPress as a foundation for web applications. I don’t want to say framework. I don’t see it as a framework. I see it as a foundation. And so I took that and said, “Okay. I’m going to basically double down on WordPress. I’m going to forego Ruby on Rails and everything else and I’m going to go with this.” And so I said I’m going to be building software on WordPress. And then thus Pressware.

[15:22] And then as far as the company (inaudible 15:24) currently have a contractor who works with me regularly. He currently lives in Mexico, though. He’s one of the nomadic types. He’s from the UK originally. His name’s Toby Chappelle. And then Carl Alexander, who lives in Montreal, works with us every now and then. And then I’ll also have a… assistant is not even the right word. I like using the term operations who helps me with email and invoice and all of that. Kate Derosa. And so they all work with me to keep the business running.

Aaron: [15:58] Cool. So I always like to ask, and I know that you’ve done a lot of articles, and whatnot, on training and teaching other people to become better developers. What would you say would be the advice you’d give to somebody who’s a new developer who’s trying to learn, as well as a more advanced developer who’s trying to become better?

Tom: [16:29] That’s a good question. But I do think, because of the nature and the state of WordPress as it stands right now, I would follow it up with a question of, well, are you interested more in building server side with a light bit of front end or are you interested in primarily building front end that might call into a provided API or something like that? And then from there I would offer advice. So if you’re looking for, essentially, a theme developer or someone to do child themes or someone to build out with some custom templates, then I would say it’s important to understand the template hierarchy. It’s important to understand, and this, what I’m about to say is actually relevant to both, it’s important to understand, out of all the hosts that are out there, you should know the database system or the database server and the version on which you’ll be working.

[17:29] And the same is true of PHP, although that’s a little more important for server side developers. And then also to really understand the template hierarchy so that you can build really clean front end templates because the templating, there was a lot of templating engines out there and WordPress, as you guys know and anyone who’s listening, has template tags. WordPress offers template tags, not necessarily an engine. And it’s important to understand the difference in say the underscore ID function versus get the ID. And then it’s very important to understand your escaping functions and why you would want to escape data coming from the database. And then I would also say as far as JavaScript is concerned, I think that if you lined up ten people who worked in WordPress, you’d get a different answer on this.

[18:23] I would say it’s important to understand the JavaScript fundamentals and then it’s important to understand and know how to work with jQuery because what jQuery does is included with WordPress and if you want to have your work maintainable over time, I think it’s important to stick with the tools that are bundled with what you’re doing rather than diverging too far. And then also, as far as CSS is concerned, even Vanilla CSS is still fine. I am a big fan of SASS because I think understanding variables, mix ins, and all these terms basically, like functions, things like that, that allow us to build more modular CSS that you can conceptually map a JavaScript file and a SASS file and then a template and you can name them all something similar, organize them something simple then use a build tool in order to put it all together. Now, I could answer the other side of the question for server side, but I also feel as I’m going on quite a long time just about front end alone.

Micah: [19:30] So any high level outside of languages and that kind of thing. I don’t know. What was the biggest thing that was most influential in your learning how to code well, I guess?

Tom: [19:48] My background is in object oriented programming and some people will live and die by the argument of you should be an object oriented programmer or you should be a procedural programmer. Object orientation works much like how my mind does. So that is why I very much like it. And there are other advantages to it but that isn’t to say that I dislike procedural programming. Now, you can write procedural code in WordPress and there are a ton of plugins that are written procedurally and there’s a ton of plugins written in an object oriented fashion. And then there’s also these weird hybrids that are out there. So I would say, if I had to starting at ground zero, the best advice that I could give is to, A, talk to other people who are already immersed in the WordPress economy and find out who are the people you should be following.

[20:46] Because if you don’t do that, you run the risk of starting off already setting yourself too far behind the finish line because you’re going to be following someone who may not be espousing good advice or who may be teaching things that are not necessarily the way that you will, that are not necessarily good for scalability or maintainability. And then from there, if a person is willing to answer questions or just hop on a call with you and do some consulting for just an hour or you can just pick their brain, I think that’s important. And then also gather a set of blogs. Now I’m someone who still subscribes to things via RSS. So people do twitter lists, whatever, what have you, but make sure that you’re reading, both source code of the other things like Github or just other plugins that you like. And then also talk to other people and don’t be afraid to ask questions. The worst thing that can happen is someone will say… well, the worst thing is they just don’t answer you. But the other thing is they may say, I don’t have time right now, and then perhaps they can schedule another time to talk with you.

Aaron: [21:56] True. And I’ve always heard that if you’re looking for a code mentor or a mentor in general, you never actually walk up to them and say, “Will you be my mentor?” You always say, “Hey, do you need help with X, Y, Z? I’m excellent at this. And maybe you could show me a little about what you know.” And I think that works pretty well.

Tom: [22:16] I agree. I think that’s a really good point because people see the value in mentorship, but no one sends out and says, “Hello, I am prepared to be (inaudible 22:32). No, no one evangelizes their desire to be a mentor, unless you’re in the business of mentoring, which is what you’ve seen in a software craftsmanship movement, but yeah, it’s going to someone and saying, being proactive, “What can I help you with? This is where I am. What is something I can help you with, not only to benefit you, but also to learn?”

Micah: [22:58] Yeah.

Tom: [23:01] Well…

Aaron: [23:04] I am here. So you guys were having a good conversation about stuff, and I feel like I know that you guys are much better developers than I. The plugins that I’ve written and stuff are relatively simple, relatively I’ll say low key. But I’m more procedural than object-oriented, but I always try to learn from people that are smarter than me. In the WordPress community, there are a ton of people that are willing to teach, and it might not be going up and saying, “Will you teach me? Will you make me awesome?” But there’s a lot out there for you to be able to learn. But question was, so trying to follow a little schedule here, your competition, so I know that you’re in the Atlanta area, as all of us are, but what sets you apart as far as competition? Well, I guess we don’t want to cover that, but what sets you apart from your competition that’s out there?

Tom: [24:28] So my answer to this is I don’t know if it’s unique or not. I know that when you talk to business people, they often times will say, “Given this market, we have this competition and we need to be able to generate leads, and from there, have customer acquisition, et cetera.” And I understand when you’re at a certain scale, that’s how you have to operate. But for me, the way that I try to position the business is, A, I want to be able to deliver high-quality solutions, I’ll talk about that in just a minute, to the small business and individual. Hiring developers to work in-house can be very expensive, and that is not necessarily a bad thing, but there is overhead that comes with hiring as human capital, as they say.

[25:27] So I try to position myself as, “Why not just contract Pressware to be your development department?” And then I will go through the process of explaining the advantages as to why and then what I can bring to the table. And now in terms of what I can bring to the table, this is where the high-quality comes in. Now, I will say that first and foremost, I am always learning. I am trying to work with people who are more educated than me or smarter than me so that I can learn from them, like you guys have said. So there are times where using the latest and greatest technology is great for learning and there are times where you’ve got to be a little more pragmatic and that’s just the nature of working within a budget.

[26:18] So with that said, to me, high-quality implies it worked for the user, it meets the requirements that they want, but not only does it meet the requirements they want, you have an ongoing discussion of what’s been done or what is intended to be done. You have small feedback loops such that you’re able to make sure that you are delivering what they had expected or what they were thinking, and if not, you’re able to course correct without having to throw away a chunk of code that doesn’t work or it doesn’t work as a requirement was stated. And then also there’s a level of testability. I’m very much about unit testing but not in the sense of TD like red, green, repeat, and get 80% coverage. I think it depends on the project, but I do have parameters that I say, “Okay. I want to have this much coverage over these particular classes.”

[27:19] So for example, anything that interfaces directly with WordPress, like menus, custom post types, taxonomies, meta boxes, etc. I don’t unit test that because that’s interfacing with WordPress core. That’s not really part of the problem domain, but when I have factories or I have models and repositories and things like that, anything that’s operating on business logic, I unit test that and then I will put in certain tools that will sniff and lent and run the tests on the code before I even committed to Github or to get wherever the repositories may be. So that it says, nuh-uh, you got to fix these problems before you’re even allowed to commit this code. So there’s that level that I’m consistently striving to get better at doing when building solutions for other people.

Aaron: [28:12] It’s interesting.

Micah: [28:14] When you’re working with a bunch of contractors, I would imagine that’s extremely helpful because then your quality controls almost built in outside of, obviously, I’m sure you review…

Tom: [28:24] We all do code reviews of one another and we make sure, if the project’s large enough, we add an extra level of continuous integration. So we will have the tooling running on our own machines, but then also on a virtual machine through something like Circle or CircleCI and have it determine whether or not a branch can be merged.

Micah: [28:49] Got you. Yeah, that’s always fun. I always enjoyed doing a lot of that kind of work. Aaron, you were trying to say something earlier. I interrupted you.

Aaron: [29:05] Yeah. I’ve got a quick question. So I have a little Rails background, too. I’m one of the people that’s just a self-taught PHP guy that was building websites using HTML. Then the person says, “Hey, I need to do a forum.” So okay, how can I do that? And then so I’m like, well, PHP will work. So I learned some PHP. But I got into Rails and I loved the test. Man, I can’t even think of what it’s called. We would use Cucumber and use Selenium to do some user testing and whatnot and that I feel it’s lost in the WordPress community. I don’t see too many people actually doing testing. So that’s cool to hear.

Tom: [29:57] There’s a handful of people out there that they’ll talk about it. You see them talk about it a little bit on Twitter. You may hear them talking about it at WordCamp, but testing is just, for whatever reason, even though we know it’s something that can provide a level of quality with our customers, it’s not exciting to talk about because nothing happens on the screen when a test passes. You don’t press a button and something cool happens. But so in Rails, yes, Cucumber and Selenium, and with JavaScript I believe there was QUnit. And then, let’s see. I did use Selenium. However, now there’s Behat which is behavioral testing. So you can write behavioral tests for your browser that way. Selenium is still out there and doing its thing, but because I tend to stay on the back end, I’m usually using PHP units.

Aaron: [30:59] Interesting. That’s cool. Micah, I’m going to hand it over to you, my friend.

Micah: [31:07] Sure. Yeah. I’m a bit of productivity, always trying to learn more about productivity and you seem like a very productive person. So I’m going to ask you, what does your average morning, day look like for you? What habits do you have in place that help keep you on track and moving things forward?

Tom: [31:32] I’m also one of those people who is big into productivity, to the point where sometimes I think we try to be so productive that we end up being anti-productive. So for me, my typical morning is I get up and I’ve been trying to get up a little bit earlier every morning. I set my alarm ten minutes earlier. Now, there is a limit to how early I want to get up. “I just went to bed at 1:15. I guess I can’t sleep now. So back out of the bed.” No. But now that we have two girls that are six and four and since I work from home, people will always be like, “Well, how do you not do the dishes and how do you not go play games?”

[32:25] And to me, well, I got my office and I have work to do. I got to provide for our family and I enjoy what I do. So there’s that. So my typical morning is I get up, if the girls are downstairs, I go and say hey to them, if they’re upstairs, say hey to them. And then, I will usually start off the day by just drink water and coffee. I normally drink a big glass of water and then I drink, I’ll drink coffee, I write a blog post, I answer all the emails from the night before and then I’ll do any kind of outstanding menial tasks that might need to be done. I believe it was Mark Twain that said this, although I think I’d have to look and see. There’s some debate as to who may have really said it, but it’s this idea that is called swallowing the frog, which is if you swallow the frog the first thing in the day, then you can’t go anywhere but uphill because you’ve done the worst first.

[33:27] So I try to take care of all of the things that I need to take care of. Now, here’s the thing, I enjoy writing. I don’t mind communicating with people via email, but there are certain administrative tasks that I need to get done that I don’t necessarily like doing because it’s not writing and it’s not programming, it’s not talking to customers and it’s not working in or on the business. So I try to knock all of those out and then I will normally, right now, I will go for a run. Every quarter or so I mix up the type of workouts that I’m doing, but right now, I’m on a running kick. That doesn’t even make sense, a running kick. I’m not running around the neighborhood kicking things. So I go for a run.

[34:08] And then I set goals for myself in terms of I want to run X number of miles per month. And then per week or every two weeks, I want to be able to get my average mile speed at a certain point. So I’ll do that. And then after I’m done with that, I come back and then it’s pretty much focus the rest of the day on programming and project based related tasks. There are times where sometimes you get so close to a problem that you got to take a break. So I might pick up the guitar and mess around with it for ten, fifteen minutes and see if a solution doesn’t come to me or try to tackle the problem a little bit. Sometimes I’ll go downstairs and I’ll talk to Megan and I’ll say, “Okay. I know that you’re not going to have any idea what I’m talking about.”

[35:01] I mean, she’s tech savvy, but at the same time, if I just drop like, “Okay. I’m working on this thing, I’ve got the model going, I’ve got the factories going, I’ve got the client communicating with a third party API but something isn’t working right. And I got to figure out why.” And so I just start spouting off all the things and doing, basically, a think aloud session and then talking to someone who just listens is as far as I can tell, I can say, “Oh, I got it.” And then I’ll walk upstairs. She hasn’t said a word and then I will come back upstairs and continue working. I try to end the day answering any important emails. I don’t necessarily try to get to inbox zero as some people will try to evangelize things. “This is what you should do by the end of the day.” But anything that’s critical.

[35:45] And then at night, it’s dinner with the kids. They get their showers. We have our whole nighttime routine. And then sometimes after that, Megan and I may watch a show together. She’s a voracious reader so sometimes she just will read. Sometimes I’ll read. Sometimes I’ll do something with music. I used to work, but I try not to work anymore if the girls go to sleep. Or I’ll watch a TV show, and by TV show I mean something streaming. And I’m very much into thriller and horror, so I’ll watch shows like that, and by horror I don’t mean we’re just going to gratuitously show blood or gratuitously remove somebody’s body part. I mean psychological thriller, things like that.

Aaron: [36:32] Thank you for clarifying. I’m glad we didn’t start off with that.

Tom: [36:38] This is why I’m a professional and I am an Instagram influencer, and why I was never able to get a good following on Pinterest. I got banned on Pinterest because I was taking pictures of the shows.

Micah: [36:50] I haven’t found anyone on Pinterest who’s been really good at posting horror photos.

Tom: [36:56] No. I have found that Reddit might be a better place for that. I’m kidding. I mean, it might be, but I don’t go looking for those. I read the Creepypasta stories.

Micah: [37:10] Well, you are a professional, so I just take everything at face value.

Tom: [37:14] Whoever listens to this podcast, if English is not their primary language, I’ve got to be clearer of what I’m joking because that has not always translated well.

Micah: [37:27] Awesome. Well, this wouldn’t be the WP SquareOne podcast without asking you this question. If you had to start back at square one, what would you have done differently?

Tom: [37:40] Oh, wow. Is this assuming that I’m starting at square one also with the level of knowledge that I had at the beginning or with the level of knowledge that I have now?

Micah: [37:52] I think it would be either one would be fine. I think I would probably maybe prefer given what you know now because I think a lot of people who are listening could take from what you know and maybe avoid certain things.

Tom: [38:14] Yeah, for sure. So if I had to go back to square one and I said, “Hey, I want to start a business that’s going to be based on WordPress.” What would I do differently? The first thing is to make sure I am surrounding myself with podcasts, blogs, and people if time allows. There was a time where I was attending meetups and WordCamps all the time. As life has gotten more complicated through other responsibilities, I’ve had to change priorities a little bit, but it’s always very easy to have people available on, say Twitter, although that’s a maybe. But then having people that you are aware of who are writing good content or sharing code, who are explaining the rationale behind why they solved a problem a certain way and how you might want to change it.

[39:14] I think it’s important to have the codex or the developer handbook always handy because you may think, “Oh, man, I got to write this query,” and then you find out that it’s already been done, and sometimes, interfacing directly with the database works great. And maybe that’s what you need. Sometimes using a built-in function or a built-in API is a better, safer way to go. So having those kind of resources open and remembering to use it is important. The WordPress stack exchange is pretty good. There are some very smart people answering questions on there. Sometimes people will look at them and say, “This answer is so ridiculously long. I don’t have time to read this.” Well, yes, you do. I think that you do have time to read it. If you don’t have time to read a good answer that will help you become better as a developer, then I question whether or not you really want to become better as a developer.

[40:20] Then I also think I would have a solid business book available and I don’t necessarily mean a business textbook or necessarily a bone-dry economics textbook, but something about the importance of having (inaudible 40:40) an accountant and having a CPA, understanding the different types of corporations, at least as far as it’s concerned in your country, and then how to manage the money coming in and how to manage money when you need to pay yourself, getting contractors, how you need to handle expenses, what you can write off, what you can’t write off, things like that. So that you’re basically all above board. I try to run my business the same way that I do my personal life—integrity, honesty, all of those. No one’s going to sit there and attribute negative things, but I’m dishonest in my personal life, but I’m really honest in business. So you really want to (inaudible 41:20) business because I’m a professional. But you get what I’m saying.

[41:29] I think it’s important to have parity in how you are at work and how you are at home or with your friends because you have less to really worry about. You’ll hear sometimes people saying things like, “Always be selling.” I don’t know. Sometimes I think blogging and showing your work and helping other people, maybe that is a method of always selling, but I don’t have that mindset of constantly trying to sell. It’s just trying to do good work, trying to solve problems for good people in a good way, and then also just if there’s future work, let them know that you would be honored to work with them or that you’ve enjoyed working with them. And if you don’t want to work with them again, finish the project and thank them for the opportunity and go away. Go away. Change your email address.

Aaron: [42:23] Awesome, Tom. Well, thank you. How can everyone get ahold of you? Obviously at Pinterest, right?

Tom: [42:30] Yes. Pinterest is the number one way because no one’s following me there. It’d be very easy to follow me on Pinterest. But more seriously, Twitter when I’m on it. I tend to take time off of all social media about once every two or three months as a detox. But Twitter, it’s my name @tommcfarlin. That is probably the best way. Or the contact form on my website, tommcfarlin.com/contact. And then I try to respond to every email. I do get quite a bit of spam or quite a bit of solicitations. I read it all. I don’t respond to it all. But if it’s genuine question, absolutely I’ll respond. And then just chatting with me on Twitter. I tend to respond to anything that’s not, “Hey, go check this out.” And if someone says, “Hey, can I get your eyes on this?” That, to me, falls under consulting so you’re not going to see me going up to someone, or if you paid me and say, “Hey, code review this, please, and then let me know what you think.” Well, let’s talk a little bit about that. So Twitter. In all seriousness, I’m not an influencer by any stretch of the imagination. I’m not an Instagram influencer, but if you’re into seeing just random photos, some silly, and some videos, a lot of guitar clips, I’m on Instagram, same handle, @tommcfarlin.

Aaron: [43:54] Awesome. Well, thank you, Tom. I appreciate it.

Tom: [43:57] Absolutely. This was fun.

Aaron: [44:00] And I will see you around hopefully at a local meetup soon.

Tom: [44:05] Yeah, maybe. I mean, yeah, who knows? It depends on the schedule.

Aaron: [44:11] Alright. See you, man. Thank you.

Tom: [44:15] Alright, later.

Leave a Comment