[00:00:00] (Music) 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 getting into code after being a librarian. (Music) Hayley works with storage software.

[00:00:24] HS: My name is Hayley Swimelar. I am a lead software developer at LINBIT.

[00:00:29] SY: And if you're not sure what storage software is don't worry. I wasn't sure either. In fact, even Hayley herself didn't know much about it before having to do it as part of her first coding job. She gives us an intro to the world of storage and why it needs software. She also shares how she got into this interesting corner of the coding world after first trying to become a web developer and before that working as a librarian. All that after this.

[00:01:01] Flatiron School teaches you how to code from anywhere. They've got an awesome community of career-changers and a number of different options for you to pick from to become a software engineer. They've got full-time in-person courses, self-directed introductory courses and a remote online web developer program. They even have a free 75-hour online prep course where you can learn Javascript, Ruby and do some interview prep. Go to flatironschool.com/podcast to learn more. That's flatironschool.com/podcast. Link is in your show notes.

[00:01:35] One of the best parts of being a coder is finally being able to bring your passions to life. You have the skills to design, to code, to create the thing you're excited about and share that passion with the world. And Hover can help you with the first step of sharing your passion with the world: getting your domain name. They've got a really beautiful and easy-to-use interface where you can find and register your new domain name in just a few steps. And to give you full control, they separate your domain name from your hosting so you're never stuck with one service. They keep your domain name safe while giving you the flexibility to use whatever hosting service is best for you. They also give you free WHOIS privacy, so your personal information is safe, too. To get started, go over to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes.

[00:02:23] DigitalOcean provides the easiest cloud platform to deploy, manage and scale applications of any size. They remove infrastructure friction and provide predictability so you can spend more time building what you love. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes. 

[00:02:47] SY: Ok, so you said so many hard, intense-sounding things that you do that I really, really want to unpack and learn more about. Ok. So you talked about storage software. What does that mean?

[00:02:59] HS: So there's been a big push in the industry to try to have everything controlled by software that a data center would use. So imagine at your house you have one computer, and it's pretty easy to manage, you know? There's only one hard drive. There's only one set of RAM. There's only one network. You know, you only have one Wi-Fi connection or one hard connection. But in a data center, you can have hundreds or thousands of different computers that are all trying to work together to accomplish, you know, the same or similar task. And so one of the hard parts about that is that you have storage, which is a real thing. Like there's real—something is really happening in the world. And it's really hard to just make that magical. It's a big push called SDS, and that's software-defined storage. The idea is that you can talk to software and get storage back. After a certain level of configuration, you don't really have to worry about the what's or where's or how's or why that storage came to you. You just said, "I want 500 gigabytes of storage." That's what we do, and we have a thing called LINSTORE. That's our SDS thing and our original thing that we worked on is similar in a way. What it does is it will take like a hard drive on a computer, and it will make another hard drive on a separate computer on the same rack or over distance in some other data center. It'll make it be bit-per-bit the exact same. It's called high availability. It's not like a backup where okay this data is pristine. It's good. It's in a place that we really like. HA is more like this website cannot go down for any amount of time. And so you need something to really quickly switch over with the data that you have in whatever state it is, you know, that's part of a larger group of technologies. But that's our traditional thing that we do at this company.  

[00:05:06] SY: Ok. So I wanna go back to something you said earlier. You said that storage software, the idea of, you know, I, I request some amount of storage and then it, it gives it to me. And, you know, I don't, I don't really care about configuring it and all that, it just just happens. How is that related to I think what most of us are probably more familiar with which is actually setting up a database and then putting the data in the database? Is this related to that? Replacing that? Like how do those two play together?

[00:05:37] HS: So we are kind of underneath the database. It's like a bento box.

[00:05:41] SY: Ok.

[00:05:42] HS: Here's my tempura vegetables. Here's my rice. Here's, you know, my pickled ginger. And it all goes together. And that's kind of like a database, but then that has to go into the, into the fridge right? And we're more like the fridge. So a database has an idea what the data is. It's like I have a customer, and they have a name and an address and, you know, they have a phone number. Storage is more like I have 100 gigabytes of ones and zeros, and these are the ones and zeros that I have. And that's all that I know. And so it—storage is more of a capacity.

