Part Two: Brianna and Andrew Norcross Talk About Entrepreneurship, Learning a Language, and Defending Wordpress
Published 6/10/2015
Brianna and Andrew Norcross are a powerhouse of a couple. They started Reaktiv Studios, a WordPress-focused agency based in Florida. I spoke with Brianna and Andrew about how they have learned to work together as a married couple. If you missed it, make sure you check out Part 1 of this series.
Follow Reaktiv, Andrew, and Brianna on Twitter:
- Brianna: @sarcasmically
- Andrew: @norcross
- The Studio: @reaktivstudios
Make sure you tell them @DeveloperTea sent you.
If you're wondering what kind of WordPress work these two are involved in, check out Nextdraft Newsletter, developed by ReaktivStudio's and mentioned in today's episode. It might help to know that they are an official service partner for WordPress VIP. So, yeah, they're legit.
Check out ReaktivStudios.com to learn more about what Brianna and Andrew do every day!
Vote for Developer Tea in the 16th Annual Net Awards! Go to http://bit.ly/votetea to vote for Developer Tea now!
Transcript (Generated by OpenAI Whisper)
Hey, everyone, and welcome to Developer Tea. My name is Jonathan Cottrell, and today I am continuing my interview with Brianna and Andrew Norcross. Brianna and Andrew head up Reactive Studios down in Florida, and I was so excited to have the opportunity to talk to them about the work that they do together and about entrepreneurship and about WordPress and tons of other interesting things. If you didn't catch the first part, make sure you go back and listen to that at some point, and also subscribe to Developer Tea if you don't want to miss any future episodes. You can do that in pretty much any podcasting app. Of course, there is an RSS feed and show notes and tons of other episodes of Developer Tea on developertea.com. I hope you enjoy the second part of the interview with Brianna and Andrew Norcross. Brianna, Andrew, welcome back to the show, and thank you so much for being on Developer Tea. Thank you for having me on Developer Tea again. It's like deja vu. In the last episode, we talked about what Reactive does. We talked a lot about you guys' relationship together and... Work-life balance, the lack thereof. The mystical or mythical work-life balance and how to achieve it when you love your work. You feel guilty sometimes, I think, or at least I do. I feel guilty because I'm so excited about my work that I'll work until it's time to sleep. Yeah. I did that for quite some time. I mean, there was a period where I worked far past the time to go to sleep. I mean, we still take a lot of separate vacation. Like, I'll take the kids up to see grandparents, and he'll stay home because we have two dogs who are old and busted and need attention. So I'll go take the kids. I think I saw on Twitter that all of your dog's teeth are now available for sale. Yeah. If you want any, let me know because that was very expensive. Yeah, they only took seven of them. That's like 25% of a dog's mouth. Yeah, that dog doesn't even know what to do at this point. Yeah, he's pretty bummed tonight, but he'll be okay. I also have a dog. That helps me keep my work-life balance in check because when I get home and my dog jumps up on me, it reminds me that I've been coding for too long probably or something like that. Yeah. Andrew likes when we go on separate vacations because then I know that he's going to be working like 13, 14-hour days. So it's like a vacation coming away from... And then she doesn't have to deal with me coding for 13 hours. Yeah, I'm trying to reset because that's one thing that we deal with that I've been getting better at is if I've been writing code all day, I can't just walk out of my office and all of a sudden be normal and dealing with human beings, especially children. I have to kind of take a bit of time when I'm done working in my office. I'll just read something or I'll just do a little bit here and there and just be able to talk to people, especially if I've been working and I'm pushing right up against the deadline or trying to get this one little bit done. Or there's an emergency that has to be dealt with and I just have to come out of my office, but my brain is still in the middle of writing a class. It's difficult for me to actually process dealing with people. So that's been one of the things from a relationship family perspective is like there are times where I have to tell her, I'm not in a bad mood. I'm just trying to figure something out because I'm really short. I'm borderline ignoring people. It's like, you didn't do anything wrong. I'm not angry. I'm just trying. My head is full. There needs to be a support group. That sounds so much like what Lauren and I go through. And it's really, really interesting to hear almost literally the same things that I do. I thought I was unique in that perspective, right? My brain is totally focused on this thing. And for example, today we had the bug guy, right? The guy that comes and keeps bugs away from our house. The exterminator. We're in Florida. Fully, very, very well versed in that. Oh, yeah. Yeah, I'm sure you are. So. We had exterminator come and Lauren stayed home in order to allow the exterminator to come and spray the house. And so I get home and I still have, you know, a project in my head. And she's talking to me about termites. And I'm still thinking about code. And she thinks that I don't care about the termites, right? Like for that. And naturally so because I'm completely devoid of any emotion about the potential of termites being in our brand new home. You know, like it comes across as if I don't care. In reality, I care just as much as she does. Yeah, it's it's it's one of those where I still catch myself at times. It's just I need like I basically put a buffer between work and then the world. Yeah, I think it was take 30 minutes and go away because these are children like I understand now. I do a lot. I don't take it personally anymore, but the kids are definitely going to take it personally. So it was really important to have that like check back in. It's like a virtual commute kind of. Interesting. You know what? That's actually really interesting because I have a friend that says that his commute actually gets him ready for work and also decompresses him from work. I've heard a lot of people who actually commute say that. Yeah, that seems to be the only benefit to a commute I could ever possibly think of. Totally agree with that. A hundred percent. Yeah, it's like a it is a literal context shift. Right. You know, it's also interesting, though, because on the flip side, she understands because we work together. She understands more. She understands more than anyone else would about my stresses. Oh, totally. Yeah. Right. You think about the common picture of the whatever you want to call it, the American family, or I guess even, you know, the international picture of the family. And the man comes home and is stressed from work. And then the wife wants to help, but doesn't have any perspective about what exactly is happening. So in order to help, the man has to explain everything that's happening. And by that time, the wife is completely fatigued by the story, trying to keep all the details straight. And like, what do you even do? There's no true empathy there because she or he sorry, that sounded extremely sexist of me. It works both ways. Right. So, yeah, you know, she has she comes home from work and explains to him her problems. And, you know, neither of them can totally understand what's happening because they are just completely out of the context. Frankly, that's why probably there's a lot of especially, you know, back in the day, but so much more now. I mean, not maybe not as much now, but especially, you know, historically, people would go to the bar on the way home from work and they would have a drink or two. Just to, you know, blow off some steam. But really, it was just to kind of unwind their head. So when they get home, they're in, you know, in a in a condition to deal with the home. You know, and while Brianna certainly has some empathy to to me and vice versa, because like sometimes she's in the middle of doing something, you know, the kids will ask a question and she's like, hold on, I'm busy. So then they just go and ask their question afterwards. Like it happened about an hour ago. You know, she was on the phone with the vet, you know, on the back porch with the door closed so there would be quiet. And one of them goes to open the door and, you know, flag him away. And he acknowledges that she's busy and then starts to ask his question, which I went inside and I asked him what it was. He couldn't remember. It was like four minutes later. Couldn't remember what it was. So, you know, it's one of the especially with the kids. It's like empathy is great, but, you know, like we still have to be parents. So there are times where I just have to buck up and deal with it and, you know, put aside whatever my, you know, just slap on a smile and, you know, fan interest if necessary. That sounds like terrible parenting. I mean, yeah. It sounds like it, but I think anybody who's been a parent understands. It sounds terrible to people who don't have children. But, you know, it works out pretty well. I said something recently in a talk that I gave about becoming a beginner. And I said that basically we are all beginners at something every single day, whether that's like being a beginner at it, being, you know, whatever today's date is. We are all a beginner. And anybody who is a parent right now, this is their first life being a parent. We are all a beginner. And anybody who is a parent right now, this is their first life being a parent. You know, like you've never been a parent before this time and you've never lived another life. So, of course, like you're not going to have a perfect way of dealing with every unforeseen circumstance. And I'm not a parent yet. But I hope that my my thinking on this is going to, you know, prepare me from feeling like I'm being an awful parent because I just don't know what's happening next. I mean, at the end of the day, if the kids are safe, healthy, fed and loved, you're winning because there are just so many who aren't, which is sad. But, you know, absolutely. There's nothing. There's no perfect. There's just just happy. Yeah. And I think that's kind of the theme of this entire conversation. Right. Like there's no such thing as perfect work life balance or perfect parenting. There's an approximation of what is good. Right. Nobody should be working 22 hours out of the day. That's right. There's definite rights and wrongs and everything else is a gray area. Yeah. Very interesting. Speaking of gray areas, WordPress. Let's do it. Ready. He's ready for fisticuffs. Yes. Yeah. Why don't you just defend WordPress for me for the next five minutes? I'm kidding, but only a little bit because so many people, especially. There's been a lot of bad mouthing, especially with all the XSS stuff. Yeah. There's there is so much negativity surrounding WordPress. And, you know, obviously some of that negativity has its roots in something valid. Right. But a lot of it doesn't. And I'd like for you as the resident WordPress expert. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. Right. it shouldn't be getting this bad rap. In a nutshell, WordPress is nearly 12 years old as a platform. And it's been open source since day one. It was forged from another open source project, which means like the code base is that much more, you know, it's been around along that much longer. There are some pieces of WordPress that have been in there since day one. And yes, some of the stuff under the hood is pretty ugly. Not a lot of it, but some of it, you know, as far as the security stuff. Yeah. I mean, it's, there have been some holes exploited, which exists, frankly, in any software. It's just when you run 20, when you're running on 23% of the web, that's a bigger hole. And, you know, beyond that, because it's a self-hosted platform and it is built to be able to run on, you know, cheap $5 hosts and there's nothing there, there, there's some things built in, in terms of security. I mean, there's a lot really built in security wise. And, you know, it doesn't force version upgrades and it doesn't force, you know, certain things because it is for, you know, it's your software. You do with it as you please. You know, from a developer standpoint, you know, it is a pretty liberate entry. I mean, yeah, PHP, people like to, you know, people like to shuddle over PHP. It works for Facebook. It works for quite a few other frameworks. And not only that, you know, it's really easy to write a plugin for WordPress, which is a great thing. You know, I learned development by, by writing code for WordPress. The bad side of that is that it's really easy to write code for WordPress. And, you know, it's very easy to write something that's, that is not secure, that is non-performant and it will ruin everybody's day. You know, not only just its own little sandbox, I mean, but, you know, developers can be very opinionated at times. I'm the first, you know, I'm the first one to admit that. I can be as well. I mean, just look at the, like, what is the JavaScript framework of the week, DeJure? Is it, is it React again? Good question. Or is it still Angular? Is it something? Ember? Is it Ember? Ember. Okay. I mean, like there's a, there's a drinking game, which you take a noun, you add JS to the end of it. And if it exists, you drink. And depending on where your mindset is, it could kill you because there's that many of them. You know, the, the idea that because it's old in software terms, it's, it's old, you know, it's not good. It doesn't follow true MVC, which I could care less. It doesn't use the latest and greatest because it's made to run in a lot of places. And yeah, I mean, it's, put it this way. I've been running WordPress. Code in some capacity for eight, nine years. I had one site that I ran and managed hacked once because it was on a dev server. I forgot it existed and it was five versions behind. That's my fault. That is not WordPress's fault. And, you know, for the people that complain, oh, it's insecure. The plug, you know, I mean, if you're installed, you know, you install these plugins haphazardly. You don't keep up your site. That is not the software's fault at that point. I mean, at some point, I don't see this happen very often is a lot of times developers. Do not take. They don't own their own mistakes. It's too easy to blame the software for a problem that you as an individual should or shouldn't have done. And I mean, like this, like I used Windows for a lot of years. And I know that from a developer standpoint, I might as well just put a big A on my forehead, you know, and walk out the door. Thing is, I never had a virus because I maintained my computer. You know, I knew what to do. You know, that's right. You know, it's same thing with software. You know, running running away. You know, people like to think that software, you just, you know, like WebSense. You build it, leave it alone and it's fine until you touch it again. And frankly, the modern web does not work that way. And, you know, if if you put, you know, you just leave your car sitting outside for a year and then you go to start it. You're like, well, why are the tires flat? And, you know, won't start. That's your fault for not running the car. It's not the car's fault for sitting there. Exactly. Yeah. And it's a twofold problem, right? Like one of the early rhetorics for, well, I guess not early, but one of the recent rhetorics for Mac was that it didn't have any viruses. Right. But as it has gained popularity, the Mac is vulnerable, just like a PC would be vulnerable if you don't take care of it, if you aren't paying attention to what you're doing. And the truth of the matter is the reason why Mac in the in the beginning had fewer viruses or fewer virus attacks pointed at it was because it just simply didn't have the market share that the PC had. Right. So it doesn't make sense for somebody who is trying to get the most damage to go after the smaller. Guy, if they can go after the bigger guy. Yeah. And frankly, most of your security stuff is going to be browser based anyway, which is that, you know, they're going to be man in the middle attacks are going to be XSS, you know, cross site stuff, which at that point, your operating system is irrelevant. You know, it's your browser. And yeah, if you're going to, you know, sites you shouldn't be going to and, you know, downloading, you know, wares and all that other garbage like that's your fault. It's very easy to blame the hardware, the software, the technology. Yeah. Because it didn't stop you from doing something stupid. And, you know, there's only there's only so much any technology can do to prevent you from being an idiot. And it's also possible that you're ignorant, right? Like that it's your fault, but you don't realize what you're doing. And so because you don't realize what you're doing and on top of the fact you're launching a website as easy as possible, which means you're going to choose WordPress. Well, now you have a recipe for disaster because you don't know what you're doing and you end up launching a website. With like three clicks and throwing, you know, a theme and 10 WordPress plugins. That's obviously a recipe for for a hack, especially if you tell that to a developer that is worth their salt. They will recognize all the problems with that equation. Yeah. Which none of them have to do with the actual software. I mean, that's the thing. It's it's, you know, the user as a user education is lacking. Right. And, you know, we're with WordPress with everything. I mean, how long did it take for people to understand, you know, looking for? Spoof sites and clicking stuff in emails, which people still do. And, you know, all these other things that entering their Facebook password on anything that looks remotely like Facebook. Yeah, exactly. And, you know, it's one of those things that, you know, again, it has nothing to do with, you know, that's not Facebook's fault. That's not, you know, that's not the browser's fault to a degree. I mean, that's your fault. And because of things like Facebook and other and certain other web software, people expect every part of the web to be dead simple. You know, hit this button. Hit that button and go. You know, I've built things in WordPress for for clients who hit two, three buttons and it goes. Are you familiar with the next draft newsletter? Yeah, I'm not. I don't think I am. You send me a link to that and I'll put in the show notes, though. It's done by Dave Pell. It's fantastic. I strongly suggest anybody subscribe. It's free. I built the site that runs it and it runs on WordPress. And one of the things that Dave's able to do, and he's done this for 10 plus years now, but he has a HTML file that he keeps up and BB edit. He puts 10 blocks of news in there. He has a single text field on the back end of WordPress. He hits one button and it creates all of the content in a standardized structure, sends it to an iOS app. He has one other button and it goes to MailChimp and it goes out to like, I mean, some ridiculously high number of subscribers. You know, WordPress can be two buttons, but, you know, it's also managed very well. I mean, people people will sit on Chrome and complain about not, you know, like, I don't want to update my software. It's like Chrome is updating whether you like it or not. Yeah, that's that's funny that you mentioned. And you mentioned earlier that, you know, there's some ugly stuff in the core of WordPress because it's been there for a long time or because, you know, if they change it, then the API is going to change and a bunch of users are going to get mad and leave WordPress behind. And so any change in WordPress is is a relatively long change. Right. So it's some of the best for sure. Yeah, their their their commitment to backwards compatibility is frankly, it's it's I've not seen another platform that. It's been around for that long that has grown the way that it's grown that has that. I mean, think about it. Angular 2.0, pretty much completely incompatible with 1.0. And maybe that's changed last week or two. But, you know, when they were announcing the 2.0 version of Angular, it was like, yeah, none of your 1.0 is going to work. Right. Yeah. And there was a big backlash against that. And that would be detrimental, I think, at least to WordPress, especially because the barrier to entry conversation. WordPress is so easy to get started with that if it becomes not easy for someone. Who is a beginner, they're going to leave it and go and find something that is easy. Yeah. I mean, if you know the barrier to entry for me individually was low enough that I could read other people's code. I could look at things that were already running and kind of work backwards and figure out how it all worked and what to do and then start tweaking and then start building and then start layering and kind of going from there. You know, I couldn't do that with Drupal. I could do that with, you know, with a Rails app. Sure. You know, I know enough JavaScript to get myself in trouble. I'm getting a lot better on that. You know that. That's been my actually kind of my focus for like the last year is getting a lot better JavaScript and not not a framework like just JavaScript. Yeah. I know at one point you talked about, you know, like if you were starting today, like what would you learn or like what would you suggest? I would suggest a language and I would say probably I would go JavaScript. If I were starting today, I'd probably do JavaScript. And then, you know, from there, go into some sort of server side language, whether that's Node or whether it's PHP, Rails, whatever, you know, start on the front end and then kind of work back. I would agree with that, actually. And on the note of the ugly stuff, you know, there's ugly stuff pretty much in every frame, unless it's a brand new framework that, you know, somebody is very dedicated to keeping the ugly out. Pretty much every framework has ugliness. For example, pretty much every patch release for Rails right now. And I develop in Rails. So this is, you know, as honest as it can be. Most of them are for security fixes. And that means that there was a security problem with Rails. You know, either somebody experienced it and reported it as a bug or some tests found out once it had already gone to production, you know, in a live environment on somebody's server somewhere. So you're opening yourself up to vulnerability when you are a human. Yeah. When somebody who is human has made something and it hasn't been tested in literally every possible scenario, there's still a possibility that there's a security issue. And it just so happens that because of that high exposure, that WordPress security issues are often failed. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. a lot of those old vulnerabilities are still out in the wild. Yeah, that's something that scares me is that, you know, there's a lot of, you know, frameworks out there of any language that have no update capability. If there's bad code out there, there's nothing stopping unless people know about it and are actively maintaining it, you know, from an individual level, it's still there. I mean, WordPress has a single button update. And it becomes the responsibility goes back to the developer. But if you're like a lot of other developers, you work on a project, and then the contract ends, and that person is, you know, moving on. And they don't necessarily have a developer on hand all the time. And so, you know, the question becomes, like, do you need to go back and contact those people and say, hey, I know I wrote code for you, and you paid for it, but you need to update and now you have to pay me more to update it. Like that's, that's a very serious difficulty that real clients and real people are facing every single day. Yeah. I mean, it's, it's one of those things where I figured it out in 2014, I wrote about two or 3000 words of content, and I wrote about 200,000 lines of code. That's pretty incredible. I like I don't remember, I clearly do not remember all the code that I've written. I don't remember all my clients over the past eight years, there's been code that, you know, plugins that I've released that I've, you know, let die, basically, I said, Hey, I'm not updating this anymore. It's no longer needed, or, you know, whatever. And frankly, if you're a developer, and you look at your code from six months ago, and you still, think it's the best, then you are not getting better as a developer. And that's kind of the spirit of this show is to encourage you to not be like that guy, and instead to constantly be improving, right? Like we have better in us as human beings, we can make a system that fixes this problem. There are ways to fix the entire internet having a big issue with WordPress. There are ways to fix that problem. Yeah, I mean, anytime WordPress shows up, like on Hacker News, which frankly, I don't read Hacker News anymore, because of, you know, numerous reasons, you know, everyone jumps in, oh, it's terrible. This is why and then they mentioned some, you know, some CMS that, you know, no one's ever heard of, or some people have heard of it. It's funny, if you look at that same thread two years ago, because it's the same thread every two, three months, really, if you look at one from two years ago, I'd say 75% of those CMSs haven't been touched by their developers, like there's no longer develop active development happening on it. So I mean, it's, it's great, you know, like, I've, I kind of deal with with those things the same way. Yeah. I deal with like a lot of the really, really cutting edge web stuff. Like, it's really cool. And I like playing with it. But I have a job. And like the cutting edge stuff that only works in the latest version of Chrome Canary, really rad, never could use it in production. And the closest thing you can do is, you know, find a find a polyfill or, you know, try to replicate that same behavior in another technology. And so you know, if you, for example, if you're really interested in WebSockets, or something, and you find a brand new framework that uses WebSockets, oh, you might want to reconsider using that brand new framework and see if there's something in a existing framework that implements that technology, the same underlying concept. Because if that framework goes, you know, dormant, if it has like a sunset, whatever they call it now, then you're kind of up a creek, like there's not going to be any stack overflow that's going to help you out, because nobody knows what you're talking about. Right? Yeah. I mean, there's like, there's certain things, especially like on the CSS, like, I'm not a front end guy, I do enough of it to get by. But like, there's some really cool CSS stuff that I would love to use more than I can. But because, you know, we deal with a lot of clients that, you know, that have either some of its accessibility stuff, which a lot of the JS frameworks don't really address very well. Or, you know, they do need to work on older versions of Internet Explorer, which, you know, whatever sucks, but you know, they're paying for it, you know, so like Flexbox, like, I can't use Flexbox yet, I'd love to be able to use that, that would, that would remove so much stuff. And yeah, I can add a lot of backfill, you know, polyfills and kind of back compatibility stuff. But sometimes I'll write it a little bit older, that works. And, you know, it's one of those things where, you know, it's, I don't want to always be chasing what's new, because I'm never going to get that good at anything, if I'm always learning the next thing, and not actually like deep diving into what I'm doing right now. I wrote a post about that actually, referring to tools and tool sets and how we have this obsession with, you know, trying to keep up as we always say, how do you keep up in the industry? And I think it's such a improper view of craftsmanship. And that's, that was the point of the post was craftsmanship. If you look at a blacksmith, and you look at the way they use their tools, how many times does a blacksmith change their tool set? Maybe once, because the old one wore out, right? That's the extent of them changing their tool set. Now, I realized that that's a completely different situation from the web, because we have a lot of different tools that are actually changing what we're working with. But fundamentally, to master a tool set, you have to stick with it for longer than, you know, a day, or longer than a week. Yeah, it's because I've done WordPress for eight, nine years now. Like I know, like I said, that ugly code. Yeah, I know where it is. And I know how to avoid it or work around it without having to do too much work. You know, it's not going to surprise me. And it's interesting, because I work with other developers every day, and we split our energy into WordPress and Rails. And there's always these, you know, differing opinions. In fact, one of the developers did something in Angular, and it was, you know, built on top of Rails. And so, you know, top of Rails using Angular. And, you know, I've been outspoken about my, you know, dislike for Angular, but I went and looked at it, and it worked. And it looks great. And I'm like, dude, that's fine. Like, there's nothing particularly wrong with what you're doing, you know, as long as it solves the problem, right? And so, it's been an interesting process of learning how to manage developers when I have my own opinions. And Brianna, you are in the process of learning how to manage a brand new team, right? You guys have grown. And I'm interested to hear kind of your insight on how to manage other developers, especially when they have opinions, and, you know, you have your own opinions. How do you merge those two things? Oh, well, I don't do a lot of the technical management, because I have no idea about code at all. I know that our partner, Josh, how he does things with our newest developer is, it's less enforcing his opinions on the new developer. It's like, sometimes they'll have the new developer do a code review on his stuff, so the new developer can see how he might do things and make suggestions. I don't think there's anybody who can't learn something from somebody else. So, it's not really so much like, you have to do it this way. It's like, well, what way would you do it if it makes sense, and it works, and it's either, I don't know what the quantifiers are for better code, is it more efficient, or something like that. But then we'll go with that and not force it just to be done a certain way. That's a great perspective to have. I think, it's always a trade-off, right? Because you guys probably wouldn't hire somebody that is working in not WordPress right now, at least, or somebody who is anti-WordPress, right? Yeah, that just wouldn't be a good fit for the things we need to get done. But our most recent hire has a high interest in Drupal, which we don't know anything about it, but that's great, because he's going to bring a whole new perspective. Yeah, and I think that is a really important aspect to remember. There's nothing wrong with, other frameworks being your primary interest, necessarily. But sometimes, even if it's good code, it may not be what we need to be writing in, right? So in the case of the developer who wrote Angular at Whiteboard, it's good code, but the question will be, does anybody else know how to write that? Does anybody else know how to maintain it? And luckily, he was smart enough to realize, this is a small enough example that it's not going to throw somebody for a loop. But have you guys experienced, you know, coming into a project and looking and thinking, wow, I have no idea what's going on here, because they're using, you know, a plugin, or maybe an entire framework that I'm just not familiar with? Oh, what was the one? Andrew, it started with a K. Was that what it was called? Oh, Kahana. Yeah, so we were dealing with a prospective client that had a huge site running on WordPress, we were told. The site had been out for a long time, had passed through multiple developers' hands, developer team hands, I should say. So you could clearly look at it and see, well, this group did this, this group did that. There was a whole lot of things that were done that may have been done correctly when they were done in 2009. You know, we dug deeper and we're like, we found, are you familiar with the PHP framework Kahana? I'm not actually at all. I've never even heard that. I only know what it is because a friend of mine was building something with it, but it's an entire PHP framework. It was inside of a plugin that they had written. Oh my goodness. I mean, it's like CodeIgniter or Laravel. Yeah. Like it's that level of framework, you know, clearly not WordPress, clearly no need for it to be there. Were they like even doing their own database stuff inside of that, like their own tables and that kind of thing? There were so many tables inside of the site that were no longer being used. I mean, we were fortunate we found out that like half the code that was being, you know, wasn't even active anymore. Oh man. It was just sitting there because nobody knew why it was there. So no one would remove it because they didn't know why it was there. And no one wanted to be the one that removed that one piece that made the whole house. Yeah. The part of the project is going to be unwinding all of that. I mean, it's going to be like a two, you know, it could be easily going to be a 12, 15. Yeah. It's like a 12 to 15 months thing. Yeah. And it's the first six months at least is going to be just unwinding everything. Just wrapping our brains around it. Boiling it down to what is it actually doing? Yeah. Cause it's, it's a media, it's a news media site. So it's not, it's not e-commerce. It's not crazy, you know, API stuff. It's, it's just something that everyone's going to be able to do. Everyone has built on top of, and nobody was like, maybe we should pause for a minute and clean this up instead of like, let's just push the garbage really, really flat and then build on top of it. The interesting piece of that to me about your relationship with the project, especially Brianna, is that you coming into this, like there's no transparency for you, especially as a non-developer into those problems, right? Like it's very difficult for somebody who hasn't been able to get into the code, to make a judgment call, especially about these legacy projects that we come into and suddenly like, oh my goodness, what is going on? Oh yeah. I mean, for anything that's not textbook and I, and I don't know a lot, but in three years I've learned the basics, not in coding, but just what to look like, you know, I can, I can ballpark it, but things like that, definitely. We have to get a developer in to act as a technical PM. And I'm just a PM who's just dealing with the client because I am not qualified at all for something like that. It's crazy. It's hard to know when you're not qualified though, you know? I just default to, I have no idea. And usually, I mean, so I've been shocking myself where I make a guess and then I just say, Hey, is this right or wrong? And they'll say yes or no. And sometimes it's been more yes than no lately, which I'm pretty impressed by. It's better. I found it's better to do it that way. It saves time instead of saying, what do I need to tell them? I say, do I tell them this? And then instead of them, instead of the developer having to write this huge answer, it's just, yes, that's right. Or no, that's wrong. And here's why. And there's some intuition that we have to eventually get to, especially for people who are non-technical, who are trying to either become developers or maybe they're in a similar position to you, Brianna. We have to kind of trust our intuition because there is a bit of intuition that goes along with actually writing code. So if it seems complicated, it probably is. Having just a kind of mental library, the longer I do this, the more projects I know we've done capably. And I know, you know, was it a nightmare or was it pretty easy? Mm-hmm. And nobody on the web really is doing something so original that hasn't been done before in some kind of capacity. So if somebody wants a membership thing and it sounds a little different, we've done a membership thing that it could be based off of. So I can estimate based on things we've already done. And, you know, as Andrew mentioned in the last episode, there's probably some code that you've written that's going to end up crossing over or being reused or whatever in those instances as well. So it helps kind of, you know, sort of, you know, sort of, you know, sort of, you know, sort of, you know, sort of, sort of, you know, sort of, you know, sort of, you know, sort of, you know, sort of, you know, in terms of what building blocks do we have already in place that we can kind of put together. We do. I mean, that's something that I think is a goal for the next 12 months is to get like a really decent, like a code library that we could sort by, especially for me, it would be helpful if I could say, have we done this before? And I go to our wiki and search like membership and I see what we've got or don't have. And it just has a brief description of what it is. I don't need the code, but I know that tells me we've done it before. And then for any other developers we bring on, you know, it was just a shared knowledge base, which is not only sadly is it great for profits because everything is more efficient, but everybody benefits. Well, that's enlightening. I really appreciate information about WordPress and also about, you know, managing developers and managing that uncertain kind of weird ground where you're trying to figure out what's wrong with something, or maybe you're just estimating a project and, you know, you have to kind of trust your, you have to trust your intuition and also pull on past experiences and make the best judgment you can and hope for the best after that. Right. Yeah. I mean, some of it is, some of it is just, just hoping that you did the right thing, but, uh, yeah. Which is like the worst thing for a developer. I know nobody wants to hear that, but, and Andrew actually, this is how Andrew got his start. Say yes, figure it the hell out later. Yeah. It's the, the method of jumping off the cliff and growing wings or whatever, building the airplane. I mean, the bigger your clients get and the bigger the liability becomes, if you were to mess it up, the less you can do that. But it's a good way to get your foot in the door. Well, let me ask you guys the final questions that I always like to ask my guests. And, and this will be a really interesting version of this. If you had to speak to a beginner developer or an experienced developer, and you only had, you know, 30 seconds, uh, to give them some advice. I know, Andrew, you mentioned to tell them to learn a language and specifically to learn JavaScript. What other advice would you, and also Brianna, would you give to, uh, to any developer, if you had just 30, 30 seconds, I would tell them to think of the problem from a totally inexperienced user's perspective, because I am a totally inexperienced user. And so when I'm testing our group has, has me test things because you know, I'm the village idiot. If it's good for the lowest common denominator, it's probably good. That's good insight. Everything that I've learned is because I'm already, I'm trying to get an outcome. And that really seems to help focus on learning how to do something. If I'm learning something with no, no desire to, you know, no preset or expected outcome, it's like, Hey, I learned something and I don't even know what I learned and I reuse it again. Uh, the other thing is don't plan on sleeping for a while. You know, like this is not a nine to five for the beginner or for the experienced developer. Yes. Yes. This is not a job that at least my own experience and the experience of everybody, literally everybody I know that does this, this can't be a job that you just, you're okay with. Like, if you don't want to do this, you're not going to do it because there's, there's times where you're going to be going through and you're going to be looking at it. Like I'm, I'm an idiot. What is happening? Why don't I, I clearly don't even know how to do math anymore. I feel like I'm so dumb. Why can't I do this? And then you're like, I clearly have figured out and solved all the world's problems right now. And it kind of goes back and forth like that three, four times a day. And you know, it's, it's not, not for the, I guess not for, I don't want to say faint at heart because there's, this is not a difficult job in that regard. But from a mental standpoint, you know, like you have the want to do this. Like this is not a, this is not a job you take until you figure out what you want to do. This is a job you do because you can't fathom doing anything else. Yeah. Even though you're at a desk, this is not a desk job. No, I mean, I worked for 10 years in banking and finance and you know, the last few years of it, I was a money manager. I would never ever go back to that line of work ever again. I could not fathom doing anything other than what I do now. Every time I think about any other job, I was like, I'm just like, I kind of shudder. I was like, I, I really hope I can keep doing this for a living because if not, I'm going to be a failure. I'm going to be a failure. I don't know what I'm going to do. It has to be kind of an obsession. Pretty much. Most people that I meet that are successful developers, they become really hyper obsessed with the process of creation using code. And it's very much a journey. It's emotional and it's, you know, it's very difficult mentally and you have to have a lot of fortitude and be willing to fail a lot and be willing to, you know, look at your successes and move past them so that you can succeed again after you fail a bunch again. You know, it's, it's totally a, rollercoaster of a job and you go everywhere like in the world, in your mind, like there's so many different things in a given day that you're thinking about. It is not the same thing every single day. In fact, it's quite the opposite of that. Yeah. Well, that's great advice. And I think this has been just such a really interesting and different two episodes of Developer Tea. I think you guys are providing a lot of value to the, to the people who are listening and, you know, real world experience and real world stories. And, uh, it's such an interesting, different relationship that you guys have from the average conventional wisdom and a different relationship that you have with your work. And so I really appreciate you coming on the show. Thank you so much. Thank you for having us. I really appreciate it. It's been fantastic. So if people want to find out more about what you guys do, where should they go? They should go to reactivestudios.com. Awesome. And you both have, or at least I know Andrew has a blog that he does development writing on. Very occasionally, like I'm very bad at keeping up on that. I mean, really we are both very Twitter prolific, if anything. We don't have Facebook at all. Okay. There you go. And I use Twitter now. I will say that absolutely. Like it could be an HR violation. It could, may want to look at it on your phone by yourself, away from other people. Um, I try to keep the dark stuff only at night. You know, I don't want to ruin anybody's afternoon, but. After hours. Yeah. I mean. Late night with Norcross. Oh, it's yeah. It's something else, but I mean, I used Twitter before I ever started being a developer, so I didn't have to worry about any like filtering of myself. And after a while it's like, well, I can't start now. Not that I want to anyway, but that's really where it had, you know, I'm on Twitter. I've, you know, my website that, you know, I update once a year, my latest blog post was about how to make a sleeveless t-shirt. So, I mean, there's really groundbreaking content. Yeah. I mean, I wrote a, I wrote a plugin to pull in all my gists from GitHub, which is how I keep all that code updated. I don't, yeah, it's all automated. That's the joy of being a developer. Never underestimate my ability to over-engineer a problem. Yeah. That's, that's good. I appreciate that a lot. I've been doing some similar over-engineering myself, so. It's a lot of fun. You learn a lot through over-engineering. That just reminded me of last night. I don't know if this was like even just a more of a personal anecdote. Andrew was trying to fit this tall two liter in the fridge and he spent seriously, babe, it was like maybe nine minutes trying to figure out how to move this part in the fridge so that it could stand up in there when you could have just laid it on its side in about 32 seconds. Yeah. But that is not the point. Not the point. No, but that is just such a classic thing that happens in our household, the over-engineering. Oh yeah. I do very similar things. I had to find a way to make my little raspberry pie play music. I didn't care that I could play music from my iPhone through my Apple TV because that's not the point. The point is to make my raspberry pie play the music. Yeah. I'm a big fan of making things harder than it has to be. Totally. I'm a big fan of making things harder than it has to be. Totally on board with you, Andrew. I understand. This has been great. Thank you so much once again for being on the show. All of these links will be in the show notes. Thank you so much, guys. Sure. You know where to find us if you need us. Thanks so much for listening to my interview with Andrew and Brianna Norcross. I hope you enjoyed it. If you want to check out the work that they do at Reactive Studios, you can go to reactivestudios.com. That's R-E-A-K-T-I-V studios.com. Of course, that link will be in the show notes on Developer Tea. And you can find a bunch of other episodes of Developer Tea at developertea.com. That is where most of this stuff is happening. So make sure you go and check that out. You can leave comments there and you can contact me on the contact form. But if you prefer to email, you can email me at developertea at gmail.com. And then also on Twitter and at developertea. I wanted to take a minute and say thank you to all of you who listened to this show. Because of you. Developer Tea was nominated for the 16th Annual Net Awards, the Podcast of the Year Award. If you would like to vote, you can always find that at thenetawards.com. Or you can go to bit.ly. That's B-I-T dot L-Y slash vote tea. V-O-T-E-T-E-A. Of course, that link will also be in the show notes at developertea.com. Thanks so much for listening to the show. And until next time, enjoy your tea. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon. See you soon.