A Software Architect is one of those management positions that’s about as difficult to define as it is to fill. While this position might resemble that of a lead software developer, the software architect is much more directly involved in the big picture of the program that’s ultimately being developed. They are the person that takes a statement like this: “We want to design an employee bench mark program that people in HR will love to use. It’s gotta be fast, sleek and, above all, user friendly,” and turn it into a product that ultimately meets these abstract specifications. They are the ones in charge of: planning the overall structure of the code that needs to get written, selecting the right technology to complete the software and evaluating the success of each stage of implementation.
The main difference between a Software Architect and other leadership roles in software development is kind of like the difference between the producer for a movie and the lead editor. While the lead editor ultimately puts all the pieces of the movie in the right order, it’s the producer that handles the logistics on every step of the process up to that point. It’s the architect’s job to take the requirements of whoever’s paying for the software being created and creating the framework for the rest of the development team to follow.
According to an article from Simon Brown (a software architect), one of the most critical success factors for a Software Architect is their ownership of the big picture. An architect never assumes that anything is going right. They test the success or failure of each step in the execution of their master plan, whether it’s the technology that they invested in for the development team or the initial, abstract requirements that the finished program is supposed to possess. They’re ultimately the ones accountable for delivering a product that is “fast” or “user-friendly”.
Other than creating the blue prints for the creation of a software, Software Architects also oversee the programmers that ultimately write the code to make it happen. It’s their job to make sure that everyone on the team is aware of both the big picture and how their individual efforts are contributing to that larger goal. Their leadership role even extends to coaching and developing individual team members. In order for a project to be as successful as it can be, it’s crucial for there to be a buy in from everyone involved, from the board of directors that orders the creation of the software to the coders that put it together. The Software Architect is the person who makes sure that everyone is pointed in the right direction and focused on turning the unified vision into a successful bit of software.
Now, this position hasn’t been around for long and the fact that it’s a specialized tech-management position makes it that much harder to fill. To find your own Software Architect, I’d say that your best option is passive candidate sourcing. Though it will probably take a lot of time and energy to recruit someone with enough experience and leadership panache to successfully fill this role, a Software Architect can be the glue that holds everything together on your company’s next big tech project.