Live data from Hacker News

Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

blog.pragmaticengineer.com

21–30 of 34 posts

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#21
If you are already an experienced architect/engineer, then you don't need to follow standard models and processes, similar to how an experienced woodworker doesn't need to use a tape measure, or how ancient people with centuries of experience built amazing wonders of the world without fancy diagrams.

But most companies do not have a lot of experienced architects building products. A lot of companies can barely keep a handle on their dev teams, and worry a lot more about regulation and herding cats than building a decent product, so their Architecture Teams are actually Cover-Your-Ass Teams. Dev teams often don't even know that other teams exist, much less have any way to circulate a single diagram to them all, or talk about what the hell it's even for.

If all you've ever worked in is a tech company in San Francisco/Seattle, let me tell you... It's ugly out here in the land of normal businesses.

So software architecture is really for the average people working in average companies who could use a hand figuring out how to design and implement their product. They have never even heard of C4 or ADR. But those simple models and processes would absolutely transform their work from barely-functioning balls of shit, into the gloriously robust design the author's company came up with. Nobody else is helping them figure out how to do it; best practice is what they've got to work with. If they even know about it.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#22
post #15

Folks commenting that this is obvious are overlooking the way that architecture and patterns are often explained to junior-level engineers -- especially new engineers who aren't working for a company with strong engineering cultures. When I started out, I thought the way to become a senior engineer was to increase the number of patterns I knew off the top of my head. It was by speaking with more senior folks that I l…

When I was in software engineering school, we had a tongue in cheek word for this: patternitis. Many undergrads who took the software architecture class ended up catching this strange disease that compelled them to write abstract singleton factory builders and other silly things. The cure is basically to write enough software to figure out where these patterns make things more understandable and where they detect fro…

Patternitis is part of a cluster of diseases for a greenhorn dev.

Abstractiosis - Adding layers of indirection which don't serve to make the code clear

DRYicron - Overeager deduplicating code (usually by adding hard coupling)

Fooflation - Avoiding descriptive names of methods/variables in favor of "result1, result2, goOn"

All fixed with a little TLC and experience :)

* ask your doctor if experience is right for you.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#24

Neither software architecture nor design matters. The only thing that matters is whether you deployed your code to production. Code in production that solves customers’ problems right here and right now beats any architecture and design.

Of course it matters. If your code is an unmaintainable mess it now costs a million to add a bunch of features instead of $10k. That matters to someone. Maybe not the customers though.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#25
post #17
post #10

Earlier quoted context omitted.

Enterprise Architecture is a very different discipline from software development (and even solution architecture), and are usually found in non-tech organizations (i.e. banks, insurance companies, etc). EA is focussed on evaluating the business processes and technical solutions that make up the operations of a large scale organization. They try to identify and remove redundancy (e.g. multiple billing systems) and ens…

Is this closer to System Analyst, or -- as it sounds -- even higher level, like strategic infrastructure acquisition?

Much higher level than a System Analyst. Enterprise Architects often work directly with the CIO/CTO to shape an organization’s long term technology strategy (i.e. 5+ year time horizons).

The idea being, they are supposed to be “architecting the enterprise”.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#26
post #4

Reading through and wondering for perspective, this caught me: >No IT architects or enterprise architects. True, neither Uber nor Skype/Microsoft have hands-off software architect positions. Engineers at higher levels, like staff engineers, are expected to still regularly code. That statement says that EA is not commonly coding. Is that true? I don't know that I've met many architects that aren't engineers by another…

Depends on the type of organization, and especially for titles like enterprise architect. Most people I know with enterprise architect titles don't code. They're mostly at non tech companies like banks, telcos etc. Even the standard software architects at many non tech companies don't code, or at least don't code much.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#27

Neither software architecture nor design matters. The only thing that matters is whether you deployed your code to production. Code in production that solves customers’ problems right here and right now beats any architecture and design.

what about the poor sap who has to fix the muck you JustShipIt'd. are you selling to the public? that's bad for the brand. are you selling to a corporate? if so, you WILL have service agreements.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#28

Folks commenting that this is obvious are overlooking the way that architecture and patterns are often explained to junior-level engineers -- especially new engineers who aren't working for a company with strong engineering cultures. When I started out, I thought the way to become a senior engineer was to increase the number of patterns I knew off the top of my head. It was by speaking with more senior folks that I l…

Everything seems to work that way. Pick up a martial art, auto racing, music, rock climbing, new language, whatever. At first most people focus on all the new concepts in the hopes it'll help them progress. It's only later they realize it was the mistakes they made along the way that led to real knowledge, not the technical stuff.

Re: Software Architecture Is Overrated, Clear and Simple Design Is Underrated (2019)

#29
post #10

Earlier quoted context omitted.

It's 100% true. My wife shared a house for a short period of time with an architect who was fairly new out of uni and did not know how to code, or have any real tech skills. At the same time I was working for large companies in digital transformation trying to teach them to let developers make decisions. It's common EA is about PowerPoint and talking to vendors with checklists, and doesn't require strong or sometimes…

Enterprise Architecture is a very different discipline from software development (and even solution architecture), and are usually found in non-tech organizations (i.e. banks, insurance companies, etc). EA is focussed on evaluating the business processes and technical solutions that make up the operations of a large scale organization. They try to identify and remove redundancy (e.g. multiple billing systems) and ens…

[deleted]
Post reply on HN