DEV Community

Discussion on: As a software architect, what has your career path looked like?

Collapse
 
phlash profile image
Phil Ashby

After a degree in electronics I spent a lot of time in my early programming career challenging my technical ability, trying to do 'hard' things (and failing occasionally!), like writing Win95 VXDs, or IPX network emulation (don't ask). This taught me the value of asking for help from both colleagues and experts elsewhere (in my case Usenet, it was the 90s). Usenet taught me empathy and giving back too, once the flaming died down a bit!

At the time I was working for a large org, and didn't feel responsible for very much. That all changed when I moved into a start up and challenged my overconfident ego as the 'lead developer' of a commercial video gaming service with demanding users, no longer backed up by 1000 ops guys, I was on call! Now I would define the role as 'architect' but it wasn't a common term then. This taught me pragmatism, the value of home life (by not having one!), and exposed me to real business needs, mostly short term survival, but needs all the same.

The start up crashed and burned (not my fault I promise), and I joined a consultancy firm, taking on smallish project development under contract or staffing technical leadership roles in other organisations. This was another exposure to business and contract negotiations, I also saw a number of development methodologies come and go, and the birth of agile. My interest moved from purely technical to include teams and people, I started questioning why work happens in certain ways and if technology can help or hinder that, I developed a more questioning philosophy and became more comfortable with the grey areas.

Another career change saw me working as a security analyst / reverse engineer, an excellent way to see lots (millions of lines) of other people's code, take it apart and understand it, sometimes better than they ever did. I also had to work with a wide range of languages, operating systems and hardware. This broadened my technical ability a great deal, as did working with and being mentored and challenged by superb colleagues.

Most recently I've been working as a 'Technical Architect' (aka, not an Enterprise Architect :), my first role with an architect title, enjoying the wide-ranging challenges within a business that is growing up from medium to large, providing as much mentoring, communication and technical support as I can, while still learning about architectural thinking from good communicators such as Martin Fowler and Kelsey Hightower (to name but two) and attempting to put the saner stuff into practice, such as Evolutionary Architecture, Consumer Driven Contracts, etc.

Collapse
 
krantzinator profile image
Rae Krantz

hmm i have not yet considered the different types of architects (enterprise vs technical, etc). thanks for mentioning that.
how are you finding the transition from medium-to-large company so far? i've only ever worked with small-to-medium companies. mostly under 100 people, although there was that one that was in the 500-1000 range. do you manage a team in some capacity in your role? if not, what is your relationship to peers and people you report to or who you depend on for work?

Collapse
 
phlash profile image
Phil Ashby

Personally I would be careful with salami slicing the role of an architect, I mentioned Enterprise Architect in passing as it's typically the only non-technical use of the title, and sometimes derided as such (my apologies to any EAs reading!). Here's a nice take on what architecture looks like from Brian ONeill: brianoneill.blogspot.co.uk/2014/01...

The transition from medium (<100 technical staff in one building) to large (300+ globally) has growing pains, mostly around growing financial accountability still being managed using 100 year old structures, while we try to adopt more agile working processes, an excellent series of blog posts on this difficulty by Leon Tranter: extremeuncertainty.com/category/ma...

I don't line manage a team (I turned that role down, not my idea of fun!), however I do mentor anyone interested in areas where I am the local 'expert', including hopefully my own role so I can retire in the next few years! My relationship with other people across the business is pretty much how Brian describes it: "the role of 'architects' is to collect, cultivate and champion a common architectural approach". So I focus on communication, being directly involved in technical work (code review, security design, etc.), building my reputation and trust with teams who are then happy to share their experiences, good & bad. My colleagues & I can collect and consider these experiences (in working groups, guilds with all interested parties), before championing what we believe are the good things. Hopefully the groundwork pays off and teams will trust us, working for the common good of the business, and everybody gets their pension payments. Sometimes I think I'm engineering people more than technology :)