Self-Hosting GitHub is available under the name “GitHub Enterprise”, but there is nothing stopping a smaller company from getting an “Enterprise” license. At my job we are running self-hosted GitHub for less than 50 developers.
Self-Hosting GitHub is available under the name “GitHub Enterprise”, but there is nothing stopping a smaller company from getting an “Enterprise” license. At my job we are running self-hosted GitHub for less than 50 developers.
You could always argue that humor does not equal jokes I guess, but these were just my 2 cents
That was exactly my main point; but thanks for sharing your 2 cents anyway, they were still interesting.
I would argue that:
This is not actually a joke in the strict sense of the word. There is no punchline. The humor is entirely in the context.
Your friend does not understand any of this and is just repeating the “joke” because other people laughed about it at some point. It has nothing to do with the Windows operating system, so if that was part of his explanation he is probably just making shit up to cover his own ignorance.
Nowhere in that text does it say “managers are the real software architects”. What it does say is “what managers do affects software architecture”. Sure you can extrapolate that to delusions of grandeur, but if you take into account the explicit call for collaboration it is much more likely what was meant is more along the lines of “we can mess things up if we ignore the architecture, so let’s talk to the real software architects before making org decisions”.
About the comic: That one does have the line “management designs software architecture”, much closer to the negative interpretation; but that too can be interpreted in a more positive way as “… and we are not good at that, so let’s make sure to bring in the people who are good at it at important points”.
That is pretty much a given. Why else write about it at all?
I read it similar, but also kind of from the other side: If your organization is set up in a way that ignores the technical requirements of the product, your are going to have a bad time.
And yes, of course this is more often on the bad side than on the good side in practice. If everything was already fine most of the time, there would be no point in discussing this topic.
The original post advocates for a holistic, collaborative approach; management and technical experts should be working together to align technical and organizational structure. I fully agree with that view (and I’m not a manager).
There is more than enough “shit managers say” material out there, but this is not it.
Please don’t mix executables and data created by applications, even if the application happens to be a game. Those are supposed to be separate. That being said, “Documents” is obviously the wrong place for save game files.
it’s really useful to comment functions/methods, because otherwise you never know if something’s a bug or a non-obvious feature. Comments act as a parity check to the code, since they tell you what the dev who wrote the code wanted the code to do.
Unit tests should be the parity check for other code. Those don’t get outdated with the next refactoring where someone didn’t remember to also adjust all the comments.
Also, everone thinks they write good, clean and obvious code. Hardly anyone purpously writes bad, hacky code. Yet if you look at code you wrote a year ago, or code someone else on your team wrote, it’s full of non-obvious hacks. That means, people constantly misjudge the obviousnes of their code. Comments should be put on anything that could maybe be non-obvious.
Why would people be better at judging if something needs a comment than at judging if something needs a better name or refactoring? Asking people to skip that judgement step and comment everything just gives you a bunch of useless boilerplate comments. That trains everyone reading that codebase to ignore comments because they are almost always useless anyway.
putting documentation of the code anywhere else than in a comment (e.g. Confluence) is a total waste of time
At least this we can 100 % agree on. Documentation should be as close as possible to the code. (I just think most of the time that place is in the name of things, not in an actual comment.)
Please please please, do not always write comments. Try to write code that does not need comments whenever possible. Proper variable, class and method names go a long way. If you think a block of code needs a comment, turn it into a method and give it a proper name instead.
Comments should be a last resort for cases where making the code self explanatory is not possible, and those should be rare.
Optimal code is code that fulfills it’s purpose without observable issues.
If you try to make something faster without any prior complaints or measurements indicating that it being slow is an actual issue, you are not optimizing, you are just engaging in mental masturbation.
It is just another symptom of the system that makes affordable housing rare, not the root issue.