Are there any Software Architects here?
-
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
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
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.
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
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 :suss: If you can't read my code, try converting it here[^]
-
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"); }
-
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
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
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 :suss: 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.
-
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.
-
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
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
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
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
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.
-
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
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
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. :)
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
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
-
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
-
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.
-
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:
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. :D
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
In addition to all of the above, IMHO, there is an element of 'politics' that a software architect has to play - this gets termed differently in different countries; from what I know, this is called 'lobbying' in the US. Sometimes, he needs to get different parties/departments to agree on the proposed solution, and this is more often then not, a 'politics' game.
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
Big Question: Yes. That depends on the scale of the project. The larger the project, the more time will be spent communicating and coordinating and less time developing. The architect is the contact point for communication. They do not always have the answers, but they know who does. More details below. Code Project: It's a great place for developers all around. Yes there are architects here. I believe the longer you develop and constantly maintain a single project, the more you tend to develop architect-type skills. So there are plenty of architects. Interesting Question: Architects provide stability, predictable development schedules, and are critical toward developing and delivering the product the customer wants (not necessarily asked for, and your manager or company may be your customer). Details: -------- Recognize that this is a role in the SDLC. An organization or project may not be large enough to require a sole position for architect. However, it is still a function that must be provided to create software. A Software Architect is a technical role, responsible for the functional, structural and design integrity of a software system, this includes ensuring that the software remains viable into the future. Essentially, they are the steward of the code. They do not own it, they are simply responsible for it. The activities a Software Architect Performs: - Primary technical interface with the customer. - Primary technical interface with management. - The architect understands and communicates the technical challenges required to implement features to management. -- Management can then make informed decisions. - Coordinates the technical aspects of development, but does not actually direct development. -- Project managers manage the budget and schedule -- Team leads direct the work of developers at the level where the work is created.) - The architect does not decide the features and direction of the product. Marketing, business development and management decide that. - An effective software architect will be an accomplished software engineer. - They are a mentor - They will also still "live" in the code. -- While they might not be a core producer of code, they will still be able to jump in and contribute as necessary. -- Your ability to manage the technical aspects continue to diminish the further you are separated from the technical aspects. - Software is such an abstract product. It is an idea articulated into a format a computer can understand. -- Th
-
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 :-D
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
These questions could lead to long answers, but I'm going to keep it succinct:
newton.saber wrote:
So, if you are an Architect, what is it that you believe you do that a software developer doesn't do?
Yes I am, and I have always felt that a software architect ensures that the code remains flexible, maintainable, efficient, documented, and tested. To do that, he/she creates frameworks, guidelines, best practices, etc., to prevent the developer from doing stupid things.
newton.saber wrote:
I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think?
Architects are a rare breed, but they must actually also be code slingers -- as an architect, I can only test my architecture against actual implementation.
newton.saber wrote:
What value do you think a Software Architect really brings?
Consistency, reliability, the ability to see the bigger picture, plan for unforeseen changes, and is always looking for how to improve "the process", whatever that process is. It amazes me how few programmers, regardless of their years of experience, actually do that.
newton.saber wrote:
What skills do you expect from an Arthitect?
See the above. That's certainly what I expect of myself.
newton.saber wrote:
Can the value a Software Architect adds be put into words / definitively measured?
Absolutely. You should be able to see it in the quality of the documentation, the tests, and the ease in which programmers do their work. You should be able to see it in reduced bug reports, faster response to change requests / new features, and above all, a resilience in the application to accommodate changes / new features. If you hear "the program wasn't designed to do that" then the architect (if there was one) failed his job (I'm not talking making a satellite into an automated corn picker.) Oh, and as an architect, I still find companies that don't use source control. It's getting better now with Git, BitBucket, etc., -- an architect should be constantly vigilant regarding tools. So, have you ever used a state machine??? http://www.sho
-
...and I don't (necessarily) mean you have the title of Software Architect. I believe many people are Architects -- because of what they do -- but do not have the title. Also, (unfortunately) many people have the title, but aren't actually Architects. Big Question So, if you are an Architect, what is it that you believe you do that a software developer doesn't do? CodeProject : Developer Heavy, Architect Light? I'm asking that as a question, not trying to rile anyone up. I notice a lot of codeslingers around here, but curious if CodeProject also attracts Software Architects. What do you think? Interesting Question What value do you think a Software Architect really brings? What skills do you expect from an Arthitect? Can the value a Software Architect adds be put into words / definitively measured? Just curious about your thoughts.
They call me a software engineer. I design systems/applications, and code them. We have people on our teams that are "just" developers, who have no say in the final design of something, rather they implement our designs (coding); if that makes any sense. Usually, developers move on to become engineers. Now, with that said, the way technology is moving and evolving, there is less and less of a "line of difference" between the two. Most places just hire engineers, at various skill levels.
-
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.
newton.saber wrote:
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
Salary.com and places like that do an ok job. However, I do not think I have seen many very good definitions of a software architect, because everyone has a different opinion. Also, I worked at a company, where every developer on the server team had the title "architect" over their domain. There was one developer per domain, UI, database, network etc. Finally, I have noticed the trend lately that companies use the term "Architect" much less for software and are now using "Staff" or "Principle" Engineer. Unfortunately, at some companies "Staff" means low-level, while it's a prestigious position at others.
-
In addition to all of the above, IMHO, there is an element of 'politics' that a software architect has to play - this gets termed differently in different countries; from what I know, this is called 'lobbying' in the US. Sometimes, he needs to get different parties/departments to agree on the proposed solution, and this is more often then not, a 'politics' game.
Excellent point. Excellent communication and persuasion skills are required to be a successful architect as the scale and stakes of a project increase.