[00:06:20] SY: Ok. So without storage software, if I did things the, I don't know, the traditional way, the old school way, what would I have to do instead?

[00:06:32] HS: From a programmer who's making an app or, or something that's gonna to talk to a database, it's actually not gonna be that different for you, but for the person who's, who's setting up the stuff that this is gonna run on, it would be crazy. So if you can, if you've ever used something like, you know, like a cloud thing where you say like "oh, I need a VM. I need this virtual machine, and it needs to be like this." You know, somebody would have to go and plug in storage for you. And it would take 10 minutes, maybe? I don't know what these cloud providers really do per second, but I'm sure that they need them to spin up faster than that. (Laughing) It sort of lets you do all of that work up front. So I have this huge amount of storage that I can't, that I—that's just there. And I can just cut a piece off and give it to somebody. 

[00:07:28] SY: Ok. Got it. So this isn't necessarily something that I would use or really appreciate if I'm deploying an app on Heroku. And it's just, you know, like my toy app, my single, single-developer indie game or something, it, it probably wouldn't be as relevant, but if I'm spinning up the whole VM as, as you mentioned, if I was kind of responsible for configuring it and, and making sure that it works, you know, on either—if I, if I had more of a, a system, a network to manage, that's where storage is something that I probably have to be aware of.

[00:08:04] HS: That's true, but the fact that you can just spin something up on Heroku with a database probably means they have storage software.

[00:08:12] SY: Oh.

[00:08:12] HS: So it makes that possible.

[00:08:13] SY: So they're taking care of it for me. So I as a developer don't have to take care of it.

[00:08:17] HS: That's right. And they're taking care of it in a way that doesn't grey their hair.

[00:08:21] SY: Yeah. (Laughing) And they might use a service like LINBIT to offer that to their customers.

[00:08:28] HS: They probably are doing something or they have a, a bunch of really fast workers running around configuring storage. 

[00:08:34] SY: Figuring it out. (Laughing) Yeah. Yeah, yeah, yeah. Ok, so all this sounds very technical and very interesting and, and kinda hard. How did you get into this?

[00:08:48] HS: Well, you know, oddly enough that's how I was able to get into it because at my interview they were like, "do you know any of this stuff?" And I, I say, "Well no." And they said, "that's fine because no one does."

[00:08:59] SY: Oh.

[00:08:59] HS: "We'll train you."

[00:09:00] SY: What?

[00:09:01] HS: Yeah. You know, there's no one that just has to do this as an individual.

[00:09:06] SY: Huh.

[00:09:07] HS: So they didn't really care that I didn't have any knowledge of this because no one does unless you're in the storage industry. 

[00:09:13] SY: Interesting.

[00:09:13] HS: Yeah. It was—I was really surprised (Laughing) because before getting into this I was trying to be a web developer because there's a ton of web developers, and I figured that was my best shot. I think my feeling was that those jobs really expected you to have, you know, some degree of knowledge, but I don't know 'cause I've never been a web developer. (Laughing) So I was kind of shocked where they’re just like "yeah, whatever. We'll just teach you how to do it."

[00:09:38] SY: Ok, so if you didn't have to know and weren't expected to know about storage software, how did you get the job? What were you expected to know?

[00:09:47] HS: Well I had some decent Linux knowledge. I wasn't scared of the command line, and I was, I had partitioned a disk, you know, and then I just had some basic programming knowledge. I was able to demonstrate a project. I was able to do some like homework problems. And they were fine with the results. And they said, "yeah, you're trainable" essentially.

[00:10:06] SY: Interesting. Ok, so for them, it wasn't "Hayley is the expert of all the things that we do here," it's that you have promise. You've shown that you have a, a good enough foundation; that they were comfortable essentially investing in you, right? And in training you and levelling you up.

[00:10:26] HS: Yeah, absolutely.

[00:10:27] SY: Interesting. Ok, so in that case then, what was the job that they hired you for and that they were, you know, assuming, trusting that you'd be able to level up to?

[00:10:39] HS: So what they originally wanted me to do I actually never did.

[00:10:42] SY: Oh.

