Live data from Hacker News

Why I don't believe in software architects

mikhanov.com

41–50 of 56 posts

Re: Why I don't believe in software architects

#41

Earlier quoted context omitted.

Though I agree that there's a lot of value in what more experienced people have to say and that people my age should seek out knowledge from you, there are a couple things that are also important to remember. Many of us "20-year-old whizzes" don't do what you describe at all. In fact, as a Systems programmer, it's not incredibly likely that you know 'better than me' what the implications of what you're doing are at a…

True, but is much more important for "20-year-old-whizzes" to learn than to senior people, at least if you want to accomplish more than those people. As a 1-year junior with crushed dreams by a proto-startup project and now working in a technology conservative environment I can say there is so much to learn in the first years (from bad or good examples, with or without mentorship) that everyone should review his atti…

I think that senior people and junior people should learn that they can learn from each other. Senior people were once junior know-it-alls who made stupid mistakes, and junior people can learn from that.

At the same time, senior people aren't always right, and it's always a good thing to have the fresh perspective that a more junior developer can bring.

Re: Why I don't believe in software architects

#42
post #16
post #9

Earlier quoted context omitted.

:) I think the biggest problem in the industry is that many of the "young people" (I'm still young, dammit!) don't really want to learn or be mentored. Seems like there's a slew of folks in the junior to mid-level developer arena who got into CS because it was going to make them a lot of money, not because they love to code. I love it when I'm working with people who love to tinker with new libraries and APIs, who ar…

I blame the myth that young hackers are somehow strangely more knowledgeable than their elders because of the putatively ever-changing nature of technology. I've always been suspicious of this self-serving narrative (in what other engineering field is this true?), but as I approach what passes for Old Fartness in this industry (30) now I know it's bullshit. All the twenty-year-old whizzes I know are experts at taking…

[deleted]

Re: Why I don't believe in software architects

#43
post #16

Earlier quoted context omitted.

I blame the myth that young hackers are somehow strangely more knowledgeable than their elders because of the putatively ever-changing nature of technology. I've always been suspicious of this self-serving narrative (in what other engineering field is this true?), but as I approach what passes for Old Fartness in this industry (30) now I know it's bullshit. All the twenty-year-old whizzes I know are experts at taking…

Though I agree that there's a lot of value in what more experienced people have to say and that people my age should seek out knowledge from you, there are a couple things that are also important to remember. Many of us "20-year-old whizzes" don't do what you describe at all. In fact, as a Systems programmer, it's not incredibly likely that you know 'better than me' what the implications of what you're doing are at a…

Ah, the Dunning-Kruger effect at its finest. :-)

Please ask yourself this: even if you do know 20-year-olds who have done impressive things, why would you think that such talented and/or hard-working people will not be able to achieve still more impressive things at 30, when they have roughly an order of magnitude more useful experience? What about at 40, when they have had time to see through several long-term projects?

Or look at it the other way around: do you really think none of the successful older developers today also contributed to volunteer projects during school, worked summer jobs, or tried a start-up straight out of college?

It is true that disruption of routine is sometimes important for the industry to make progress, but it says a lot that you chose the word "dominated". Our industry isn't "dominated" by disruption at all. On the contrary, it is dominated by people who make useful products, using untrendy but tried-and-tested tools and techniques, that get real work done.

Every now and then, something truly original or a genuinely creative application of an old idea comes along, and that can become a great success. But for every one of those, there are a lot of ideas that stink and go nowhere. And guess what? Many of those ideas come from the young people who are convinced they're on a winner, because they are too inexperienced to know better, where more experienced developers might have seen similar ideas fail before and know an idea was doomed before wasting any time on it. Conversely, despite your rather odd assertion that broader experience somehow implies being set in one's ways, IME those who have been around for a while are much better at spotting opportunities to fill useful niches or change the rules in a significant way, and are much better at making practical, pragmatic decisions to take advantage of those opportunities.

YMMV, but I'd bet a substantial chunk of money that in ten years' time, you'll be on my side of the argument. :-)

Re: Why I don't believe in software architects

#44
post #39

It seems to me that the biggest problem is not software architecture per se , it's when you have a software architect who thinks they are automatically senior to other members of the team. Software architects are (or at least, IMHO, should be) co-ordinators, not directors/dictators. Of course architects need to be technically strong, because they need to be working with the team leads responsible for each part of the…

Agree. Nothing is worse than an architect who's a closet manager.

I'll tell you what's worse: an architect that has no experience in your product field.

I'm currently in an embedded systems company where the chief architect came from a server-design group. So now everything we do looks like a server. It's awful on multiple levels.

Re: Why I don't believe in software architects

#45
post #8

The practice of architecture is inevitably entangled with one or more notational and representational systems. This is true if you are architecting ships, infrastructure, buildings, or software. Complaining about UML is like complaining about drafting, drafting notation standards, and CAD software.

It's more like there's only one drafting standard, and it was built by and for the Soviets in the 70s.

Re: Why I don't believe in software architects

#46
I have only found one Software Architect truly worthy of the title: Roy Fielding (http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm)

If you're doing anything Prescriptive, you're really doing design, for better or worse. Software Architecture is properly Descriptive -- it's an explanation of how a system works, and how to make your work fit its structure. It's not something you should ever be doing up front.

