Episode 353 ·

Colin Copeland - Giving Back To The Community & The Power of Building the Right Team

Today we’re talking to Colin Copeland, the CTO of Caktus Group. And we discuss giving back to the community with civic hacking and custom software development. The power of building the right team around you, and how working at a custom software development firm always stays interesting with new challenges. 

All of this, right here, right now, on the Modern CTO Podcast!

To learn more about Caktus Group, check them out at https://www.caktusgroup.com/

About Colin Copeland:

Colin co-founded Caktus in 2007 and now, as Chief Technical Officer, helps ensure Caktus remains at the open source forefront. Colin's skills include Django web development and Python programming. He's a proponent of automated testing and continuous integration, PEP8 coding conventions, and is always looking to improve deployment processes.

Colin helped organize several Django sprints in the Chapel Hill area during the 1.2 release push and regularly contributes to the open source reusable Django apps developed at Caktus. He also frequents local meetups, and helped found Code for Durham.

About Caktus Group:

Caktus has grown sharp web and SMS applications for business, higher education, and social good since 2007. The award-winning, Agile teams focus on developing for impact and scalability. They specialize in custom Django apps, but also offer discovery workshops, best practices consulting (project management, QA, Agile), and team augmentation.

As a full-service shop, Caktus commits to maintaining each project with managed hosting and ongoing Django upgrades. Past and current clients include Mozilla, UChicago, PBS, Discovery Communications, UNICEF, and others in media, education, finance, health research, and social good.

Transcript

(Intro Narrator at 00:00:01) Hello, my friends. Today, Joel is talking to Colin, the CTO of Cactus Group, and they discuss giving back to the community with civic hacking and custom software development, the power of building the right team around you, and how working at a custom software development firm always stays interesting with new challenges. All of this right here, right now, on the Modern CTO podcast.

(Joel Beasley at 00:00:26) Here we go. This is the Modern CTO podcast. Are you doing what you love to do?

(Colin at 00:00:41) Yeah, I think so. Yeah, it's been a process and we've had a lot of growth and evolution over time, but it's definitely something that I love. Coming to work and getting to work alongside my coworkers is probably the most motivating for me to come into the office or on Zoom and meet people.

(Joel Beasley at 00:01:06) Right? Modernize it. I like working with great people too. You know, the first times I got to hire authors I had read or something of that nature, like to get to work with really bright people is definitely what drives you after you figure out how to satisfy the money income thing.

(Colin at 00:01:22) Yeah, oh, definitely. Yeah. And just, yeah, surrounding myself with everyone who's definitely smarter than me is just amazing to be able to sit next to different people in different positions and learn how they do work and how they think about problems. And it's, yeah, it definitely energizes me and gets me excited to work together.

(Joel Beasley at 00:01:45) When you were in grade school, did you imagine you'd be where you are today? Or what were you interested in then?

(Colin at 00:01:52) Yeah, I did not imagine that I would probably be here today. In grade school, I did have an interest in computers. My parents both worked at a small university, and I would spend time at my mom's office and spend time on the computer and click around on that and just learning about what you can do and exploring around there in my free time. And eventually started to get into HTML and CSS and started to create some websites after taking a few classes. And that's really what kind of sparked my interest and eventually built this tiny little website that was about a game and discovered that another person who had a website, a similar type of website, online was only an hour away from me. And so we met online and befriended this individual, and we eventually made a small software company in high school, and so we got to build some small apps together.

(Joel Beasley at 00:03:06) Oh, that's amazing. Isn't that funny how back when we were doing it, it was considered weird and creepy, and now people do it every single day for their job?

(Colin at 00:03:14) Yeah, definitely. Yeah, that initial meeting, I remember, because it was, you know, you met someone, especially online, and it's like, yeah, but they're great. We've been talking for a long time. And we all went out to dinner together with our family. So it was great fun memories for me to meet them and, yes, spend time and eventually build small little applications with them.

(Joel Beasley at 00:03:38) And so tell me a little bit about what you do today. Where do you spend your time today?

(Colin at 00:03:43) Yeah, so today I co-founded and I'm CTO at Cactus Consulting Group. We're a highly custom web application development company. We build web apps for clients for our consultancy. And so that can be, you know, it depends a lot on the client that comes in the door, but that can be anything from an SMS voter registration system to a custom CMS for clients. So it's a wide range, a good variety, keeps everyone, I think, interested and kind of on their toes to learn new things. And so, yeah, that's where I am today.

(Joel Beasley at 00:04:29) Do you think we're gonna get, like, how many years do you think it'll be until we get to the point where we can vote in elections electronically from our phones? I'll be more specific. Like, when is it gonna be that easy?

