2023-01-18

Debating with other Software Engineers

Stackoverflow and the whole Stackexchange network is good for asking very narrowly-scoped questions that can receive objective and preferably authoritative answers that cite documentation or definitions. Any kind of question which is subject of opinion, or liable to elicit debate, is off-topic there. This means that stackoverflow is only good for asking strictly technical questions, and there is an upper limit on how valuable this can be. Sure it can be very helpful when you are trying to solve a specific technical problem, but in the grand scheme of things, it is irrelevant; from a philosophical point of view, it is trivial.

I have been looking for ways to discuss with other software engineers (preferably experts) issues that are related to software engineering but are in fact very much subject of opinion. These are the interesting questions. I do of course already have my own opinions, which tend to either deviate or be diametrically opposite from the prevailing industry trends, so it would be very useful to me to debate these issues with others to see what they have to say. Clearly, either I am wrong, or the entire industry is wrong; wouldn't it be nice if we could debate this and have it settled?

To this effect, I decided to give a few forums a try, to see if it is possible to have debates in any of them. As it turns out, there seem to be very few options available, and things are rather quiet in each one of them; most people seem to be doing nothing but consuming content generated by influencers instead of participating in discussions. In this post I am listing my findings so far. I will be amending it as I gather more information.

thecodingforums.com:
  • Threads: 472,788
  • Messages: 2,566,483
  • Members: 44,019
  • Disqualified because it only offers categories for specific languages, platforms, and technologies, it does not have a category for discussing software architecture or software engineering in general. These folks seem to be completely oblivious to the fact that for these things we already have stackoverflow.

forums.codeguru.com:

  • Threads: 531,210
  • Posts: 2,127,952 
  • Members: 374,149
  • Seems to be backed by a relatively large concern (TechnologyAdvice / developer.com)
  • Seems to be implemented using vBulletin, so its looks are severely outdated.
  • Does not support dark mode, and has several contrast problems when dark mode is forced with the darkreader extension.
  • Registration is quick, (though it would be shorter without annoying irrelevant questions,) and you are immediately registered. Their anti-spam mechanism is just a trivial arithmetic question spelled out in English. However, the first time I tried to post, (a post which included one link,) a message briefly appeared which said something about moderation, and it very annoyingly disappeared before I had a chance to read it. Then, I was back at the home page, while my text was nowhere to be found, as if I never wrote it. That's an awful first-time experience.
  • Describes me as "Junior Member", which I guess is okay, though "New Member" would be better.
  • My first post: https://forums.codeguru.com/showthread.php?566024-Debate-reactive-programming-with-me
  • Does not seem to allow editing a post.
  • Result of my post: not a single answer was posted for several days.

codeforum.org:

  • Threads: 3,637
  • Messages: 18,342
  • Members: 3,939
  • It is unclear who backs it.
  • Seems to be implemented using some XenForo®© platform, which looks good.
  • Supports dark mode, and as a matter of fact the page header seems to have been designed with dark mode in mind.
  • Registration is quick, but their anti-spam mechanism is the standard annoying image identification routine, and once you are done with it you are not immediately registered; instead, you have to wait for some human to approve your registration. (At least the message informing you about this stays put, so you can read it.) My account was approved within less than 24 hours.
  • Describes me as a "New Coder", which is insulting.
  • My first post: https://codeforum.org/threads/debate-reactive-programming-with-me.5991/
  • Allows the editing of posts, but does not seem to indicate anywhere that the post has been edited.
  • Its link insertion dialog is nonsensical, and does not work correctly. Links always appear as text instead of as web addresses, and the text seems to match the title of the linked page, but it is unclear how this works. It seems impossible to create a link which appears as an address and does not get replaced with some text.
  • Result of my post: it was deleted within a few hours, and before anyone had the chance to respond. I received a message saying that they decided that they will not allow debates "as it often brings users who do not accept opposing views, along with their often rude and unwelcomed behaviour." So, clearly, they do not understand that for agreeable discussions the world already has stackoverflow, so the world does not need them.

dreamincode.net:

  • Dead since 2021.

