Are you a Software Architect?

Four years ago I wrote a piece entitled, “What makes a Software Engineer ‘Senior’?” After 15 years in the business, it was still a point of curiosity for me, for a number of reasons. I achieved the official title of “Senior Software Engineer” for the first time at age 24, 1 year into my first official programming job, having no formal training or education in the field, a totally self-taught hobbyist programmer. It was certainly a title I hadn’t earned and didn’t really deserve. It was more a matter of protocol.

Nowadays my nagging question is aimed at a higher target.

What defines a “Software Architect”?

For many of us, this is the Holy Grail of titles. Most companies don’t have long career paths for software engineers that don’t involve getting sucked into management. So “Software Architect” is often the highest title that can be obtained short of something that fits under the management umbrella. And not just a title, the role itself generally affords the holder a higher level of respect, both within the development organization and from other non-technical segments of the larger organization. It affords the holder the prized ability to only partake in the fun, most enjoyable parts of development, designing systems and coding the most interesting components, leaving the mundane aspects of the application, including the dreaded last 10 percent, to engineers of lesser standing. And finally, and perhaps most importantly, it places the holder in the highest salary range available to technical staff.

Because of the supposed significance of this title, and the relatively few such positions available across the industry, very few software engineers ever attain it. At the most formal company I ever worked for, the highest technical title required traveling cross-country to corporate headquarters to present in front of an esteemed group of reviewers, including the company founders, in hopes of being bestowed with the title and the commensurate benefits that accompanied it.

But unlike my question about the definition of a “Senior Software Engineer”, for this question I think I have a much more definitive answer:

We’re all software architects.

“Senior” is something of an abstract term. It has no concrete meaning. In a startup full of fresh college graduates, the 5 year veteran is most certainly “senior”. But in a 100 year old company with a 20 year old development organization, with engineers averaging 12 years of seniority and over 40 years of age, the 5 year “veteran”, 7 years removed from college and 29 years old, is likely not considered “senior” by anyone else in the organization.

But “architect” is much more of a concrete term. A software architect designs and builds software architectures.

Anyone who has built an application from scratch that does much more than “Hello World”, especially an application that requires user input, and especially an application written without the benefit of an application framework, has designed and implemented a software architecture.

Anyone who has written a game without the use of a canned game-building framework has designed and built a software architecture.

Anyone who has developed an event-driven application has designed and built a software architecture.

It is impossible to build a complete application that deals with data, entered by a user or retrieved from a remote source, without instituting an architecture to deal with the acquisition and processing of that data.

Of course, not all architectures are equal. And thus, not all architects are equal. To put it in terms of the more traditional type of “architect”, one might be able to design and build a dog house or a shed, but that doesn’t mean you can design and build a mansion.

So we’re all architects. The real question is, how good of an architect are you? THAT, is a subjective assessment much more open to individual interpretation.

So don’t ever be shy about considering yourself, and referring to yourself, as a software architect. You ARE one, most assuredly. If you find yourself feeling uneasy about the label, it is likely because you know you’re not as good of a software architect as you could, or should be.

Katie Egervari

Software Architect and Technology Leader

8y

Software architecture is an art form as much as a science, and the title should really only be given to those who can see the big picture so clearly, and have a very clear vision for the simplest and most elegant design to solve the problem at hand. These are the developers that design systems that are effortless and a joy to maintain, extend, are performant and easy to scale if the need should arise. That is what the title should mean. Of course, it often doesn't :)

Like
Reply
JC Hammond

Nonprofit Business Administration & Communications; Writer/Journalist/Social Media Content Creator

9y

What I find frightening is that by the definition of "anyone who has developed an event driven application" is a software architect because that makes me a software architect, something I do not deserve or, unlike your 24-year-old self, want. I do think it is important for anyone who works in the tech field to have some exposure, to and preferably first hand knowledge of, good software architecture principles whether they want to be a software architect or not. For me, it has more to do with a common language and context which is important in any field. Job titles are funny things and only getting more amusing as more of the workforce becomes more mobile. The lifetime employer isn't a reality for most of us anymore and even the same job titles carry different responsibilities at different organizations (and sometimes in different divisions/departments of the same organizations). It should be about skills, not titles.

Like
Reply
Ivan Pierre

Minefield Engineer at kilroySoft. Clojure addict in a non-addicted country. Clojure Users and ClojureScript Users groups Manager. Business Apathetic... ;)

9y

35 years of learning in the IT field, I still consider myself as a junior. Perhaps will I be a senior when I'll say I've learned the whole stuff. Yes ! senior, time for retirement in a hurry :D

Like
Reply

To view or add a comment, sign in

Explore topics