[00:10:42] HS: You know, we had that storage software that kinda does the getting and fetching like I was talking about. We had a predecessor to that being developed. And I was first starting—I was originally gonna work on that, but it was one of those things where like "we really need to push this out, and if we add a new person it's gonna slow down development." So I really got into making—it's this little sandwich kind of layer between something that carves up storage and something that consumes that storage. They have to have like a little piece in between them that allows them to talk to each other. That's what I've been spending a lot of—most of my time doing here is working on this kinds of software where it's, you know, changing one interface over to another. So everything has its own way to ask for storage. And so I have to make sense of that request and translate it in a way that our software understands.

[00:11:40] SY: So what I find interesting about your job and the responsibilities that come with it is that you didn't come into the job knowing what to do. You had to figure it out on the job. And I hear this a lot from tons of people we've had on the show. When I ask them this, they say, "no, I didn't know much about this topic before having to do it. And then I had to figure it out while I was doing it." So for you when you got hired, what was the first step in figuring out what to do and how this all worked?

[00:12:10] HS: We had training materials for DRBD, which is our main product. And I just went through those. Then I wrote a white paper, or rather I updated a white paper which was like how to do iSCSI with our software on a new platform. I was basically updating documentation and becoming kind of an expert user of the software before I really started on coding projects.

[00:12:35] SY: Oh. Yeah.

[00:12:36] HS: And that's sort of our philosophy. If you can't use it, you can't write for it.

[00:12:40] SY: Yeah. That's a good rule.

[00:12:40] HS: And you certainly can't write it.

[00:12:41] SY: Yeah. (Laughing)

[00:12:44] HS: So that was the first step. And, you know, it was just something where there is documentation and you can kinda get familiar with what do people use it for? What it—what does this behave like, you know? What are the sticky bits?

[00:12:56] SY: That makes so much sense. So I really appreciate, first of all, that the company had its own material, you know, its own training material. That's awesome. And I just really like this idea of, you know, before you can go in and fix things and build things, you have to know how to use it in and out; know how to use it really, really well and be almost like a power user of the product. That's such a great way of leveling up. And specifically the fact that you edited a white paper is really great because now you can solidify your knowledge by creating or improving existing content.

[00:13:30] HS: That's right. And it's a little less intimidating. Sometimes when you look at code, it's—it can be like what is this? (Laughing) And even good code can be like. You know when you use the software, you can kind of follow it down the rabbit hole. So, you know, if you have a database, and you're like "ok, well I made a table." Well how does it make a table? And you can —ok, well here. I found it. I found the function. It looks like yes, making a table. (Laughing) And you can kind of drill down from there. But if you had never used a database and you were just looking at the source code, you'd be like table, public key, private key.

[00:14:07] SY: Yeah.

[00:14:07] HS: It would just be gibberish. If you have, you have some coding knowledge and then you know how to use the software, you can be like, "oh, that's how they do it." And you know what it is. So you have some context.

[00:14:21] SY: Yeah. I really like that. I like that as a device for a lot of people listening trying to learn a new skill, right? Like for example, if you want to build an, an API, right? Maybe the first step isn't so much to build it, maybe it's to use a couple and really have an understanding of, you know, what are the expectations for the user and then eventually move on to looking at some source code and figuring out where are those, you know, those points that I call, where are they in the code? And then you see how they're put together. And then the, maybe the third step, the final step is okay, now I'm ready to build my own.

[00:14:52] HS: Yeah. I think it's really important. And it, and it's so easy. This, this profession is really easy to Google. (Laughing) So, you know, if you wanna build an API, for example, like you said, to find what are examples of really good API is like "what API's are really good to use?" What makes sense? Then trying to go from there and look at their source code. And then before, or instead of making your own, try to change something. You know, you have something that works. You have something that's built well. Start tweaking because you have working code. And so you can make little changes and see what happens. There's a lot less setup you have to do because everything's there and you're kind of working only on what you wanna work on.

[00:15:42] SY: Yeah.

[00:15:43] HS: You know, when you start a new project it's, even for me now it's super intimidating. And it's nice when you have a working project to be like I want it to be this, but it does this. That's the real fun part.

[00:15:56] SY: Yeah. Yeah. Absolutely. Ok, so you—how long have you been at this job, by the way? How long have you been doing this for?

[00:16:03] HS: It's been about three years.

[00:16:05] SY: Three years. Nice. Are you—how are you feeling about your skill set, your expertise, your knowledge? Do you feel like you've, you've grown a ton? Have you grown into that role in three years?

