A highlight from S22:E3 - Demonstrating curiosity kindly with Matt Newkirk (Matt Newkirk)
Here. Thanks for having me. It's a real pleasure to be here. So Matt, you currently have an incredible role as engineering director at Etsy which sounds very important, very prestigious. But let's take a step back. I'd love to learn about how you got your start encoding. Yeah, my dad was a software engineer growing up we had computers around the house and an apple two C was the first computer that I had in the house and did a lot of very basic games on that and then over time I started to do a lot of writing with word processors and I didn't really understand programming as a job for me, but when I was a teenager, I started to play these online games and I was playing one on AOL and it was great, but it was also expensive. And because I was a teenager with no money, I was not able to keep playing that, but a friend of mine mentioned to me that, hey, there are these things called muds, multi user dungeon. And basically, they're free versions of the game that I've been paying for. And they were made by volunteers, and there's like tons of them, but I started playing this one might, in particular, that was Lord of the Rings based, and it was also created by a few people in college, and over time they found actually a few hundred people that were regularly playing. And in order to scale themselves up, they started letting players volunteer to write for the game and part of that was writing content, part of that was writing code. And so I became one of the coders for that game when I was almost 16. And that world, you started off in the Newbie team and you had this new B project, which was really anything you wanted, but you had to propose it, which was really a couple of page read me text file. All this development happened in this game, which was all on telnet. So I had a telnet client and everything happened in that. And over time, I learned a lot more about software development through this volunteer opportunity, learning about quality control, learning about team management and distributed work. This was back before we had really even VOIP, there wasn't really video chat or anything like that. So most of our chat happened in the game in these channels that were kind of like Discord or slack or bulletin boards or an email. So I was working with people who are all over the world, trying to build mostly our own separate little parts of this world and trying to make it into this coherent game. And I did that for like 15 or 16 years on and off. Before I realized, oh, I can actually make money doing this, and got a job. But I learned a ton about quality through that opportunity and that turned into some contract quality assurance jobs in college, and when I finally tried to start my career at 30, I got my bachelor's degree at 29 in computer science. I was not good at school or at least I hadn't figured out how to have the right coping mechanisms to help me get through it. So when I finally started my career, the job that I could get was as a quality assurance analyst at Electronic Arts for the Sims and I ended up working on a team that was actually a web team within this game company and because I had all this experience in quality assurance and because of the state of the project, I had this extra time and I told them I told the team I can write code if you have any things that I can help with and they took me up on it and I was really lucky and privileged to have a team that gave me the opportunity to do more and they helped me figure out how to do a lot more automated testing, selenium testing all of that and then from there, helped me figure out how to set up AWS instances at a time where that was still feeling pretty new. So that they could automatically test their code every time they pushed a new revision. And then from there, taught me how to build a front end to manage all of that as well. And all of that experience led me to my first paid engineering job and my official title was quality engineer for an education technology company and that job was really interesting. It was still a relatively small company when I joined and I was the only person focused on quality and as a result I was also focused a lot on just how things worked day to day. And so I ended up building a lot of observability tools for the company. I ended up teaching a lot of engineers how to write unit tests, which meant I also had to learn more about how to write unit tests. And build out their entire system at the time, the company, if I remember correctly, it was deploying once a week on a Saturday at midnight and had something like 7 unit tests. And by the time I was running tests against every build and I can't remember the exact code coverage, but it was much, much higher. Especially for a new code. And all of that was really interesting. And it gave me an opportunity to look at kind of the broad side of the code, but I also, because I was the only quality engineer, didn't do a lot of things the way that I would recommend other people to them. I didn't have as much of the team collaborative pair programming code review kind of style in mind. And I didn't really understand how to collaborate with folks as well as I do now, at least, but all of that did teach me a little bit more about how to scale myself and an opportunity came to create a quality assurance team at the company and I was asked if I would like to be a QA manager and have that team and I had no idea what my career growth was going to look like as a quality engineer. And so I said, sure. Let's try it. And it was really hard, and I did a lot of things wrong. But I learned a lot along the way and I got to work with some really great people. I built up a couple of teams and got to see individuals become leaders of those teams and all of that helped me see that where I found the most value wasn't in writing code to solve specific problems, but was helping other people figure out how to solve their problems. So from there, my next job was as an engineering manager at Etsy. And that's where you are today. So I find it interesting that you've been in the tech space for quite some time, but how old were you when you first got your engineering job? I think like 31. 31. Okay, so you've been in the space in the world in the industry for quite some time, but the first engineering job came at 31. Tell me a little bit about this computer science degree that came a little bit later in life. You went to school first, didn't quite work out, decided to go back. And I think this is such an important point because so many people in our community are trying to figure out, do I need a computer science degree? Should I go back to school? Should I just keep kind of going, learning to code on my own journey? So tell me about the decision that led to you going back to school. Yeah, I always felt this desire to be creative, but I didn't really understand how to succeed. And I learned very late in life that I actually have ADHD and looking back, it helps explain why I plug that a high school and why I had such a hard time with so many classes.