Theres no such ‘software architect’ job.
“There’s no such ‘software architect’ job,” begins a blog post by System Expert at Kapsch CarrierCom
AG Sergey Mikhanov. Under the inflammatory banner of ‘Why I Don’t
Believe in Software Architects’ Mikhanov says that too many people
chase after the position of software architect in an effort to play
a managerial role, without actually having to be a manager.
To him, software architecture is too often just UML modeling –
and there’s a fair bit of difference between working with models of
software, and getting your hands on actual software. Surely a
software architect, by definition, should be someone who gets their
hands on real-life software every now and again? Or at least write
some code? The way Mikhanov sees it, many software architects are
charged with “squeezing 3rd party code into a conceptual software
model.”
His vision of a software architect as a conduit through which
3rd party code flows, is perhaps an unfair one. Many architects
have additional responsibilities, including deciding which systems,
applications, software and hardware they should employ to meet
their targets. Often, they are charged with ensuring all the parts
of a large project come together as a coherent whole.
But, should a software architect be involved in code-writing? If
they aren’t aware of the sort of code their developers are
producing, can they know whether their project is still on-track?
Perhaps software architects should make a point of checking the
code being produced by their team, at regular intervals.
To Mikhanov’s mind, software architecture is not a job
description, it is a way of thinking; namely the ability to handle
large problems and take responsibility for alterations to a
significant amount of code. But this isn’t everyone’s definition of
a software architect…….
“Avoid advertised ’software architect’ positions,” he warns,
perhaps not unreasonably. Software architect is, after all, a vague
term, open to mis-representation by potential employers. Taking
care to ensure your personal interpretation of the term ‘software
architect’ matches that laid down in the job description, is sound
advice. This is particularly true, as a general IT managerial role
(cost analysis, project management, vendor management etc.) seems
to have a nasty habit of masquerading under the banner of ‘software
architect.’
Mikhanov proposes a code-writing position as the best way to get
into his own personal definition of a software architect role. To
his mind, if that company allows you to expand your influence wider
and wider, giving you more responsibility while keeping one foot in
the code-writing camp – then you can call yourself a software
architect.
0 Comments