001: How to Become a Software Developer: Unstoppable Talk Podcast
In this initial episode of Unstoppable Talk, myself and two of my senior developers discuss how we came to be software developers, and our advice for others looking to take up the trade.
Sam Schutte: All right, so this is our very first episode of Unstoppable Talk, where we’re going to discuss driving innovation using technology in Cincinnati and beyond. For this first episode we thought we would get together and just talk a little bit about what it’s like to be a professional software developer out there in the world and our backgrounds and how we arrived at it and all that kind of stuff. So I have with me here on the podcast, Scott Harrison, who is out in Colorado Springs. He’s one of our senior developers. And also Nate Stuller who is here in Cincinnati and is also one of our senior developers.
Nate Stuller: Hi there.
Scott Harrison: Hello.
Sam Schutte: So guys, I thought we would kick this initial podcast off a little bit just talking about, like I said, who we are and our backgrounds. Our plan is for this podcast to bring people in for interviews that are doing cool things out there in their business or in their businesses with technology and really doing a lot of innovative stuff. Some of them projects we work on, some of them companies are doing internally or startups people are doing, unique services people who are providing. But really for folks to get a context about any of those conversations we have, I thought it’d be good, like I said, to talk about our backgrounds.
Sam Schutte: So I just came up with a series of questions that we pulled off Quora here that are the most common questions that people ask about software development as a profession. And hopefully there’s new or young software developers out there or people who want to become software developers out there who might listen to this and gain something from it. So first question everybody wants to know is how did you become a software developer? Nate, you want to start off?
Nate Stuller: Yeah, yeah. So this is Nathan Stuller. My journey probably started just growing up being pretty good at math and in high school getting started with a TI-81 graphing calculator, where my uncle gave me a program that I had to hand type in to determine the answer for the quadratic formula. And just going through that and entering all this steps, it just started to make sense and also sparked an interest in looking up in the manual what do these commands mean. And from there that just turned into many more programs that went onto that calculator. And then after that went into computer science degree at the Ohio State University and entry level jobs after that and just going forward and working on a career after that.
Sam Schutte: Now is the Ohio State University the official name or do you have to say “the” in front of it?
Nate Stuller: Absolutely.
Sam Schutte: Okay. I wasn’t sure. People do.
Nate Stuller: Point of pride. Yeah.
Sam Schutte: Okay. Gotcha. Because there’s others otherwise, I suppose.
Nate Stuller: No, no. It’s just The University, effectively.
Sam Schutte: Okay. Gotcha. Gotcha. What about you Scott?
Scott Harrison: Hi. Yeah, this is Scott Harrison out in Colorado Springs. From before I can remember, I’ve always been interested in automation, artificial automation, robots and that kind of thing. Watching movies where there was a mad scientist who had his entire home automated and the guy on Chitty Chitty Bang Bang, how he just pulled things together and made them work. But what really got me interested in, I had a conversation with a guy who worked for IBM in the ’70s and we were talking about the innovation of the microchip and miniaturization of transistors, and he was trying to explain it to me. And that’s I think when I really got interested in it. Then went into accounting in college and hated it and then got away from it and started going into programming. My first language was COBOL and I learned everything I could about COBOL and never quite used it when I got out of college.
Sam Schutte: I guess you were lucky.
Scott Harrison: Yeah. The first thing is that someone asked me if I could program this PC computer and I said, “What’s on there?” And he said dBASE II. So I learned dBASE II, and that was the beginning of it and it’s all history from there. Went from dBASE II to C to C#. Pretty much stayed on the Microsoft platform ever since then. But my interest has always been how can I make this work better? And just the organization of information has always piqued my interest.
Sam Schutte: Yeah. It’s funny, I’ve worked with you guys for a long time. Nate almost 10 years and Scott for almost eight years I think in November. And I don’t think I’ve ever heard either of those backgrounds stories exactly. It’s like how did we miss that? Guess I should have asked that in the interview. I don’t know. Something I’ve done a lot recently in the last four or five years is meet with, like I said, young students that are maybe freshmen in college or something like that. And they’re always asking this question of me, which is the next question, which is, “What’s your best piece of advice for someone who wants to become a software developer?”
Nate Stuller: To me, it’s all about picking a project that you’re interested in and actually doing it because you can’t just learn all the theory. You kind of can in a university setting, but even that in a lot of ways doesn’t actually prepare you for doing the job. So that’s always my first general advice is, what is something you want to do with it? And if you have that idea then you can start applying your learning and then we could go into a whole other list of things to do to try and learn.
Sam Schutte: Yeah. So find a project that you can kind of pour yourself into rather than just reading manuals or something. Find something to actually solve, a problem to solve or something to work on. Cool.
Nate Stuller: Exactly.
Sam Schutte: What about you, Scott?
Scott Harrison: If you want to become a software developer, pick something like C# and just learn as much as you can about it. And if you have access to college courses, that’s really good. And if you have access to Udemy, Udemy is a really good source for some really good teaching for beginners just to get started. Learn as much as you can and like Nate was saying, take on a project. Just jump in and start doing it. Try to get advice, programming reviews, code reviews from people who’ve been in the industry for awhile and say, “How does this look? Is this right? Is this the style?” And make friends with experienced developers.
Scott Harrison: And the biggest thing is always push yourself to that next level. Just keep pushing the edge of the envelope and when you think you’re sick and tired and you say this is not for me, just wait for the next day. Everything’s going to be different. And those are the things I experienced over and over and over in my career is that things becomes so complex. You just sleep on it and you can see the light again. It all comes clear at that point.
Nate Stuller: Yeah, that’s a really good note about Udemy too, because something I’ve often found is when I identify that project or something I want to do in an area that I don’t know that much about, I have a general grasp of what I need to know, so I’ll look at Udemy, I’ll look at a few different sources. Coursera or a couple other things like that. Lynda.com. There’s many more but those are some of the bigger ones. And just check it out with my couple keyword search items on what the technology is and see which one seems like it’s the most applicable to what I want to learn. And then go through it right there and a lot of times those things are very aligned with what you’re trying to do and it can be very helpful.
Nate Stuller: For example, the first time I had to integrate Stripe into a website, Lynda.com I think was the one … Or no, that one was Pluralsight. That’s another example. So that one had a perfect course that was exactly what I wanted to do with Stripe, and there you go. I’d go through that, it’s almost step by step at that point. And granted, I had a lot more experience where it was easier to take the lessons that they were showing me and apply them, but I just find that usually between some of the top five course vendors out there, there’s usually something that’s pretty applicable.
Sam Schutte: Yeah. One thing I’ve always told high school kids, seniors in high school or young college folks is along the lines of getting hands on experience in a project. Do everything you can to get some kind of internship, it doesn’t matter if it pays less. If it’s working in the library at school and write a program while you’re there, or just go to some local nonprofit and say, “Hey, I’ll build you a database.” Whatever it takes, because I think that was what made a huge difference for me getting out into the field is that I was lucky enough to have some really great internships at maybe two or three different companies while I was in college, after high school and through college, that I came out and said, “Look, I’ve got experience with Java.” And at that time nobody had experience with Java.
Sam Schutte: A lot of my friends who just worked as a lifeguard or in a restaurant or something like that because maybe they couldn’t find anything else or whatever the reason was, I think that slowed down. So I just think getting real world experience as soon as possible, even if you do it for free is better than better than nothing.
Nate Stuller: Completely agree. Yeah. Even a computer science degree doesn’t guarantee you an entry level job in programming right out of school. So it didn’t for me.
Sam Schutte: Yep. Yep. Well, that kind of brings me a little bit to the next question, which you see a lot of these bootcamp type programs out there and there’s a lot of them that are really popular nowadays that they promise you come in for 90 days and you learned to be a software developer. I think there’s upside to those because like we said, you’re getting practical hands on experience, but at the same time I’ve talked to a lot of folks that come out of those and they’re not really any better off. It didn’t end up in them getting a job. So there is that gap of if you work for two or three summers in an internship, that’s enough experience to land a job. But if you have two months experience in one of those accelerator programs or whatever you want to call them type thing, it seems like it’s almost not enough out there in the market.
Sam Schutte: And I guess the question is how do you plan your career from starting out as a software developer to become a senior or lead software developer as you guys are? And are those accelerators a good way to go about that? Those didn’t really exist 15 years ago when we were starting out, or whatever, 25 years ago.
Nate Stuller: I view the boot camps as more of a kickstart to the entry level of a career. Is that what you’re saying?
Sam Schutte: Mm-hmm.
Nate Stuller: Oh. So yeah, we’re not really saying for someone who’s already in a programming career and then takes one of those boot camp courses and then …
Sam Schutte: Exactly. I’m saying people starting out. Because the way it’s advertised is you come for 90 days and then you graduate and boom, you’re a software developer magically. I don’t know if that actually works, is my opinion.
Nate Stuller: I am cynical about them in the sense that I feel like you’re going to get out of it what you put into it. It’s pretty much going back to the same piece of advice, if you have something that you can apply what you learned to and you can demonstrate that you’ve learned it after the fact, then you’re going to learn more and are going to have something that you can actually demonstrate. And it goes also along with what you’re saying about how you need something that you can show basically on your resume that you actually know how to program in a real world environment because the academic pursuits of it are much different than what actually happens when you’re trying to code and actually produce something. Produce software for users.
Scott Harrison: [crosstalk 00:14:57] the same way on the boot camps. And they’re just another tool, like an online class or a 90-day immersion. 90 days is a long time though for something like that. But coupling that with an internship is probably a really, really good way to go.
Sam Schutte: I think some to some degree, a better avenue if you get out with a computer science degree or even just any kind of IT degree and you’re finding that you can’t get a position writing code, you could take a position in QA or in any kind of support around the software. I’ve worked at startups in the past that said basically your first 90 days on the job you were a QA person because they wanted you to learn their code base by debugging. And they’re like, “You don’t get to write new code yet.” So I mean I think that could be a way to do it.
Scott Harrison: Another way in is business analyst. They’re always looking for good business analysts.
Sam Schutte: Yeah. Well it’s funny because in college I took, maybe, 20-some courses in computer science, there was one that was system design, architecture, and basically it was writing requirements. But in the real world that’s probably been at least 60% of my time is dealing with requirements and scope and project plans. Maybe not 60%, but certainly a big chunk of time out of all the times. Depending where you’re at. If you are at a place that has a lot of meetings and or has a really complex system or something, it seems like it’s not 1/20th of your time you got to worry about requirements. And that’s a little bit of that real world versus academic stuff too because the academic projects didn’t even really have requirements most of the time.
Nate Stuller: Yeah. That leads in a bit to what I would answer as how to become a senior software developer. Because if you’re thinking about business analysis and gathering requirements, that is a little more of a soft skill, but it’s thinking about how the software will actually be used and what the user needs out of it, whereas an entry level programmer may just be writing code that fulfills those requirements in the most isolated and technical way and without actually thinking about the big picture. So going forward you start thinking more and more about the software engineering aspects, which is how do all these requirements fit into the whole release cycle of the software as well as the project management. What are some other resources that might be working on this? What has to happen first? To me that’s where that junior developer becomes more of a senior one. It’s a little bit also they’re growing their technical skills, but I think it’s more seeing the big picture with those other soft skills.
Sam Schutte: Yeah. Well and I think on the topic of soft skills, because I’ve known folks who were just absolutely incredible code writers but had no communication skills, and then folks who really understood why a business was building something and could sort of sit on the fence a bit between business and technology. And usually those folks went farther in terms of getting promoted or getting more responsibility. Because usually the folks that are just amazing, just super, super genius code writers, you can’t afford to take them off of writing code to do anything. You want them to just pound away at the keyboard and that’s it.
Sam Schutte: So I think to some degree, I guess depending on the way that you interpret the title senior developer, whether it’s lead developer or architect or department head or whatever, usually at least in most companies, I don’t know that that’s necessarily always the quote unquote best coder. I think a lot of times that’s a person who has better soft skills and or at least is a mix 50/50 of technical and soft skills. Just like any profession probably.
Nate Stuller: Yeah.
Sam Schutte: More to what Nate was saying about discipline, a good strong work ethic and self-confidence I think are good at building the career. Just the discipline to stay with it, just keeping at it every day. Strong work ethic, self-confidence, good communication skills are really good soft skills to have when learning, because a lot of these things you’re working autonomously, you probably won’t be having a lot of guidance from a team lead or someone with expertise in the field.
Sam Schutte: Yeah. I agree. And I wanted to go back for maybe our last question, or our theme for this podcast overall is talking about innovation. And so when you all look out at the big software companies out in the field today, out in the industry, who in your opinion is really doing some of the most innovative things when it comes to software tools or driving platforms? What are you seeing out there that if you look at the platforms and the tools that folks might want to really get into that are going to, say, maybe three years from now really be the thing that everybody’s talking about, what companies are really driving that innovation in the industry?
Nate Stuller: Well, I’ll try to answer it the way I want to, which is not so much what’s three or four years out that everybody’s going to be talking about, but I’m thinking it’s Amazon. I’m so impressed with Alexa that it’s like this black box little container that mostly just works. It’s still the leader in that audio recognition and just being our personal assistant, and that’s just going to become more and more involved in our life. And then when you throw in all the scope of the things that they do, like having their AWS, their server platforms and everything for that, there’s so much going on that they’re innovating all over the place.
Sam Schutte: Yeah. Yeah, definitely. And I haven’t talked to you guys about this, but I’m working on setting up a relationship with a company that builds voice recognition, sort of data management profiles for Alexa that would be a product that we could bring in to some of our clients. Basically a way to use Alexa to access your business data. Anything from mainframe data to manufacturing data, healthcare data. The type of stuff that we’re always building, using Alexa to access that. And it’s pretty incredible how good it is. They were in here in the office last week giving me a demo on Friday, this company was. It can understand such incredibly complex questions and then basically tell you the answer to your question about a KPI or something like that that you need to know for your manufacturing line. It’s pretty incredible. But what do you think, Scott, on that question of who’s driving innovation?
Scott Harrison: Well, what I’m looking at specifically this week is Microsoft Blazor. It’s just the next step in application development. And the biggest takeaway from that, what I’ve learned so far, is that they’re hiding the complexities of the asynchronous communications from the client and the server and just making that easier and less complex to program so you’re not so busy doing that kind of work and you’re spending more time on the problem you’re trying to solve. I think Microsoft has always been, with developer tools, just right there. I’ve always been very satisfied with them and I haven’t really looked elsewhere for other software development tools.
Sam Schutte: Cool. All right. Well, I think that’s all we had for this podcast and thank you all for joining us. Thank you to Scott and Nate for your opinions and feedback and insights into what you all have done in your career and what you see coming up, and we’ll look forward to talking with you all more in the future.
Scott Harrison: All right.
Nate Stuller: Sounds good. Thanks.