UMBC Mic'd Up

Navigating the World of Software Engineering - A Graduate's Perspective

July 23, 2023 UMBC Mic'd Up with Dennise Season 3 Episode 54
UMBC Mic'd Up
Navigating the World of Software Engineering - A Graduate's Perspective
Show Notes Transcript

In this enlightening episode of UMBC's Mic'd Up podcast, we dive into software engineering with a special guest, Reed Eberly. Reed, a current graduate student in UMBC's MPS software engineering program, shares his unique journey and experiences at UMBC. This discussion delves into the exciting aspects of software engineering, its real-world applications, and the critical skills necessary for success in this rapidly evolving field.

Reed provides valuable insights into the differences between computer science and software engineering, emphasizing the importance of planning and time management in a graduate program. He also shares his regret about not pursuing internships during his undergraduate years. He highlights the significance of investing time in industry-related clubs to gain practical experience and build an impressive resume.

Whether you're considering a career in software engineering or simply curious about the field, this podcast offers invaluable advice and firsthand knowledge from a graduate student's perspective. Join us as we explore the world of software engineering and its potential impact on various industries. If you're passionate about technology, creativity, and problem-solving, this episode is a must-listen! Remember to like, share, and subscribe to UMBC's Mic'd Up podcast for more insightful discussions and inspiring stories.

To learn more about UMBC's Graduate Program in Software Engineering visit: https://professionalprograms.umbc.edu/software-engineering/

Dennise Cardona  0:00  
Welcome to this episode of UMBC's Mic'd Up podcast. My name is Dennise Cardona from the Office of Professional Programs. And I am here today with a special guest, Reed Eberly. He is a current graduate student in our NPS software engineering program. And he's going to be talking about his experience as a student here, and all the great things about software engineering, I hope you enjoy this episode. Welcome. It's so nice to have you here Reed to talk about the journey that you're having right now with software engineering at UMBC. And the computer science program as well. 

Reed Eberly  0:37  
Thank you for having me. 

Dennise Cardona  0:38  
So tell me a little bit about, you are enrolled in the, you were enrolled in the bachelors in computer science to the MPs software engineering program. Can you talk a little bit about that for folks that are listening or viewing this on YouTube? And they're not even sure what that means? What is that? What's that experience been like for you?

Reed Eberly  1:00  
So basically what the program is, as an undergraduate, you're allowed to take up to nine graduate level credits for your graduate degree. So basically, what I did was, I was able to take six of my six credits worth of graduate level credits, and I'm going to translate over to my graduate level degree. And then those six credits also count towards my undergraduate degree as well.

Dennise Cardona  1:21  
That's great. That saves a lot of time, some money, I'm assuming. And it also, does it help you with taking graduate level courses at the same time that you take in undergrad courses? Does it help you as a student? What does that lens look like to you?

Reed Eberly  1:39  
So it's definitely it's a different atmosphere or a different kind of method of what's what they go with. My experience, like the graduate level courses were a lot more like online oriented, like I only actually only had one class in person the entire semester between my two grad courses, though, I guess like they're, they may be different I, I chose one one that was I had to choose the ones that were available simply like I was a little bit late to the boat on that. But they were still a largely online based and from what I could tell from the other classes, it's, they seem to be more online oriented simply for the fact of convenience, while like with undergraduates more in person, because it's expected that people are going to be on campus or at least able to commute. So it's a little bit more convenient, convenient in that sense.

Dennise Cardona  2:20  
Yeah, that makes sense. And from studying in a graduate program, are you able to bring some of those skills that you learn from studying in a graduate program into your undergrad as well, when you were studying for that?

Reed Eberly  2:33  
That's actually a little bit interesting is the opposite. I took I took skills from my undergraduate classes into my graduate courses. So one of them was like an ethics class like software engineering 601, which is actually quite similar to the undergraduate version, it was 601, I believe it was ethics in software engineering. And then there was an there's a undergraduate requirement for the computer science degree, which was, I can't remember what it was, it was like, I can't read the exact number, but it was ethics in information technology. And what you end up finding is that my experience, they ended up having a lot of overlap. So it was actually made a lot easier. Because I already did like a fair bit of the topics.

Dennise Cardona  3:13  
Which is very helpful. That's awesome. It just reinforces your learning, right? Yeah. Now, are you done with your undergrad at this point?

Reed Eberly  3:21  
Yeah. It was a couple weeks ago. 

Dennise Cardona  3:24  
Congratulations. So that's awesome. So now you are just going right? Transitioning, staying actually right into the MPs and software engineering? And so you, yeah, that's really great. So you'll be able to finish that sooner than later. Thankfully. Right? Yeah. Can you tell me a little bit about why you chose software engineering? What is it about that field that intrigues you in order to go for graduate degree?

Reed Eberly  3:53  
So it's like with computer science, one thing you notice is that you're predominantly doing a lot of the how and how you're supposed to do things, but you don't go over much of the what and why. So I guess like with software engineering, you're allowed to like, literally like my other software engineering course, was literally just you designing you didn't do any coding at all, it was literally just you coming up with like you ask the business, you interpreted their issue, and then you went throughout the semester, filling out documents, and diagrams. And then from there, you're basically designing their solution and may not even be like tech based or code at all might be something like low tech and simplistic, but the point was to get the best conclusion and make the best product for that individual business.

