|
PIEBALDconsult wrote:
I do it all from end-to-end. |
Yes, this is my 2nd reply to this.
As this conversation has moved along I see that what companies really want is "someone who can do it all". That has been my experience in the industry too. They attempt to assign roles but then you basically have to know everything -- fortunately I do.
|
|
|
|
|
Architects design systems that they think just takes bricklayers (programmers) to build, whereas, in fact the programmers need to be structural engineers to build safe and robust systems from the architect's plans, as architects have little knowledge of how things actually work in the real world.
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
Chris Quinn wrote: Architects design systems that they think just takes bricklayers (programmers) to build, whereas, in fact the programmers need to be structural engineers to build safe and robust systems from the architect's plans, as architects have little knowledge of how things actually work in the real world.
I am hearing the subtle humor in this as I've experienced that exact same thing.
So much truth in that and that is the discussion I'm really talking about.
Great input. Thanks.
|
|
|
|
|
I disagree. Software architects need to be able to understand systems and how they work as a cohesive unit. We might not know the ins and outs of a particular subsystem, but we know the importance of that subsystem to the system as a whole. We then do our tricks with crystal balls and mirrors to display the system to non-software types (the ones with money) in a format they might understand. Without software architects, we wouldn't have the payroll systems that ensure we get paid. Where we stumble and fall is trying to anticipate the next development that meets the needs of the next government that comes to power. Every so often, we are left with part of a system that is incomplete due to limits on funding midway through the project. It's those incomplete systems that make us look bad.
The difficult may take time, the impossible a little longer.
|
|
|
|
|
Chris Quinn wrote: as architects have little knowledge of how things actually work in the real world.
Some of them.
Chris Quinn wrote: in fact the programmers need to be structural engineers to build safe and robust systems from the architect's plans
That of course is too generic.
- It ignores that doing that in any complex system is a significant challenge and one that cannot be achieved by any one individual.
- It ignores that to do that there are in fact implementation details that must be done which really have nothing to do with architecture unless the architect is going to a very low level. For example avoiding injection attacks.
- It ignores that the knowledge required to do this in a significant enterprise is probably beyond the capability of any single individual. For example locking down a web server and locking down a database server (and apps) are very different.
Chris Quinn wrote: Architects design systems
Architects can have other roles of course. For example insuring that customer requirements do not subvert long term corporate goals and that customer requests can be correctly munged to produce something that is cost effective to implement.
|
|
|
|
|
Simply put, an architect is expected to have both wide and deep knowledge that spans operating systems. An architect should be able to provide effective guidance for hard problems such as software security, scalability and reliability. Architects are also expected to be aware of technical directions being taken by vendors who provide software infrastructure and tools, such as MS, Google, Oracle, etc.
And of course, an architect should be an experienced developer.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: And of course, an architect should be an experienced developer.
I like the definition you provide and especially that you added that last part about the SA (Software Architect) being an experienced dev.
It's so important but we've all experienced someone who has Architect in their title but who is definitely missing the development experience. IT can be quite terrible.
I find the difficulty that many here are having explaining what an Architect does/is interesting bec. then how do you prove Architect abilities to a prospective employer.
Thanks for your great input.
|
|
|
|
|
newton.saber wrote: someone who has Architect in their title but who is definitely missing the development experience. IMHO, that makes no sense at all.
newton.saber wrote: how do you prove Architect abilities to a prospective employer. By describing detailed solutions you came up with to non-trivial problems such as security, scalability, integration, reliability, etc. If all you've done is written a lot of code but have never had to address these kinds of issues, you would be considered to be an experienced developer (which is good), but not an architect. At least that's how it works in my company.
You might find this[^] classic interesting.
/ravi
|
|
|
|
|
I agree with you. Someone who is an Arhitect but doesn't really have the development chops to back it up isn't an Architect at all.
Also, I've read that book, 97 Things Every Software Architect Should Know[^]
Not a bad read because it's from so many viewpoints.
|
|
|
|
|
newton.saber wrote: Someone who is an Arhitect but doesn't really have the development chops to back it up isn't an Architect at all.
I agree. Software architecture is highly technical, not just conceptual. Anyone with a CS background can work at the conceptual/design level, but it takes a high degree of technical knowledge to know how to do that in a way that will actually work as needed in the real world. Plus, programmers are not likely to listen to an "architect" who can't speak their language and understand what they are doing. I know I wouldn't.
It's like someone being semiconductor architect without ever having been an electrical engineer, something's fishy about that. A software architect without a programming background is someone I'd consider a glorified project manager, or a misplaced academic.
Part of the problem, I think, is that it's a prestigious title but rarely needed. Any experienced programmer can do basic architecture, it's part of the skill set, and it's all that's needed on most projects. It's really only the large, complex projects that require a specialist to come in and work on the architecture. And that's really how I think of it, architecture is a specialized programming job in the same way that being a DBA is a specialized IT job, someone you bring in when the needs are beyond what the programmers can/should do on their own. But everyone seems to want the title, whether a full-time architect is needed or not.
|
|
|
|
|
You can find the original free .PDF version of the book I mentioned in my previous post here[^].
/ravi
|
|
|
|
|
newton.saber wrote: how do you prove Architect abilities to a prospective employer. That's easy.. you show them that you already have the title someplace else. The implication is that, since you weren't born with the title, someone, somewhere thought you deserved it and christened you with it. Whoever that was, they trust them.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
patbob wrote: you show them that you already have the title someplace else
I'm hoping you just forgot the emoticon for laughter.
Those are the "Architects" many of us have worked for in the past.
I once asked a onsite Architect, "How long have you been doing this?"
He answered, "A little over 1 year."
"Oh, but how long have you been coding?"
"Just a year. I became an Architect when I learned C#," he said.
"What were you doing before that?"
"I was a accountant and knew the business."
He had the title though.
|
|
|
|
|
I work for a biotech company and we have the same thing going on here. We have chemists who have some C++ and C# experience who are "architects" because they know/understand the chemistry algorithms. They can't design code very well. It takes professional SW engineers to fix the bad code.
|
|
|
|
|
And so it goes...
Good luck to you.
|
|
|
|
|
newton.saber wrote: What value do you think a Software Architect really brings? Shorter development time.
newton.saber wrote: What skills do you expect from an Arthitect? Mostly knowledge on different software-architectures. I'd also expect him/her to be able to explain the SOLID principles.
newton.saber wrote: Can the value a Software Architect adds be put into words / definitively measured? No.
So, how do you recognize one? Well, that's a problem for the headhunters - and given the effort they put in it, I'd suggest "simply ask"
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: able to explain the SOLID principles
100% agree. At least that's a start at some kind of metric.
Great input. Thanks.
|
|
|
|
|
I don't think you need to be an architect to know that. Any developer worth his/her salt should be able to explain that.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: Any developer worth his/her salt should be able to explain that.
Agreed. However, it is amazing how few Architects even truly understand them. And by Architect I mean the ones with the titles who aren't Architects.
|
|
|
|
|
Ravi Bhavnani wrote: Any developer worth his/her salt should be able to I gave up on that a long time ago.
Smile a lot, don't argue
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hey,
these are 2 different positions and you need Architect only for huge system in enterprise domain.Usually you have Solution Architect, Domain Architect and Enterprise Architect, according to the complexity of the solution and the enviroment.
In small team or organitation sometime the Solution Architect is also a developer but you are in limit situation where may be you don't need a architect becuase you application is not too huge.
Cheers,
Antonio
|
|
|
|
|
What's the difference between said three titles, outside the difference in the title?
What does each have to contribute?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: What does each have to contribute?
Good question. I would like to hear more too.
Also, the proliferation of names/titles throughout the industry is also why it would be quite helpful if there was somewhere to go that defined these more clearly. But, alas, I understand the difficulty / impossibility of that and how companies would surely mess it all up.
|
|
|
|
|
Companies do not like to share such info.
It might benefit the competition, and it might hurt the reputation of the company if it proves to be "just a title".
So, they should just keep hiring architext and keep their fingers crossed
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: Companies do not like to share such info.
So true.
|
|
|
|