|
Well interesting Question, i personally can't differ the both but by architects do the design on an abstract basis to get a view of the whole system, sw-devolepers mostly focus on the single modules.
But as far as i got into that, by designing, programming, developing my very own project management application for my company i think i did everything on both sides.
That means i made graphs of how modules work together, how single modules are set up and what they can do, programmed it, reworked it, tested it.
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
HobbyProggy wrote: That means i made graphs of how modules work together...
I believe what you are really saying here is that you communicated how the system would work at an abstract level -- and then you developed the specific pieces to build the actual system.
This is the interesting thing about an SA that really should come out: The SA must be able to communicate what s/he is going to do, how s/he going to do it and why s/he is going to do it so every role within the company understands at the time. Then the SA must be able to write the code that does what s/he said it would do.
|
|
|
|
|
Exactly
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
I do it all from end-to-end.
My title is Systems Architect, but that's because when I was hired I was put in a group of actual Systems Architects -- who architect the network, storage, and computing infrastructure for the enterprise.
|
|
|
|
|
PIEBALDconsult wrote: hired I was put in a group of actual Systems Architects
I've seen that happen numerous times also.
And I also understand that since you honestly do it all end-to-end that you really are a true Architect.
It's an interesting thing to attempt to measure and explain.
|
|
|
|
|
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[^]
|
|
|
|