Dennise Cardona  4:33  
Yeah, that seems like a very transferable skill as well. And it seems like there's a lot of critical thinking then involved in software engineering and the projects that you would perform for a client. Being able to think and analyze things. Think critically over it, discuss that kind of stuff. So communication seems like a big skill set as well. And yes, and software is everywhere. It's every industry you can think of right? It hits every industry.

Reed Eberly  5:01  
Yeah, more or less do not I don't think it's gonna be. I remember, it was, I can't really remember like which YouTube video was but there was one thing they were mentioning where it basically the prediction was that basically every single industry would become, would become integrated with software and that software would basically consume the world. So we're seeing that as it is today.

Dennise Cardona  5:19  
Oh yeah, Dr. Samira likes to say software eating the world. I think there was a video where I interviewed him and he talked about that, and I may have even titled The video Software is Eating the World. And that was his take on the idea that software is everywhere. And without it, things are not going to run, you're everything from your ceiling fan to your car engine to just everything that we touch is, touches upon software engineering. So that is actually a really exciting field. And it seems like a very hopeful future for somebody with those skill sets. And speaking of skill sets, what kind of skills do you get, are you seeing that are, are necessary to refine and build as a student of software engineering, but also a future employee or independent contractor or whatever you decide to do with it? What kind of skills do you think are going to be pretty pertinent to that?

Reed Eberly  6:19  
So I probably say one main thing was definitely planning and time management. One thing I've realized with like, undergraduate, if you're if you end up starting, if you end up procrastinating on those projects, you end up having a really rough period of time, there was an operating systems project, which for computer science students is probably one of the hardest courses you'll take. And I end up getting sick during that period of time. So it was like it was very difficult, like crunching through that. So it's, if you don't have that, like management, if you don't start early, or and you don't like space things out, you're gonna find yourself bringing out a lackluster product. So I guess like primarily is going to be time management and more specifically planning. Like I mentioned, other group projects from my one of my software engineering classes was literally just planning the entire semester. So that's like, the big thing I'm getting from like software engineering, because it's a lot of planning.

Dennise Cardona  7:05  
Yeah. And that goes right back to what I said about the transferability of that skill. You that's important for any part of life, anything you do, just getting up in the morning and planning your day is really crucial. If you want to have a successful day, and you want it to be productive and effective, and yet have some downtime, or I like to call it wiggle room to be able to just be you not get overwhelmed. All of that requires planning. And anything that you do out in the real world I call it is planning essential when it's just to be able to be on a team and collaborate and be efficient. It's, that's a requirement. So that's great that you're learning that skill set there, in school, in the dojo of a classroom, so to speak, online or in person, as a really great ability and just part of an element of being a graduate student, I would say. Can you, do you have any ideas at this point? Any desires for what your future looks like with software, software engineering? Is there a specific industry that you "hmm I'm thinking that one and maybe that one?" Or are you still sort of on your journey of discovery at this point,

Reed Eberly  8:15  
I would say I'm still very much on my journey of discovery. One thing I would say that I wasn't, I didn't really have the opportunity to do an internship over my undergraduate years, part of I guess I could attribute to COVID. Part of it is gonna be attributed to a little bit of laziness on my part, admittedly, but part of the advantage of doing graduate school is being able to have that chance to apply when I don't have the distractions from COVID. And given up from what I'm given my impression of graduate school, it seems like it should be big, more manageable, simply since I'll likely be able to be home more often. So because I'm not going to be on the dorm during the semester while I'm enrolled. So that'll give me more opportunity to look for jobs and internships while I'm enrolled.

Dennise Cardona  8:57  
Yeah, absolutely. And, yeah, I can say as a former graduate student, I just graduated this a couple of weeks ago as well, from a graduate program, thank you, at UMBC. And it is, I wouldn't say it's like, easy, obviously not definitely challenging if you want to do it right. And you really want to learn and apply what you're learning in the real world. But it's set up really for working professionals. That's how I found it were my things were all online, some synchronous, some asynchronous, but my experience was we worked at our, kind of our own pace, even though we had deadlines. It was this is how it is in the real world to when you're working. It's you are people are counting on you. You have to be accountable to yourself and to whoever your team or your peers, in this case in graduate school, your instructor. So it's teaching you those kinds of skills. And it's definitely I would say, time management wise it was definitely easier than undergrad because undergrad, you're juggling a lot of times you're juggling that work life balance but A school balance as well. And peer to peer balance. And just social life balance is a lot going on when you're an undergrad, that some of those things. Thankfully, that's not really going to be as much of a distraction in graduate school. But of course, there are always other things that we have to deal with in life. Absolutely. But you brought up a really important point about getting kind of experience through, say, internships, or something of that sort, maybe it's volunteer work, whatever it might be, that's really critical. I always, gosh, that's like the advice I would give people who are in graduate school, to, go out there and get experience, whether it's an internship, or if it's just an organization that you really support and want to support by doing some of the skills you're learning in school applying those because when you get out into the real world, and you start applying for work, that's what employers are looking for, do you have experience? Do you have a portfolio you can show me that shows that you do have these skills that you're talking about in your resume and cover letter. And that's a critical point that I think a lot of people miss, is getting that experience, getting a mentor, and working with a mentor to get those projects and help with projects that maybe they're working on that you can have some input and work on, because that's really what you're going to see how it applies out there in the professional world. And you might say, I really don't want to go into that field or that industry. But oh, that one really seems like it would be really appealing. And maybe it'll open doors you didn't think we're there. So I think that's smart of you to be considering things like that. And especially early on in your graduate studies. That's a really big benefit to being able to take advantage of going out there afterwards, and getting the kind of pay and work and opportunities that that's the name of the game, isn't it?

