Guide

Beginner's Guide to Software Architecture

By Liz Eggleston
Last updated on December 28, 2021

The average graduate of a coding bootcamp is 5-7 years away from becoming a Software Architect – which means more responsibility, a wider breadth of experience, and higher salaries! So what exactly is a Software Architect and what kinds of questions can you ask yourself as a beginner if you want to advance your career towards architecture? Christian Nally, an Instructor at Lighthouse Labs, explains the real-world responsibilities of a Software Architect!

Meet Your Expert: Christian Nally  

  • Christian got his first degree in Engineering Physics and has been into tech as long as he can remember.
  • Christian is now an Instructor at Lighthouse Labs, but has worked in several educational contexts. For the record, Christian thinks that industry teaches people much better coding practices than academia does! 
  • As an instructor, Christian enjoys listening intently to students' questions and getting to the heart of industry best practices based on his own varied 20 year career. He says “without a doubt, Lighthouse Labs takes its obligations to the students very seriously. It's a thrill, and an honour, to be there for the transformation that takes place in our students.”

Software Architecture 101

A Software Architect is responsible for the high level "fit for purpose" vision for an entire software project, from the first inkling of an idea right through to future-proofing, planning for scalability and building for maintainability: all done within the available resources. There are almost always at least a dozen different ways to accomplish a goal, but a Software Architect is experienced enough to know which way will be most efficient and effective.

How does the Software Architect role fit into the larger career path of a bootcamp grad? Is this a more advanced or leadership role?

Yes. If you're a Software Architect, you have a lot more experience than the average developer. Since it's a Software Architect’s responsibility to pick the right technologies for the job, you'll need experience in multiple areas, and that typically requires years of varied experience. A Software Architect is someone that intermediate developers and senior developers alike can go to, and trust that they're getting advice according to industry best practices.

From Web Developer to Software Architect

What is the difference between a Developer and a Software Architect?

Software Architects almost always start out as very experienced Software Engineers or Web Developers.

The difference between a Software Engineer and a Software Architect is very similar to the difference between an Engineer and an Architect in the construction trades. The Architect is responsible for the higher level vision for the project, including the technical aspects of how that larger vision will come together.

Web Development, of course, focuses on the peculiarities of web systems. Students are often surprised just how many things can be going on behind the scenes with a single mouse click. Lighthouse students are taught that good developers make tricky things look easy. And the web is a place where truly astounding complexity can be made to seem very simple to the end user.

How do salaries differ between junior roles and Software Architect jobs?

According to PayScale, the average salary for a Web Developer is $60,328 and the average salary for a Software Architect is $126,618. Of course, this salary depends on experience level – Lighthouse Labs grads make an average of $50,564 as their FIRST salary straight out of bootcamp.

How does a bootcamp grad grow from Junior Developer to Software Architect?

A bootcamp itself is an intense experience with both breadth and depth. As a graduate of, for example, Lighthouse Labs, you're set up to begin the lifelong learning that's required of a Software Architect. My advice would be to really explore the depth of any stack you get a chance to work with, but also push it to its limits, benchmark it, and walk away with some heuristics of your own: 

  • How many simultaneous users can you support?
  • How fast can you retrieve 'needle in a haystack' data queries?
  • How many rows of data are you working with?
  • How many milliseconds do your most complex page loads require?

It will be the answers to those questions that inform your future decisions about which tech stacks to use, about what kind of team to assemble, etc. And those are the concerns you'll be dealing with as a Software Architect.

Software Architecture in the Real World

Let's say that a municipality needs to revamp their resident-facing services. Your municipality is growing, and at the same time, each of your users is becoming more savvy and demanding. That requires a plan and build that's going to satisfy your current and future customers for quite a few years. Every change you make has the potential to frustrate your most important users. In such a case, the user-facing aspects of your build might need to start from the design principle of 'least surprise'. But at the same time, behind the scenes, your system might need to leverage best of breed, modern, scalable systems. Putting all of that together is the kind of responsibility that requires a true Software Architect.

How to Become a Software Architect

Does the Lighthouse Labs curriculum cover any part of software architecture?

Software is a very broad area, and indeed the skills that Lighthouse Labs students graduate with are definitely applicable to far more than just web development. They emerge within striking distance of quite a few fields, including machine learning, modeling and simulation, data visualization and analysis, etc. For the right student, the skills are very transferable. For me, the student's final projects speak for themselves. The proof is in the pudding – it's remarkable what these students are able to accomplish by the time they've graduated.

Lighthouse Labs aims not to just enable "React Developers", or "Ruby Developers", or any role that’s particularly niche. Instead, grads emerge with several stacks that they can compare. They can see the similarities and differences between different approaches. That that is even possible within only 12 weeks of calendar time is a testimony to how hard these students work, but also to the breadth and depth of the curriculum, and the experience and diverse backgrounds of the teaching team.

How long does it take to become a Software Architect? 

To be clear, it takes time to become a Software Architect. Within one year, a bootcamp student would have time to do the hard work of graduating and starting out with their first job, and be well-placed to immerse themselves in a single stack and get the most out of that experience. But you wouldn’t become a Software Architect until you’ve had 5-7 years of work experience.

Lighthouse Labs students emerge with quite a lot of Javascript knowledge, including asynchronous, event-driven systems. Not all programming systems provide for that as part of their feature set, so this gives Lighthouse Labs students a leg up on learning some of the more complicated aspects of modern systems. When a Lighthouse Labs grad switches from one tech stack to another, they're in a good place to ask the right questions about the features and frustrations of their next system's approach. That sets them up well to take a Software Architect's approach to problem solving.

Find out more and read Lighthouse Labs reviews on Course Report. This article was produced by the Course Report team in partnership with Lighthouse Labs.

About The Author

Liz is the cofounder of Course Report, the most complete resource for students researching coding bootcamps. Her research has been cited in The New York Times, Wall Street Journal, TechCrunch, and more. She loves breakfast tacos and spending time getting to know bootcamp alumni and founders all over the world. Check out Liz & Course Report on Twitter, Quora, and YouTube!

Also on Course Report

Get our FREE Ultimate Guide to Paying for a Bootcamp

By submitting this form, you agree to receive email marketing from Course Report.

Get Matched in Minutes

Just tell us who you are and what you’re searching for, we’ll handle the rest.

Match Me