In this episode, we talk about learning to code when you’re older, with Allison Sheridan, creator of the NosillaCast Mac Podcast, and former IT Fellow at Raytheon. Allison talks about why she picked up coding in her retirement, her challenges and successes on her coding journey, as well as her tips for learning.
[00:00:07] SY: Welcome to the CodeNewbie Podcast where we talk to people on their coding journey in hopes of helping you on yours. I’m your host, Saron, and today, we’re talking about learning to code when you’re older with Allison Sheridan, Creator of the NosillaCast Podcast and former IT Fellow at Raytheon.
[00:00:23] AS: Research has shown a correlation between not getting Alzheimer’s and learning to do something that’s very difficult for you and mastering it.
[00:00:33] SY: Allison talks about why she picked up coding in her retirement, her challenges and successes on her coding journey, as well as her tips for learning after this.
[00:00:49] TwilioQuest is a desktop roleplaying game for Mac, Windows, and Linux to teach you real world developer skills. Take up the tools of software development, become an operator, save the cloud. Download and play TwilioQuest for free at twilio.com/quest.
[00:01:06] Simplify your infrastructure and cut your cloud bills in half with Linode’s Linux virtual machines. Develop, deploy, and scale your modern applications faster and easier. Whether you’re developing a personal project or managing larger workloads, you deserve simple, affordable, and accessible cloud computing solutions. Get started on Linode today with $100 in free credit for listeners of CodeNewbie. You can find all the details at linode.com/codenewbie.
[00:01:37] Awesome applications need data wherever, whenever, and however users want to consume it. In addition to a fast to deploy application stack, join React with Cassandra Dev Day, a half day interactive virtual event this December 9 where you can learn how to use React with Netlify and Apache Cassandra, the same database that powers Netflix, Spotify, and Apple. Are you in? Register at events.datastax.com/reactwithcassandra.
[00:02:13] SY: Thank you so much for being here.
[00:02:15] AS: Oh, I’m so excited about this. This is going to be fun.
[00:02:18] SY: So tell us a bit about your background, your career before you retired.
[00:02:22] AS: Well, I originally graduated with a master’s degree in mechanical engineering and part way through ended up veering into the IT world and running a large IT organization and then eventually becoming a fellow. I did technically take programming in college, but if anybody remembers Fortran IV with WHATFIV and punch cards, that’s what we’re talking about.
[00:02:42] SY: So you were a fellow, which sounds very fancy. What does a fellow do?
[00:02:47] AS: Well, a fellow does pretty much whatever they want, which is awesome.
[00:02:50] SY: Nice!
[00:02:51] AS: I achieved the highest technical title you could get as an IT person. My particular specialty at Raytheon was in social media. So I was helping to create a social media environment inside of the company, because with a company with 60,000 employees, we know that any given time, somebody else’s solving the same problem as you are and if you could be talking to each other, that would be really awesome. That was the dream anyway.
[00:03:16] SY: Interesting. So was that a technical challenge or what did that look like?
[00:03:20] AS: That was not the technical challenge. I had a much more challenging career before that when I ran the engineering computing organization. That was where I was digging in with the engineers and needing to understand the difference between talking about power supplies and software development and mechanical engineering. So it was much less exciting than it sounds.
[00:03:42] SY: Well, I think it sounds very intimidating to me because I don’t know what those things are, which makes you sound very smart. So that’s a good thing.
[00:03:49] AS: Oh, you should hear my title. My master’s degree is in kinematics.
[00:03:53] SY: Oh, wow!
[00:03:53] AS: Nobody knows what that is. So that’s fun.
[00:03:55] SY: No. No idea. But it sounds really smart. So when I think about the landscape of engineering today, it tends to be male dominated. A lot of people who are women in tech struggle with being the only woman in tech. And I’m wondering in your career, has that been an issue? What’s it been like to be in the field during that time?
[00:04:18] AS: I’m really saddened by the fact that when I graduated from college, my undergraduate degree, it was about 20% women, and then it had been going up and up and up, and then I kind of stopped paying attention to it and I looked at it recently and it’s back down to where it was in the ’80s when I was getting out of the school.
[00:04:33] SY: Yeah.
[00:04:34] AS: That was essentially kind of depressing. I thought progress went forward all the time. I’m naive that way. Definitely it was weird being a woman in engineering in my undergraduate degree and at work even more so. As a mechanical engineer, I was definitely the only woman around and I kind of grew up in this organization. I was only 20 years old when I started there. And I didn’t know any better. And I looked around one day and out of 270 engineers, I was the last female engineer to leave.
[00:05:05] SY: Oh, wow!
[00:05:07] AS: And my friends are like, “Hey, you’re really slow, Allison. You didn’t notice you were being mistreated and not getting promoted and not getting raises.” And I was just like, “Sure. This is where I was born. I don’t know any better.”
[00:05:18] SY: Yeah.
[00:05:18] AS: When I went into doing the engineering computing part, it was a different part of Raytheon and that part of Raytheon promoted women and gave them raises and things and obviously never caught up because you can’t. Once you’re behind, you don’t catch up. But I ended up in an organization where it was unnoticeable that I was a woman. That wasn’t a thing. It wasn’t a big deal.
[00:05:40] SY: That’s great.
[00:05:41] AS: Yeah. That’s kind of why I thought progress was going forward.
[00:05:44] SY: So what drew you to mechanical engineering?
[00:05:46] AS: My dad was a mechanical engineer. I never thought of being anything else. That was what I always thought I would be and it was really hard after 11 years of being a functional engineer to realize that when they brought in the first CAD systems, I like to say I felt like I went from being a piano player to being a pianist. I was a piano player at mechanical engineering. I hit all the notes when they told me to, and I hit them as loud as they said, but that’s not a pianist. But when I got the first CAD system, I was like, “I could make this thing sing.” I just felt like a maestro as I was doing things with it and that’s why I ended up going over into the computer-aided design side and then eventually running the computer to design organization and on up the ladder from there.
[00:06:33] SY: So let’s talk about learning to code. When did you decide you wanted to learn to code?
[00:06:38] AS: It was one of those things that kind of sat idling in the back of my brain for a long time. And when I was about to retire, I thought, “It’d be really fun to learn to code.” It sounds fun. Right? It’s making things.
[00:06:50] SY: Yeah.
[00:06:50] AS: So I talked to my friend who has a PhD in grid computing, and I said, “Hey, will you teach me to code when I get out?” And he said, “Here’s a book.”
[00:07:00] SY: So no.
[00:07:01] AS: Right. Right. Right. Yeah. I mean, he was nice about it, but go read this book. That’s not how I’m going to learn. So a couple of years later, I mentioned it to Bart Busschots, who is my cohost on a couple of shows that we do together now. This one is called “Programming by Stealth”. He said, “Well, how about if we do a podcast together? I’ll write the show notes. We’ll record it together and I’ll teach you, but that’s how we’ll be teaching the audience.” And so we started this many years ago and we’re coming up on Episode 100. It’s taken years to get that far. It’s heavy lifting because he gives us homework. At first, he didn’t. And I would ask him questions, like, “How am I supposed to remember that?” And he says, “Don’t worry, with practice.” I said, “When am I going to practice? I haven’t taken any code yet.” We’ve probably been doing 20 episodes before we realized, “Oh, you have to let me do it.” You know?
[00:07:45] SY: Yeah.
[00:07:46] AS: And it’s funny because he’s brilliant and it’s really mostly a lecture. It’s mostly him talking. If you look at the wave form, you see a lot more of him than me. But he says he loves it because I stop him and say, “Wait, wait, wait, what does that even mean? I’m completely lost.” And so many times I get listeners who write in and say, “Oh, man, you stopped him right where I was stuck.” So I have some value, but the Dumb Stooge who doesn’t really catch everything.
[00:08:13] SY: Well, that’s basically the same format that we use for the Base.cs Podcast that I used to do with Vaidehi Joshi. The series is over now, but she spent a year teaching herself computer science. She wrote a blog post every week about different computer science topics. And so I wanted to turn that into a show. And so she was the teacher, I was the student, and she would teach me computer science and I would ask the “dumb questions”.
[00:08:36] AS: There you go.
[00:08:36] SY: And it worked out really well and we ended up finishing. It took a while. It took I think it was like three or four years. We eventually finished all her blog posts, but yeah, I think that format works really well. You’ve got a teacher, you got a student and the audience gets to play along with the student. And I think it’s a really great way to do a show.
[00:08:56] AS: We had also done this, the mother of this podcast is a show we did called “Taming the Terminal” where he taught us how to use the terminal on the Mac. That series is still ongoing, but slowed way down because most of what he wanted to teach us is finished. But we just produced it as an open source book. Just published it like last week, two weeks ago.
[00:09:16] SY: Oh, great! Congratulations.
[00:09:17] AS: Yeah. All open source tools used to create the book. It’s open source for anybody to download, do anything they want to it.
[00:09:25] SY: So learning how to code via an audio podcast definitely sounds like something that’s great for the audience, but was it a good strategy for you? Did you feel like you were really learning and being efficient about that in this format?
[00:09:40] AS: I think more so for me. I think I had an advantage because Bart rates tutorial show notes. So while we’re going through the show, I’m reading along and I’m seeing the commands. So where he’s stringing some long complex command out, I’m actually getting to see it typed where if you’re just listening, you wouldn’t get that advantage. But the way we produce it, you can read along and I get to stop him when I get stuck and say, “What do you mean?” So I feel like I’m the kid in the front row who’s just going, “Wait, wait, wait. It’s all about me.” You know?
[00:10:08] SY: I’m that kid too. I love being that kid. So what were you hoping to do with this code? Earlier you said that you liked the idea of coding because you’re making stuff. So was there a thing you were hoping to make to build that you were excited about?
[00:10:21] AS: I think at the beginning, it’s more like, “Why would you take up woodcarving?” Because you want to make stuff, not necessarily you want to make this bird. You just want to make stuff. That’s all you’re trying to do. But over time, what I started running into was I try to use little things like automate around the Mac. It allows you to create automated workflows where you do cute little drag and drop and everything works and every single thing I wanted to do ended up with, “Oh, but you have to write a script right there.” So I just kept getting stuck on that. So I wanted to learn to do more. What I didn’t realize is how fun it would really be to make little things. I mean, we’re working on a clock right now and I spend every minute I can steal from everything else, trying to improve my clock. I’m just so excited about it.
[00:11:09] SY: So you were learning from your friend, Bart. You’re building this clock. What exactly are you learning? What is he teaching you?
[00:12:09] SY: Right.
[00:12:09] AS: He’s trying to teach you to solve the problems. He’s trying to teach us to read the documentation and that’s been really hard for me because I want to be spoonfed.
[00:12:22] SY: Yeah, absolutely. So outside of Bart, have there been other tools and resources you’ve used to learn to code?
[00:12:30] AS: I did some Codecademy stuff. I did Codecademy early on when I wasn’t getting homework and I realized I was like already behind because I couldn’t do a loop on my own. This is after like 20 weeks. I should be able to do a loop by now. And so I went through some of the beginning stuff and that just got me some repetitive stuff. I’ve thought about going back and refreshing some skills with it, but I’m also lazy and busy. So I really haven’t done too much, but it teaches us to rely on stack exchange and in stack overflow, look for a solution and then look at the date. When it says it was 12 years ago, you might want to look for something a little bit more recent because I kept putting things in my code where he’s going, “We haven’t written it that way since 2010.”
[00:13:17] SY: Yeah.
[00:13:37] SY: Explore the Mysteries of the Pythonic Temple, the OSS ElePHPant, and The Flame of Open Source all while learning the tools of software development with TwilioQuest. Become an operator, save the cloud. Download and play TwilioQuest for free at twilio.com/quest.
[00:13:54] Linode has data centers around the world with the same simple and consistent pricing, regardless of location. Choose the data center nearest to you. You also receive 24/7 365 human support with no tears or handoffs, regardless of your plan size. You can choose shared and dedicated compute instances or you can use your $100 in credit on S3-compatible Object Storage, manage Kubernetes, and more. If it runs on Linux, it runs on Linode. Visit linode.com/codenewbie and click on the “Create Free Account” button to get started.
[00:14:36] SY: So tell me about your methodology. You’ve got Bart in this audio podcast, you got a little bit of Codecademy. You’re forced to look at the docs once in a while. What’s your week look like in terms of how much time you make for coding and how much time do you spend on the podcast versus practicing on your own? What does that look like?
[00:14:54] AS: So I am retired, which is a good time to learn to code, really, because you’ve got obviously more time, but what you don’t realize when you retire is how inefficient you’re going to become. I mean, I drink coffee till eight and then I exercise. I probably start doing anything productive by like one in the afternoon because then I got to catch up on Facebook. I got to do all that stuff. So I don’t get a lot done in the mornings. I tend to work on the podcast towards the end of the week and I give myself like Monday, I’m allowed to do whatever I want. The NosillaCast is every other week, Bart is on that show and he does a segment called “Security Bits”. So that means I’ve got like 45 minutes to an hour of content created by him and me that I don’t have to write up front. On the weeks he’s not on, I have to write all of the content for the show. So the show is scripted. I do blog posts. I write, I don’t know, 5,000 or 6,000 words a week for the blog. And then that’s the format of the show. So every other week I have time to play with programming and every other week I don’t. What I did do was I started watching less TV after dinner. I go upstairs and I start coding and I was really surprised to learn, I mean, I completely understand sucking down Red Bull in your mother’s basement programming and not looking up and realizing five hours have gone by. And that surprised me because I didn’t think I’d be that kind of person, but I did a blog post called “Programming is My Happy Place” because I could just go there. And you know what? There’s no politics when you’re programming. There’s no war. There’s no sickness. There’s nothing like that to worry about.
[00:16:26] SY: Right. It’s very peaceful.
[00:16:27] AS: You’re just trying to figure out that loop, get that loop to work.
[00:16:31] SY: Yeah, absolutely. So where did tutorials come in, if they did? Was that a big part of your learning process?
[00:17:13] SY: That must be helpful.
[00:17:53] SY: Yeah.
[00:17:53] AS: That’s probably the thing I’ve lost the most is that I don’t have my programming buddy right next to me. We do some Skype screen shares and stuff, but I don’t know, it’s not the same.
[00:18:03] SY: So tell me about the emotional side of learning to code. Because I don’t know about you, but for me, I was really surprised at how emotional it was, how frustrated I got and how stupid I felt at times and then how excited I was when things were, it just felt like it was just so many ups and downs. Did you go through anything like that or what was it like to code in terms of your feelings?
[00:18:24] AS: I was able to articulate that after listening to Ze Frank on CodeNewbie.
[00:18:29] SY: Oh, okay, cool.
[00:18:30] AS: He talked at one point about the Valley of Despair and it was the perfect phrase.
[00:18:36] ZF: And then ultimately, there’s always just some moment where you just get smacked in the head and that can come in in a lot of different ways. I mean, I remember very clearly not being able to access some command, like I would call it and it would just return nothing. Then you’re in that canyon of error trapping and sort of despair, just that grinding of changing punctuation, doing whatever you can. Oftentimes for me, anyways, there would be some situations where I would be able to solve those problems and then some situations where I would realize that I was in a space that was either unsolvable or unsolvable for me, in which case I would have to re-imagine what the end product was.
[00:19:32] AS: I mean, I’ll work on some incredibly trivial little piece and I don’t want to just ask Dorothy because I should be able to do this. It’s like, “I know it’s simple, but I can’t see it.” And it’s not a typo kind of problem. I just actually don’t know how to do it. And I like to think about it like I run or I used to before I was allowed to go to the beach and run anymore. And there’s a certain psychology that I’ve run into an exercise where when you’re running well, like you’re just running like the wind, you’re feeling strong, psychologically my brain says, “You’re never going to do that again. You better enjoy this because this is the last time you’re running that good.” And when I’m running poorly and I feel like my legs are made of cement, my brain says, “Yup, you’re too old. You’re too fat. You’re probably ugly and you’re never going to run again.” And I run into the same thing with programming is I think, “I can never do this. I’m not smart enough. I don’t know how to do it.” And then one day, everything works, but I never believed that’s going to happen.
[00:20:30] SY: Right.
[00:20:31] AS: Another reason I went into coding, I’m friends with a woman named Dr. Maryanne Garry from the University of Waikato, who does research into memory. And research has shown a correlation between not getting Alzheimer’s and learning to do something that’s very difficult for you and mastering it.
[00:20:50] Y: Oh, interesting.
[00:20:50]AS: And so I decided to pick up programming. And in some of the early days where I was just convinced I would never be able to do this, I mean, I’d have my head on the table, I’m terrible, I suck, I’m stupid, this is awful, I would sit up and say, “Maryanne said it’s supposed to be hard.” And then I would work on it again. So I better not get Alzheimer’s because I’m working really hard.
[00:21:14] SY: So I want to go back to that idea of the Valley of Despair. When you were in that valley, what do you do? How do you pull yourself out of that valley?
[00:21:24] AS: Usually the only thing that works is walking away. It’s one of those things where you’ve looked at it, looked at it, looked at it, looked at it, it’s been hours, you’ve tried every single way to chisel your way in. And then in the middle of the night, you think of something or you wake up and say, “Hey, I wonder if I looked at it this way.” That gives me a chance, but there’s been a lot of times that I have to reach up and Dorothy reaches down and pulls me out of the Valley of Despair. That happens really often. Buddy coding, man, I can’t say enough good stuff about that, but you got to find somebody smarter than you and then you got to help somebody who knows less than you do so that everybody’s in this chain of happiness. I just haven’t found anybody worse at it than me yet.
[00:22:03] SY: Yeah.
[00:22:04] AS: I would totally help if I could.
[00:22:07] SY: So do you feel like your background in mechanical engineering has helped you in any way with learning to code?
[00:22:14] AS: The biggest thing, two things I learned in school were the scientific process of changing one thing at a time. If you change five things, then you don’t know how you fixed it. You don’t know which one fixed it. So trying to do that, change it and check it, change it, check it, change it, check it. I remember doing that at one time and I was getting these really weird results, like either that should work or that shouldn’t have worked. Why is it working when Dorothy explained to me that I have to empty the cache more often? And so in a web app, I was getting the wrong answer and it wasn’t making sense. But being able to change one thing at a time. And another thing, I went to the University of California in Irvine and then at UCLA for my master’s and they did surveys of the teachers at the end of every quarter. And one of the questions that was always on it was, “Did the professor make you memorize things or teach you how to figure it out?” And that’s how I knew that they were purposely doing that. They were teaching us how to figure it out. They weren’t teaching us to memorize things. And I think that stuck with me that I learn how to figure things out. Because as we might have mentioned before, my memory of things isn’t that good. So if I can figure out how to figure it out, then I can.
[00:23:24] SY: Yeah. I like that. Figure out how to figure it out. Yeah. I like that a lot. Yeah. That happens to me all the time is changing one variable at a time and really thinking about just one little because it’s so hard, right? Because I feel like, “Oh, I know the answer. Let me redo this whole thing and see if that works.” I mean, that can work, for me anyway, if you get lucky, but for the most part, that’s not been very, very successful. So what has been the most surprising thing to you as you’ve learned how to code that?
[00:23:58] AS: I don’t know if I can speak this for everyone. Maybe you can tell me if it’s what everybody does. You never stop when it’s working. You only stop when you fail.
[00:24:08] SY: Yeah.
[00:24:09] AS: Because as soon as you get it working, when it’s like, “Oh my God! It worked! It worked!” You know what else I could do because it’s going to keep working. But of course, it doesn’t and then you break everything and then you go back. You quit when it’s a horrific mess.
[00:24:22] SY: Yeah.
[00:24:22] AS: Am I unusual in that? Is it everybody?
[00:24:24] SY: No. Well, the way I look at it is we’re in a state of constant failure because once something works, you got to get back on the horse and keep going and then you’re broken again. And it’s just this cycle where you mostly spend your time in failure and then the part where it works lasts like two seconds and then you’re back to failing. So that’s how I look at it.
[00:24:45] AS: It’s like we’re barely poking our nose above the water to breathe and we’re sinking the rest of the time.
[00:24:50] SY: Yup. Yup, exactly, with just enough hope.
[00:24:54] AS: Yeah, just enough hope. The other thing I learned again from listening to CodeNewbie is that it’s very hard to say to yourself I’m a developer.
[00:25:06] SY: Oh, yeah, yeah.
[00:25:06] AS: I don’t know if it’s true for men, but it’s really hard for a woman to say, “I’m not fat or I’m thin.” That is almost impossible. It turns out I’m not fat, but I only got to the point where I could say that like eight years ago and yet I wasn’t fat. So it’s like that. With programming is Bart said you’re a developer one day, and I forget what it was I did. I think I found a library on my own to draw a circle. It was something very small, but I was very proud of the fact that I found this library without him helping me. So he’s really trying to teach us to be developers. And so instead of thinking, “Well, you could have found a better one,” he was telling me that I was a developer because I found that. I’m contributing in some weird ways to open source. And so when I’m contributing to that, that makes me a developer. I’m sharing my code on GitHub, I’m a developer. And that was really hard to say and that surprised me, but I think I am a developer. I might not be a good one.
[00:26:07] SY: But technically correct is the best type of correct. So at what point did you come to that conclusion? When did Bart say to you, you were a developer?
[00:26:19] AS: Inside of the last year and we’ve been at it for four or five years of doing this and I would say within the last year that I got to the point where I was willing to say that.
[00:26:29] SY: How’s it felt since you first said that? Do you feel more comfortable saying it or does it still feel a little off?
[00:26:35] AS: Oh, yeah.
[00:26:36] SY: Yeah, that’s great.
[00:26:36] AS: Yeah, yeah, yeah. You have to repeat it out loud, just like saying I’m not fat. The fact that I’m able to say that on a microphone, that’s a big step right there.
[00:26:45] SY: So what’s been the most challenging part of learning to code?
[00:26:49] AS: I don’t think I have a good memory.
[00:26:53] SY: Interesting.
[00:26:53] AS: And one of the things Bart really stresses is the lingo to say it correctly. And I had a guy on my show who taught himself to code. And one of the things he talked about was that when he went into the workforce, he didn’t know the names for things and he basically couldn’t talk to anybody. He couldn’t ask questions because they didn’t know what he was talking about.
[00:27:13] SY: Yeah.
[00:27:14] AS: And that really resonated with me because I said, “Okay, there’s a reason he’s making me do this.” But there would be times where I was asking Bart a question and I would try to get my question out, but I wasn’t using the right words. He would correct the words and I would lose the thread of what I was about to say. And it was really frustrating because I was getting derailed and I understand the importance of that, but at the same time, I still don’t know what the word is. That’s where Dorothy comes in handy is I can say, “That thing in the square brackets, not the squiggle ones, the square ones.” “Oh, array?” “Yeah. That’s the word.” But it also comes up where Bart will say something, I’ll say, “Oh, okay. That’s interesting. Can you elaborate on that? I don’t think I’ve heard about that before.” And he was like, “Allison, I taught you that last week.” Do you see why I’m afraid of Alzheimer’s? I often will go out on Google and look for a solution to something technical and I’ll find a tutorial that I wrote on the topic.
[00:28:07] SY: That’s awesome. That’s very cool.
[00:28:08] AS: Yeah. Well, it’s a good thing I documented it.
[00:28:10] SY: Right. Yeah.
[00:28:14] AS: I don’t know, names, people’s names, they’re in and out of my ears. I can’t hear them.
[00:28:20] SY: Yeah, I think I have that problem too. I do not have a good memory. My husband will bring things up all the time. “Remember that time we…?” “Nope. I don’t remember that time.”
[00:28:28] AS: Oh, in marriage. I remember everything.
[00:28:31] SY: Oh, that’s great.
[00:28:33] AS: Not for him.
[00:28:34] SY: Not for him. Coming up next, Allison talks about the benefits of physically writing out code to think about a problem and what her advice is for other people who are considering learning to code when they’re older after this.
[00:29:06] SY: Who doesn’t want their React app to make it to the top five? Build for virality with Apache Cassandra and Netlify, battle tested for scaling data and deploying with speed. Learn how to use this dynamic trio together on December 9th at a half-day virtual event called React with Cassandra Dev Day. You don’t want to miss Honeycomb’s CTO Charity Majors and Retro Game Builder Ania Kubów showcase what it takes. Join us at events.datastax.com/reactwithcassandra.
[00:29:39] LS: This is Levi Sharpe, Producer of Dev’s first original podcast, DevDiscuss. In our show, hosts Jess Lee and Ben Halpern address the many burning topics that pop up on Dev.to every day. Past episodes have included Unpopular Opinions with Kelsey Hightower, Staff Developer Advocate at Google Cloud, and a legendary voice in tech.
[00:29:59] KH: So an unpopular opinion should be like computers were a mistake. Was this all worth it?
[00:30:06] LS: And how changing your name is a difficult, unsolved, and sometimes personally devastating problem in tech.
[00:30:11] MAN: I basically walked through this world through this minefield of not knowing when I’m going to have this like sort of deep emotional wound reopened.
[00:30:23] LS: As well as how little known tools can have big productivity gains.
[00:30:27] WOMAN: And I think it gives me the sense of structure, which I really enjoy.
[00:30:30] LS: True to the Dev Community, DevDiscuss wouldn’t be possible without the input from all of you. So listen, rate, and subscribe to DevDiscuss wherever you get your podcasts.
[00:30:47] SY: So let’s talk about open source. That’s a huge topic in the learn to code journey and we usually encourage people to dabble in it, to give it a try. Is that something that you’ve dabbled in?
[00:30:58] AS: Yeah. So Bart and I both, and I’ve learned from Bart, really believe in the power of open source and that all of the tools we’re using are open source. I’m using VS Code, Visual Studio Code, for Microsoft, but it’s open source. We’re using GitHub to put up our stuff, also owned by Microsoft, but also open source. We put our stuff out as open source. I’ve got a Creative Commons license on my podcast. So it’s open source. We’re big believers in that. I’m just barely getting my nerve up. And so I found something, there’s a plugin I’m using that isn’t accessible and everybody else is using the same plugin, but I don’t think they’ve noticed that can’t actually see this drop-down that appears. And I’ve been trying to figure out how to fix it for them. I haven’t told them I’m doing it yet, but I was really hoping I’d be able to get this thing worked out and then give it back to the community. But I haven’t cracked the code on it yet.
[00:31:52] SY: It’s on its way.
[00:31:53] AS: We’ll see. My friend Helma is helping me. She’s the one who created the book, Taming the Terminal, using all open source tools. So there’s just open source. We’re in this giant pile of open source. There’s nothing we’re doing that is closed and I don’t believe in it.
[00:32:11] SY: What’s your experience been like in source? I know a lot of folks who do it for the first time, find it intimidating and a little overwhelming. There’s, again, so many feelings involved with it. What’s your experience been like?
[00:32:25] AS: Well, I haven’t really worked with anybody I didn’t know.
[00:32:29] SY: That helps, yeah.
[00:32:29] AS: So I haven’t had the experience of going into someone else’s project that I’m not familiar with yet, other than asking for their help. I really liked your previous guest, name I can’t remember. When she talked about looking for a code of conduct to see whether it’s a welcoming place.
[00:32:44] SY: Janessa Tran.
[00:32:44] AS: Yes. Thank you.
[00:32:45] JT: And I think that’s an important thing to look for because it signals to people that there are a set of rules and proper practices so that you aren’t going into something where someone might say harmful things too and that be okay. And that is important because if you’re making a pull request for the first time and you’re maybe anxious about the kind of feedback that you’ll get on your code, this is a good way for you to maybe feel a little more safe that there’s a code of conduct. There’s a way that everyone’s agreed to conduct themselves and rules and practices that they’re going to implement when communicating with you, even if it’s something about your code that needs to be changed.
[00:33:34] AS: That really resonated to me. I’m going to put one on mine. I’m always lifting my watch up and saying, “Hey, S-lady, remind me to,” and it’s while I’m listening to your show, I’m saying, “Oh, I should put up a wiki with the code of conduct.” In the early days, I remember going to a Linux conference and to say there were graybeards there is not an exaggeration. I went in and I can make conversation with absolutely anybody. And I sat down with a group of men and I started asking some questions and the guy actually said, “You don’t have a graybeard. You can’t be in this conversation.”
[00:34:10] SY: Really?
[00:34:11] AS: Word for word. I was like, “Yeah. You know what? I’m out. I am out.” I worry that that’s going to be the feeling and I know that was one experience. It was 10 years ago. It was in a different place, a different time, but I do worry since I don’t have confidence in my skills at trying to submit something, but I’ll get there. I’m a hundred percent certain I will.
[00:34:33] SY: I get that. The good thing is that there are plenty of people who are very aware of people like that who are actively trying to combat it. And that’s one thing that I really appreciate about the CodeNewbie community and the Dev community and just the people that I’ve grown close to on the internet, is there plenty, plenty of folks who are actively fighting that and trying to be proactive and creating a community that’s very kind and loving and open and inclusive. So I think we still got work to do. We still got plenty of work to do, but I think we’re headed in the right direction.
[00:35:03] AS: Good. Progress is supposed to go forward.
[00:35:08] SY: So what are some of the best methods of thinking about learning that have really worked well for you?
[00:35:13] AS: I don’t know if I’m a big enough thinker to answer that question.
[00:35:16] SY: Oh, interesting.
[00:35:17] AS: I just try to solve a problem. And when I get stuck, I go out and look on the internet for a solution to it when I don’t know how to make this. Right now I’m trying to get a role applied to that darn dropdown so that it can be seen by the screen readers and I can’t find it yet, but I’m going to find it by Googling until I do.
[00:35:37] SY: Yeah, I think it’s interesting because for me there is writing the code and then there’s thinking about the code I’m going to write, if that makes sense. Those feel like two different activities.
[00:35:52] AS: Yes. I do have a really strong thought on that. I use an application called Notability on the iPad and I use the Apple Pencil. You can use the Crayon. That’s half the price, but I use the Apple Pencil to write what I’m thinking about how I’m going to attack the problem. And I did a blog post on that too where I just called it, “When I think I write by hand when I need to think.” Because if I’m typing code, I’m going to have to type it correctly. All those little semicolons and squirrely brackets have to be in the right place. So I stop thinking because I’m trying to make it correct, but I can write in that variable I haven’t named yet, can be what I write by hand. And the thing about Notability is it lets you write in different colors and oddly enough, a dark blue background with all of the colors of pens comes out like you’re writing with gel on one of those cool boards, gel pens.
[00:36:43] SY: Yeah.
[00:36:44] AS: It’s super satisfying. And I change colors all the time. So red is usually, “You know what? You’re really going to have to go fix this.” But all the other colors are just, “I’m bored with blue. I’m going to write in green now.” I’m on a new thought, and Notability, oddly enough, does optical character recognition of your handwriting and it’s able to find a lot of stuff. I mean, some of it I’m writing too horribly, but I can do diagrams. I can do flow. My what “if” in statements are almost always wrong. So I have to go through and draw them out and say, “Why did this one go left instead of right?” That’s where I think and I get away from my desk and I go sit in a lounge chair and I write what I’m going to try to do instead of trying to do it by typing because I never get there if I do that.
[00:37:27] SY: So what would your advice to other folks be who might feel like it’s a little too late for them, who feel like they’re not the 22-year-old who just graduated or starting their career, they’ve had a career, they’ve had their family, they’re near the end of their traditional career and looking to start over again? What advice do you have for them?
[00:37:46] AS: I guess look at yourself and look at people you’ve known in your life and who did you find interesting and fun to be around. Was it the person who didn’t want to learn anything new or was it the person who was trying new things? I had a buddy named Harry who lived to be 94. And I remember at like 92 years old him asking me to explain pixel density on a screen. He wasn’t technical at all. I think he was a postal carrier, but he just was interested in everything. And so he was interesting because he wanted to know about everything and he kept his mind alive. And so going into programming, I mean, you can try it. Maybe you won’t love it, but maybe you just will find out that’s all you want to do. I would also tell yourself that you have to have an exercise schedule. Because you’ll just sit there indefinitely. I work out twice a day to combat how much I want to eat and drink. So I walked long distance in the morning and then a shorter walk in the afternoon with my dog, and that’s the only reason I’m probably still alive because otherwise I’d just be at my computer all day long. But if you’re okay not learning, then turn on the TV, you’ll be fine. But if you want to be interesting and want to stimulate yourself and have fun and have the feeling of creation and meeting people like what you’re talking about, about this open source community. I’m getting to talk to you because I started learning to program. I mean, there’s no direct thread you could draw to how that happened, but it does happen because you’re reaching out and talking to people you don’t know, when you’re saying, “Hey, help me with this.”
[00:39:26] SY: Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Allison, are you ready to fill in the blanks?
[00:39:34] AS: I am ready.
[00:39:34] SY: Number one, worst advice I’ve ever received is?
[00:39:38] AS: When I was finishing my freshman year in college, I wanted to go get this internship job and they told me that I needed to take Fortran and I had taken basic programming. So I was going to take it during the summers. I was going to take Fortran during the summer at UCLA and I wanted to get college credit for it. So I went to the Dean of Engineering at UC Irvine and asked him to give me credit for it. And he said, “But you already took beginning basic. This is beginning Fortran and you should take the second year of Fortran.” I was, “But they’re completely different languages.” You’re going to love this. He says, “Here’s a book.” You noticed the theme here. And so he says, “Read this book over the weekend on beginning Fortran and take advanced Fortran.” Luckily even at 18, 19 years old, I was a force to be reckoned with and he gave me college credit.
[00:40:25] SY: Nice. Nice. Okay. Number two, best advice I’ve ever received is?
[00:40:30] AS: In the topic of programming, Bart always says there’s no one right way to solve a problem.
[00:40:36] SY: Yes, absolutely.
[00:40:37] AS: And I know there’s more elegant, more efficient, easier for other devs to understand what you did do methods, but he never makes me feel like my answer was wrong. And I think that’s my best advice because I worked for a guy who was a better design engineer than I was, but no matter how I designed something, he would show me his way that was better and make me change my design. And I would always say, “Would mine work?” “Well, yeah, but mine’s better.” All it made me feel like was I wasn’t worthy. I didn’t grow under him. I didn’t feel good about my job, but Bart makes me feel good, even though you know he’s probably snickering to his friends going, “Oh, I just can’t believe how she did this. It was so stupid.” But he just says, “No, there’s no one right way.”
[00:41:20] SY: Right. Right. I like that. Number three, my first coding project was about?
[00:41:26] AS: In the Programming by Stealth Series, I made a guess a number game, and it’s super simple. You guess a number from one to a hundred, and then it tells you if you’re high or low, and then it draws a circle with that library I told you about.
[00:41:39] SY: Yeah. Yeah.
[00:41:39] AS: And so the area where the wrong answers are as red, it’s green where the right answers are. And I make fun of you if it tells you you’re too high and then you guess a higher number, I have snarky comments. But the thing that blew me away, I mean it’s the silliest, stupidest little thing, but I started showing it to my friends and my family. No one would stop playing until they got the answer.
[00:41:59] SY: Oh, interesting.
[00:42:00] AS: So I think maybe it’s a good little game.
[00:42:03] SY: Yeah.
[00:42:04] AS: But people, they won’t stop. They got to know.
[00:42:06] SY: Very interesting. Yeah. Yeah. Number four, one thing I wish I knew when I first started to code is?
[00:42:13] AS: When Dorothy and I started first messing around with things and I was trying to do automator projects and I needed coding, I gave her a book. I gave her a book on AppleScript and she went off and learned how to do these little scripts for me. And I started watching her code and I thought she was just a hack because you know what she did? She would go out on the internet, find someone else’s code, put it in and change it.
[00:42:36] SY: Yup. Yup.
[00:42:37] AS: And I thought, “Man, she is not a real programmer. She’s not writing anything by scratch.” And then I found out, no, no, that’s what you do now.
[00:42:44] SY: That’s what you do. Yup.
[00:42:45] AS: I thought she was cheating. I really did. And I never said anything. I was like, “Man, you’re not really good,” and then I had to apologize five years older.
[00:42:53] SY: Yeah. When I first, first, first tried to learn how to code, it was a failure. For the first time I tried to learn how to code, I didn’t understand that you were supposed to run your code. I just had no idea how you were supposed to learn it. And so my strategy was to create flashcards or little code snippets and try and memorize them.
[00:43:12] AS: Oh!
[00:43:13] SY: And that was what I thought being a coder was, was memorizing all your code and being able to do it from the top of your head, which is not the way that you were a developer. So yeah, I completely understand.
[00:43:24] AS: Interesting.
[00:43:25] SY: All right. Well, thank you so much for joining us, Allison.
[00:43:27] AS: Oh, thanks.
[00:43:35] SY: This show is produced and mixed by Levi Sharpe. You can reach out to us on Twitter at CodeNewbies or send me an email, firstname.lastname@example.org. Join us for our weekly Twitter chats. We’ve got our Wednesday chats at 9 P.M. Eastern Time and our weekly coding check-in every Sunday at 2 P.M. Eastern Time. For more info on the podcast, check out www.codenewbie.org/podcast. Thanks for listening. See you next week.
Thank you to these sponsors for supporting the show!