[00:16:16] HS: Yep. (Laughing) 

[00:16:18] SY: It's like I hope so. It's been three years.

[00:16:20] HS: Yeah. And in a way it doesn't feel like it. Just the actual feeling of how well do I know this? How well do I, I code? How well, how well can I do this or that? Like it doesn't actually feel any different. I have to really sit back and think like, "ok. Three years ago...1 how long did this take me? Or three years ago...

[00:16:42] SY: Yeah.

[00:16:42] HS: ...could I do this? And I have to really sit back and be like, "well dang." (Laughing)

[00:16:48] SY: I do know what I'm talking about.

[00:16:49] HS: Right. And I talked to my co-workers about this. I said, "would you hire the you that got hired?"

[00:16:56] SY: Oh.

[00:16:57] HS: And everyone says no. (Laughing) 

[00:17:02] SY: That kind of makes me feel better, actually.

[00:17:04] HS: Yeah. And it's a little different because I really switched gears coming into the job because web development is about as far away as she can get from this stuff. So like, you know, the train did like a 180 it feels like 'cause I was doing like a lot of JavaScript. And this job has been like Python and Go for the most part. Javascript can be a lovely language. (Laughing)

[00:17:31] SY: That is very tactful of you.

[00:17:33] HS: It can be wielded well. But, you know, in Python and in Go, they just had different concerns, and it's a different area and different things are important. You know we have a little bit more control over the platforms we use. So like with web development, like there's this immense range and what do you support? And who's gonna use it? With our stuff we can be like, you know, officially we support these eight or something or I don't know exactly how many, but—you know, usually you have an understanding of I'm targeting x86 or I'm targeting Python 2.7, and it doesn't really matter. Anything—nothing else really actually matters. It's all Linux. You know, sometimes, some things, little things do crop up where I assume web development, you know, there's this huge like compatibility standards sort of mismatch. You know, it was just hard to write code that worked everywhere. And that's not a big challenge in my job. You know, storage is mostly like—there's a lot of errors that can happen that are just due to physics, you know? Hard drives will break. You know? Sometimes the Kernel says that right didn't actually happen or there's actually no stories there. You don't have enough or you lost connection to the server. And...

[00:18:54] SY: These are like real-world problems. 

[00:18:56] HS: These are problems (Laughing). And that's most of the hard—that is most of the hard stuff is like there's something physically happening in the world. Your link is degraded like your physical cable...

[00:19:07] SY: Wow. 

[00:19:07] HS: ...you know, isn't in good shape anymore. Are your network interface and the switches connected to—they have some kind of configuration mismatch and packet order is wrong. There's a bunch of real-world problems. They exist out in physical space and you can't code physics better. (Laughing) 

[00:19:29] SY: That's a good quote. Yeah. 

[00:19:29] HS: And, you know, we have a lot of people, you know, who will say, "well we want this to be faster." And it's like well the speed of light is, (Laughing) is this. And that's sort of what we're working with at this point.

[00:19:45] SY: Ok, so you weren't always into storage software. Before that you were doing web developer stuff. Were you actually working as a web developer? Or were you learning and training and hoping to get your first job as a web developer?

[00:20:00] HS: Yeah, just learning and training and hoping. 

[00:20:02] SY: So when you ended up applying for this position, did you know it wasn't a web developer position? Or how did you, how did you end up applying for this?  

[00:20:11] HS: So I'm out here in Portland, Oregon. And Intel has a big campus near us. And one of my friend's boyfriends works for Intel, and he got me tickets to OSCON. And while I was in OSCON, I met somebody from LINBIT. And, you know, they got, they got me in for an interview. They told me what they did. And I was, I was actually kind of excited because I, I think it's, it's sort of a neat little area. And I did like Linux, and I was excited to work a lot more closely and exclusively with that. 

[00:20:45] SY: Ok, so it sounds like at the time you weren't necessarily married to the idea of being a web developer. Sounds like you were pretty open to different options.

[00:20:55] HS: That's right. I mean I really liked kind of the more computer science-y-type programming, but what—trying to de web development was really a strategy of there are a lot of web developers, and I think that was where I believed I could probably find employment the soonest. 