(Colin at 00:04:43) Right. Yeah, it's definitely not a technical problem. I think technically we could get there. I think it's more of a, how do we feel like there's trust in the system as a society to make sure it can go along? And so we, yeah, so we did, we helped implement a voter registration system using SMS in the country of Libya. And we were the technical partners on this project and it's just the registration part of it. So you register to vote via SMS, primarily because, you know, the country is very spread out, and everyone has a cell phone with SMS capabilities. So you can reach more people that way and allow people to, yeah, to register so that they can come in and vote hopefully and vote for who they want to elect.

(Joel Beasley at 00:05:38) So is it pretty exciting getting to work at a consultancy type place where there's always different projects, always unique problems happening?

(Colin at 00:05:46) Yeah, and they're all new challenges and sometimes they can be a little, you know, overwhelming. But I think, like, even with the Libyan project that, you know, they wanted their data in country, and so we had to ship in servers and set them up in a data center there and build a little cloud for ourselves to use since we couldn't use what we are so used to using these days with Amazon and other types of providers like that. So, you know, it's very exciting and very different. The variety is great, and I love that type of work.

(Joel Beasley at 00:06:23) Yeah, we kind of take it for granted. We can just go right on AWS and just pick Virginia or wherever we want to put the servers. And it's like, where's the Syria? Where's the Libya option? Like, where do I want to put this? It's like, they don't have one there yet, you know? Hurry up, Bezos.

(Colin at 00:06:39) Yeah, I know. And even, you know, yeah, thinking back to high school, I never would have thought you could get access to a server like that in Amazon. So it's pretty amazing and what you can do today.

(Joel Beasley at 00:06:49) Tell me a little bit about your co-founder. How did you meet?

(Colin at 00:06:52) Yeah, we met, there were several co-founders. We all met in college. We were in a software engineering course together and just, we worked on a project together and was, you know, one of the first, probably one of the first larger projects that I'd been a part of that involved a team. And got to kind of learn about how do we work together, how do we solve the problem, and it was great. That collaborating with them and being a part of building the tool together is what I found the most joy in and definitely what I think, at least for me, led us to founding Cactus shortly after we all graduated. And so it was, yeah, great to meet Tobias, my co-founder, and he's now CEO at the company.

(Joel Beasley at 00:07:55) Oh, nice. I've met a few people named Tobias. I don't think I met yours, but they tend to always be really great people. So there's a good subjective Tobias streak going on in my life.

(Colin at 00:08:06) He's great. He's great. You should meet him, hopefully sometime soon.

(Joel Beasley at 00:08:10) Yeah. Where are you guys located, by the way?

(Colin at 00:08:12) We are in the Research Triangle area of North Carolina, and we're based in Durham, North Carolina.

(Joel Beasley at 00:08:19) My sister just moved there about two weeks ago.

(Colin at 00:08:21) Really? Yeah. Wow. Yeah, welcome her to the area.

(Joel Beasley at 00:08:25) No, we're like, what? Why did you leave? But we're also like, go away. We have mixed feelings. We love her though. But it is cool, though, when family goes away because then you get to go visit. So we'll be up there. We're doing a, we actually leave in two weeks, and we're doing a ten-week tour around the United States in our RV thing. And so we've got two little kids, and we're all getting on and going and exploring. It's gonna be fun.

(Colin at 00:08:50) That sounds great. Where are you stopping?

(Joel Beasley at 00:08:54) So, like, we're gonna definitely go up to North Carolina area. That's one of the first stops.

(Colin at 00:08:59) Oh, okay.

(Joel Beasley at 00:09:00) We have a lot of family there other than just my sister. And then we're gonna go over to Montana to some of the big national parks like Yellowstone or Glacier, and we're gonna spend a couple weeks there. So I'm renting a hotel room Tuesday, Wednesday, and Thursday, and I'm doing my podcast Tuesday, Wednesday, Thursday, and I'll have a bunch of five-day weekends.

(Colin at 00:09:21) Wow. Oh, it sounds like it's gonna be great. Good time with family too.

(Joel Beasley at 00:09:26) Yeah. Podcast on the road.

(Colin at 00:09:29) That sounds great.

(Joel Beasley at 00:09:31) Yeah. And, you know, it was interesting when I was reading and doing the prep on you. I thought it was like, I always like to find fun things. And, man, we have a lot in common. I like the piano as well. I saw you do baking, piano, and contra dancing. And when I heard that, I was like, what on earth is contra dancing? Is it a Latin type? I imagine you in some dress or something. Like, what is contra dancing?

