All Blog Posts

Video: How COVID-19 Is (and Isn't) Affecting Software Developers

Jason Greer talks to Far Reach Developer Brian Gorman about COVID-19, remote work, and the future of development careers.

Jason Greer: Alright, so Brian. So I've been on your team now since November and been working with Far Reach and learning all kinds of new stuff. And just wanted to spend a few minutes with you today and ask you some questions. I know you wear many hats. One of them from an education perspective, one of them from a developer perspective. And so just kind of wanted your thoughts on what you think of COVID-19, how that's gonna transform the world and where we go from here. So let me just start with the first one. So as we look at COVID-19, what do you see changing in the technology world? How do you see what we can provide as developers to businesses in this post- or mid post-COVID world?

Brian Gorman: Sure. So I guess, really, as a developer, not much has changed at this point. And I'm not sure a lot will change as a developer going forward in that business processes are going to exist whether or not we work in the same building or have our partners in the same building. Or if we're developing a solution for someone who's 100 or 1,000 miles away. And so COVID-19 has definitely changed the way that we interact as far as humans, but as far as technology goes, we have the tools to solve the business problems that we've always had still available to us. And most developers are fairly comfortable working in an independent setting to solve a business problem. And so we've already kind of started hitting some of the communication things that a lot of people are gonna struggle with out of the gates with COVID-19, eliminating their offices. So for us, really, the main thing is probably gonna be just a little bit more enhanced communication, a little bit more ability to keep people appraised or apprised of where we're at on our projects, what we're doing. But really, in just using the tools that we have already to build out even better solutions based on what we now know that's happened to us with different things that are going on. What are we gonna be able to do differently or what are we gonna have to do differently as we enter this new world of post-COVID-19.

JG: Yeah, so I think you bring up a good point around the communication piece there. So in the past, now I would say for Far Reach, we've worked remote for years. And we work with clients remotely as well. writing out stories and working through the Agile process was everybody in a room with sticky notes or a whiteboard. What are some things you've learned over the years about how to communicate and how to have that communication necessary to be successful with Agile and development in general?

BG: Yeah, that's a great question. Sometimes it's easier to know what to do right if you know what's wrong. So let me just start with a couple of things that really don't work that people will probably try. Pointing a camera at a whiteboard, it's an absolute terrible idea. It seems like it's gonna work but the people watching can't see what you're writing or you can't see the whole whiteboard or you have to zoom in. Then you can't interact with each other face-to-face via the camera, of course. But yeah, so one thing to definitely avoid is trying to design a solution or use the sticky note approach like we used to do when you're all in the same room. So with that, what we need is tools around that process. And there are tools, there have been tools that have already attempted to solve these problems. You have your Basecamps, you have your Kanban boards of Trello or GitHub Pages or GitHub boards or Azure dev boards or whatever. There's hundreds of different solutions available to you to try to figure out how to do a collaboration where you can basically all have the same screen. You can see who's typing notes, who's doing this. You can write your stories. You can have all that information basically online, so then people can interact with each other that way. People will have to remember that it'll be extremely important to tag people. I think that'll be a thing that people forget. Because with all of the change in communication, as I said earlier, for developers, we're kind of used to this. We've been doing it for a long time. But with a new person coming out of the office who's used to being able to just walk over to Mike's desk and say, "Hey Mike, what's going on?" He won't have that or she won't have that anymore. And they'll have to tag Mike because Mike's gonna have so many other people telling things to Mike that he's not gonna hear you and through all the noise unless you highlight it. Or at least get some sort of way that all of your team members have a way to prioritize and know what they're supposed to be working on.

BG: And so again, using some sort of board or some sort of workflow management to do that, it's gonna be really important. That will help with your communication because you'll be able to then look at that. We do daily stand-ups. And with daily stand-ups, it's different for every team I've ever worked on. Sometimes it's very straightforward and sometimes it's actually quite involved. And so I think what you need to do as your team is just kind of experiment a little bit. Figure out how do we use this time in the morning or in the afternoon, whenever your stand-up is, to really communicate effectively so that everybody has what they need, nobody's blocked. And again, using tools to manage that. And not expecting people to remember all this stuff. It's not like when you work in the office. You don't have the visual memory of talking directly with someone anymore. There's something weird about the video camera. It doesn't resonate the same way. It's just like when you first switch from reading a book to reading online, there's something different about it. You have to get used to it. And so I think with that, building your processes around tools that already exist. And that also then opens the door for people to actually build better tools.

JG: So speaking of new tools and where we can innovate, what do you think are some areas that are ripe for new tools and new innovation?

BG: One of the great things about software is that we are always trying to find business processes where problems exist and solve them so that we can make people's lives better. That's basically our purpose in life is to automate processes, enhance processes, take manual steps out of the equation where people can make errors. And so if you were an entrepreneur type of person or if you're a team looking for solutions to build in a time of a down economy, maybe what you could do is consider the tools that are out there right now such as Zoom or the Trello boards or whatever, and figure out a way to make it better. I mean, there's a saying, there's nothing new under the sun. So nothing that we're doing is new under the sun except for somebody does it better. And so it really comes down to execution. If you see holes in the process or if you're experiencing a pain point, there's an opportunity.

BG: So Zoom, Zoom went through a huge pain point just a couple of weeks ago because they experienced basically overnight exponential growth. Which everybody would think, "Ooh, this is the unicorn. "This is what we wanted." But what that did was actually expose them to all sorts of scrutiny where they found out, oh, we have this security hole and that security hole. And to Zoom's credit, I really believe they've done a fairly great job of responding quickly. And not only responding quickly and fixing the problem but also owning it. I think the CEO even came out and said, "Hey, I screwed up." So with all of that, those types of things still have room for improvement. So if you wanted to, you could figure out tools around visual communication. How do I work a Kanban board and a Zoom meeting together so that I don't have to have three different windows open? Or how do I communicate with my team daily without having to make sure everybody's available at 9:00 a.m. Because sometimes that's just not feasible. Especially in a world without daycare. We're juggling that right now. We have some people like myself who, I absolutely have to watch kids in the morning so that my wife can work. And then vice versa in the afternoon. And so a 9:00 a.m. stand-up is sometimes not very feasible. And if it even is feasible, it's extremely distracted. And so when daycares open back up, obviously, we'll have a better solution to that. But the opportunities are ripe right now. I think that this has done nothing but good things as far as exposing opportunities. I think to think that we're all gonna hit this period of not having things to do is a little bit scary. Because that would imply, that's like the guy who said, "There's nothing new to invent," in the 1800s. I don't remember who said it, but he said, "Everything that could possibly be invented has been invented," or something like that. And obviously that was inaccurate. So for us to say, "There's not gonna be any work." Or "There's not gonna be anything to do." That may be accurate if we don't pivot or don't take a mindset shift into well, we are no longer going to provide only cloud services. Or we are no longer going to provide only in-house services. Now we have to figure out a way to adapt and to make. There is work available, there will be work available. We just have to find it. And tools, same thing. There are going to be ways people smarter than me are gonna think of really cool tools. And we're gonna start using them in about six months from now probably and be like, "Wow, why didn't I think of that?"

JG: Yeah, one of the sayings at our house is boredom is the mother of invention. And I think stressful situations like this are as well. This is the only time in history where we literally have taken an entire workforce across an entire country or even the world, and sent them home to try to work. I mean, we flipped the switch in one week. I've talked to some executives and they're like, "Hey, honestly, it worked better than we expected." But then there's others that are dealing with tons of pain because there's some Excel spreadsheets sitting on somebody's desktop still at work or whatever. And they're reeling from these processes that they thought would always be in place. And now they're stuck. One of the areas that we moved to a long time ago was in cloud. Would you mind speaking to cloud a little bit and about how we can use the cloud to help enhance or digitize and manage some of the processes we have?

BG: Yeah, absolutely. So there's a couple of different ways to look at this. The one way is as a business and the other way is just as a person, as an individual. And there's a combination of both of those that comes together as an employee. So yeah, having a spreadsheet where it's only existing on someone's desktop in a physical building, that's not a good solution. And this has highlighted that. But I mean, what if that building would have gotten hit by a tornado or burned down? That's probably, I'm guessing that spreadsheet's pretty important. I'm guessing it's not just a few stats. It's probably managing money or customers or something really important to your business. Especially if you're now considering how do we get this thing off somebody's desktop.

BG: So the cloud is really awesome. And it has evolved in a way that I think a lot of people saw it coming but didn't expect it maybe to happen quite so quickly. With the fact that I think what you're gonna see, and this is speculation, but I think what you're going to see within the next five years, there probably won't be the desktop as we know it anymore. In a way, what I mean by that is as a business person right now, I can spin up a virtual machine on Azure. And on that virtual machine, I can put all the tools that my developers need. And I can make a template that I can spin up a new computer in literally a few minutes. And yes, it costs money. But it also costs money to have physical devices. And so, you're looking at someone being able to use a Chromebook and connect via remote desktop to a fully blown computer on the cloud deployed near them. It could be in one of the regions on Azure that's near you. Or if one of those things fails, there's failovers and stuff too. So you don't have to worry about machines' hard drives going bad. You don't have to worry about people not having access to their machine. The only thing you have to worry about is Internet access. And so as long as someone can get to the Internet, they can actually work off the cloud. The same thing goes for servers. So now, these really expensive, hundreds of thousands of dollars servers that businesses have been procuring, they deprecate over time.

BG: The accounting on that stuff escapes me a little bit but you pay capital expenditures or operational expenditures. So your capital expenditures are gonna be buy all this stuff. And now I have over the next five years, I'm gonna take tax breaks on this stuff. Well, as a business, now you can just say I don't even need the $500,000 server anymore but I will be paying $50,000 a month for servers at Azure or whatever. Which seems daunting compared to the zero dollars you're spending right now per month, which really isn't actually accurate. But what happens for you is that you never have to worry about who's installing updates. You never have to worry about that machine failing because as soon as it does, they put in a new machine for you. So you don't have to upgrade your machine. So you're basically paying a little bit more maybe by month, but you have a lot more available to you. So the cloud gives you that opportunity to leverage the latest machinery with the latest server, tools, the latest processors, the latest drives. That's all gonna be available to you at a lot less money than if had you spend this gigantic amount of money up front. And then also have to put that in a building that you also have to physically secure, and make sure that only the right people have access to the room. All that stuff, the cloud's taking care of that for you. So what you're gonna see is businesses starting to realize, wait a minute. We've been doing this for 50 years, since the '70s or '80s. And it's, we don't have to do this anymore. It's gone it's done. And so we can go on now and change. Which is gonna affect roles as developers I guess a little bit too. Developers now have, or even your server admins. Your server admins won't be going to their physical buildings anymore. They'll be doing stuff through portals and command lines. So that'll be interesting.

JG: It sounds a little bit like a buy versus rent concept.

BG: Yeah, kind of. Yeah, I mean you're basically leasing the equipment. And as soon as that equipment doesn't work anymore or your two years is up, you can just lease a different version of it. It's much more flexible. A little more expensive maybe upfront. Or excuse me, it'd be more expensive upfront to buy a $500,000 server, put it in the building, make sure it's secured all that stuff. And then watch it start to degrade over time versus paying $50,000 a month on a continual basis. So I'm making numbers up by the way.

JG: So you also are a professor. You teach at university.

BG: That's correct.

JG: How do you think that COVID is going to affect education going forward?

BG: So, yeah. Yeah, we were kind of talking a little bit off camera and one of the things that I was thinking about then is the code schools. So, there's one in Cedar Rapids, DeltaV, which our friends at NewBoCo run. And they've already been seeing people before COVID that leave a job such as a teller at the bank or a clerk at Hy-Vee. And they go through a six-month program or whatever the term, 18 weeks, whatever the term is for these code schools. And they land jobs where they literally double their income. And then a couple of years later double their income again. So right now, I think code schools are really, really gonna do well. And the reason being is because number one, those code schools can provide a very quick solution to a huge problem that about, what was it, 30 million people that, I don't know what the number was, that recently just applied for unemployment. Tech fields right now, we're still hiring. And still hiring at ridiculous salaries. Now, that might change in three to six months. I can't predict that it won't depending on how all this continues to go. And who knows what happens with different things. But right now tech is not a bad place to be. And it never really has been.

BG: But now it's kind of like people need solutions and people need their data. And people need the ability to make decisions based on that data. And these code schools, you can learn how to be a programmer on the web. You can learn how to be a data scientist. I mean, they have different options. And a code school might run, depending on which one you go to, 15, $20,000, which seems pretty daunting, especially if you're unemployed. But there are a couple of them out there that do a deferred situation where you don't even have to pay. You can go to school, get your degree from them. It's not a BS degree. But who cares? It's a degree that says I graduated from a school. And that school gave me the ability, and they likely, that school likely has partners that they could even help place you in. So you might even land a job and go from no income or maybe you were working on the line in the factory and making 30 grand or something a year, to all of a sudden making 60, 75 grand a year. And your life has changed. And you don't have to go there for four years. And you don't have to take classes on organizational psychology. And what was it we were talking about before? I can't even remember, but basically, these classes that are required to get a college bachelor's degree, which aren't completely useless by the way. I'm not saying that they're useless. I'm just saying it's bloat.

BG: And so as an educator in a computer science world, I see a huge opportunity for even introductory level programming. People have already started to flock to that. I've seen increases in course sales on my basic introductory courses because people are looking for ways to learn and better themselves. Which has never changed, but now is even amplified. People, some people, and I won't say everybody 'cause certainly not most of us. Some people actually have a lot more time right now to do things like learn. Which opens the door for that. But then going back up to the full, 50,000-foot view of a university. If the universities don't change what they're doing, I think they're gonna be in real, big trouble. And part of that is just around, you gotta bring 25,000 to 50,000 people from all around the world into one city. Which in the past was not a big deal and actually quite enjoyable for most people. But now who's gonna want or who's gonna allow 25,000 people from disparate sources all across the world to come to one place and be like a melting pot of disease. And we have this on our minds. And I'm not saying that this won't clear up. I'm very confident it will. And I'm very confident in three years from now, COVID-19 will be a distant memory as far as how we're being socially isolated. Now, we might still have some practices. Hopefully people will still wash their hands, that'd be great. But we hopefully won't have to be wearing masks in public. I'm not a huge fan of that. So I think what the university in general has to do is figure out how they're going to pivot in order to compete with the code schools that they've basically said aren't really a factor against us right now. Because I think they will be as this develops even more. And also figure out a way that they can get the students to still be able to get a quality education if they can't be in a brick-and-mortar building on a campus in a certain town. So It's gonna be interesting.

JG: Yeah, that's great. So I started as a programmer, I haven't probably programmed in the last 10 years or so. My first programming job was in COBOL actually.

BG: Dude, you should call up New Hampshire or whatever it is.

JG: Yeah, I know, I know. I need to dust off the skills from 20 years ago.

BG: Yeah, no thanks. My first language I programmed in was Pascal, if that dates me at all. What are some of those, people that are maybe laid off or people that are working another job, what are those skills that you see in your students that say this person is going to be very successful in IT? And maybe that's a really broad, because there's a lot of broad areas to go between QA and developer and all those things. But what are those things you look for as a hint to success?

JG: Yeah, that's a great question. Because it's kind of the million dollar question, honestly. How can you tell if someone's gonna be a good programmer? Let's start there. So there are two camps on this actually. The camp of everybody can program and everybody should program. And no, only certain people have the gift of programming, and only those people should do it.

BG: So yeah, there's so much you can say on this. I've gotta keep it kind of short. But basically, when I'm looking at someone, if I was to judge whether or not I think that they'll succeed as a programmer, I think they need about three qualities. One of them is they need to be able to look at a problem and figure out a solution without having to find an answer from someone else. So by that, if you see a problem, you can envision what is the solution to is.

BG: Okay, let's think of it like traffic. I see a problem, there's traffic. How could we make the traffic better? Have you thought about rerouting specific parts of traffic or have you thought about limiting the number of cars that could pass through a stoplight per day, somehow. It doesn't have to be a feasible thing. Just the fact that you could actually envision solutions in your head or think of them. Or even write it on paper. So looking at problems and then being able to actually think about solutions. And I'm not necessarily even saying coming to a good solution. I'm just saying thinking about solutions and being able to articulate them.

BG: Second thing, and this is gonna make a lot of people really upset. But remember how you always said to your algebra teacher, "When am I ever gonna need this?" Well, if you're gonna be a computer programmer, you need algebra. You don't have to know the advanced calculus for most jobs. But you need algebra. And the reason you need algebra is because algebra is all about variable replacement. It's equations and rearranging equations and solving for variables. And that's programming. We take X is equal to two plus five, X is equal to seven. Now I can use that seven and do this thing with it over here. I mean, that's programming. It's algebra, a little bit of matrix theory, which if you want to go into that, that's a little bit harder. But it's kind of like the next step up after algebra. But you still, I mean, you can do great things in calculus too. I'm not saying that someone who's great at calculus wouldn't be a great programmer, I'm not saying that at all. It's completely not transitive that way. I'm talking about someone just wanting to know should I even try it. Well, if you if you hated algebra, if you hated writing equations and you hated solving for variables, programming might not be your favorite thing in the whole world.

BG: Programmers don't work regular hours. There's times when programmers have to work on the weekends. There's times when programmers have to work at night. There's times when you have to take a call at two in the morning and you don't really want to because you're tired. But the servers down so you gotta fix it. Or you gotta fix a process that you don't even know. Somebody else worked on it, and so you gotta solve that. So if you are okay with diversity around that and you have a good work ethic and you're willing to make a few sacrifices, put the time in to learn it. It's not something you can just sit down and do. So the code school idea is great, 18 weeks. But I'm not gonna be an expert programmer in 18 weeks. In the same way that I could sit down in front of a piano and practice for eight hours a day for 18 weeks. I'm probably not gonna be playing a lot of Beethoven, especially not in a recital. Because I wouldn't want anybody to hear that. But I could likely at that point read music well enough to play it slowly. Make a few mistakes here, have someone who's looking over me correct it. So yeah, so those people who are out there who are struggling. Those people out there who have always hated their job. All those people who just always kind of felt held down, to be honest. Or are laid off right now because of this COVID-19 thing. This is an opportunity to at least explore it. There's nothing stopping you from exploring it. In fact, maybe the cards have lined up for you right now to explore it. Maybe this is the time. Maybe this is giving you that chance to explore and figure out, "Hey, maybe I really like this stuff." And you don't have to get a job in programming. That's a great thing. If you're good at programming, you can make your own job. You can make your own solutions. You can solve somebody's problem and make a lot of money. Just ask Mr. Zuckerberg how much money he's made without his college degree. And so I'm not saying you're gonna be Mark Zuckerberg. Please don't infer that because it's a one in a zillian type of thing. I mean, but I'm not, I'm also not saying that you have to have a college degree or even a code school degree to make a solution with programming that solves problems.

JG: Great, great answer. Cool, hey, well, thanks for your time today, Brian. I know this is your afternoon time to be working so I don't want to take too much more of your time. But thanks for being able to answer some questions today. It was great to get your insights.

BG: Yeah, thanks for having me.