[00:21:16] SY: And what do you think of that now, you know, now that you've been doing this for three years? If you were to give advice to your past self or even, you know, people listening who are trying to figure out, you know, they—the primary goal is to get into tech and do something technical, whether it's web development or storage software or some other thing. What advice do you have now on how to, how to navigate that?

[00:21:38] HS: So just be honest. Be honest with people who you're interviewing with. You know, if you are in a city, there are a lot of tech meetups for different technologies or different companies, and I'd highly advise you to go to them. And don't wait 'till you feel good about the way you code 'cause for a lot of us, it never happens. If you can do like "Hello, World!", if you can do a calculator, if you can put time down and, and get a working program at the end, you're a programmer. A lot of the things—I went to this, this group a lot that was sort of like a, you know, preparing people who didn't have jobs to be web developers in particular. This thing that all of us did was on our LinkedIn's we'd say like "aspiring developer." And they said, "don't put aspiring."

[00:22:31] SY: Yeah. 

[00:22:32] HS: "You're a developer." Like aspiring devalues you. You're developing. You're a developer. 

[00:22:38] SY: Yep. It's really that simple. 

[00:22:40] HS: Yeah. I think the main thing is if there was like an objective goodness of code and you graft out mine, the point where I got a job would be painfully obvious. I mean it just (Laughing) skyrockets because you have 40 hours a week to do it. You have people around who know technology. You have people around who know what expectations are reasonable. And you just get tons of practice, and you get tons of inspiration. I was trying to do coding for like a year, year and a half before I got a job. And I think probably in the first two months I gained as much knowledge that I did that, that year and a half. 

[00:23:18] SY: Wow. 

[00:23:19] HS: Just 'cause I was thrust into it. You know, you don't have to do your job that you have now and maintain a reasonable sleep pattern and, and see your friends (Laughing) and then you have to code. It's more like you code for most of your day, and then you can do the rest of your life. (Laughing) So you really, you know...

[00:23:37] SY: You're in it.  

[00:23:38] HS: If you have this idea that you're gonna be like coder extraordinaire before you get your first job, no. Try to get a job where you feel like "how did I manage this?" That's how I felt. I was like I don't feel like I should be here. And it is a scary...

[00:23:53] SY: Yeah. 

[00:23:54] HS: ...feeling. You know, it's intimidating (Music) but I mean if you're teaching yourself to code, you're already a little bit more motivated and a little tougher than I think average. 

[00:24:03] SY: Yeah. 

[00:24:04] HS: You know, if you got "Hello, World!" to work, you've got a lot of patience. 

[00:24:09] SY: Coming up next, Hayley tells us how being a librarian helped her become a better software developer and shares what got her interested in starting a second career. After this. 

[00:24:23] When I learned to code, I was so excited to finally bring my passions to life. I could build things that I really cared about and share them with the world. And the first step in sharing is getting a great domain name. That's where Hover comes in. They've got a really slick east-to-use interface. They've got awesome domain names to pick from and they separate your domain from your hosting so you have full control and flexibility over your online identity. So go to hover.com/newbie to save 10% off your first purchase. That's hover.com/newbie. Link is in the show notes.

[00:24:54] You want to get serious about learning to code, but where do you start? Flatiron School's got the perfect thing. They're offering their free 75-hour online prep course, where you dig into Javascript, Ruby and more. If you're not sure where to start, start there. And when you're done, you can keep learning with their self-directed introductory courses, remote online web developer program or full-time in-person courses. Whatever your schedule, they've got options to help you reach your coding goals. To learn more, go to flatironschool.com/podcast. That's flatironschool.com/podcast. Link is in your show notes.

[00:25:32] DigitalOcean is the easiest way to deploy, manage and scale your application. Everything about it was built with simplicity at the forefront. Setting, deploying, even billing. Their support is amazing. They've got hundreds of detailed documentation and tutorials, so if it's your first time deploying an app, they've got great tools and community to make it nice and easy. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure (Music) credit. Link is in your show notes.

[00:26:04] SY: So you were—before you were trained to be a web developer, learning about web development, you were actually a librarian, which is fascinating and very interesting especially because you—as far as I saw, you were not the, the librarian a lot of us might be thinking about where you sit quietly behind the desk and help me find that red book, you know, the name of which I, I can't remember. You actually did some digital techie stuff as a librarian. Tell us a little bit about that. 