(Colin at 00:09:56) It is a type of dancing that's sort of like square dancing in a way. It's a big group of people that follow a dancing pattern that repeats, and so you kind of move between partners throughout the dance. And there's usually a live band, which makes it extra fun. And I first started in college and, yeah, and eventually, you know, ended up meeting my wife through that process. So it's definitely, I haven't been able to do it as much, especially with COVID these days, but it's definitely a part of my early life that I enjoy.

(Joel Beasley at 00:10:33) That's awesome. That really helps you, like, I mean, when I first started trying to get out of my shell as an engineer, it was really, really tough, right? Because I just always spent so much time in my head and I didn't spend a lot of time interacting with other people. So picking up those skills was not a quick thing, but man, being out there doing that contra dancing, you're really putting yourself out there. You must've picked up a lot of social skills that way.

(Colin at 00:10:56) Yeah, yeah. Maybe, yeah, I think that it might be true. It's nice to, you know, you don't really know anyone usually. It's just a random group of people, but you interact and hang out for a couple hours that night. So it is fun to kind of just be a part of the group and the energy of the group and, yeah, and just dance together. So it's, and Tobias did it as well. So we were together in that in college. So it's fun to share that history together.

(Joel Beasley at 00:11:27) That is pretty exciting. Did you go to college in North Carolina?

(Colin at 00:11:31) It was actually a small college called Earlham College in Indiana. So it's a very small school, about 1,200 students total. So yeah, my CS department was very small. My graduating class for the CS department, it was only three people.

(Joel Beasley at 00:11:50) I hope you were at the top of your class.

(Colin at 00:11:51) Yeah. I loved it. It was great. The department had a very applied focus. So the professor, Charlie Peck, is still there and amazing. But the students contributed to help running the department in many ways, from help maintaining the website to the infrastructure, like the actual networking and servers that the CS department had. And so you just got a lot of hands-on experience that you wouldn't otherwise, I think, at that age. And so I really love that you got to learn and fail and learn in the context of that setting at school, which it was great for me. I really liked it.

(Joel Beasley at 00:12:41) Can we talk a little bit about leadership stuff? I've got some thoughts for you. I'm curious. I want to pick your brain, my friend.

(Colin at 00:12:48) Definitely.

(Joel Beasley at 00:12:49) So your company is growing fast. Do you guys have, you know, definitely engineer heavy because that's what you do, right? And designers, engineers, and designers. And I'm just curious to know, what type of lessons have you learned as a leader through the growth of your company?

(Colin at 00:13:06) Yeah, that's a good question. I mean, I think I'm always continuing to learn about that as we go, but I think, you know, finding the right group of people to work with is key and providing everybody with sort of collaborative input. Just to think, you know, if everyone sort of has bought into the process and working together, I think that kind of goes back to, yeah, just working on a team, a small team like I had in college. I like going back to that collaboration aspect. If everyone is excited and motivated and can feed off that energy, it can really lead to some, you know, the ability to do a lot of different things and take on new challenges. And so yeah, I think the team is key, having diverse backgrounds so that folks can learn from each other and take on different new technologies or new challenges that you may not have done yourself. That's certainly how I approach it. I love being teamed up with other folks where I can kind of see how they approach it and work together, help them, and figure out how we can help our clients.

(Joel Beasley at 00:14:19) Have you found that your customers pool in a couple different areas, like nonprofits or government or, you know, private? Do they have a trend there?

(Colin at 00:14:30) Yeah, yeah, I think it self-selects in a couple of different ways. Usually folks come to us because they can't find an off-the-shelf product or something to solve their needs. So they're already kind of looking for something that they know needs to be a tailored solution for what they do or what problem they're trying to solve. And I think we have also been lucky to have a range of areas that we work in with our clients, from education with universities, the University of Chicago, UNC here in the Triangle, Chapel Hill and Duke, but also larger corporate entities as well, like Georgia Power and others in the area. So I think we love the balance. You know, working with nonprofits, NGOs like UNICEF or the International Rescue Committee, I just feel great contributing to a project like that. It feels like you can really help. You're really helping people. And it's not even, you know, it's all around the world depending on where the actual tools you use. But on the corporate side, it's always having the opportunity to kind of solve a really complex problem. And that is also fun to do and a good challenge to get into with the team.

(Joel Beasley at 00:15:57) Yeah. I found lately there's been a lot of conversation. People want a mission to be doing something that they feel like is important, but they also want, you know, challenging problems.

(Colin at 00:16:07) Yeah, yeah, I think a mission is, I think, yeah, that's a good mix, the mission and challenging problems. Because I think the mission for me, just being able to, has, yeah, tied into some of my own personal side things with volunteering opportunities. But to be able to do that at work too is like, oh wow, this is amazing. We can really feel like we're helping, even in what may be small ways, just makes me motivated and energized to come to work.

