aspose file tools*
The moose likes Design and the fly likes Software Architecture for Developers: Architect or engineer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Engineering » Design
Bookmark "Software Architecture for Developers: Architect or engineer" Watch "Software Architecture for Developers: Architect or engineer" New topic
Author

Software Architecture for Developers: Architect or engineer

elsadek Abdel
Greenhorn

Joined: Jan 05, 2014
Posts: 3
Hi,
I'm a software engineer and have been working on various projects for 8 years. Yet, as an engineer I worked on database and web application design and development and have integrated couple of Java based solutions and frameworks in different projects.
The question is : do all these achievements grant me the title of architect ?
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
    
    6
That's a great question, and one of the reasons I wrote the book is because there's so much confusion over what the term "software architect" means. Without understanding your specific roles on software projects, I honestly can't answer your question. But perhaps this will help; it's an article that I wrote for InfoQ called "Are you a software architect?" -> http://www.infoq.com/articles/brown-are-you-a-software-architect
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 5264
    
    9

elsadek Ab wrote:The question is : do all these achievements grant me the title of architect ?


I remember one guy who used to come to our Aikido dojo. He had been coming to practice for a couple of months and was doing quite well, I thought. After practice one night, he asked me "How long before I can get a black belt?" I answered that it was pretty much up to sensei to gauge your readiness for a test and promotion. Still, he kept pressing "Well, usually how long does it take?" I must have been in a bit of a bad mood that night because I got somewhat impatient and annoyed with his line of questioning. I answered something like, "Well, I can give you my black belt right now, if you want it, but will that really make you a black belt?" My point, which I probably could have gotten across with more tact since it was one of the last times I saw him at the dojo, was that the rank/title should not be your goal. Your goal should be to learn and grow as a practitioner. With enough practice, skill, and experience, you will find your self doing architecture (or doing Aikido) regardless of your actual title/rank.

One quote from the #sa4d book that I really like: "Architecture is a role, not a rank." I encourage you to reflect on the meaning of that statement.
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 5264
    
    9

I wrote:I answered something like, "Well, I can give you my black belt right now, if you want it, but will that really make you a black belt?" My point, which I probably could have gotten across with more tact...

Thinking back some more on that night, I do remember trying to explain that getting awarded a black belt rank really only means that you're ready to learn the martial art. Everything you've done leading up to getting awarded the black belt has been simply a preparation, laying the foundation for a lifetime of continuous and ongoing learning. I do regret starting off with the snarky remark though since that probably closed his mind to the message that I was trying to get through to him.
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
    
    6
We live in a very title-driven world unfortunately ... I've seen people striving for promotions to be a "software architect" because they wanted the title, recognition and salary increase that accompanied the promotion. Whether they were ready for, and wanted to undertake, the *role* was a different story though.
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
    
    6
Good point about continuous learning, Junilu ... that's the one thing you can certainly count on, especially given the fast-moving world of technology!
elsadek Abdel
Greenhorn

Joined: Jan 05, 2014
Posts: 3
Indeed, as a software engineer I've already found myself doing architecture in some projects, I really don't care about the title as long as I'm involved in architecture works and always looking forward to doing more abstraction and less development.
Jayesh A Lalwani
Bartender

Joined: Jan 17, 2008
Posts: 2447
    
  28

Simon Brown wrote:We live in a very title-driven world unfortunately ... I've seen people striving for promotions to be a "software architect" because they wanted the title, recognition and salary increase that accompanied the promotion. Whether they were ready for, and wanted to undertake, the *role* was a different story though.


I've been on the flip side of this. Employers are very willing to give you a larger title when you ask you for growth. It's kind of more common in the US. If you are a really good software developer, who is not interested in people management, you will find a lot of people who will want to hire you. However, the question is how does your hiring manager justify giving you a six figure salary to the rest of the company. If you are a developer, someone will say "Why didn't you hire someone offshore? Offshore developers cost 5 times less" They can't call you a manager because you aren't managing anyone. So, you are an "architect". They get to tell the business "I am hiring an architect, and we don't find good architects offshore". Plus side is you are happy with the fancy shmancy title

In my last job, I eventually became the "chief architect". I'm like dude!! stop giving me bullshit titles. I "demoted" myself to technical architect
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
    
    6
Jayesh A Lalwani wrote:In my last job, I eventually became the "chief architect". I'm like dude!! stop giving me bullshit titles. I "demoted" myself to technical architect


Brilliant!
Saritha Penumudi
Ranch Hand

Joined: Aug 18, 2003
Posts: 147
Quick question on technology selection from article http://www.infoq.com/articles/brown-are-you-a-software-architect. As there are more than one possible solution/problem for every problem, How would you go
about picking one technology/framework over other. It can get overwhelming to try out (do POC) on each framework to see if it fits the solution.

Are there better tools or process that makes this selection easier?
Simon Brown
sharp shooter, and author
Ranch Hand

Joined: May 10, 2000
Posts: 1913
    
    6
Saritha Penumudi wrote:Quick question on technology selection from article http://www.infoq.com/articles/brown-are-you-a-software-architect. As there are more than one possible solution/problem for every problem, How would you go
about picking one technology/framework over other. It can get overwhelming to try out (do POC) on each framework to see if it fits the solution.

Are there better tools or process that makes this selection easier?


There's no single piece of advice I can give you here, but here are some of the things that you should consider:

- Avoid jumping on technology choices simply because they're cool or in fashion. I'm not saying that you shouldn't innovate though, but you do need to focus on delivering value rather than enhancing your CV/resume.
- Look at the team you have around you - if you have a team of traditional Java developers (e.g. building Struts-style webapps), then I'd be wary trying to jump ship to something like node.js. It's a huge change.
- A collaborative architecture process can help identify potential technologies and highlight personal preferences.
- If you see any risk with the technology choice, ensure that you isolate that technology as much as possible from your business code, enabling you to change that technology choice in the future if necessary.

I typically tend to be slightly more conservative with my technology choices, but that's just a personal preference. As an example, I'm about to start building a new webapp ... I'm going to be using Java, Spring MVC and a JavaScript framework (e.g. something like Angular or knockout) on Apache Tomcat because I know that it will get the job done.

Hope that helps!
 
Don't get me started about those stupid light bulbs.
 
subject: Software Architecture for Developers: Architect or engineer