[00:26:33] HS: That's right. Oh, I had the most longest ridiculous job title. I was information and emerging technologies librarian.

[00:26:43] SY: That sounds awesome. I'm just saying.  

[00:26:46] HS: This was in a place called Guntersville, Alabama. But yeah, and I think a lot of, you know, my librarians out there will know that you wear a lot of hats. I did manage the computers, normal system administrative stuff, but also helping people use them. And helping people use them that are from what we call underserved populations. You know, people who really did need assistance. And I think that was really valuable for me because if you can explain something to somebody who, you know, has a bit of trouble just in a regular day-to-day sort of living situation, then you're doing a pretty decent job. And that was a big part of, of the work was people who didn't grow up with computers or people who didn't have access to computers trying to get them to do job applications and. and things of that nature and really trying to break it down. So that was a big part of that job. And I also did genealogy. In that there's some computer assistance now, but it's a hyper-localized area of study. So as a library genealogist, you kind of know the town and its history and where people are coming from that moved to the town historically. So it's a lot like hardcore research and a lot of like really specific knowledge. But one of the things that you deal with is these old, old records. And a lot of times they're preserved on microfilm, which is a perfectly fine preservation format, but when you use it you have to have this microfilm reader which is like a big sort of reverse microscope. It looks a lot like a film negative if you've ever seen that where it's this little tiny picture. But it's this little tiny picture of text. It's like a, it's like the analog version of a PDF. And it has to be blown up and put on a little machine that's all—it can be analog or digital. It doesn't really matter 'cause you're just increasing the size of an image. But the problem with those is they can be quite large, and there's no search function. The search function is that you look at it. And so there's no way to search. They last longer when they're not handled. It's really not a great thing to put in people's hands. So one of the things that I really started at that library was let's take these old newspapers that we have and try to get them digitized so that our surviving most original record of them we can kind of put in a safe place and let people have a more friendly version to actually interact with it—doesn't degrade with touching and all that kind of stuff.

[00:29:26] SY: So it's interesting because your job is technical—not in the computer science-y way, but in its own way it is a technical job. What got you from that—and from what I saw, I think you studied information systems. Is that, is that right? 

[00:29:43] HS: Nope. (Laughing) 

[00:29:44] SY: What did you study? 

[00:29:45] HS: So I started college as a music major, and I switched over to psychology and then I switched over from that. I got a masters in library science.

[00:29:54] SY: That's what I was thinking. Yeah. The Masters in Library and Information Science, right?

[00:29:58] HS: That's right. 

[00:29:59] SY: Ok. 

[00:29:59] HS: Yeah. I think mine was actually Master's in Library and Information Services.

[00:30:05] SY: Services. Ok. 

[00:30:06] HS: Yeah, but as part of that course there is a database class. And I really liked it, and I was really good at it. And I was like, well, if I can do SQL, I could probably do something else, too.

[00:30:20] SY: So you learned SQL in your master's program.  

[00:30:23] HS: That's right. 

[00:30:24] SY: Oh, very cool. Ok, so how did you get from being a techie librarian to wanting to it, it sounds like almost start over and learn web development?

[00:30:38] HS: So librarian, it's a good career. There's a big emotional paycheck, but that's the only paycheck that's big. And I had a lot of student loans. And so I just started a bunch of self-study.

[00:30:51] SY: So now that you are a developer, developer, developer at LINBIT, is it everything you hoped it would be?

[00:30:59] HS: Not really.

[00:30:59] SY: Interesting. Tell me about that. 

[00:31:01] HS: It's definitely good. I think there's always this idea when you, when you go into a profession that it's gonna be like Plato and Socrates discussing philosophy and, you know, there's wine and cheese. Everything is like the ultimate academic version of, of what it is. And you're, you're discussing design and software design and, and how beautiful it could be and what's the most meaningful way to express this function. And, and it's a lot less that, and I need this thing to work. (Laughing) So however you do that it's fine. It's a lot less academic...

[00:31:37] SY: Yeah. 