(Joel Beasley at 00:16:40) Yeah. That's the beautiful sweet spot, right, where you have something that you're doing that's helping other people, but it's also making money. So you're incentivized to grow it and help at a greater scale, and everything falls into line. So that's the place to be.

(Colin at 00:16:56) Yeah, definitely. And when you get to work on something that's new and, you know, a product that we kind of have to figure it out together, I think is very exciting. How can we design this new tool that will be used in a certain part of the world where there's a certain type of technology that's in use, and how can we make it so that it's useful to the actual end users? And so, yeah, fun and interesting challenges to get into.

(Joel Beasley at 00:17:22) Are you guys hiring right now?

(Colin at 00:17:24) We are. Yeah. Yeah. We have—we're busy and have are hiring for remote positions right now, contract to hire. We're just trying to meet new technical folks to join the team and help us out with our client projects.

(Joel Beasley at 00:17:45) What do you look for? Do you look for specific technologies? Do you look for different personalities, culture? How do you do your hiring process?

(Colin at 00:17:53) Yeah. I mean, we do use certain technologies at Cactus that's primarily—it's all web-based usually. Like Python and Django. We do a lot of React development, and that expands into different areas too, some mobile work and, but, you know, mostly web apps primarily. And so I think experience or at least interest in that area is key. But beyond that, I think it—you know, as long as there's a good sort of synergy between us and them. It's like we just look to try and find people that'll fit for the team and are excited to work on projects. Because it's pretty different, I think, than having a product of our own. We don't—you know, we don't just build that. We want to help our clients, and so we're really working for our clients and trying to solve their problems. So it's a different kind of mindset, I think, sometimes than other types of positions. And we're also quite small. We're only about 20 people, and we're in an area that's rapidly growing as well and has, you know, new larger companies in the area like Red Hat, Google, and Apple's going to move down the road. And we, you know, in many ways, we can't really compete. We're pretty different than those types of organizations. And so I think we have to differentiate ourselves from them for a type of role folks are looking for.

(Joel Beasley at 00:19:33) Yeah. I mean, look, my business is under 15 people. Right? So I'm in a similar—I get to talk to people that have, like, tens of thousands of employees all day. But for me and what I'm experiencing, I'm relatively close to you. And, yeah, you have to find people that you can invest in a little bit because the other people are making so much money. So it's like, we've got to get there. We want to get there. We know where we need to be. But in order to achieve that, we've got to find those people that have that spark. And I'll tell you what, man, they're not easy to come by. They're pretty rare. One little trick that I found is typically great people know great people. Right? So the more you can pull great people in, the easier it is to find great people. I found that out a lot from one of the leaders I was talking about at Asana a few years ago.

(Colin at 00:20:30) Mhmm.

(Joel Beasley at 00:20:30) And they have a really, really strong recruiting culture within the organization. So they literally train their employees—they have a hashtag called, like, ABR, always be recruiting. They train their employees, like, how to, you know, if they're in an Uber driver or Lyft or something and that person's a programmer, like, how to invite them just to hang out at the office. Right? Oh, just come on. Just come, like, hang out here. Obviously, this is pre-pandemic.

(Colin at 00:20:54) Right.

(Joel Beasley at 00:20:56) I don't know how many people would be like, come hang out on our Zoom call.

(Colin at 00:20:59) Right. It's different. Yeah.

(Joel Beasley at 00:21:02) Right. But we'll figure it out. Things are starting to open up. How is your area? Is your area starting to open up?

(Colin at 00:21:07) Yeah. It's just starting to open up. We have had some discussions even internally at Cactus, and today is Wednesday, and it's our in-office Wednesday. So there are actually a couple folks here today, which is super exciting. Also a little different compared to the last year, so it takes some adjustment. But, yeah, I definitely agree with what you're saying about having connections and getting to know the right folks will hopefully bring more great people to collaborate with. And, you know, at conferences, I think—yeah, I love going to conferences. I wish—I hope we can go again soon. But, yeah, I think, you know, it's fun to be there and learn, but you're also there to meet people and learn from them, but also meet people that you may potentially work with or, you know, work for could be a client too. So there's a lot of—the always be recruiting is kind of an interesting—yeah, it's an interesting way to think about it. I like it.

(Joel Beasley at 00:22:11) Yeah. I mean, whether we like it or not, humans are social creatures.

(Colin at 00:22:14) Yeah.

(Joel Beasley at 00:22:15) So, like, we're designed to be in community with each other. We're not designed for isolation. If we were, things would be very different. Like, I actually—it's funny how the most severe punishment you can have other than death in our universe is solitary confinement.

