News for hackers. Stuff that matters.
Re:Software architects should be involved in earliest system... by arkadiytehgraet on Saturday August 17, 2019 @02:50PM (#20725592)
Throughout my rather limited career (~7 years, 4 different companies) I am yet to encounter an actually beneficial (to the project) architect. All they do is talk too much and draw some useless diagrams and do a random task that other team members cannot be bothered with. All meaningful decisions and choices are made by the developers themselves, with little to no account for architect's mumblings.

As yet another data point, the website cannot handle Saturday HN front page traffic. How can "Principal Systems Engineer" meaningfully talk about such complex matters of system design and architecture, when they fail at much easier task of handling web page availability with a slightly non-trivial load?

EDIT: A few people mentioned that it would be incorrect to use `HN hug of death` as an example of author incompetence, since it was just some random university or institute. I was about to agree, but then I checked the website, which proudly stated: "The SEI: The Leader in Software Engineering and Cybersecurity". From my perspective, if you claim a thing like this, you definitely should be able to handle a minor spike in traffic.

Now, it also might be that author has nothing to do with the organization and hence not responsible for the website performance. However, this is also not true: "<AUTHOR> is a senior member of the technical staff and Principal Systems Engineer at the SEI...", as stated on their bio page. To me this either shows little ownership or little understanding of underlying resources the author relies on, which serves as another proxy of their actual architecture skills.

Re:Software architects should be involved in earliest system... by notyourwork on Saturday August 17, 2019 @03:28PM (#20725809)
7 years and 4 different companies is why your perspective is skewed. You’ve never seen a system mature at that job change rate. Therefore you have never really had to deal with decisions that impact long term which is where architecture matters.
Re:Software architects should be involved in earliest system... by apaprocki on Saturday August 17, 2019 @04:33PM (#20726166)
Everyone is their own worst critic. I frequently am editing production code I wrote 15+ years ago. I also have to deal with the unintended consequences or side effects from my code that were not thought out at the time. It certainly is hard to teach this kind of thing and, more importantly, find a way to get people who haven’t experienced it to find the value in doing so.
Re:Software architects should be involved in earliest system... by chmhsm on Saturday August 17, 2019 @06:44PM (#20726911)
Pretty accurate. And if you ever get asked "why do we have to do that useless thing you said?" and you reply using expressions like "futureproofing" or "anticipation", eyes might get rolled at you and you might even get management to disagree for the sake of tight deadlines or yagni.
Re:Software architects should be involved in earliest system... by robocat on Saturday August 17, 2019 @04:59PM (#20726334)
Firstly, he said he has never worked with an effective architect: you have changed his meaning completely to imply he doesn't think architecture matters.

Secondly, you can't know he hasn't worked on mature systems (he didn't say). Most people learn by working with a variety of systems that are at different stages (greenfield to twilight), and more importantly with different quality (poor versus good architecture/systems/teams).

A long period working on one good system may help a few people learn, but from what I have seen, it often doesn't (I have worked with crap programmers on mature systems).

Hopefully GP answers for themselves.

[dead]
Re:Software architects should be involved in earliest system... by dang on Sunday August 18, 2019 @03:18AM (#20728742)
Would you please stop posting flamebait and taking threads in trollish directions? You've been doing it a lot, and we ban that sort of account.

https://news.ycombinator.com/newsguidelines.html

Re:Software architects should be involved in earliest system... by mixmastamyk on Saturday August 17, 2019 @04:36PM (#20726182)
"Good software takes ten years, get used to it":

https://www.joelonsoftware.com/2001/07/21/good-software-take...

Sure a CRUD MVP can be cranked out in six months or less, but that's not what we're talking about.

Re:Software architects should be involved in earliest system... by cwyers on Saturday August 17, 2019 @05:17PM (#20726457)
I don't actually think that aged very well. Joel's company has been renamed after a product that's two years old, and his mature product has been fading in the market as newer alternatives like Jira and Asana and (ironically) Trello take over its market share.
Re:Software architects should be involved in earliest system... by mixmastamyk on Saturday August 17, 2019 @05:25PM (#20726508)
Just because building mature software takes a long time, doesn't mean the market or a company can't move in another direction in the meantime.

Photoshop is an example of a product that still maintains its market fit after decades, and why folks complain about alternatives.

Re:Software architects should be involved in earliest system... by cwyers on Saturday August 17, 2019 @07:00PM (#20726987)
Building mature software can take a long time, I agree. It depends a lot on the complexity (an operating system is obviously more complex than a solitaire game).

The part I disagree with is the idea that you get to done. Photoshop is a great example. It's over 30 years old. Would Photoshop still hold its market position if it reached maturity 20 years ago and said "we're done?" Ignore UI changes and support for new OSes for a second. Would Photoshop be the market leader without Camera RAW support? High Dynamic Range? GPU acceleration?

Just look at Photoshop's version history:

http://en.wikipedia.org/wiki/Adobe_Photoshop_version_history

You don't have to agree with every change they've made, but there's a lot of serious features that got released after Year 10 that are need-to-have features. I don't think Photoshop 5.5 was the last Photoshop professionals needed.

Meanwhile, Affinity Photo is only four years old, and while if you had to choose between them Photoshop still has a lot of things Affinity doesn't, I'd pick it over Photoshop 5.5 in a heartbeat.

Re:Software architects should be involved in earliest system... by mixmastamyk on Sunday August 18, 2019 @12:57AM (#20728325)
He’s saying it takes at least ten years, not that it stops there.
Re:Software architects should be involved in earliest system... by cwyers on Sunday August 18, 2019 @01:36AM (#20728441)
> But that’s just the first ten years. After that, nobody can think of a single feature that they really need. Is there anything you need that Excel 2000 or Windows 2000 doesn’t already do? With all due respect to my friends on the Office team, I can’t help but feel that there hasn’t been a useful new feature in Office since about 1995. Many of the so-called “features” added since then, like the reviled ex-paperclip and auto-document-mangling, are just annoyances and O’Reilly is doing a nice business selling books telling you how to turn them off.

> So, it takes a long time to write a good program, but when it’s done, it’s done. Oh sure, you can crank out a new version every year or two, trying to get the upgrade revenues, but eventually people will ask: “why fix what ain’t broken?”

Re:Software architects should be involved in earliest system... by mixmastamyk on Sunday August 18, 2019 @05:34PM (#20733067)
You can always find an example of something in software. He’s also being facetious. A pedantic reading is not very helpful here.
[dead]
Re:Software architects should be involved in earliest system... by mixmastamyk on Saturday August 17, 2019 @04:42PM (#20726219)
Impressive arrogance + ignorance, congrats.
Re:Software architects should be involved in earliest system... by trilila on Saturday August 17, 2019 @04:47PM (#20726251)
Seriously, who works on a piece of software for 10+ years? Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added. Except for SOA or mSOA where parts can be replaced at any time.
Re:Software architects should be involved in earliest system... by rumanator on Saturday August 17, 2019 @06:27PM (#20726826)
> Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added.

Just because you've been working on shit show projects that doesn't mean all projects are mismanaged like that.

Re:Software architects should be involved in earliest system... by mixmastamyk on Saturday August 17, 2019 @05:16PM (#20726452)
Please put in a bit of effort. Off the top of my head, Postgres, Office, Qt. In yesterday's Blender thread they discussed it and Maya, Autocad, 3DS Max. Web? Jquery, Drupal, Wordpress.

Billions of in-house apps, for companies > ten years old.

The link above details several more, read it.

P.S. Gnaritas, you're dead. Tried vouching, didn't work.

Re:Software architects should be involved in earliest system... by crimsonalucard on Sunday August 18, 2019 @04:04PM (#20732484)
Linux and windows.
Re:Software architects should be involved in earliest system... by haggy on Saturday August 17, 2019 @05:00PM (#20726344)
Re:Software architects should be involved in earliest system... by bcrosby95 on Saturday August 17, 2019 @10:58PM (#20727949)
> obscure, low adoption language

Plenty of companies aren't attracted to the new shiny.

Re:Software architects should be involved in earliest system... by gnaritas on Saturday August 17, 2019 @05:30PM (#20726548)
> Usually within 2-3 years one has to throw away most of the code as it was written in an obscure, low adoption language, or it is just so difficult to maintain that new features can't be added.

So you've never worked in good code, that's all. Most of the world runs on software evolved over greater than 10 years. Everything you said is wrong, because you've been surfing trendy crap that businesses mostly ignore. Good architects don't use immature languages that might not be around in 10 years, they're smarter than that.

Re:Software architects should be involved in earliest system... by mixmastamyk on Thursday August 22, 2019 @12:24PM (#20769737)
gnaritas, you're "dead." Looks like it started on the "Why do you host offensive content?" thread.
Re:Software architects should be involved in earliest system... by cjblomqvist on Saturday August 17, 2019 @04:56PM (#20726309)
I've come in to an "agile" (whatever that means in practice) project one year into it's life as a project manager (on the customer side), forcing it in to production after prioritizing all critical things (taking an additional year). It was an e-commerce website built on a standard platform.

Btw. The supplier was one of the leading and most hip e-commerce (consulting) companies in my country.

I've seen and been in involved with others too by all kinds of companies. They are everywhere.

Re:Software architects should be involved in earliest system... by closeparen on Saturday August 17, 2019 @05:49PM (#20726630)
Business requirements evolve. Even if you ship a working and currently-satisfactory product quickly, you don't know whether an architecture is good or not until you see how it copes with new requirements 3, 5, 10 years from inception.

People changing jobs/teams faster than that may simply never experience a feedback cycle on the real, long-term quality of their work.

Re:Software architects should be involved in earliest system... by HereBeBeasties on Saturday August 17, 2019 @05:47PM (#20726618)
Nearly all the software you actually use. Do you think things like Vault, Consul, Kubernetes, Apache, Nginx, NodeJS, NPM, React, VueJS, etc. etc. etc. were all "mature" one year in? Many of those are actually extremely simple and limited in functionality compared to actual "real" enterprise apps. What an amazingly naïve comment.
Re:Software architects should be involved in earliest system... by notyourwork on Saturday August 17, 2019 @04:47PM (#20726250)
I’m not sure what methodology has to do with my point. Launching a system isn’t a big deal, evolving a system is harder to do, finally evolving an enterprise (system of systems) is measured in years. You don’t make architectural decisions over night and aligning multiple independent systems and services is a lot harder than your ignorant comment is aware of.
Re:Software architects should be involved in earliest system... by trilila on Saturday August 17, 2019 @04:54PM (#20726297)
Yes, but the idea is that software changes as customer needs change. If not, then that is an out of date product, and by the time it would have become "mature" it would be out of fashion anyway. Good software is software that changes often, yet it maintains quality. Unlike in waterfall where it probably takes 2 years to release it, and by then it is already old. For "enterprise" software such as oracle or ibm products, that would not be a surprise, but for highly adaptable products, 2 months is the maximum something would not change.
Re:Software architects should be involved in earliest system... by cc81 on Saturday August 17, 2019 @05:12PM (#20726426)
In this case the article is talking about pretty expansive hardware projects, think GPS or a drone fleet and that software needs to be involved earlier with requirements and design instead of an afterthought.

That is quite different than the CRUD web application that most people are working with.

Re:Software architects should be involved in earliest system... by vlovich123 on Saturday August 17, 2019 @05:58PM (#20726680)
Even in "non expensive" (relative) HW projects. I've been doing mobile/embedded for a long time. Many experts, SW architects, HW architects are frequently consulted early & frequently throughout the process as no one can possibly have a complete picture. It's just impossible to do it any other way and ship things on time & meeting the quality bar.
Re:Software architects should be involved in earliest system... by trilila on Saturday August 17, 2019 @05:17PM (#20726456)
Good point. I am coming from the web app point of view. I assumed the comment section was a bit more generic. Also i should have clarified what context i am referring to.
Re:Software architects should be involved in earliest system... by notyourwork on Saturday August 17, 2019 @08:43PM (#20727434)
>but for highly adaptable products, 2 months is the maximum something would not change.

This is what differentiates as a startup from a real company.

Re:Software architects should be involved in earliest system... by tachyonbeam on Saturday August 17, 2019 @03:05PM (#20725689)
> How can "Principal Systems Engineer" meaningfully talk about such complex matters of system design and architecture, when they fail at much easier task of handling web page availability with a slightly non-trivial load?

1. Are you sure that the person writing the blog post is the person in charge of webhosting?

2. I have pet projects running on some small virtual private servers. I have no idea if they could handle the load from HN. Does it make me a worse software engineer that I can't justify paying more for a beefier dedicated server right now?

PS: does someone have an estimate of how much traffic (hits per minute/hour) the HN front page can bring?

Re:Software architects should be involved in earliest system... by avip on Saturday August 17, 2019 @04:47PM (#20726253)
This guy knows https://thehftguy.com/2017/09/26/hitting-hacker-news-front-p...

(he got 20K/day, which for all intent equals zero in my experience)

Re:Software architects should be involved in earliest system... by trilila on Saturday August 17, 2019 @04:31PM (#20726148)
Idk if traffic per minute is relevant. Depends a lot on what sits behind hn to figure out how many servers are needed.
Re:Software architects should be involved in earliest system... by anonytrary on Saturday August 17, 2019 @03:09PM (#20725721)
> As yet another data point, the website cannot handle Saturday HN front page traffic. How can "Principal Systems Engineer" meaningfully talk about such complex matters of system design and architecture, when they fail at much easier task of handling web page availability with a slightly non-trivial load?

You do understand that this is cmu.edu, and the blog post is probably written by a CS prof who has nothing to do with CMU's basic IT operations.

Re:Software architects should be involved in earliest system... by arkadiytehgraet on Saturday August 17, 2019 @03:33PM (#20725834)
You do understand that this is "The SEI: The Leader in Software Engineering and Cybersecurity", and the blog post is written by the SEI tech staff?

If our "Software engineering leaders" cannot handle simple tasks, what does it say about our profession?

Re:Software architects should be involved in earliest system... by anonytrary on Saturday August 17, 2019 @03:55PM (#20725957)
> If our "Software engineering leaders" cannot handle simple tasks, what does it say about our profession?

It says that they have more important problems to be working on than managing their university's web-servers, which a CS undergrad could do.

Re:Software architects should be involved in earliest system... by pojzon on Saturday August 17, 2019 @04:17PM (#20726071)
What it says about the managers and architects if they cannot lead the CS devs to do what they were supposed to do ?

I find it hilarious.

Re:Software architects should be involved in earliest system... by FakeComments on Saturday August 17, 2019 @04:10PM (#20726037)
But working on “more important” problems, particularly abstract ones, while the basics fail is precisely the complaint about architects:

They’re so busy with their “more important” issues, that the whole thing fails in practice.

If they truly had organizational wisdom we could utilize, why don’t they deploy it themselves, to keep their website online during small spikes in traffic?

If their work can’t even be applied to their own organization successfully, why should we believe it will be successful elsewhere?

Re:Software architects should be involved in earliest system... by cc81 on Saturday August 17, 2019 @05:09PM (#20726406)
How is that even relevant though? She is commenting on that software should be involved earlier in huge military projects that have previously been dominated by hardware and you are nitpicking that the university web server cannot handle the traffic?
Re:Software architects should be involved in earliest system... by FakeComments on Saturday August 17, 2019 @05:56PM (#20726670)
Yes — their engineering development principles can’t be (or haven’t been) used to successfully design and deploy a well understood technology like a website that can handle small spikes in traffic; why should we believe they have useful advice for more difficult projects?

“Physician, heal thyself.”

Re:Software architects should be involved in earliest system... by anonytrary on Sunday August 18, 2019 @03:06AM (#20728707)
> Yes — their engineering development principles can’t be (or haven’t been) used to successfully design and deploy a well understood technology like a website that can handle small spikes in traffic; why should we believe they have useful advice for more difficult projects?

This is such a weak argument. Where did you hear that their principles were not being applied in real life? Why do you automatically assume the university's website is built on their principles? This entire discussion is trivial.

Re:Software architects should be involved in earliest system... by twblalock on Saturday August 17, 2019 @03:48PM (#20725923)
Do you really think the engineering leaders are the ones who maintain the web servers?
Re:Software architects should be involved in earliest system... by pojzon on Saturday August 17, 2019 @04:20PM (#20726091)
The point is: "If the leaders cannot lead the people under to do what seems like a trivial thing, then mby they should not be called leaders at all?"
Re:Software architects should be involved in earliest system... by twblalock on Sunday August 18, 2019 @03:02AM (#20728694)
What makes you think the webmasters at a large university are "under" the CS professors? They probably never met each other and work in completely different departments.
Re:Software architects should be involved in earliest system... by heydenberk on Saturday August 17, 2019 @02:59PM (#20725653)
Even within the same organization, software architecture can be a radically different practice from person to person. There are some like those you mention: they're aloof, they don't engage deeply with the business requirements and their deliverables range from useless to actively harmful. They set incorrect expectations with the stakeholders — often systematically underestimating the complexity of components they deem less important, like user interfaces, and they provide a rigid framework for the developers that ends up being implemented with more by-exception than by-the-rules.

A _good_ software architect is almost the exact opposite. She's a minesweeper, finding obstacles that would have caused re-work and scope change. She untangles the business requirements so that expectations can be clearly set and communicated. She does research on existing approaches to the problem, becomes acquainted with the relevant open source work and thereby serves as a check against "not invented here" syndrome. If this some of this ends up being best delivered in a document or a diagram, so be it, but the point is to enable the developers, not a masturbatory exercise in self-indulgence.

Re:Software architects should be involved in earliest system... by Nullabillity on Saturday August 17, 2019 @03:07PM (#20725705)
The positive example sounds like.. a good engineer.
Re:Software architects should be involved in earliest system... by ebiester on Saturday August 17, 2019 @04:08PM (#20726029)
Right. So, architecture is a role a very senior engineer holds with a specialized set of skills.

Who is responsible for understanding the interconnections of a system when there are over 100 engineers? That's the architect.

Re:Software architects should be involved in earliest system... by perlgeek on Saturday August 17, 2019 @02:54PM (#20725623)
> As yet another data point, the website cannot handle Saturday HN front page traffic. How can "Principal Systems Engineer" meaningfully talk about such complex matters of system design and architecture, when they fail at much easier task of handling web page availability with a slightly non-trivial load?

C'mon, this is a university's website, and the author of the original piece is just a user of that website's CMS, not its architect.

Re:Software architects should be involved in earliest system... by jcims on Saturday August 17, 2019 @03:22PM (#20725785)
Many folks would likely say they've had similar experience with software/system architects. IMHO their primary role is to act as tradewinds to gently nudge the organization into a cohesive direction within their domain of expertise. So while an engineering team may not (and probably should not) accept the details of a recommendation by an architect, the likelihood is that 50 teams operating n collaboration with small team of architects are likely to encounter less friction with interoperability and tooling than 50 teams operating independently.
Re:Software architects should be involved in earliest system... by PopeDotNinja on Saturday August 17, 2019 @03:40PM (#20725867)
My challenge with software architects is that the one's I've worked with aren't strong communicators. I've yet to find an architect has both the time and inclination to break things down for the devs in manner that makes sense. That might reflect my lack of experience on building systems large enough at a company that a architecture communicator would find attractive, and no judgements are intended. I'm just saying I have yet to work an architect that could "break it down for me".
Re:Software architects should be involved in earliest system... by ivanhoe on Saturday August 17, 2019 @08:56PM (#20727492)
> All meaningful decisions and choices are made by the developers themselves

Depends on a type of project and many other factors. If you're say building a business app for a client delegating architecture decisions to individual devs on "as-needed" bases means either that all members of team need to be equally capable, have an excellent understanding of client's business and very clear and uniform vision of bigger picture where project is going - or more commonly that you'll end up with a terrible, suboptimal mess of different approaches and interpretations of requirements. Also you usually don't want to pay 10 expensive devs to study the client's business and specifications for days or weeks, when you can have just one do it and propose the solutions to others. So you need a person in charge, and you need that person to know how to do it good, because not everyone, even senior devs, is equally capable of tracking all the moving parts and envisioning the optimal solution. It's a job for someone who's good at it, and you can call them architect or tech lead or whatever, title doesn't matter, but letting them be focused on global picture instead of doing little isolated tasks with everyone else will save you a lot of headache.

However, I totally agree with you that often people hired to do that are not really good at it, just like a lot of managers are not very good in managing projects (and many devs are not very good in programming I guess). The problem there is not with the role itself, but HR and the organization.

Re:Software architects should be involved in earliest system... by rumanator on Saturday August 17, 2019 @06:25PM (#20726814)
> All meaningful decisions and choices are made by the developers themselves, with little to no account for architect's mumblings.

You're describing a problem caused by developers, who for some reason ignore the architecture that they are supposed to adhere to.

Re:Software architects should be involved in earliest system... by userbinator on Saturday August 17, 2019 @03:06PM (#20725697)
Unfortunately, the only type of architects I've worked with have been "architecture astronauts", and they've only created excessive complexity in their designs.