The GoF had a good idea to describe software in Alexanderian patterns, but they didn't really understand why and for whom his pattern system was designed, and then they fucked up the implementation in the extreme.

Re: Why I don't believe in software architects

#47

Earlier quoted context omitted.

Though I agree that there's a lot of value in what more experienced people have to say and that people my age should seek out knowledge from you, there are a couple things that are also important to remember. Many of us "20-year-old whizzes" don't do what you describe at all. In fact, as a Systems programmer, it's not incredibly likely that you know 'better than me' what the implications of what you're doing are at a…

Ah, the Dunning-Kruger effect at its finest. :-) Please ask yourself this: even if you do know 20-year-olds who have done impressive things, why would you think that such talented and/or hard-working people will not be able to achieve still more impressive things at 30, when they have roughly an order of magnitude more useful experience? What about at 40, when they have had time to see through several long-term proje…

I certainly am.

I was a fairly quick riser in my career. I started programming at 12, had a commercial game (value-ware CD) published at 17. Wrote a book at 21. I was a lead architect at 24, with a development team of around 30 folks at a fairly successful company. I was quite sure that I knew it all at that point.

I didn't. I just turned 30 and only 6 years later my level of knowledge and experience is far superior to what it was then. Not just in terms of pure programming knowledge, but also in terms of decision making. I've become far more practical and much more adept at translating requirements into something people can actually use.

30 year old me and 24 year old me wouldn't see eye-to-eye on a lot of things. After leaving that job I've become an entrepreneur. The sum of that experience makes me far more productive and the quality of what I make is simply better.

24 year old me could a learn a thing or two from 30 year old me. Just as I hope 30 year old me will need a good talking to by 40 year old me:)

Re: Why I don't believe in software architects

#48

Earlier quoted context omitted.

Though I agree that there's a lot of value in what more experienced people have to say and that people my age should seek out knowledge from you, there are a couple things that are also important to remember. Many of us "20-year-old whizzes" don't do what you describe at all. In fact, as a Systems programmer, it's not incredibly likely that you know 'better than me' what the implications of what you're doing are at a…

Ah, the Dunning-Kruger effect at its finest. :-) Please ask yourself this: even if you do know 20-year-olds who have done impressive things, why would you think that such talented and/or hard-working people will not be able to achieve still more impressive things at 30, when they have roughly an order of magnitude more useful experience? What about at 40, when they have had time to see through several long-term proje…

> Ah, the Dunning-Kruger effect at its finest. :-)

While I find it regrettable that the implication of this remark is that I'm some sort of idiot who doesn't have the faintest idea what he's talking about (making him think he does), I understand how you could see this as a presentation of it. I'm not basing my claims off the fact that some of the guys I've met "know everything," I'm basing my claims off the fact that many of the most experienced developers I know don't know shit in comparison.

Granted, it's not a fair comparison of 20-something to 40-somethings at all; I've met far more mediocre 20-something programmers than I've met 40-something programmers, and I'm at a place where fantastic 20-something programmers tend to aggregate.

That said, it's not fair at all for the claim to be made that 20-year-olds are dumbass Rails coders [1] who need to just shut up and listen, because many of us are comfortable operating in a large variety of languages and large projects and are EAGER to listen to worthwhile advice (I probably average a half a post a day? Maybe less? I assure you that I visit HN far more often than that).

All that said, many of the biggest home runs in the short history of our field have come from 20 year old kids who did their own thing.

[1] Which is not, in any way, to imply that Rails coders are dumbasses. It was just the implication of ggp that the 20 year old rails coders are.

Re: Why I don't believe in software architects

#49
post #32

Earlier quoted context omitted.

As someone who went through Real Architecture school, I find most software architects don't deserve the title. Architecture school is very hard, mentally and physically. The perk is the weird mystique that society gives us.

Hmmm, ignoring the school part, have you found some "software architects" worthy of the title? I know you say that implicitly, but I wanted to make sure and perhaps have you elaborate a bit on what distinguishes them.

I've only worked for one (software) firm which was large enough to have someone on staff who were responsible for "architecting", and I mostly thought they were idiots.

I think that if you are competent enough to build any part of your project, but can still understand the big picture and have some appreciation for elegance and beauty in a design, you've got the basic idea.

I think architects are also better trained at accurately sizing up time requirements and logistics, for an entire project, and at being aware of time and money and arbitrary client constraints.

And I think architects are trained a lot more in presenting their ideas to hostile audiences, which gives a lot of insight into taking and giving criticism, and finding the flaws in your projects and designs before they ever reach a client.

Re: Why I don't believe in software architects

#50

Earlier quoted context omitted.

As someone who went through Real Architecture school, I find most software architects don't deserve the title. Architecture school is very hard, mentally and physically. The perk is the weird mystique that society gives us.

As opposed to engineering school? Do you think the problems real software architects are ought solve are inferior to those whose real architects solve (if they really do it any better than the software ones)? If you answer no to the last one you should read the Chaos Report.

In technical terms, the problems in software are just as difficult as in buildings, but you don't have to deal with inspectors and building codes and aesthetics.

(Which is a big part of the reason I choose to work as a coder ;)

I am saying that a top notch architecture school is much more demanding than an equivalent engineering school, from my experience. I say that having lived with ME and CS roommates, at U of Michigan, while I was in school.

Post reply on HN