(Colin at 00:22:32) Wow. Yeah. That sounds horrible.

(Joel Beasley at 00:22:36) That sounds like the worst.

(Colin at 00:22:37) It does.

(Joel Beasley at 00:22:37) It does. Yeah. Right? And it's harsh. So, I mean, we're just designed to need each other and to build and grow things. And if you look at humanity, what we've been able to do in the past hundred years is just mind-boggling. You know?

(Colin at 00:22:55) Yeah. Definitely. And I feel even as someone who I sort of feel somewhat introverted myself, I mean, I love going to conferences and just being in that group and being around, learning from everyone there. It's just a different experience, and I definitely miss that face-to-face human interaction and hope we can get back to that more soon, which it seems like. Knock on wood. Yeah.

(Joel Beasley at 00:23:24) Can we have a candid conversation about introversion? And if it doesn't pan out, we can cut it out. But I'm just curious to have some real talk just between Joel and Colin here.

(Colin at 00:23:33) Sure.

(Joel Beasley at 00:23:34) Okay. So, how much time a day do you spend doing tasks by yourself?

(Colin at 00:23:42) Yeah. It's—I don't know. I think it varies. I think it could be some days—it could be most of the day. Other days, in a lot of meetings or a lot of Zoom calls, which can be—it's very useful. It can also be kind of draining. But I think I really enjoy doing pairing with—I'm much more comfortable in small groups or one-on-one. I think that's the type of interaction that I can feel the most comfortable and be able to kind of bounce ideas off of other folks. So, yeah, pair programming is something I really love to do and have even found a time to do it, you know, during this remote time. So it's—in that case, sometimes we'll do it for just hours and hours on end, which I love. I don't think a lot of people love it as much as I do, but I do like that pairing aspect. What about you?

(Joel Beasley at 00:24:43) So, like, throughout the progression of this podcast, like, I'd say day one when I started, I was still writing a lot of code, still, you know, managing engineering team, but also contributing code on that team. And what I found through having to be social through the podcast, but also writing code, is that you could almost map my ability to speak well and to be more social went up and was greater the less time I spent inside my head programming. So the more time I spent with other people, the better I got at speaking with other people, which sounds like pretty common sense. Right? But then you'll get management who's interacting with engineering, and there's conflict because there's communication differences. And it's not—and what I get frustrated about is so many people believe that it's because, like, the difference, maybe something's wrong with them or they're not as good at it. But I'm saying it's an allocation of time, and I believe you can transition back and forth between them because half of my—like, two years of doing this podcast, when I was still programming, I had to figure out how to do it. Like, I could not program in the morning or before podcasts if I had them. I had separate days and then eventually they kind of faded out. But I started to go over and talk to some people who are in their minds but don't do programming, like researchers that are doing research in a lab, you know, by themselves. And I found that it's like this human thing that happens. The more time we're communicating inside our head, the—you're saying that I'm introverted, typically, because I'm being quiet. Right? That's, like, one of the biggest tells. But my brain's going a thousand miles an hour. Right. My brain's going so fast. And it's because I spend so much time in there, and I can just work things out way quicker. So I don't know. I'm always interested in talking to people that want to make a change and, like, empowering them that—like, here's some tools. If you want to be better at talking, spend less time programming and talk more.

(Colin at 00:26:47) Yeah. Yeah. That's great. And so do you still—do you still do development? You said you mentioned two years ago, is that still?

(Joel Beasley at 00:26:54) Yeah. So I still manage an engineering team, but I do not individually contribute and write code. Like I'll review Pivotal, like I'll review stories and stuff. And I'll talk with them. And I work with the designer to say, alright, here's the new screen that we have. Yeah. Mostly, I'm the bridge between our customers and engineering.

(Colin at 00:27:14) Mhmm. Mhmm.

(Joel Beasley at 00:27:15) So I'm talking a lot to the customers, talking to engineering, and making sure that everything goes smooth because I'm obsessive about time to value being really short. Like, I want to bring the maximum amount of value. I want to get rid of feature creep. I want to reduce, refine, you know, get it down to how can we ship something that solves the problem technically, and then we can add all the whistles to it and make it prettier and yeah.

(Colin at 00:27:39) Yeah. And do you feel like you miss it at all, the development aspect?

(Joel Beasley at 00:27:44) Actually, no. I mean, for a while, I would say yes. I did. But, you know, it's—I did it for seventeen years every day. And so I found that if I want to pick it up again, it's going to be there. But if I want to create the most amount of impact in life, I have to go to the next level. You know?

(Colin at 00:28:10) Yeah. Mhmm.

