Podcast featuring Dr. Bjorn Mercer, Program Director, Communication, Philosophy, Religion, World Languages and the Arts and
Dr. David Rogers, faculty member, School of STEM
Pursuing a career as a systems architect, with responsibilities for designing and developing highly functional systems, is often a winding path that requires a lifelong-learning mindset along with both confidence and humility. In this episode, Dr. Bjorn Mercer talks to Dr. David Rogers about his decades-long career in technology development and the steep learning curve that comes with advancing in systems architecture. Learn about the hard and soft skills needed, the “ilities” that are the building blocks to developing a good system, the three A’s of security, insight into career progression, and more.
Listen to the Episode:
Read the Transcript:
Dr. Bjorn Mercer: Hello, my name is Dr. Bjorn Mercer, and today we’re talking to Dr. David Rogers, faculty in the School of STEM. And our conversation is about systems architecture. Welcome, David.
Dr. David Rogers: It’s nice to be here.
Dr. Bjorn Mercer: Excellent. This is a great, great topic. And you know what? I’m just going to jump into the first question is what does a systems architect do?
Dr. David Rogers: Well, a systems architect is a professional who is responsible for designing and developing and specifying systems. In my career over the last 20 years of being a systems architect, I’ve worked with a lot of different systems, mostly in the finance industry. As a systems architect, what you really do is you draw boxes, which is the end result. You do diagrams. You make presentations, and you construct design documents to help people build really good systems.
One of the things that you look at is making systems that are highly maintainable, that are recoverable, reliable, and have a lot of great attributes that people like. One of those attributes also is usability. So really though the systems architect is responsible for talking to everybody under the sun, all the way from customers and users to technology leaders, to business leaders, to tech leaders, developers, database analysts, everybody, and coming up with a design that suits the needs of hopefully everybody and does it in an efficient way.
Dr. Bjorn Mercer: And that is excellent. I could see that as a systems architect, you need excellent communication skills and a great deal of collaboration. Just as a follow-up question, how did you learn those communication and collaboration skills? Did you learn on the job? Did you do anything to prep, or is it just something you acquire as you do the job?
Dr. David Rogers: Well, nobody or a very, very few people come out straight out of college with a degree in systems architecture. I think really the only established program that I know of is at Carnegie Mellon University. And mostly when you’re looking around schools, they don’t even offer a single course in systems architecture, right? As part of the soft skills and communications that you’re talking about, though, so you build that up over your years of education and college. For me, I picked up a good seven years in the military of being direct and honest with everybody.
And then, of course, you go into your business career and, again, you learn to communicate better and better over the years. Communication is about several things though. It’s about listening. You have to listen to everybody. Understand what they’re saying, right? Seek first to understand and then to be understood is the motto.
But then there’s the other part of it, which is after you’ve done all this, take in all this information and then analyze it, you have to synthesize that, craft it into design documents and presentations so that people can understand you as well.
By the way, in systems architecture, it’s a career where you’re guaranteed to make thousands and thousands of mistakes. This is okay. One of the reasons you want to communicate well is other people are going to see those mistakes, and then they should feel comfortable raising their hand and say, “Hey, you crazy architect, I think you made a mistake here,” and then you listen to them again and adjust your design as needed.
Dr. Bjorn Mercer: I can see how those soft skills would really benefit you in your career, especially if part of the process of systems architecture is to, well, is making mistakes and then going back and fixing them. I mean, I think for most any kind of project out there, that is part of the process. It’s amazing how some people don’t respond well to criticism, and it could be such a differentiator if you do respond well.
So in addition to the soft skills, what skills does a systems architect need, like more tech focused or programming or hard skills? What are some other skills?
Dr. David Rogers: When you start out as a systems architect, you typically have one or two strong technical skills. For me, that was software development. I was a senior developer. And also, I was an expert with database modeling. But architects can come from a lot of different areas, and that means they’re going to have depth in one or two areas.
Now, whenever you become a systems architect, it generally takes you anywhere from a year, to two or three years, to actually get to be any good at it. There’s a steep learning curve when you start out.
And you start out with your depth areas, but then you expand out and you build depth and breadth in other areas such as security or networks or infrastructure, mainframes. My personal journey has been about other things too, right? User interface design. I spent a lot of time on that. I actually went out and got an MBA in finance, because I work in the finance industry and I have to understand my business partners, so they don’t have to try and insulate their finance terms to me anymore. Whatever industry you’re in, you really want to understand that business as well and add your depth and breadth out into the non-technical skills, so to speak, as well.
Dr. Bjorn Mercer: I could see how, if you’re creating a UI for finance, obviously completely different than if you’re doing it for a food website or anything like that, where the interaction food site could be minimal or recipes or somebody pays a subscription for X, Y, and Z versus finance. I’m only imagining that the layer of protection and encryption would have to be really, really steep because it’s people’s money.
Dr. David Rogers: When we talk about security, we generally get data on those screens, right? This is the same for every industry actually, is that we have some information that is restricted, which is user IDs and passwords. There’s information that’s confidential, like your credit card number. That’s kind of important to be very careful about that. And then there’s sort of the public-use stuff. On a food website, it might be, what is the price of a pizza and what toppings can you get.
At the bank, it might be what are the loans that are available and what are the interest rates that we just want everybody to see as sort of public data. We have multiple classifications for that data. And that all ties into your security expertise, which, by the way, every systems architect has to develop some skills in the security area, because this is the world we live in, right, is security is critical.
Dr. Bjorn Mercer: I’m really glad you brought up security, because when I think of security, I think of like Russian hackers or Chinese hackers trying to hack into various US government websites. Cloak and dagger kind of things. But security is extremely important for just say your average company, who, of course, has a business and has a product and they don’t want that to be compromised.
Dr. David Rogers: Right. Here’s the funny thing is that about 90% of your security risk comes from internal threats, not external. They can be anywhere from intentional mayhem. They can be sort of an embezzlement sort of thing, or they could just be fat fingers making mistakes.
The firewall that you put up around your corporation to keep all the bad guys, the Russian hackers and the Chinese hackers or American hackers, if you want, out of your system, you also work very heavily to make sure that your internal systems have security.
When you’re dealing with legacy systems, and I’ll explain that in a moment, when you’re dealing with legacy systems, a lot of those were built decades ago and they did not have high security, right? We have to add on security protection layers or internal firewalls or encryption to protect us from ourselves. If you actually look at some of the biggest, most expensive security gaps, a lot of those have been sort of accidental internal attacks.
There’s a French bank that lost, I think, $8 billion, $8 billion with a B, due to an internal programmer that made a mistake and he decided that he could trade and he could write automatic programs to do it. He ended up losing the bank a whole lot of money and completely not intentionally. He thought he was doing a good thing, right? But mistakes happen.
Dr. Bjorn Mercer: And that’s a great example, because especially with stocks, I think people oftentimes think that, “I’m smarter than the market. I can time it. I can create these algorithms,” but you do, you see times throughout the last few decades of people trying to beat the market. And in reality, it’s extremely difficult. Professionals who struggled their entire lives to “beat the market.” I could see how that could really take somebody down and cost billions.
Dr. David Rogers: And we try to protect against that. Now, if you’re in a hedge fund, if you’re a systems architect for a hedge fund, you want to actually make it so that they can take big risks. When you’re talking about security, you have three A’s. You have authentication, who you are, who you say you are. There’s authorization, which is you’re allowed to do what you’re trying to do. And then there’s accountability, which says, “If you do something, I can track it and I can remember it.” That’s the three A’s of security.
And depending on what business you’re in, whether it’s making pizzas or being a hedge fund, the systems architect is responsible for looking at that and saying, “Okay, how do we do the three A’s here?”
Dr. Bjorn Mercer: That totally makes sense. And here’s a question and this comes from, again, I’m a non-tech person, so I’m asking a question from curiosity. In the news, there’s been countless, unfortunately, countless examples of data breaches, such as Target where like millions and millions of people’s information. Does that impact the systems architect?
Dr. David Rogers: There’s a number of different career tracks, especially in large organizations where we have a lot of specialization, right? We actually have at my primary employment, which I won’t say who they are, but they’re a big bank, at this place, we have people that are security architects, and we have engineers, right, and engineering managers. We keep a close eye. When there’s a breach either announced by a software company or by another industry player, we keep close track of that and we install patches as fast as we possibly can.
When there’s a zero-day exploit, this is just so, “Oh my God, we’ve got a breach. It’s today. Can we fix it before anybody has a chance to hurt us?” We immediately do patches, update systems as fast as we can. And we have, of course, firewalls and switches and everything that are sort of our first line of defense against these sort of things. We also have these things sort of like a kill switch, right? If we’re being attacked and we know we’re being attacked, we can sort of pull the wires out so we can physically stop bad communications from coming in. But we have a lot of defense and in-depth and we do the best we can to protect customer information.
Dr. Bjorn Mercer: That leads us to the third question, what are some critical concepts that are important for systems architecture?
Dr. David Rogers: Okay. If you talk to most system architects, they’re going to call these things ilities, which are basic abilities of a system. Different researchers have come up with different sets of them. I have sort of my own set. I’ll walk through those and describe what they are, but what these are, are basically building blocks of what a good system looks like, how a good system behaves.
Most people when they think about software, they think about functional requirements, but the ilities are about what we call non-functional requirements. They’re not something a business user might think of, but they’re something that’s important for the system that’s sort of a quality attribute.
The first one of these I’ll cover is reliability. A reliable system will take all of your input. It’ll do the right things with it. It’ll store it in the right ways, and it will be available when you need it.
A second attribute is efficiency. It’s often been said that you can build anything you want, but the cost and the time it takes to build it are going to be free variables at that point. Anything that we build for our users and our leaders has to be efficient. It has to be efficient in how many machines that we use and how much time it takes to do things and how much it costs to build it.
The third attribute I’m going to talk about is modifiability, which is how easy is it to configure or modify the system. If you do everything in hard code, as they say, it’s not going to be very modifiable. And as systems age organically, they tend to lose their modifiability. In modern architecture, we do a lot of things to decouple components from each other. We use microservices, cloud infrastructure, and so on to break things apart so that they’re more easy to modify while in small bits without changing the whole stupid thing.
Another attribute is testability and how easy it is to test the system. And in fact, with the modern development methodologies, we typically want to write a test harness before we even start writing any other code. We want to be able to test that what we’ve written is correct. And that is hard to do. That is not a trivial thing to do. When we get expert developers who can write test harnesses that are effective and have good code coverage, then we tend to want to pay them a lot of money so they don’t go away.
Another attribute is usability, and I’m sure we’ve all seen this a hundred times. You go to a new website and you just go, “My God. I cannot figure out how to get this darn thing to work.” And that all comes back to usability. You want a system that is intuitive, where the menu is where I expect it to be. The dropdowns are where they expect them to be. When you click save, that it actually saves what you did, right?
And in fact, there’s a lot of things that we do in modern systems that are not very usable. It takes a lot of work to make things nice. And we actually have things called user experience architects. So that’s sort of a sliver of what system architects might do. Another critical factor in usability though, has to do with the Americans with Disabilities Act or ADA. We have to write things, webpages and applications and so on, such that people with disabilities or different abilities can use them without running into glitches.
This is especially important in the banking industry and the finance industry, but also in the education industry, right? You don’t want to block people out from developing themselves and caring about their finances and being blocked because they can’t use your website because it’s not designed for people that are colorblind, or people that have any vision impairment, or people that can’t hear, or people that don’t have hands to use a mouse, or they don’t have motor control. There’s all of these sorts of disabilities that we really, really strive to make it so our websites are usable for these folks.
There’s Web Content Accessibility Guidelines, WCAG, and it’s in the second version now. People would call it WCAG 2.0. This is really critical for the industry and the systems architect to understand so that we can make websites that are usable by everybody that we possibly can get it usable for.
Dr. Bjorn Mercer: And that totally makes sense. And I can only imagine that as a systems architect, you have to think of literally everything from beginning to end. Besides, like we were talking before, with the soft skills and having to constantly collaborate. A few things really stood out to me what you said was I think the revisability maybe was it? Where I’m assuming back in the day, a lot of systems and programs and whatnot and just technology in general was very hard set. It was kind of built to not be upgraded or changed later.
Dr. David Rogers: If you think about it, in the early days, we had these things called green screens, right? Which are basically mainframe terminals and you had two colors. You had green and black. That was it. And there was no audio. There was no mouse. You just did everything via keyboard. It wasn’t very usable. It wasn’t very nice to use for anybody. And as we’ve gone forward now, we’ve added so many things to usability and we’re not done yet, right?
The world of VR is in gaming now, but that’s going to come into use in business too and education, where you may not be physically in a classroom, but you’re in a virtual reality classroom. You can see where the other students are. You can see the professor. You can hear things. You can chat with other people directly. This is one of the key things about being a systems architect is that you’re never done. You’re never done learning.
There’s always something new, some new technology or new capability that’s coming at you, and you want to integrate that into your systems and understand how to integrate that into your systems.
Dr. Bjorn Mercer: Now, was Y2K a lack of foresight for people to not update the year? Because I remember living through that and they literally were like, “Oh my God, the world is going to end. Nuclear power plants are going to come offline, and then everything’s going to happen.”
But I could see how, I guess, in the ’70s and ’80s when they were designing things, they’re like, “Okay, we’ll just design it,” and then they forgot about 1999 to 2000, I’m assuming. That must have been just an intense time to upgrade things that might not be very upgradable.
Dr. David Rogers: It’s true. But from a historical perspective, it actually made sense the way they designed things, because they did not have the amount of memory and throughput of data that we have now. Your typical fiber cable or ethernet cable at home nowadays is far, far more capable than an entire network was back in the 1960s. The machine you have, you carry around in your pocket, your smartphone is far, far more powerful than the first mainframe machine that I worked on in 1982.
You have to understand that they could have used four digit numbers, but it would have been very expensive, and it would have slowed them down. This is the easy thing to think about is you say, “Hey, that’s not for another 30 years. There’s no way anybody will be using this in 30 years.” Well, surprise. Not only were people using it 30 years later, we’re still using it 50 years later. We fix things as we can. And we have to understand, people weren’t silly or stupid back then. They were just operating within the technology that they had at the time.
Dr. Bjorn Mercer: And that totally makes sense. And I can imagine in 30 to 50 years from now, they’ll look back at what we did and be like, “Oh, well, they were doing what they could at the time, of course.” It’s hard to imagine what computers will be like in 30 to 50 years when, like you said, our cell phones are so much more powerful than the most powerful computers decades ago. That increase in computing power is really quite amazing.
Dr. David Rogers: It is. And you think about what you carry around in your pocket now, it’s a compass, it’s a GPS, it’s a video camera, it’s a regular camera. You can talk to anybody in the world at the press of a button basically. It’s a game store. It’s a library. It’s a movie store. You carry it around in your pocket now, and it would have been completely impossible just 20 years ago. Technology is changing fast. Now, I got my computer science degree back in the 1980s, so you can imagine in the last 40 years how much things have changed.
But a systems architecture, no matter how gray they become or bald or whatever, you must, must keep up with modern technology since they’re coming at you. When you sign up to be a systems architect, you’re basically signing up to be a lifelong learner as well.
Dr. Bjorn Mercer: And that’s wonderful. I’m glad you connected that to lifelong learning, because for some people in some fields, I’ll say they’re stuck hundreds of years ago. It’s always important in any career to look to what’s going on today, if anything, to understand culture. I mean, one thing with technology, technology is so integral to the culture which we all live today. This leads us to our last question is, what is the career path for a systems architect?
Dr. David Rogers: As I said before, it’s very hard to find courses in systems architecture. And I guess one of the reasons for that is that it’s a bit of a rare field. Getting a graduate that comes out with a degree in systems architecture is almost impossible. You sort of have to start your career in technology and then sort of grow into it, right?
Part of that is becoming such an expert in the areas where you have depth that you’re recognized as an expert, and then you use that, at least I did, as a lever to say, “Hey, I’d really like to go into architecture. I’d really like to go into architecture,” and be very communicative about that and look for opportunities.
Eventually someone is going to go, “Hey, Sarah wants to be an architect. Let’s give her a shot,” and you might become a tech advisor or something first. And typically, you’re going to start out is what they call an application architect. An application architect has responsibility for just one or two or a small handful of systems or applications, and you basically become a technical advisor and designer for that small set of applications.
As you go along, again, you look for opportunities. For me, our company did not have a standard for laptop machines, for developer laptop machines. A developer laptop machine is quite a bit different than what you might have in your home or a gaming system or an educational system. It’s got some real processing power. It probably has many, many cores nowadays, and it has special interface cards for communicating and so on, but we didn’t have a spec for that. I jumped in and I said, “Hey, I’ll write the spec for that.” I was surprised because they said, “Hey, that’d be great. Why don’t you do that?”
I wrote the spec, and suddenly, 50,000 people were using machines that I’d written the spec for. And that impacted all of our users for those systems, all of our customers. So that’s 20 million people. You start having a bigger and bigger impact. And as your career goes, you can move into enterprise architecture. You can advance from an application architect to a systems architect, a full systems architect like me, or senior systems architect.
There are also things called group systems architects or managing systems architects that might have responsibility for hundreds and hundreds of applications and large staffs of architects working for them.
You can look at the salary progressions, I guess, in Glassdoor or something like that, but I would warn you that every industry is very different about how they pay their systems architects. The very best industries to be in are healthcare industry and the finance industry.
When you start out as maybe fresh out of school with a master’s degree, you might expect a salary in the finance industry of $75,000 to $85,000 a year, which is great straight out of school I think. I still think that’s pretty good salary.
As your career progresses and you jump companies a couple of times, which is typically required to get fair compensation, it’s not unusual for a total compensation for architects in the finance industry to make between $200,000 and $250,000 a year, which is not quite NFL money, but it still allows you to have a very nice lifestyle and take care of your family and do the things that you want to do. It’s a great career, but it’s very technology-focused and you need to keep growing every day.
Dr. Bjorn Mercer: What’s interesting to me about systems architecture is just, as you said, it’s not like you can go to school and then take classes. And then, poof, you’re one. It takes almost like an apprenticeship. It takes a while to get your own skills, to master your own skills and what you do, and then essentially to apprentice, like you said, where you’re in charge of like an app or something smaller. It’s really fascinating. The income potential is great, but I could see how that income potential is years down the road as you gain those skills and, more importantly, you network.
Just like you said, you have to become known as somebody and as a systems architect to then get those jobs. As we finish our conversation, any recommendations for people who are interested in systems architecture?
Dr. David Rogers: Yeah. My recommendation is work very hard while you’re in school and develop good skills. You want to be a humble person as an architect, because, again, you’re going to make mistakes. But also the more skills you have, the more confident you get and you need that confidence as well. It’s a strange sort of combination of humility and confidence that is going to let you have a great career.
It’s hard to say this, but if you want to be a systems architect, you’re going to have to develop your mind as much as you possibly can. You want to keep on working on it and eventually hopefully you’ll add enough layers of knowledge so that you’ll be a very helpful to everybody around you.
The original reason I went into architecture from being a software developer was that I saw how bad the architecture was and how badly it affected developers, and I wanted to try to do a better job at that. I wanted to make our developer’s lives better. So have a goal in mind when you go into it.
Dr. Bjorn Mercer: And I like that you said to develop your mind, constantly do that. It reminds me of philosophy, where the idea of philosophy is to expand your mind, to constantly learn, and not get stuck on just one idea or a train of thought, or to not let your actions or worldview be guided by just one concept, but to constantly question everything. In some fields or just people, they find a job. They get a job. They’re very happy. And then they’re like, “Okay, I’m good. I’m going to stop learning.” Part of joy in life is to be a lifetime learner. And if you can have that and constantly develop your skills, I can see how systems architecture can be very, very beneficial.
I also really love that you talked about humility. There’s nothing more important than learning. Humility is a cornerstone for what I would describe as successful and content people. I can be a little dramatic there, because the world can be extremely complicated and unforgiving.
Especially it seems with something like systems architecture, by being humble and constantly working to improve, that will instantly help you because, well, we don’t know everything. We need to collaborate. We need everybody to help us out.
Dr. David Rogers: Multiple minds are better than one.
Dr. Bjorn Mercer: Exactly. Excellent. Well, absolutely wonderful conversation, David. Again, great final words. It was a joy. Thank you.
Dr. David Rogers: Thank you, Bjorn., It was a lot of fun and I look forward to doing it again soon.
Dr. Bjorn Mercer: Excellent. And today we’re speaking with Dr. David Rogers about systems architecture, and, of course, my name is Dr. Bjorn Mercer.