7 ms·
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 ta
by arkadiytehgraet 7y ago
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.
- perlgeek 7y ago> 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.
- heydenberk 7y agoEven 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.
- Nullabillity 7y agoThe positive example sounds like.. a good engineer.
- ebiester 7y agoRight. 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.
- tachyonbeam 7y ago> 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?
- trilila 7y agoIdk if traffic per minute is relevant. Depends a lot on what sits behind hn to figure out how many servers are needed.
- avip 7y agoThis guy knows https://thehftguy.com/2017/09/26/hitting-hacker-news-front-page-how-much-traffic-do-you-get/ https://thehftguy.com/2017/09/26/hitting-hacker-news-front-p... (he got 20K/day, which for all intent equals zero in my experience)
- userbinator 7y agoUnfortunately, the only type of architects I've worked with have been "architecture astronauts", and they've only created excessive complexity in their designs.
- anonytrary 7y ago> 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.
- arkadiytehgraet 7y agoYou 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?
- twblalock 7y agoDo you really think the engineering leaders are the ones who maintain the web servers?
- pojzon 7y agoThe 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?"
- twblalock 7y agoWhat 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.
- anonytrary 7y ago> 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.
- deleted 7y ago[deleted]
- jcims 7y agoMany 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.
- notyourwork 7y ago7 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.
- trilila 7y agoWhat kind of software takes almost two years or more to mature? Are you still using waterfall?
- mixmastamyk 7y ago"Good software takes ten years, get used to it": https://www.joelonsoftware.com/2001/07/21/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.
- trilila 7y agoBullshit. Good software is never mature, it evolves over time. A good software architect, or ideally any dev should be a good software architect, will make sure it stays on course to: little tech debt and doesn't become toxic.
- mixmastamyk 7y agoImpressive arrogance + ignorance, congrats.
- trilila 7y agoSeriously, 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.
- PopeDotNinja 7y agoMy 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".
- rumanator 7y ago> 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.
- ivanhoe 7y ago> 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.