(Joel Beasley at 00:28:10) Where I can work with groups of people that can do this and kind of just—just like a, you know, language, be an abstraction. Like, just go a level up in the stack.

(Colin at 00:28:23) Yeah. Yeah. No. It's interesting hearing you talk about it. Yeah. It's—I do find myself more of taking—like, I like to listen a lot, and I don't tend to speak up in larger groups. Even coming on the podcast is a little different for me. It's not something I'm used to doing, talking for so long. But I do find that the more I do it and definitely the more that I spend time, especially one-on-one with clients, I really like that because being able to connect and think about collaboratively with them how to solve a problem and get everybody on board is really exciting to me. I like to kind of feed on that. When they're excited, I get excited. And so, yeah, I can kind of help with when I'm more introverted. Though I do feel like I'm probably always a developer at heart. I tend to end up doing a little bit of coding, and we're doing actually a little bit—we've made some organizational changes where I get to do a little bit more of it these days, which I've really grown to love and appreciate again, to have that time. So it's definitely a balance. I remember you saying it was hard to switch between—so the context switching between those tasks can be challenging sometimes.

(Joel Beasley at 00:29:43) Oh, yeah. And because I've talked with so many different people that have made the change or have gone—like, they've changed to not doing programming and some have changed back. And, you know, everybody, when I go out and give talks to companies or whatever it may be at conferences, like, one of the most common questions I get is, like, what's the right one? Like, your CTO shouldn't be programming at this level. Right? And I'm like, well, I mean, first—the first thing I always have to do is it's one of those things, Colin, where, like, at the beginning when you don't know a lot, it's super clear. You're like, oh, I'm confident. I read this article. It was a trusted person, and this is the answer. Right. But then when you go through and you actually experience it, you're like, okay. Well, the useful takeaway rather than rambling—like, the useful takeaway is knowing what you want and what you'd like and making sure that you structured the environment around you to allow you to do what turns you on, what fires you up, because that is how you are going to have the best life. And so if that means that, you know, you're on an R&D team and you're doing some interesting stuff and it's just like you and three or four people, but your company, you know, is 10,000 people, you know, you can do what you want to do. It's just you make sure that there's some other title that's providing that human leadership over in the engineering org if you're off in an office of the CTO. So there's really no wrong way. I guess the only wrong way to do it would be to know you like doing something and not be doing that. Just hire somebody to do the thing that you don't like as much and go do the thing you like more.

(Colin at 00:31:25) Right. Definitely. I definitely agree with that. And I think it seems so obvious in the end, but I feel like especially when you start off so small that you wear all the hats, you do everything. And then when you start to grow, at least for us, we hired other software engineers. And so we started taking on the non-engineering side of things and did more and more of that and had a bigger team. And I think there are certainly aspects of those different hats that I still enjoy. But the balance and sort of finding what you said, the—like, what really drives you and gets you excited. And for me, that's definitely collaborating on a project with everyone else and being involved and helping out, I think is definitely key for me to be happy and successful.

(Joel Beasley at 00:32:26) Yeah. And it changes by season too. One of the best pieces of advice that I put into practice to actually test, right, and to see if it worked—one of the investors early on in one of my companies, he said put a recurring event in your phone every quarter and just ask these two or three questions. Like, are you happy? Are you doing what you want to be doing? Are you spending the time how you want to be spending your time? And if not, what changes do you need to make to get back to that happy space? Because so often, like, we can, you know, as the business evolves, the what you have to do on a day-to-day basis is constantly evolving.

(Joel Beasley at 00:33:04) Yeah. And you can get wrapped up and realize, oh, I've spent the last half of my time this month with accounting teams. And that is not—I don't know how I got into that because I just had to fill the gap that was there, but I need to go hire a person to come do that for me because I don't like doing that, you know?

(Colin at 00:33:21) Yeah. Yeah. Yeah. I think that's great.

(Colin at 00:33:25) I really agree with that. And I like those questions. I don't think I was self-aware enough to be able to ask them myself, but I like the idea of reminding yourself to do it. Because I think we kind of came to a point too recently where I wasn't quite as engaged or as happy, primarily because I was doing less development and less—I was less connected with the teams. And Kel, our chief of staff, had really helped. I think she was the one asking those questions and was very integral to thinking about how can we—what, how can we make everyone happy, including myself, and restructure us a bit to think about how can we make us the most effective and fulfilled. So I think I like those questions. I think they're very important. And I think, I don't know—yeah, again, I don't know if I would have come to it, but having someone like Kel in our chief of staff position was very helpful for us overall, I think.

