Link Details

Link 125703 thumbnail
User 276360 avatar

By aslamkhn
via architects.dzone.com
Published: Oct 14 2008 / 10:57

In just about any online coding discussion board you could choose to follow, this theme recurs. I've seen it first hand myself multiple times too, so I knew the ribbing I took from my buddy was justified. You see someone start out as a front line developer, spending most of their days chained to their desk with their favorite IDE and you get to know the likable human being they are. Then the hard core coding diminishes a bit and, as a lead developer, that person spends a lot more time on design. Maybe someone in this role even begins to do things like analyze defect rates or track the schedule for this single project he spends all his time on. But something happens when advancement beyond that occurs. When the responsibility escalates to little or no coding and being in charge of the long term direction of multiple projects simultaneously, when that person spends more time in meetings than anything else and gets this "architect" title, the bridges start to get burned and the hate begins to flow. Before long, that guy you used to enjoy going on lunchtime burrito runs with asserts himself in ways you never thought possible and seems to be leading your project team, as well as the others he's been given jurisdiction, over an irrational cliff.
  • 65
  • 6
  • 5762
  • 16

Comments

Add your comment
User 218789 avatar

eelmore replied ago:

0 votes Vote down Vote up Reply

Good stuff!

User 51609 avatar

ak43706 replied ago:

-1 votes Vote down Vote up Reply

Again, I really hope that whoever adds a negative vote can also add a critical comment to help us see "the light".

Thanks,
AK

User 254335 avatar

heartsjava replied ago:

0 votes Vote down Vote up Reply

Again, I really hope that whoever adds a positive vote can also tell us why they agree with this article to help us see "the light".

User 233812 avatar

CannedTuna replied ago:

0 votes Vote down Vote up Reply

I detect an air of bitterness in this article.

It's going to be popular with the devs, but frankly if you have worked in this role you will know that you often are way too busy to code.. thats why you delegate. You often have to justify why the direction was taken in a project, and "because I like that" doesn't cut it.

User 295632 avatar

Pete Johnson replied ago:

0 votes Vote down Vote up Reply

@CannedTuna - Thanks for your willingness to provide negative feedback as not everybody does but it usually leads to a good conversation. "an air of bitterness"? While that wasn't my intent, that's a fair critique.

Earlier in my career when I got treated in ways I described in the article, you bet I got bitter over it. That's why I think it's important to try to be better than that because I didn't like being on the receiving end of that kind of treatment. While I certainly don't always succeed myself, I find that the effort is appreciated and better relationships are the result.

You are absolutely right, there are times when you have to delegate. Among my points, though, is that you can delegate without blindness and without being condescending. How you deliver the message can be more important than the message itself. I'm glad you agree with the "because I'm the architect" line.

Thanks again for your honest assessment.

---Pete

User 205573 avatar

Bryan Young replied ago:

0 votes Vote down Vote up Reply

Personally I resent the entire concept of Architects. Software development is a craft, not an engineering trade. It can't be pre-architected and later implemented. If a developer has enough experience to lead, then they should be leading by example. Maybe the brightest and the best should spend their time mentoring others, spreading their knowledge and skill rather than trying to create policy to dictate it.

That said, if your corporate environment insists on the concept of Architects, this list provides a reasonable set of guidelines for living within that role.

User 254335 avatar

heartsjava replied ago:

0 votes Vote down Vote up Reply

Lets see, we have computer science degrees, computer engineering degrees, but for the life of me I can't find a computer arts and crafts degree anywhere. Please enlighten me as to where I can obtain a degree in computer crafts.

User 205573 avatar

Bryan Young replied ago:

0 votes Vote down Vote up Reply

wow... you put way too much stock in our education institutions. My CIS degree came with a BS in Business. Do you really think Business is a science?

I didn't think I was saying anything controversial when I said programming is a craft. Just pick up The Pragmatic Programmer or any book on Agile methodologies. Anyone who thinks they can plan software like you can a building, hand it off to the developers and leave is just kidding themselves. Once you get to a higher level of abstraction than electrons flowing across the circuit board you have left the realm of science. There are no 'laws' when writing software. Just heuristics.

User 95751 avatar

pt93903 replied ago:

0 votes Vote down Vote up Reply

Great article. Good to see the popularity / upvotes also.

User 254335 avatar

heartsjava replied ago:

0 votes Vote down Vote up Reply

While I can agree to a point, most of this article is common workplace etiquette for any boss/worker bee relationship. However, as I am sure you can understand nerdguru, when a project fails for whatever, it is normally the architect that is hung out to dry. For that reason, sometimes the answer has to be "because I said so". Additionally, in terms of resources, architects are usually paid quite a bit more and I am sure that the architects boss would rather he focuses on the task he was hired for as opposed to "getting his hands dirty" when he could have used a less experienced developer to handle it. But, thank you for airing your ideas, and starting a practical discussion.

User 346208 avatar

litty.joseph replied ago:

0 votes Vote down Vote up Reply

Good article. Architects can make or break a project. This position of middle management is critical to ensure open communication channel among all stake holders. Getting a a plug and play manager assigned to a project which he knows nothing about is a nightmare. Manager/architect should understand the underlying technology, people very well at grass-root level. But then again it's not practical for a person to be knowledgeable both in technology and people matters. It may not be financially viable to have one architect and another people manager. Often these two roles are combined, and there starts problems... I acknowledge, ofcourse, there are a few superstars who are conversant in technology, people and management.
,

User 28423 avatar

jp63529 replied ago:

0 votes Vote down Vote up Reply

Hate is a strong word. Disappointed would be a better term in my view. And like managers, once in a while you have hit the jackpot and you can work with a person who simply lives up to or even exceeds their job description. If that happens you should consider yourself lucky and learn from that person. In the majority of cases unfortunately the above story holds.

Good architects (/managers for that manner) are scarce, but to generalize and hate them all is going a bit too far in my opinion.

User 168196 avatar

kellyfj replied ago:

0 votes Vote down Vote up Reply

Hate is too strong a word

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Reactive Programming with Akka
Written by: Ryan Knight
Featured Refcardz: Top Refcardz:
  1. Design Patterns
  2. OO JS
  3. Cont. Delivery
  4. Java Performance
  5. HTML5 Mobile
  1. Java Performance
  2. Node.js
  3. Debugging JavaScript
  4. Java
  5. Java Concurrency