836
He revealed the secrets !
(jlai.lu)
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Wait till they find out what software 'architects' really do.
They do the same thing building architects do. They draw pretty pictures of the end product that may of may not be structurally sound, then rely on engineers to build it and make sure it doesn't collapse.
Wait, did you find out? Can you tell us?
Sorry, I don't have enough certifications to answer that question.
I always saw architects roles in modern development being the person trying to find synergies between different teams andcoordinateing them working with each other.
Like if some team makes a sick project for managing streams of data streams the architect should be promoting it for other teams to leverage.
That's one role, as a software architect I also often served as the sunk cost fallacy bad news delivery system. It's a good idea to keep some eyes from outside your team on your project just to do the occasional sensibility check.
There is also a large responsibility to make sure different teams are well coordinated and not building the system in directly opposing directions. It really fucking sucks to have your work, as a developer, invalidated by someone else's work suddenly without any warning.
A good software engineer is also an architect. You don't need dedicated architects if you have good developers.
But on the other hand there are much more questionable and unnecessary jobs like product managers or managers of managers.
I disagree with not needing dedicated architects at least once you reach a certain size. If there are 50 plus developers working on a dozen or more projects there's a large communication cost to stay on top of everything.
I tried to get a software architect to explain their job to me once, it was like a "lean startup", a libertarian, and a psychic had written an elevator pitch together.
The good ones: design and adjust software development processes, standards for cross-project functionality and reusability and in general try and improve at a high level the process of making, maintaining and improving software in a company.
The bad ones: junior/mid-level software design with a thick layer of bullshit on top to spin it as advanced stuff.
If you want to see bad software architecture, just look at most of Google's frameworks and libraries.