[00:31:37] HS: ...and more like I really care about the end result. A programmer I really admire—and his name is, is Rich Hickey. And he is the creator of the Clojure programming language, and he talks a lot about artifacts. It's like your job is to make an artifact. And what he means by that is like to create a binary or, or something or a program that does something. And, you know, the people that you're writing for, they care about the artifact. They just want something that does the job that they want. No customer is ever gonna look at your source code and be like, "oh this is very pleasant to read." (Laughing) And even though it should be. It should be good. It should be something you can, you can look at and be like, "man, that is beautiful. Like that's gorgeous." You're the person that cares about that. And the people who are gonna receive the benefits of this software only benefit from that indirectly if it's actually easy to change and easy to work with for you because they get the stuff they want faster. And the less you have—it's a really, a programmer your boss. And even then, they're probably not gonna be like, "you did the super elegantly." You know, this code should be hung in a museum. (Laughing) Like, you know, this part that I care about of being communicative in code and, and being elegant and expressing things in the best way, it's kind of like a little game now. And it's not something I'm judged on. 

[00:33:06] SY: And that's not something you expected.  

[00:33:08] HS: No, I, I expected like that to be really important. And it is important, but it's not what gets measured. 

[00:33:15] SY: Yeah. Interesting. So that kind of thing, is that disappointing? Is it just different?

 [00:33:21] HS: I think for the first year it was disappointing. I really thought it would be like I would be with, with these people who would give me the keys to the most beautiful perfect code that ever, (Laughing) ever was written down by mortal men or whatever. So it was disappointing for like the first year. After that, I, I kind of got used to it. And it's not something I really care quite as much about now. And we do talk about it, but I'm more happy now that people like the end result. You know, I focus enough on like good coding practices where I do a decent job, but what really kind of makes me happy is when the end user uses it or somebody here at work tests it out, and they're like, you know, I—it does, it works like I thought it would work. And that's very—I really kinda get my kicks now as, as people using my software not complaining so much. (Laughing)

[00:34:19] SY: Yeah, absolutely. So coming from your library background, there are a lot of folks listening who are coming from a different career who are doing development coding as a, a second career. I hear a lot of people who are concerned that they had a first job, first career that was not technical and that they don't have any transferable skills and that it's, if, if anything, kind of baggage, you know? Kind of weighs them of down. It might discourage employers from wanting to hire them. In your experience coming from the library world to the coding world, has that been the case?

[00:35:01] HS: I think it's a big advantage. I think technical people and developers, in particular, can get like this hyperfocus thing going on, and they don't really—it's easy to come out with a set of skills that is not really well balanced. Like with the library thing, when I was helping people on computers, you know, this wasn't like how to use a database. This was "where is the Internet?" This was "how do I make the words different on Microsoft Word?" 

[00:35:35] SY: Oh. Those are like the sweetest little questions. 

[00:35:38] HS: Those are the sweet ones. (Laughing) You know, so getting to see that and seeing like software is actually pretty hard to use. (Laughing)

[00:35:48] SY: Yeah. 

[00:35:48] HS: It's really hard to write software that people are good at using. So having that extra background I think helps and that you've maintained—that you had a, a job. You know, you're able to just do the normal office-type stuff.

[00:36:04] SY: That's—yeah. That actually goes a long...

[00:36:06] HS: Yeah. 

[00:36:07] SY: ...way. You are a professional.

[00:36:09] HS: Yeah, it goes a huge way. Programmers are notorious for having underdeveloped soft skills. If you can explain technical stuff to people who just don't have that kind of background at all. If you can make presentations that are understandable and, and that people wanna listen to, you're valuable.  

[00:36:29] SY: Yeah, absolutely. Well I think your journey is absolutely fascinating how you started in the library world and thought about doing and, and (Music) worked towards web development and found yourself as you described it the opposite, the opposite of web development and kind of the other side of things on the technical spectrum is, is absolutely fascinating. Thank you so much for sharing your, your journey with us. Do you wanna say goodbye? 

[00:36:53] HS: Goodbye, everyone.

[00:36:54] SY: And that's the end of the episode. Let me know what you think. Tweet me @CodeNewbies or send me an email hello@codenewbie.org. Make sure to check out our local CodeNewbie meetup groups. We've got community coding sessions and awesome events each month. So if you're looking for real-life human coding interaction, look us up on meetup.com. For more info on the podcast, check out www.codenewbie.org/podcast. And join us for our weekly Twitter chats—we've got our Wednesday chats at 9PM EST and our weekly coding check-in every Sunday at 2 PM EST. Thanks for listening. See you next week.

Copyright © Dev Community Inc.