(Joel Beasley at 00:34:32) Yeah. The person that helped me was Andy, and I was super stressed out. I called him on a Saturday. I was like, I have to talk.

(Joel Beasley at 00:34:39) We met at an ice cream shop and I just dumped all the stress that I had on him. I was like, I want—you know, when you've got—I didn't have a co-founder. So my early investors were essentially the ones that were in the boat with me, right, financially. And so they're the ones that would care because they have invested in me. And so sometimes you need to talk to those people, right? And he shared that because he was a founder and, you know, he'd went through the same thing over the course of 20, 30 years. And he picked up a lot of tips that were hard-won and hard-learned. So he shared that with me. And so far, it's been going off for maybe two years now. And I'll tell you what, two out of three times probably, the answers are no when I make changes. It's often no. And then I'm really happy for a couple months, you know, quarter goes by, the next notification goes off. I'm like, yep, I love it. And then, you know, within a quarter or two, I'm back to figuring out this game. And that's good though because that means growth is happening, right?

(Colin at 00:35:41) Yeah. Yeah. Definitely. Yeah. It's a—you're adapting and being iterative in a way, which I feel like is maybe very, at least in our line of work, common on the software side, but maybe less common in kind of our own career or progression. And I feel like, yeah, having the structure or the perspective to be able to adapt and, you know, take risks and be okay with the failures, I think is a good way to take that out of the software engineering side and apply it to yourself, which I think is useful.

(Joel Beasley at 00:36:19) We should write a leadership book on this called Iterating on Self, and then that'll make the self look like a function, right? That would be funny. Super nerdy. Sorry. Sorry for nerd jokes.

(Colin at 00:36:34) No, I think it's good to definitely good to iterate.

(Joel Beasley at 00:36:38) Yeah. So I want to make sure that we get the word out about Cactus Group so people that, you know, might need your services can better understand—I mean, they have a good understanding of you and how you are. And I think you're a great person, and I want them to better understand the business. So we're good with the fact that it's a consultancy. What are the two largest languages or technologies that you work with?

(Colin at 00:37:02) Probably Python and JavaScript are the two largest languages, and we use a handful of frameworks within those. Django's on the back end, React and Vue on the front end. And we do a lot of DevOps work as well on, you know, automating provisioning of environments and stuff like that. So the range is pretty wide, but those are the typical technologies that we use.

(Joel Beasley at 00:37:29) And when customers come to you, what's typically their largest concerns, or what are they looking for?

(Colin at 00:37:37) Yeah, I think it can vary. I think usually they have an existing challenge that they're trying to solve and haven't been able to solve it with the tools that they have used to date. And, you know, it could be some offline process that they want to bring online, or it could be updating or a new iteration on a product that they already have. And so I think it can vary from client to client, or be something completely new, like the SMS voter registration, something like that that's pretty new. But know that there is an end goal there. So I think it's usually a challenge that they're trying to find a partner, someone who wants to work with them. And, you know, usually, I think it's most successful when it's a collaborative effort that we're working hand in hand, learning together on how to solve and approach the problem. And yeah, like I think you were talking about time to value. How can you optimize that? And I think it's a useful thing to focus on. How can we get something in front of the user or the client as quickly as possible and actually have something that they can use and interact with and iterate from there, get it out and use as quickly as possible is key, I think, in the end to making the overall product successful.

(Joel Beasley at 00:39:06) Amazing. Amazing. I saw that you were invited to the White House in 2016. What was that about?

(Colin at 00:39:13) Yeah. It's a little bit of a long story. I was involved with a project that was related to traffic stop data in North Carolina. This started off as just a side volunteer project. There's a statute in North Carolina that requires police departments in North Carolina to report all their traffic stops and—within a certain size, not too small, but most agencies report to the DOJ, the state DOJ. And that started in 2000, and we started getting involved in around 2014, 2015. And so there's this large dataset that a lot of people didn't really even know existed, and it's a statute that's pretty unique across the US. There aren't many like it. And a professor at UNC had started to look at this data and had done some interesting research behind it. And I started to collaborate with an attorney who wanted to just make the data more accessible since it's a fairly large—26 million stops and many searches and all kinds of information about who was stopped and demographics and which department. And how can we make that more accessible so that folks can see it in a public setting? And so we built a tool that was called Open Data Policing and is now NC Copwatch. And early on—or I guess that was maybe towards the end of the Obama administration—they had a policing task force and invited a bunch of folks to the White House to brainstorm ideas. And I was luckily invited, and it was very exciting to be there in meeting with folks like the chief of police from Houston and other folks who were there. And I feel like I could contribute in a very small part, but I loved being a part of that process to get to just hear everyone talk about what they're working on and the challenges that they're working through and, you know, how technology could potentially help.

