Adam: What was it like when you first started coding? For me, it was super addictive. Krystal Maughan caught the coding bug and she couldn’t shake it. That interest pivoted her life towards being a developer until she finally pivoted again and left it all behind. How do I ask this? So for a while you were scrambling I guess, and then so you got a job at Apple. They pay a lot of money, I like that. They hand out stock with lunch as far as I know. But then you left. People talk about getting a job at FAANG companies. I’m pretty sure they’re one of the A’s.
Krystal: Yes. Everybody goes through this thing where everybody has that moment when everything’s like shiny, but-
Adam: Hello, and welcome to CoRecursive. I’m Adam Gordon Bell. Today is Krystal’s story. It’s a story of working jobs you don’t like while taking night classes in Java and C++. A story of making friends at tech meetups. It’s also really a story about career growth and about following your curiosity, if something interests you just chasing after it even if it means putting everything at risk. We start in 2004. Krystal, has moved from Trinidad. She’s enrolled in film school in New York and she learns to read HTML source code. And she does it strangely enough, to help her overcome homesickness.
Krystal: In Trinidad, we have this huge festival every year called Carnival. It’s kind of like Mardi Gras, but more awesome. I was kind of involved around, so the whole theater and lighting thing. A lot of the gigs are around that time and it’s just this massive festival. So that’s part of our culture, the whole carnival thing. And so for carnival season, imagine all these Caribbean people are stuck in the snowy, depressing place and they know that back in their home country there are people in bikini’s having fun. So around carnival time, you kind of get this… I think if you grew up in that culture something about you just knows it’s carnival time and your friends keep posting pictures and reminding you, and it’s really annoying. So I think one of the ways we dealt with that was by listening to… I don’t know if it’s still around, but it used to be called Music Media. It had both dancehall, reggae and soca. And so this website would have every year when the artists product music, they would upload it. So you’d hear all the popular tunes for that year for the carnival season. From around October the musicians will release, “I just released a new truck.” These songs have hundreds of thousands of views. My brother is a programmer, by the way, I don’t know if I mentioned that. He taught me in college how to view source.
Adam: So you were on Music Media and you were listening to the latest dancehall drop.
Krystal: By stealing.
Adam: And then your brother’s like, what did he say? Do you source and edit this?
Krystal: So he was showing me. He said, “If you source,” he’s like, “See, there’s some music source right there.” And he pointed out and said, .MP3 or whatever. And so I kind of learned how to look at the pages, find the music and download them. And I don’t have them anymore, because my laptop I think crushed. But I had so many, so are stolen music. And it was terrible quality of course, because it’s kind of compressed, but it was good enough for me in college to have access to that music.
Meeting A Haskell Group
Adam: After college, Krystal and her laptop of bootleg music head to LA. She gets a job at a place doing lighting for film, but she ends up being relegated to a desk job. She gets a bit bored, starts taking night classes and computer college. Then at a meetup, she really finds her new passion.
Krystal: So after getting into programming and deciding that I loved it, I found Haskell strangely. I was looking for meetups in the Los Angeles area and I found the Santa Monica Haskell Group and the Papers We Love group. I didn’t study computer science. I wanted to learn about computer science papers and who the famous people in computer science are. So I started attending that. So a bunch of Haskell people showed up and one of them is Sky Fixler. He turned to me and he said, “Would you like to come to our Haskell meetup tomorrow?” And I said, “What’s Haskell?” And he said, “It’s the same time, same place.” And I showed up and I left that meetup just kind of overwhelmed by how happy I was and how cool it was.
Seeing Programming in Different Fun Ways
Adam: I mean, I feel like you jumped over there. At some point you were like, coding is awesome or this is fun. Maybe you weren’t like, “I’m going to do this for a living,” but you were like, “Oh my God, I hate this. Wait, I got it working. I love this.”
Krystal: I was taking other classes and I was taking Java. But I think the moment that I joined that Haskell group and I kind of saw this new I was like, “Is this is programming? This is so weird.” There’s something about it and I think the community was so playful. I mean, there’s something about functional programming that it’s like you’re playing with code or the rules of what code should be. As somebody who didn’t come from that background, I thought it was really interesting. And then reading the whole subculture like you read about Peter Norvig. When I was graduating we just started to have programming, but it was basic. I know my brother did more Java type stuff and that was not compelling to me at all. I think I took one or two Java classes when I was doing the night school classes, but it’s just something about it I just didn’t enjoy it. And I thought that if I had come through that path with that expectation of this is what computer science is, I would have never stuck with it. But I think that seeing programming in different ways and seeing that it could be this kind of fun thing that you could break apart and find different ways of executing. So because in my mind, I was kind of taught on my expectation through my brother was that programming is a certain language. And then seeing different things like Lisp and just seeing like, “This is programming? You can do this?” It’s very compelling.
Programming as a Tool
Adam: So you go to the Haskell meetup and then what happens? You go home? You install? What’s the steps? You install Haskell and you do one plus one and you?
Krystal: I guess after the first Haskell meetup, I just had all these questions. I was going home on the bus or taking the Metro back home and there was just all these cool things, because everybody in that group… If you go to a typical programming group, and I kind of have a huge problem with this, if you go to a programming meetup and you are interested in say Scala or whatever; I’m not picking on languages but I’m just making a point, a lot of the meetup can end up being this thing where all the people there are interested in Spark or like big data or you go to a Java meetup and they’re all interested in Gradle. So it’s very tightly defined. And the Haskell group that I went to was the first one where there was one person interested in graphics in Haskell and there was another person interested in ontology in Haskell and there was another person interested in GUIs in Haskell or making video games, all kinds of things. So everybody in that group was interested in functional programming as a means to do something that they loved more so than, “There’s this language and you use it to do X and that’s all it’s possible.” We kind of think that this is the obstruction through which we think of the language being useful. The way I came to Haskell through that meetup, was not like that at all. There was a guy making the editor to help you just to do different languages, so you could start coding from any language essentially, and they had Alexis who was working on a Hackett. So you have all these different people who are interested in doing different things with the languages. I think maybe if languages are kind of presented that way it’s appealing because you don’t necessarily want to learn a language just to learn the specific subset of what it can do, you just want to learn as a tool for building something.
Adam: What did you want to build?
Krystal: I used to do a lot of the Codewars stuff. I used to love Codewars, the website with the puzzles and I think I used a lot of… When I was learning I liked the idea that you could solve puzzles with code, so I think that I was really drawn towards that and I would just do several of them every day.
Adam: At your work?
Krystal: Yeah. I shouldn’t be saying, yeah. So I was always in this kind of state of conflict where people were telling me, “You should just learn Java scripts [inaudible 00:10:29] just got a job,” but Haskell was just fascinating to me. And then I started looking, I think not so much building things but trying to understand why things in Haskell worked the way they did. I think that was an interesting problem. If we’re going through the Codewars stuff trying to figure out, if this is how all this works in a Java and C++ and Python, why doesn’t it work this way in Haskell? What is wrong with this language that it doesn’t work like all the other languages? And so I went through this whole phase where I installed a bunch of different things like Julia, Smalltalk, Prolog, and I just kind of played around them and tried to see why they were different from each other.
Adam: So you’re at your lighting place and do you have like a browser tab open to Codewars and then it’s like find the biggest element in the list or something and you’re working away and then somebody comes by and you switch the tab over?
Krystal: I mean, it was pretty terrible and some people may not like this because it is kind of unethical. But there was a metal shop behind me as well, we were all in this building, and so I had to deal with customers right behind a metal shop. So I’d be speaking to someone and then you’d hear the grinders and it’s pretty insane. It’s kind of one of the phases where people are working, but not really. I mean, sometimes it did cause conflicts but my supervisor was nice enough to say, “Well, if she’s considering that we’re not Basic all the time. If she’s getting her work done, we don’t really care.” And then my desk started filling up with like Lisp books. And I actually met a camera guy who used to study programming, so this is the other direction, and he saw a Lisp book on my desk and he said, “Lisp.” And I said, “Yeah, I’m taking a class and we’re doing C++.” And he told me, he said, “I used to that for a living so if you ever need any help with your C++ homework, I can help you.”
Moving From Film to Programming
Adam: That’s awesome. That’s great. What were your motivations? Were you thinking, “I’m going to get into this professionally,” or, “This is just fun.”
Krystal: So I left the world of film for a really strange reason because I did have a wave where I was working on movie sets and lighting plays and all of this stuff and I just kind of got bored and I wanted more and I think that led me down that path. So mentally by the time I had gotten to that stage of being curious about code, I had long left that whole idea of, “Hey, I want to work in movies or whatever.” But I honestly never plot any of that, I was just doing it for the fun. I just thought it was really cool. I don’t know how it just ended up the way it did, I just kind of enjoyed hanging out with these people. And I’d gotten kind of bored doing the work that I was doing.
Adam: In other words, her job was not exciting so she found something fun to learn. This is, I think the story of my career as well. It wasn’t night school classes or Haskell meetups for me, just embracing side projects and ultimately that leading to my next career move.
Google Summer of Code
Adam (14:57) For Krystal, getting laid off forced her next career move and that move was to land a software testing job and apply it to the 2018 Google Summer of Code Program. Google summer of code is where Google sponsors students to work on an open source project along with mentors. Krystal applied with Gabe Gonzalez and Chris Smith as her mentors. She’s going to mention GHCJS as well, that is the compiler for Haskell.
Krystal: So the job where I was doing all my homework, and I got laid off from that job because they were not making any money. And so I was applying for jobs but I also didn’t have a job, since I was still going to school I was considered a student. And I knew that they had a computer lab that opened at 8:00 AM, so I would just go there for 8:00 AM and then just work on Haskell as much as I could during the day and send in applications. And I would just like go through books and write simple stuff. I still I mean, super beginner, I’m not experienced with Haskell or anything. So a lot of schools have food pantries for students who don’t have food and I was thinking of signing up for one, but I was okay for food. So I would check on like free food on campus and just spend the day there. And then started doing interviews at my school and while I was going through the interview process with a company, it took about two weeks with a company that I eventually got the manual testing job to just pay my bills. So I opened my email in the computer lab at school, which is completely not secure, and it said, “Congratulations, your proposal has been accepted.” And the first thing I thought was, “Yes, I have money for summer.” And I was super excited because I saw Gabe’s name on there and I saw Chris’s name on there and I thought, “This is too good to be true.”
Adam: One thing I’m interested in is kind of like, when you did the Google Summer of Code what was it like when you… It’s somewhat of a transition to being a professional developer, how was it? Was it hard?
Krystal: So we had sessions from, let me see, like 6:00 to 9:00 sometimes. And so he would spend hours or an entire hour on five lines, I think that’s a Google thing. I mean, it’s insane to go from community college level C++ that you could copy out of a book or find on the internet kind of thing copy and paste from Stack Overflow to that level. The quality of mentorship between Gabe and Chris, it was just outstanding. I think that’s been one of the better experiences I’ve ever had like that.
Adam: Didn’t you ever get upset and be like, “This is bullshit. We’re an hour in on my five lines of code.”
Krystal: Yes. Sometimes I usually do the sign thing when I get upset. It’s like twofold, they’re kind of annoyed because they’re like, “Why Krystal?” And I’m kind of annoyed because I’m like, “This is ridiculous.” Both of them are actually really fun mentors in general, so I think that kind of made the experience really great. And on the back of my head, I also knew that it’s an incredible opportunity because both of them have extensive experience and they also write really clean code. And so when you read their code, you can read and know exactly what it means and it’s just well-written, very clean and just proper formatting. And that’s because I guess both places that they work have [inaudible 00:19:24] really high quality code. So I kind of knew in the back of my head even though some of it was rough, that I was getting a really good experience. I do remember this one time when I told them that I’d gotten a job and gave a saying that, “You could apply some of the things you learned even though you’re just doing manual testing, like the clean coding practices.” And he said, “So what language are you guys using at work?” And I said, “PHP.” And he was like, “Sorry.” It was really kind of a fun experience for me and we all tried to make the best of the situation. But one of the things that I was struggling with is that I had limited funding. So I really thought I could do Google Summer of Code with a $20 laptop that I got off of eBay and it became clear-
Adam: Literally $20?
Krystal: Yeah. Well, like $29, but I found it on eBay. I used to troll eBay a lot and I found this slopped up once and I was like, “This is so cool. It’s only $29, I have to have it.” So I bought this laptop and I installed Ubuntu 14.04 on it with a USB and I would use it. And I thought, “Well, if I have to have Linux…” I think my other machine was a Windows machine, a Dell Windows machine, I thought, “Well, I’m going to use this Linux machine for my Google Summer of Code because this is all I can afford right now and this is all I have.” He said, “The first thing we could do during our first meeting is try to make the build, get the build up and running. And so the first thing it did was it failed because it was 32 bit, my machine was $29 and apparently it wasn’t in the list of build to install GHCJS and all that stuff if it was a 32 bit. That was the first poll request is… We opened up the [inaudible 00:21:55] and then fix it and then, “Okay, great.” Now it is building, but then it took like a day. I remember at one point in time Chris saying, “This is ridiculous.” He said first he’ll try one of his friends to get a laptop to me physically and then he said, “That’s okay, I’ll just buy you a laptop.” I don’t know what it is if it’s like a Google thing or whatever, we spoke about it in the morning it appeared in the afternoon on my doorstep; magic pony, Google Stuff. And so I started working on it, but then as I was working on that, that one also failed over time because I think we underestimated how intensive GHCJS is so I think the screen eventually gave way on that one. And then Nadia from the Helium, she has this thing called Helium Grants where is like 700 people applied. I remember I wrote an application because they were talking about, “What are we going to do about this computer issue? This is taking days to build.” I didn’t know yet that he was going to tell me he would buy me a laptop so I applied for this Helium Grant thing, it just kind of floated in my periphery. And I said, “Okay, I’m going to apply.” And I wrote this application telling her that my solution for the Google Summer of Code pair coding together with my mentor, would be to stick a video camera from one computer to another with duct tape.
Adam: Is that true, you were using one computer’s webcam to show the others too?
Krystal: Well, we had a lot of issues too with… We were trying to screen share and care program and run GHCJS, so the $29 computer was failing. First of all, Hangouts was not as great as we thought it would be. She emailed me and she said, “Either you’ve gotten one of the 11 grants that we were giving this year,” which is I think she gave $1,000 with no strings attached. I had a discussion with Gabe because I said, “Should I tell her that I…” I had just gotten the computer they gave me and I said, “Should I tell her that I have a computer and that she could give the grant to somebody else who deserves it?” And he said, “You should just do the right thing and just be honest with her and it’s up to her to decide what to do.” And so I told her and she said, “I think you’re deserving of the grant, so you can do whatever you want with the money.” And then like a week later my laptop broke.
Adam: Well, you got your $29 worth.
Krystal: It’s just strange how there’s a certain kind of mentality that people don’t think of if you’re learning to code. And I’ve noticed even in my school, most people here have Macs and a lot of professors think that everybody uses a Mac and I can’t help you if you don’t have a Mac or whatever. But I went through this whole process of not being able to have those things and so I’m really sensitive to trying to find ways to make things work. They thought it was cool that I had this $29 laptop they were like, “We love little machines like that.” It’s really nice that they didn’t snob me and then saying, “Why [inaudible 00:25:55].” Because everybody even Silicon Valley when you join a company, the first thing they do is give you a brand new Mac or whatever to use. That’s kind of trippy, coming from having a flip phone and a $20 laptop.
Adam: After Google Summer of Code, Krystal is still doing QA at a software company but she’s looking around to see what else is out there.
Krystal: So I remember when I started to look at the manual testing job, so there was a group of us, it was so much fun. We had a lot of younger interns, a lot of us going to school and working there part-time like 29 hours a week. I had these friends that I would go out to Denny’s for lunch with at that group. And late at night we’d order pizza, but the building would close at 7:00. So we had this whole strategy where one person would go collect the pizza and the other person would keep the front door open and then the other person would stay in the office and wait for the other person to call so that they could call the elevator because the elevator would only go down at the same time and we had this whole thing. And one time we thought we were going to be stuck in the elevator with the pizza because the person in the office hadn’t called elevator yet.
Adam: In the midst of this fun, Krystal gets contacted by a recruiter from Apple about a software job.
Krystal: And this is the guy who was my recruiter is probably the best recruiter I’ve ever had, he’s so nice and super thoughtful and I spoke with him. I was kind of weighted up by the fact that he kept going through the process with me, because I thought they’re going to tell me at some point in time I’m rejected. They CC’d me and told me that they were interested originally for full-time, they were interested in bringing me on full-time, but I was interested in an internship. So I didn’t hear from them for about a month and then I got another email and they said, “Well, would you be interested in interviewing for this internship?” And then I said, “Okay.” And the recruiter kept acting like he was engaged, but I thought he’s completely going to hire some Ivy League whatever person, because I was in community college and working at a manual testing job and I’m the furthest [inaudible 00:28:30]. I did two initial and the two rounds of the interviews and then they said they want to speak with me. So he kept asking me, what date I want to start.
Adam: That’s a good sign, Krystal.
Krystal: I know. You never know because he was like, “Would you like this stuff for TNT if it were to happen?” I mean, he was kind of buying time on it. So I was Googling while I was working at testing job. I was secretly also Googling, what does it mean when they tell you that they have next steps or whatever? What does that mean in code? I know the whole trick about, if they email it’s just your rejection, if they call you it’s usually to accept you kind of thing. So he said he wants to speak with me and he said, “The manager chose you.” And I was like, “Are you serious?” I kept saying, “Are you serious?” And then after he ended the call and he was telling me all this stuff and asked me what time… Then I found out later on that it was because he was trying to get the paperwork order. So he called me and he said, “You can tell your parents.” And I called them in Trinidad and my dad said the same thing, he was like, “Are you serious?” And so this is the first time that having a green card that I was able to actually send in a letter of resignation. And I told them, I remember from my exit interview, they said, “Why are you leaving?” And I said, “For another job.” And then the person interviewing me said, “What’s the company name?” And I told them and she was like, “You should have put it on the exit survey.” I mean, everybody was just really happy for me. And so we were really close knit.
Landing a new Job at Apple
Adam: So Krystal started at Apple and she loved it. If she was most people, this would be the end of her story. But Krystal left Apple for grad school to do a Ph. D. in programming languages and data privacy. She left the Bay Area for Vermont, this really surprised me. How do I ask this? For a while you were scrambling I guess, and then so you got a job at Apple. They pay a lot of money, I like that. They hand out stock with lunch, as far as I know. But then you left, you left to go to grad school. People talk about getting a job at a like FAANG companies. I’m pretty sure they’re one of the A’s.
Krystal: Yes. I was going through this thing with my manager and trying to figure out what I could… There’s a guy at the manual testing shop that I did, he was a senior employee there and he used to work for Microsoft, when I was leaving he said, “Wow, you sound just like how I was when I was going off to Microsoft.” And I understand now what he means by that which is that, everybody has that moment when everything’s shiny; when it’s new and you walk on to campus at Google or whatever. The first time I went to Google IO and I just thought it was like, “This is insane,” or the Google LA campus. The first time I went to Google LA and you go there and you’re like, “There’s this climbing mall and all this stuff and there’s free food and we do this and all this is free.” I ate a lot when I was at… I was so limited in terms of what I could do before and I’m just going to eat as much as possible and have a blast.
What’s Next to Learn?
Adam: I have a pet theory. I think that you were into film, but then you got interested in coding and all the way to Apple. But I think that maybe what you really like is learning things.
Krystal: Yes, that’s very true.
Adam: You learned how to work as a software developer to a certain extent, right?
Adam: And you’re like, “What’s the next thing to learn?”
Krystal: That’s true. That’s a very good observation. And I think that ties into my experience at, I used to hangout monthly with the JPL NASA scientists, they had the German JPL group where they would just speak German and drink and eat German sausages.
Adam: [crosstalk 00:33:40] you’re like, “Yeah, I used to just hang out with people from NASA and we would eat sausages.” No, I don’t know what that means.
Krystal: There is this Bar in Altadena, it was called the Altadena Ale House, and a lot of NASA scientists hang out there and one of my mentors works at JPL, so he would bring me there and we would all hang out. And it was really fun. And you just have German sausages, even though I’m vegetarian and drink German bear and they speak in German. But I think that seeing their intuition about things, because a lot of those people had advanced degrees, that really resonated with me.
Adam: What do you think it would be like if more people were like you and maybe being more bold at learning or following your interests, would things be different?
Krystal: I think everybody would just be like ADD. People get frustrated at me because I get bored. [inaudible 00:34:53] my brother he was in our primary school or his primary school was separated, we had boards. So you have a board and a class next to you and you could see diagonally into the class ahead of you. And his teacher discovered when he was little that he was learning material in the class diagonally, which is a year ahead because he was bored. So that happens a lot for me where I could get sidetracked because I just don’t think something’s as interesting. One thing I did get out of the artists especially those who switched from art to tech or the other way back the creative to tech is that, they’re bolder, they’re more courageous in terms of taking risks and I wish that more engineers could… Even from Trinidad, being able to just find somebody’s email and have the guts to email them and say, “Hey, I’m this kid. I want to know more about how you got to where you are going to.” I think people can be a little bit bolder and not accept… a lot of software engineers kind of accept things as the way they are.
Adam: I think that I’m a serial learner, I guess or maybe I’m always chasing shiny things. Do you have any advice for people out there who like yourself or maybe like myself just really like to learn new things?
Krystal: I think the intuition if you like to learn things I think that’s a gift, I think that’s not something that everybody has. My dad calls it a curse because it means that sometimes you might see things or be fascinated with things that other people they think it’s a useless thing to learn. I mean, not everybody is obsessed or necessarily wants to be a programmer because they love learning things and that’s understandable. I don’t think you should have too many of those people because they might be anarchy in the world, but I think it’s a wonderful thing. I think people like you and Slack, that group, and all the other people that I’ve met along the way, have made everything… People who love to learn kind of find each other, they’ve made it possible for people like me to be a part of the community. I like people who are a little bit rebellious or people who have kind of odd balls because they do kind of make you think about things differently or just kind of… Basically, they don’t accept things as they are on surface level. I think it’s worth pursuing, I don’t see anything wrong with people who like to learn.
Adam: Have you ever been asked about a five-year plan? I don’t view my career as executing on some sort of five-year plan, I don’t even have one. I just get obsessed with something and kind of followed that interest. I think there’s something about being passionate that makes learning even hard things seem easy. I think a lot of great careers are built on curiosity and obsession, including Krystal’s. All right, that was the show. I met Krystal through the Slack channel for the podcast. She has a thousand interesting stories, I couldn’t fit them all in.
What did you do this week?
Adam: If you jump on our Slack channel she’s always there, she’s the one with the skeletal profile. We have a Friday thread about what did you accomplish this week? And the answers are super eclectic. Today, there was a discussion about the math of origami as well as people just sharing fun side projects. Which reminds me of one question I think I should end on. Can you read your message today from the Slack thing?
Adam: So the question is, what did you accomplish or build or learn this week?
Krystal: What did you accomplish or build or learn this week? And I said, “I volunteered for ICLR,” which I did do. I did two rounds for two different conferences of reviewing work for acceptance. And I’m finishing up the last round for one conference this weekend, which is correct. So I attended two recruiting events, one part two is happening today which I just finished. I did an exam. I worked on research. I found out I was one of 20 people chosen for a mentorship as a mentee program with someone in my research field of interest, it’s a three-month thing and I write an article at the end that gets published. And joined this amazing community. I applied for two grants and caught my first discord bot Pokemon, lol.
Adam: It sounds like a busy week. All right, Krystal. Thank you again for your time. Let me hit stop here.