codeproject.com

  • Statistics are unavailable, but it has existed since 1999, and it has always been fairly well known, so it is very big. Some improvised calculations seem to indicate that it has some 15 million members and 3,718,733 threads.
  • It is unclear who it is backed by, but it smells very Microsoft.
  • Their entire web application including the forums seems to be home-grown using aspx. It is very clunky and also buggy. Its looks are severely outdated, and some of its aesthetic choices are bad even for the early nineties.
  • It does not support dark mode; when dark mode is forced using the darkreader extension, it is usable, but ugly.
  • I registered a long time ago, so I do not remember how the experience was back then, but when I try to modify my account information today, like change my avatar, it does not work due to bugs.
  • It has a "discussions" section, but the button for creating a new post is labelled "Ask a question", so these guys are clearly confused. Luckily, once you start editing the post, there is a radio button for indicating whether it is a question or something else like general, news, suggestion, etc.   
  • The first time I tried to create a post, (which included one link,) it gave me a message saying that my post has been flagged as potential spam and is awaiting moderation, which is insulting and unnecessarily technical. The post was approved within a few hours.
  • My first post: https://www.codeproject.com/Messages/5921375/Debate-reactive-programming-with-me
  • Allows editing of posts, but when I added a single character to the title, the post went back into the moderation queue for a couple of hours. These folks appear to have a severe problem with spammers.
  • Result of my post: several people posted answers, but each of them was a self-contained conclusive statement largely agreeing with me and therefore not constituting debate.

groups.google.com/g/archforum

  • Last post was in 2012.

developerfusion.com/t/architecture/forum

  • Last post was in 2012.
quora.com
  • Disqualified due to extremely annoying format: each question consists of a single headline and presented impersonally, so it could be generated by a bot; question-and-answer formula stifles debate; advertisements cannot be blocked by an ad-blocker; advertisements and irrelevant posts embedded in the flow of the page without sufficient visual clues to differentiate them from the relevant elements; and html specifically engineered to prevent the use of content filters to separate the wheat from the chaff.  A fast-food style forum.

reddit.com

  • Similar fast-food style forum as quora.com, also extremely annoying, due to a different set of equally serious reasons. (For example, their retarded, chaotic, non-hierarchical format is completely unsuitable for a website aiming to cover everything imaginable.) I had an extremely bad experience with them in the past, when I tried to post something which was suppressed without an explanation, so I do not intend to waste my time with it for a second time.

4 comments:

  1. Hi, Michael. I feel the pain :-) Finding such forums is generally not easy. For answerable questions the StackExchange network is a gem; StackOverflow for the technical details and the Software Engineering for more high-level stuff.

    But they both eschew open-ended discussions, which is what I find that you are seeking. One surprising newcomer might be DEV. For a while, I thought this was a curated site where one found low-quality articles on "This is how you do X in React", etc. It was only when I critiqued the quality of one such article that I found out that it is basically Medium for programmers: a self-publication platform with comments. So that answered the quality bit: it depends on the author.

    But recently, I have found that more senior software developers write here as well and some of these resulting discussions have been really, really good! One such example is the discussion that spiralled out of this innocuous looking piece called "Whatever happened to components being just a visual thing":
    https://dev.to/redbar0n/what-happened-to-components-being-just-a-visual-thing-22hc

    Super interesting tidbits in a day where frontend architecture talks usually are super shallow. Turns out what I have been missing is discussion of "app-centric" architectures vs the nowadays more common "component-centric" architecture (what we are mostly doing). Loads of great stuff, even though some of the stuff went over my head.

    Keywords from the discussion that spanned tens of comments, some spanning thousands of words:
    Steve Krug (of "Don't make me think"), Martin Fowler (of everything software design related), Pete Hunt (of the original React team), Pete Heard, reactive programming, MVC, MVVM, Robert C. Martin's, Trygve Reenskaug, Smalltalk, Active Record, template languages vs JS, Niladic Components, ...

    The discussion essentially touches everything one ever learned about software architecture and design mixed into a greater discussion on how frontends can, have and should be designed. Puh!

    If you start a discussion (essentially write a piece) that people find interesting, eventually interested parties will find it and write back (and might follow you for more).

    ReplyDelete
  2. P.S. Followed you here from your profile on SO after seeing a great answer given by you on inter-thread communication via events and message passing.

    ReplyDelete
  3. Thanks, Carl-Erik! I did give dev.to a try some time ago, but I did not continue with it because the content seemed very junior. But now that you reminded me of it, I will give it another try.

    ReplyDelete
  4. For reference, the answer that Carl-Erik was referring to was probably this one: Stack Overflow: How should I unit test multithreaded code? https://stackoverflow.com/a/74574386/773113

    ReplyDelete