(Joel Beasley at 00:41:31) Dude, that's really neat. Is that the whole civic hacking thing? Is that what that's considered?

(Colin at 00:41:37) Yeah. Exactly. Yeah. I was introduced to the attorney through a small group that I helped found in Durham called Code for Durham, which is a civic hacking—it's called a brigade, but it's part of a larger network of these types of groups across the US from the Code for America organization. But it's all volunteer, and we just want to help build apps and tools for, you know, the area that we're in, in Durham. And that policing project spun out of that. We're also currently working on a project with Legal Aid to help with record expungement and parsing PDFs and figuring out how to help an attorney parse through many records to figure out what's possible for certain individuals. And it's, again, yeah, those are the sort of social projects that I'm so excited to work on at Cactus sometimes, and I find myself working on them in my spare time because it definitely helps motivate and drives me to do it.

(Joel Beasley at 00:42:48) Yeah. You need to get more of those projects going. Talk to the sales team. Be like, hey, let's get some more of these social projects going.

(Colin at 00:42:54) Oh yeah. It's great when we can work on them.

(Joel Beasley at 00:42:57) And I asked—y'all, you guys have an interesting culture, a charitable type of culture. You guys give to a lot of different organizations. Can you tell me about that?

(Colin at 00:43:05) Yeah. We do. Yeah. We have a charitable giving policy where people can nominate different organizations to donate to, which we have done for many years. And we also have had the opportunity to donate time, which I think can be helpful. And we have done a couple—Elizabeth, yeah, our marketing director, was involved in thinking about this pitch competition that we did at Cactus to help—what are some projects that we want to work on that could help the community? And then one of those was the expungement project that I happened to pitch, and we won. And so part of the Cactus team got to just donate time to helping improve the project, which is great. It's all open source. Both of these projects are open source, so it's amazing to contribute to those and have other people contribute to them, you know, outside of Cactus as well. So it's very exciting.

(Joel Beasley at 00:44:01) Is your wife into this too? Is she a superhero for social good as well?

(Colin at 00:44:07) She is not into the civic hacking side, but she went to school for social work and works for an education nonprofit doing fundraising and grant writing for them. So I think there's definitely overlap there. But, yeah, I think we complement each other well in that regard.

(Joel Beasley at 00:44:28) We typically like to wrap up with the call to action for people. So if they're interested in working at Cactus Group, where would they go to learn more?

(Colin at 00:44:37) Yeah. They can go to our website, cactusgroup.com. It does have a unique spelling. It's kaktusgroup.com. But, yeah, on the careers page there, you'll find the open positions, the current contract-to-hire positions. So definitely go and check it out. We're super excited to meet folks.

(Joel Beasley at 00:44:56) And do you have your portfolio on your website too?

(Colin at 00:45:00) Yes. Definitely. Yeah. You can see the different types of projects that we work on, and we are involved a lot in the open source community too. So you can visit our GitHub, you know, and see the types of projects that we release as open source or may contribute to as open source. And, yeah, there are many case studies on the website that folks can check out.

(Joel Beasley at 00:45:24) Yeah. You guys do a lot. You've got a bunch of case studies. You do team augmentation, custom web app development, cloud services. I assume that's like DevOps, right?

(Colin at 00:45:34) Yep. Yeah. Yeah.

(Joel Beasley at 00:45:36) Or you do some workshops too. What are those like?

(Colin at 00:45:39) Yeah. That's as part of the discovery process and initial steps of taking on a project, we like to go through a series of discovery phases where we have a workshop and get all the stakeholders together. And to me, that the biggest part is to kind of get everybody on the same page, but also to discover the requirements together and build out what we think are the initial tasks that we'll work on and kind of figure out what—we've met for a few days and have—we usually partner with a UX team to kind of walk through that process with us. What should we start building first? And so I think it's useful to kick off a project, but also, you know, for new features or if we're working on a different aspect of the site that needs a new UI or something like that. It's a very helpful discovery process.

(Joel Beasley at 00:46:33) Excellent. Cactus, kaktusgroup.com is the website. Colin, you are awesome. Thank you so much, man. I really, really had a great time talking.

(Colin at 00:46:44) Thank you. I really enjoyed it. And if you come through Durham, you should definitely stop by and say hi.

(Joel Beasley at 00:46:51) Thank you so much for listening. And if you found this episode useful, please share it with a friend or colleague who you think would get value from it. And if you have topics that you'd like to hear discussed on the podcast, either add me on LinkedIn or send me an email: [email protected]. Every time I get an email or LinkedIn message, it absolutely makes my day and inspires me to keep going.