Reed Eberly  11:55  
Yeah, absolutely.

Dennise Cardona  11:56  
Oh, yeah. So far, what has been, you say your biggest takeaway from the courses that you've taken in software engineering?

Reed Eberly  12:06  
That's a bit tricky, just because so I've taken like, primarily ethics, which was something I've already covered, and the software engine course was predominant. I guess the biggest one was from my, from that system analysis and design class. And I guess the biggest thing was being able to cooperate with people understanding that we need to be able to handle situations where things don't necessarily go your way. You're gonna have situations where you may not have might have a group member where, like they, they may not, they may not be able to for certain reasons, they may get stuck, you're gonna have to be able to help lead them back on course. So that project goes well. And so realistically, the big takeaway is being flexible is going to be the most valuable tool in a software engineers arsenal.

Dennise Cardona  12:48  
Yeah, who that's so true. Being flexible. Yeah. If you can be flexible, open, adaptable, that that's a leg up in the industry, I would imagine. What it at this point in your educational journey? What advice would you offer somebody who's considering this field of software engineering? What would you say to somebody if they're on the fence? And they're like, yeah, I don't know. Is it something I should worth pursuing? What would you say?

Reed Eberly  13:14  
I guess it depends if they're still like, if they're a freshman in college right now. And they're still determining their major, I would probably first ask them, probably take CMSC 201 first, just because I've had a lot of friends where they take 201 when they realize, and I really don't like this. And if you don't like coding you're not going to like it at all, they won't experience it was one of my friends was he was doing bioinformatics. And he found out like, it just really, he just really didn't like it because you're not really, part of it was a situation of you're doing a lot of the how and like I mentioned before, you're not doing much of the what or why? So you have very limited creative freedom comp sci. So I would say for those for software engineers, if you like the coding portions of computer science, but you want a little bit more freedom on what do you actually design, I probably recommend software engineering for those people simply for the fact that I feel that's one thing where comp sci is a little bit lacking because you just want one class, which is actually the software engineering class, which is required in the comp sci major, where you actually like design something for yourself. Besides that you're predominantly doing assignments, you're going through and doing what you're told, instead of choosing for yourself. So I guess it's best if you want, you like what you do, but I think you want to be able to have like more freedom on how you do it.

Dennise Cardona  14:23  
Hmm, that's a powerful statement. Yeah, absolutely. Woof. Is there anything that I haven't asked you at this point that you think would lend value to the conversation about software engineering in general, or UMBC? Or anything?

Reed Eberly  14:36  
I guess like UMBC in general is like I mentioned before, definitely applied internships during your during your undergraduate years. That's probably my biggest regret. Also, make sure you're investing into clubs like my biggest regret probably was, even though I was doing well in my classes. I felt like my balance was good. I felt like I spent a lot of time on things that weren't really necessary like you'd like to play games or hanging out with their friends, which is great, but I think it would, I think people would like to look back on the times where they invested themselves and truly devoted themselves because I imagine like there are people, I've seen the people who have been officers of the cyber dogs, which is like the cybersecurity club, or other like tech based clubs, and like a lot of the time, like those officers like have jobs straight out of college, because like, they invested so much of their time, and they're probably much, they're probably much stronger applicants than the average UMBC student. So, when looking for a job or investing yourself in college, I highly recommend clubs, especially like in your industry, just because they're very helpful. You have a very enthusiastic group at UMBC. And then you also want to invest into internships early, probably like freshman year, like from what I'm aware, you probably can't apply, you might be able to, but I would definitely say try to get into an internship in your sophomore, junior year, just because that work experience will be generally invaluable, especially on the resume.

Dennise Cardona  15:51  
Absolutely. Oh, my goodness. Yes. Well, thank you so much, Reed, for sharing your insights with us today on UMBC's Mic'd Up podcast, it was really enlightening. And I think it'd be helpful to people who are listening in or viewing and if you're viewing this on YouTube, if they're on the fence or curious about what software engineering is and how UMBC has made your educational journey so far, a great one. So thank you so much for sharing that.

Reed Eberly  16:18  
Of course. Thank you for having me. It was a great time being here.

Dennise Cardona  16:21  
Thanks for listening to this episode of UMBC's Mic'd Up podcast. I hope that you enjoyed it. If you'd like to learn more about our offerings, do a search for graduate programs in software engineering at UMBC or click the link in the description.