Ask HN: Where does one search development advice these days?

89 points by fortnum ↗ HN
In the good old days (at least since online became a thing) I would have turned to the Usenet and would have got more or less meaningful responses within a couple of hours. When the Usenet started dwindling in relevance web forums took its place and eventually StackOverflow. But now it seems all these three places have become irrelevant

* The Usenet has become utterly irrelevant

* Equally web forums

* StackOverflow has archival value but for the rest it is a wide desert of 0-answer questions

* In my current case (an Android issue) even Google's own forum (https://groups.google.com/g/android-developers) appears to be only a honeypot to train their spam protection :)

So is there a place to turn to these days when someone is hitting a roadblock with a specific development issue or have they completely disappeared?

Thanks

111 comments

[ 5.3 ms ] story [ 195 ms ] thread
Related rant:

I really gave StackOverflow a try, and I have no intention of writing an answer ever again. I took 30 minutes to write a very detailed answer to a question, only to find out that the question has been deleted days later.

Looking at similar questions, there are 40k+ unanswered questions, mostly very low quality and from users with almost no "karma".

Why bother answering, when answers must be accepted by the poster and poster does not even know they should accept an answer in the end?

StackOverflow needs overhaul, but at its current size, we're better off starting something new.

I am guilty of this as well. I had deleted one of my question, although there's no answer in it yet, only one comment.
(comment deleted)
Perhaps even more painful is when you write the detailed answer, press submit, only to find that it’s been deleted as you were answering!
> Why bother answering? StackOverflow needs overhaul

Yet it's hard for me to find a single decent question that hasn't been answered any time I'm on StackOverflow looking to procrastinate by something work-adjacent.

It's clearly working and it's been working for years. In fact, it's even harder to get karma now. I don't know how I got to answer so many questions back when I used it 6 or so years ago because now any of those questions I answered would've been answered in minutes like they are now.

I think the key is to focus on fringe/niche questions. Of course this wont make you a lot of karma, since relatively few people search for fringe things. But at Internet scale, that can still be a considerable amount of people reached over time. And writing good written answers is usually good for ones learning as well.
Do not engage with people with near-zero reputation perhaps?

I known this sounds badly and I'm not for gatekeeping, but this based on real life. If someone does some effort to answer a few questions first before asking themselves, they're more likely to be serious. Otherwise it's like those people on GitHub who open a ticket in your free repo and harrass you to fix it because they have a demo tomorrow!

BTW: writing detailed response from scratch should be an exception. In most cases the answer is already there in some existing question, but the person asking doesn't know some keywords to find it. So you can use your knowledge of the subject and point them to existing answer. It's faster this way and avoids duplicated content.

I have found SO to be quite useful, but I don’t go there to answer questions.

I go there to ask questions. I’ve asked nearly twice as many questions as I’ve answered.

I have gotten some very rapid, useful, answers to vexing issues.

I’ve also been treated quite badly. They seem to have a culture that assumes people that ask questions are a “lower caste” than ones that answer. Look at the folks with five- and six-digit scores. Most have single-digit question counts; with that digit frequently being “0.”

Shrug. Whatevs... I don’t lose any sleep over it. I haven’t been asking as many questions, lately. That’s because I haven’t been getting answers lately. Maybe part of the issue is that my current questions are a quite difficult and “production-related,” compared to my older ones. I have noticed that many answers tend to be rather “academic,” in nature, which I like, but that tell me that the person answering may not have experience applying the answer in the context of a shipping application.

I have learned to improve the quality of my questions, over time. One of the by-products of the way I’ve been treated, is that I have gotten better at doing self-research, and figuring out the answer on my own.

I’ve always been quite good at arriving at solutions on my own, but it takes time, and, quite often, a response to an SO question, even if done so in a condescending manner, would deliver an astonishingly quick answer; frequently with some orthogonal viewpoint that makes the answer more valuable.

I’ve also learned not to “slap back,” when someone is a bit snotty to me (I’m quite capable of doing so). Even if they aren’t being nice, they are doing me a favor, and I appreciate it. I don’t go there to make friends. I go there to get problems solved.

StackOverflow has its issues and it is certainly a culture shock compared to most forums. It's still the least bad site for general programming that I know, and your experience will be much better if you understand the most important quirks of the site and the community there.

There's two options here on what could have happened:

- the community deleted the question because it did not meet the quality criteria

- the user self-deleted after the answer was posted

To avoid the first case you need to understand roughly which kind of questions get closed and deleted on SO, and simply avoid answering them if you don't want your effort to go to waste. The second case mostly happens with users posting homework (in an effort to remove the evidence), which are cases where answering is somewhat discouraged. But if the question is generally good, you can flag that case for moderator attention and it will likely get undeleted. Once your answer has an upvote, the asker cannot delete anymore.

It seems odd to allow deleting questions with answers at all, since you're essentially allowing someone to delete someone else's content without their permission. Not quite as odd as "well you should know if we're going to arbitrarily delete this question before you waste time answering it," though.
There is a mechanism to prevent this, any answer with a positive score prevents deletion. There are also valid reasons to remove your own question, the most common is that you discovered a mistake that makes the entire question irrelevant. In that case you don't want a bad answer stopping the cleanup. Deleting good content without a reason is against the rules, it just isn't enforced by technical means in all cases. This is where moderators come into it to handle those cases, but you have to know to flag them for this.
This is a good explanation, thanks.
There is no excuse for such rude snobbish behavior. Good honest efforts to help should not be arbitrarily rejected because some moderator wanted to flex. When you pay moderators in self esteem it rewards everyone being a sheriff and punishes the citizens.
Recently I've found it to be mostly pages of incorrect answers and nonsense.

It's not that I know the correct answer, that's why I'm reading, but I do know what does not work, and all too often that's all I see, just pages of things that are obviously not right.

I've found I just have to abandon the internet entirely these days and start reading the source code. It's really time consuming but it's starting to become also the fastest way. :-/

And yes, I usually go back and add an additional answer if I find things out, usually starting with "none of these are correct."

It's eternal septembered. What a hard system to fight off. I think wikipedia has done it but that's about it.

> It's not that I know the correct answer, that's why I'm reading, but I do know what does not work, and all too often that's all I see, just pages of things that are obviously not right.

A similar situation is when you have a working answer, you know that it is not particularly good (inefficient, poor handling of edge cases, etc.), yet all of the answers are along the lines of your existing solution.

Programming problems are quite often a case of how something can be better solved. Consider the textbook example of sorting. The problem itself was always quite easy to solve, yet considerable amount of research were put into finding efficient algorithms since naive approaches are quite inefficient. We are lucky today since languages or libraries typically provide both the data structures and algorithms, but I cringe at the thought of how inept my code would be if I was relying on SO quality answers while learning how to program in the late '80s and early '90s (since there were many cases when you had to roll your own).

I’ve found it similarly dismaying when I write a detailed answer that explains why something is done a certain way and include some background/context so the asker can learn from the question, only to have someone else answer “just do this” and paste in some (IMO poorly written) code with single character variable names and magic values and other such code smells, with the poor answer being “accepted” and upvoted.

Seems there’s not much point putting effort in to do something “properly”.

Thank you for your good answers!

Lots of people will go read your answer and upvote it. The fact that the questioner didn't check it is something you should mostly ignore.

> Seems there’s not much point putting effort in to do something “properly”.

Software Development in 2020, everyone.

This perfectly describes what our industry has become :)

If the question was on topic, then your work doesn't have to be wasted. Just create a new question about the topic yourself and self-answer it. (If you can still access to your own answer, but I think that should be possible)

> Why bother answering, when answers must be accepted by the poster and poster does not even know they should accept an answer in the end?

There is no obligation to accept answers. Often the accepted answer isn't the best answer anyway.

I mean posting a solution regardless if it is accepted still provides utility for others stumbling across the post.

I have like 3 karma on my stackoverflow profile but most of my questions get answered provided it’s tagged well and is formatted well.

Answers are still useful even if not being the one approved by the poster, as the reader can decide which one to go with. And anyone can vote on answers. Quite often a better answer will get more upvotes than the approved one, and readers (should) definitely skim for that. Sometimes the best piece of info is in a comment, and even that is quite OK visible as long as people vote for it.

The karma system also rewards upvotes more than approved answer in practice, since just 3 votes will be more karma than approved answer.

Like Wikipedia, Stackoverflow is plagued by power-tripping moderators. Similar as with deleted Wikipedia articles I have never understood what benefits there are to deletion of pages/articles when there is already voting to mark "bad" questions.
I think that SO needs to implement a concept I call "epochs", where all the questions are archived every 3 years and removed from normal search. In the current epoch, questions that have already been asked in previous epochs are welcome and encouraged so as to give precedence to answers that are up to date.

Either that, or they need a way to nominate answers to no longer be relevant or current.

The current state of SO would have confused the hell out of me when I was a beginner. It seems like 90% of answers are outdated in some respect.

I have a similar desire but across all search results, so my default search engine is a custom one: Google (Within Last Year). This has the same effect as when you click 'Tools' and select a date restriction, but automatically applies it to default searches.

You can add this to Chrome by going to Settings -> Manage search engines -> Add. Name it 'Google (Within Last Year)' and make the Query URL 'http://www.google.com/search?q=%s&tbs=qdr:y&tbo=1'. Then set it as the default.

This filters out of date and usually irrelevant search results across the web. You can override it manually from the 'Past year' dropdown if the results are not extensive enough, which I do maybe 5% of the time.

It still confuses the hell out of me. I feel like every freaking question about swift I searched are always 5 to 7 years old.
I wouldn't necessarily be against this but it would have to be filtered for certain technologies and even then it gets messy. Perhaps some internal SEO management, or newer relevant thread linking system would be better. Some technologies I use are OLD and haven't changed in the last ten years. Sometimes a 7 year old post has exactly what I needed. If they could add a banner and lock down voting and commenting after 3 years, that would be acceptable.
While that would benefit StackOverflow, it would cause a lot of issues when searching anything remotely obscure. I've ran into many questions that haven't seen activity since 2012 and don't have any newer ones.
(comment deleted)
some of the larger open source projects have IRC channels and email forums which are active and a reliable source of good advice, I would also look at Discord for communities focusing on a particular technology
So it is mostly chats these days?

Would you happen to have a few suggestions for Android?

Unfortunately no, I have never used Android.
It's a shame people put so much effort into communicating this advice over Discord etc but it's basically lost to the void. I have trouble catching up with a single day's messages let alone years of in-depth conversation. Certainly you can ask for direct advice but sometimes people will shame you for not reading the logs. It's hard to believe we don't have some kind of combined irc + wiki solution yet.
> It's hard to believe we don't have some kind of combined irc + wiki solution yet.

Your comment seems to be missing the fact that people are interacting in chat because that's how they like interacting at the time, and that's why they're in chat at all.

And that maintaining a wiki of coding advice is no alternative as they just want to kick back and talk shop in a chat.

Btw I've never heard "um, go read the logs" in my life in that context. And certainly not on Discord which has no good way to read them. If that's something that you're scared of and it's stopping you from asking questions, you should go ahead and shed that.

It's not every server, but I've been told before to go read the chat logs because someone asked the same question as me a couple months ago (but no one bothered to help me dig it up). Some communities can be clique-y and unwelcoming.

And to your first point, I think people use services like Discord because it's the only thing available. If Discord added a few more discussion formats other than just chronological chat log, people could choose the right tool for the job. Right now it's too hard to sync content/users/permissions between Discord and other services like Notion or Google Docs, so people just keep using Discord for their info dumps even if it's not entirely suitable.

Already, certain servers I'm in have entire channels dedicated to FAQs, but they're extremely difficult to maintain / edit / comment on, especially if the original maintainer loses interest.

I'd love to see some kind of Q+A system built-in, so you can skip all the fluff and meming that can happen between the good bits of conversation. Something like StackExchange but a little more casual and well-integrated with something like Discord. (although ideally it would be an open-source solution not tied to any one chat platform)

Nearly everything has moved to Slack and Discord communities in my experience :(

Awful searching experience, gated, so many problems. But that's where the people are. I only hope Matrix can improve their UX and encourage at least some people to migrate there instead

I don't even know what Matrix is :)

So, essentially everything is a chat these days?

Matrix is like an updated IRC. There are Matrix servers and you connect to them with a Matrix client (I believe Element is the most popular).
Yeah, Pretty much every community has segmented off to their own Slack/Discord channels. :-(

I really wish forums were still popular, I love the elixir forums for finding info but discourse is such a mess to use (when Googling something, I want to ctrl+f with my browser, thanks..).

forums are definitely better than Slack channels, but I think they still have their own issues. Information is spread out and not well organized.

Search is better, but something that self organizes knowledge would be amazing.

How do people find these things? I feel like I'm so out of the loop.
For me, discord and slack are like private clubs. did not feel so welcomed. any idea how to find them?
At least Discord has open invitations. Slack is really annoying for this, you have to know the correct person to invite you, or someone has to setup a server to automate the invitation process...
> Awful searching experience, gated, so many problems

Especially this. It's impossible to find anything when searching on Discord. There are no threads, just channels which easily get thousands of messages per day. Maybe it'd help if those programming servers had logger bots which would index everything and upload it to a website where one could search it, but it still wouldn't solve everything. It feels sad because most of that content is likely going to be lost (it's not searchable anyway). IRC isn't much better in this aspect, but at least it is a more open protocol and one can easily write a program/script to archive the content. Discord on the other hand bans "self-bots" and unofficial clients.

Another problem is being unable to continue a thread after some time, but Reddit has the same problem with their "archived" posts. I personally don't see much value in "archiving" posts except perhaps lowering mental overhead of the moderators. It's frustrating when I almost have the solution to my problem but end up having to open a completely new thread, wait for the right people to notice it and then hope it gets answered in time before it's "archived".

Edit: typo

Engineering/Development on the internet most certainly suffers from information overload. On Medium alone you'll find multiple articles on one topic with completely opposing thoughts.

I don't necessarily see this as a negative thing, however. It's bad in the sense that sometimes I can't find a quick answer when I just want to copy paste a solution. On the other hand, I found that it has forced me to read multiple different solutions/opinions (often including source code), which deepens my knowledge on the topic and puts me in a better position to make an educated decision.

Sure, it'd be nice to have the perfect answer just slapped in your face. But nothing beats the feeling of finally getting something to work, but also understanding why exactly it works in the first place.

But the question was where to turn for specific questions. Very much like newsgroups.
I've forgotten when was the last time I asked the question. It became nearly useless. When I have a problem I just use google search salvaging bits and pieces from everywhere. I always find a solution or way around. But yes, there was a time when I could post a question and knew that someone will answer. Now it is a rarity.
That reflects my experience.

But I can't really believe it to be honest :)

same here.

It is a shame that we, the information architects, have not found good solution on this that we dogfood to ourselves.

Freenode (IRC) can still be very good for a lot of topics and technologies, but it's slowly withering away now.

Discord is where everyone is, but it's so awful just trying to ask a question I almost never get anything out of it. You ask a question and people talk over you and ignore it because it's too "hard".

The only community on Discord I've found that's actually helpful is the Rust server. I love Rust.

I'm on a few gamedev channels (SDL), and a few of the guys there are super helpful. I don't know what they get out of it, but they always take the time to answer other peoples questions, regardless of how nonsensical or rudimentary they may seem at first.
> I don't know what they get out of it

I sometimes have a phase where I answer a couple of questions. Usually because at that time I have nothing better to do and get the enjoyment that I could spare someone else the frustration of figuring out something obscure by themselves, just like a random blog post or SO answer helped me with a problem.

So I suggest to always respond with at least a little "Thanks!" or something if you found such answers helpful - it shows the other person that their contribution wasn't a waste of time and was kind of meaningful for at least one other user. Helps greatly with motivation.

I see the same pattern. It's so sad.

IRC used to be amazing, but nobody uses it anymore.

It's attrition.

People got older, had kids, or tech to them simply became a dispassionate job. They didn't have time for the community.

Facebook brought lots of new people to the internet. The sorts of people we connected to online became less technical in aggregate, and we started spending more time on our computers talking to those folks and proportionally less time talking to domain expert nerds. It's zero sum.

Everything became hyper commercial. If you're not making money, why do it? Why spend your time helping people build some other person's commercial product?

The web turned into a proprietary monolith and stopped being cool. It turned into a job. Work at mature tech companies involve so much optimization of small product details that we grow tired of programming as a hobby and don't want to sit through more of it at home. Your coworker is just there for the same paycheck that you get and they're spending the evening zoning out and having fun. Why log onto IRC and chat about technical things when you have to come back and hear your coworkers talk about the great time they're having?

The technical configurability of the past got glossed over with big shiny buttons and flat smartphone UI. It made configuring IRC clients lose its luster. We spend more time on our phones than our desktops or laptops now, anyway.

The proprietary platforms have orders of magnitude more money to make chat look and feel polished.

The new kids aren't learning it. It doesn't look like anything they're familiar with. It looks old and feels crude. There's nobody to carry the torch.

As more people leave, there's less reason to stay.

RIP, IRC.

That's a rosy view of IRC but not a very accurate description of why people don't use it.

In reality, people's UX standards improved and they weren't going to stick around with a crappy solution like IRC once chat rooms of the late 90s could even figure out how to show you old messages when you logged in.

Something as simple as getting a notification while offline or reading what was said while you had your laptop lid closed are now things expected since over two decades ago. And they're things IRC is still missing unless you're a power user who gets to fix it only for yourself.

IRC never evolved and never cared about UX. And it lost to efforts that did.

That people on HN including you will use phrases like "shiny" and "bells and whistles" to refer to features like a chat that can show you messages you missed while the tram went through a tunnel for 30 seconds is sanctimony that killed IRC.

It's like listening to an engineer struggle to come up with a single non-cynical reason why someone might like a GUI over a CLI. And then when GUIs take off and users finally get more options and stop using the engineer's CLI app, the engineer curses and shakes his fist at VC funding and proprietary tech and blames the users for falling for bells and whistles and being out of touch with the ideal form of software.

(That's actually a far more accurate representation of IRC worship than I intended.)

All these issues are already solved by some IRC clients, such as Quassel, The Lounge, or IRCCloud. Matrix clients such as Riot/Element as well, as they can access IRC.
I grew up with IMs like Yahoo! Messenger and WLM. I tried to use IRC a few times when I was younger and found it impenetrable (a mosaic of text-only boxes that look like a mature emacs configuration -- way before I knew what emacs was -- and immediately greeted by a long wall of text telling me I had to do this and that to post in that server).

My qualms and expectations are indeed very different. For example, fat clients like WLM were more peer to peer, which meant unlimited file transfers, sending voice clips, and uploading custom emotes all for free since they're not sitting on someone's data farming server. I miss that. Thin clients like Discord are of course more profitable but are more limited/onerous even as you're paying a subscription like Nitro to be able to bump up your file transfer to 100 MB and use custom emotes (despite the great UX).

An older person's IRC is my WLM. xD

The fact that this particular site (hackernews) is so popular amongst tech people, without any advertising and with a really basic interface (that people love) is proof that IRC will be very much alive for a lot of years! And that definitely is in line with my experience; for every rather large community there's an IRC channel with great people ready to help.

The technical problems you mention are really non existent with a web client. So it's up to us, the people to say no to proprietary platforms and use it.

Freenode is still very much alive these days.

Lots of people want to use discord (or any other mainstream commercial chat service) for their programming communities. The problem with that are the enormous masses of people that use discord for everything else and when they want to learn programming its a lot easy to pop by in the discord server and ask why their code doesn't work.

It's different with IRC, because setting it up and learning its ways is not completely trivial. It's about 2 google searches away, just like the fix for that simple compile error that needs fixing. Those that are patient enough for that are usually the ones patient enough to fix their syntax errors themselves. And when you think about it - being patient and able to fix your errors for yourself is exactly the prerequisite a beginner needs for their attempt to learn how to program.

This, and the fact that a lot of hardcore FLOSS contributors refuse to use proprietary platforms for development of their software makes Freenode a very nice place to discuss programming.

The python discord help channels are amazing. I want to take their bots and make them available for every language. The whole ask / answer workflow is soooo damn smooth.
I've been seeing the same pattern on Discord programming servers. Most of the questions are about absolute beginners not knowing how to configure their editor properly or forgetting a semicolon etc. While there's nothing bad with that, it's hard to ask more difficult questions. Most of the time your question just gets ignored. Sometimes you get totally off-topic replies like "just make an electron app it works everywhere" when asking a question about C++ GUI toolkits and so on.
Discord is great for building community, but the chat format isn't really great for general advice/Q&A. 80-90% of people will have some relatively basic question that should have one canonical answer. And the experts will quickly grow tired of answering the same question since chat interface isn't easily discoverable. This will lead to experts slowly abandoning the community.

I haven't been on the Rust server but I'd guess that one reason it's useful is because your typical Rust developer already knows how to code and isn't a complete newbie. So you end up having conversation between seasoned developers who know how to read docs and can figure out basic syntax on their own.

The Svelte Discord channel is great, I had nice discussions and exchanges there.
Chiming in to say the the Reactiflux discord channel has been an amazing help while doing FE work with Typescript, React, Redux.
> [..] even Google's own forum (https://groups.google.com/g/android-developers) appears to be only a honeypot to train their spam protection :)

I thought you were exaggerating, but dear Lord, it's really full of spam (yes, Google themselves say that "Posts about job openings or from recruiters are considered spam."). Just a single legitimate question, which seems more general support than a technical question by a developer.

I'm really happy with IRC. I frequent various freenode channels (#elixir-lang, #python, #django, #postgres, #kotlin, #centos and various others) and the people there are really helpful and friendly, asking all kind of noob questions even if they have been asked many times. I also try to be helpful on topics I'm familiar with (f e Django).

Being able to ask or answer more or less anonymously without the points/gamification thing is liberating for me! And of course I feel better that I have stopped feeding the walled gardens line slack and friends.

Now with the help of services like irccloud or even just by using a web client you don't have any excuses to not use IRC. Just try it and thank me later; I'm serafeim on freenode :)

I've had almost all my questions on Stack Overflow answered, usually very quickly.

If you frequently get 0 answers, work on the quality of the question - clear, short, include clear code snippets.

I don't think I've ever seen a 0-answer question where the question was worthy of an answer unless it was incredibly niche and hard.

99% of the time, the person asking the question didn't even care to help anyone help themselves and, to answer their question, you'd have to play a game of 20 questions with them.

In recent years every single question I posted on StackOverflow was a 0-answer. It didn't use to be.
First, it's only natural that as you get better as a developer, the only questions you need to finally ask StackOverflow are harder questions with a smaller audience.

By the time I'm asking a question on StackOverflow, it's a question I couldn't answer after 20 years of learning to solve my own questions, so it's going to be a hard and niche problem with a tiny pool of people who could answer it. I look back at the first questions I asked on SO when I was a beginner, and I kinda cringe at how elementary it was. "StackOverflow is really going down in quality" would not be the right conclusion.

Second, if you shared the question, the reasons it went unanswered will generally be obvious. Got a link?

> First, it's only natural that as you get better as a developer, the only questions you need to finally ask StackOverflow are harder questions with a smaller audience.

That will be true, but it does contradict your original statement that there haven't been 0-answer questions which were worth answering. Particularly an experienced developer is way more likely to pose a reasonable question.

> "StackOverflow is really going down in quality" would not be the right conclusion.

I did not complain about quality, I actually did not complain about StackOverflow. I just expressed an obvious change in the landscape.

Some projects have been using Slack or Discord lately.
Class books, by established, no bullshit authors.

Joe Armstrong, Odersky, Stroustrup ("a tour" and "principles and practice", both latest editions, are finally good reads), the Go book by Kernighan is a decent one, etc.

Avoid blogs, shitty books by amateurs who are learning while writing (everything by Pact, lol) and other fast food.

Avoid everything related to Java or JavaScript - poorly designed crap, and focus on Scala, Haskell, Erlang, Go and Rust - attempts to fix the fucking mess we are in.

(comment deleted)
Nope, it's not the tools, it's the people using them.

Give me your most beautiful perfect language and I'll find armies of incompetent programmers to create piles of garbage with them.

Give me your ugliest awfullest language and I can find, if I'm lucky, maybe 1-2 people that can do great things with them.

I agree with this to a point. I mean, tools really do help. Take C++ or JS which will make every effort to run total garbage that any competent user could see is garbage vs Python or Go which have very strict tooling to keep stupid users on the rails. I think it's the reason python is winning even though the runtime is such a poor performer.
There's some really terrible python code out there these days. It's on its way to becoming the next node. I know this reality will anger people but I'm sorry, I'm just a messenger here.
Come on, programming languages are not tools (compilers are tools).

Programming languages are cultures. Precisely.

This is why PHP Java or JavaScript are fucking abominations. They have been started with lack of a culture and discipline to begin with.

Forgive me but I honestly don't think you've read much code. There's a large field of talent in all languages.

That list is the classic "first language" list, the one that is taught to beginners and amateurs.

It used to also be Basic and Ruby. Every "first language" gets the short end of the stick.

You can add Swift and Kotlin to that as well, any language where you might find room full of children twiddling with computers.

You can also be an adult and use these tools, but that's really a personal decision.

been programming for ages, and just started getting into Go. The Go book by Kernighan is really quite good. Full of excellent explanations of the design choices made in the language and the exercises are better than any I have ever seen. They really lead you into self discovery of the subtleties you may have missed and need to understand.
This is such a silly reply. "Avoid the two most in-demand languages, particularly when one of them is the only language that can be used on webpages, in favor of "cool" languages that "make you think.""

You sound like those people that say you're not a real programmer if you don't know lisp.

I turn to the documentation or check with colleagues, and if that doesn’t work, I’ll resort to working around the issue the best I can.

I don’t think much have changed though. The good answers on the internet have almost always been drowned out by the bad ones. I get that google programming is a thing, but it really shouldn’t be.

Engage developers directly via gh issues.

Take your time to describe the problem, and be patient waiting for a response.

Developer focused slack and discord groups are another great option.

Second this advice. For tricky or uncommon problems, GH issues and slack/discord groups are where I'm most successful finding help these days. Dev mailing lists are still an occasionally useful source too (depending on the project).
I know many people consume enormous amount of content - conference speeches and tutorials on YouTube, (Medium) blogs, then simply follow the lowest effort path which works for them.

If you are looking for interaction with humans - Stack Overfow, Reddit, Hacker News. The probability of anyone responding is rather low unfortunately.

Personally I crawl through the web - public repositories on github and gitlab, websites from the SO family, websites of universities, etc. I search through my local library of books. Obtaining an advice from a skillful human is very difficult.

Get a solid debugging flow down where you can audit things and know what is and is not a black box.

Also understand the kind of instrumentation and code introspection and navigation tools your platform has.

Look into the monitoring solutions, maybe tracers, syscalls, etc.

Be open to changing your build flow, deployment, and testing methods.

The primary source is the computer. Everything else is secondary.

People rely on the internet too much. If you're stumped try solving it without surfing the internet at all. Use traditional toolling.

GitHub issues has been a godsend.

People don't often take the time to do detailed write-ups while investigating, but when they do... amazing. Fountains of knowledge hidden in closed issues.

Speaking of which - especially in the ops / systems side of things - if you're stuck on an issue, and you've got a gut feeling some repo will be a good source of truth for that issue, search for keywords in the open AND THE CLOSED issues of that repo. So. Much. Stuff.

I second that. Also, in my ecosystem - gutter, discord, slack
That particular feature is mostly for bug reports however, not so much for general questions.

Also, where would you find the Github page for Android's Room for example?

> search for keywords in the open AND THE CLOSED issues of that repo

Yep, every time I visit the github issues page I immediately remove `is:open` when searching.

It’s a mystery to me why is:open is the default. In most situations you also want any existing “closed” matches to be listed in the results.
It's optimized for developers working on the thing. It'd be cool if the default changed based on your level of access (or settings)
This! This is saved me so many times when I’ve exhausted stackoverflow.
When dealing with advice for open source projects my steps are:

- Google and go to first SO answers (I totally gave up on asking for advice there, is an old discussion but with low karma forget to ask, it will get closed immediately so you have to be lucky that someone with good reputation made a similar question)

- HN search engine and go to the comments of some post related to what I need. It might take some more time but some of the comments have been gold to me

- Project mail list. I have found people willing to help there

- Finally my last discovery, as others, Github issues. And I am talking about searching and asking. I have lately been susprised how the main maintainer of a big project from one of the FAANG answered doubts, and to me personally helped me with a question such as "I don't know how to start with this", literally.

I guess there will be lots of different experiences here, but to me it would be something like stay away of SO and try to find more specific forums for your need.

Is there platform like StackOverflow to ask more about best practices / architectural issues?

The other day I gave a very detailed question on StackOverflow about solving a specific problem in computer vision. I have little experience in CV, but wanted to know from experts into what I should look into or how they would tackle this problem / find other edge cases I were missing etc. My question got deleted since I wasn't able to provide any code, but more of a "This is how I imagine it to do" and that was not a coding question. I tried reddit, but there was no real activity.

Cunningham's law is your friend. I've yet to see a more effective tool to marshal productive forces in your favor.

"The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer."

Armed with this ultimate weapon, you can use any resource that is likely to have knowledgeable programmers orbiting it.

That's a good point and probably worth trying out, nonetheless it is a shame that one would need to apply such trickery for something which was pretty straightforward a few years ago.

Also, the question would still be where to use that ruse. I am not sure it would provide for more correct answers on the Usenet or Stackoverflow.

The common consensus here seems to be that traditional chat platforms are the right tool right now.

I have some success with developer’s forums. I’m thinking of the Python vis package Bokeh’s community forum.

The second place-for me-was a Discord group. Since the pandemic the local Python Meetup (Meetup is another resource) group started having its weekly project meeting on Discord. And funny thing happened, there are participants from all across the Eastern US—don’t have to be ‘local’ on Discord.

Recall from years ago (Usenet era) some groups would say you could find them on IRC. I think Discord scratches that itch today.

Discord/IRC is its own beast— a dynamic social experience.

IMHO, for the ask-and-wait the only non-owner forum is STackExchange. I naively divide the successful items at SE as either succinct and simple Google search questions where no answer is on the web, or which enough people create good answers before the mods clamp down (give the mob what they want).

Or, the questions have to reflect deep-knowledge in an active and engaged community. You can call it _what’s hot_ moderated by little Neros or what I’ve started to call the Mod-Walled Garden of moderated SE sub-groups.

These days all the simple questions seem to have been asked before—everything is a duplicate. SE worked because people wanted to take the time to demonstrate their knowledge and get get community kudos for when they were clever or succinct, right? Now it seems the _ground is saturated_. Where are the most engaged and interested parties? For me, a weekend programmer/forever ‘newbie’, it’s in the channels I mentioned.

Remember that word, ‘newbie’? A friend who introduced me to Usenet gave me the instructions that I had to use this term in my question for the social signaling that I knew I was an idiot, and to please go easy on me! Haha

> Now it seems the _ground is saturated_.

When SwiftUI came out I learnt it by trying out each question about it. This way it was easy to get an introduction, because all were new to the technology and so were interested in figuring the questions out. And the questions were simple enough because no one had much of a grasp.

With old technology you do not necessarily have enthusiasts who try to "figure it out too" at the moment and so it gets more difficult.

When using open source software, I've gotten into the habit of just reading the code instead of looking for answers elsewhere. Often saves me time and helps really understand the tools I'm working with.
Great question! I've been putting together a web interface in typescript with state management challenges that are beyond my experience, and I keep wishing I could consult people with more experience on how they might approach the architecture, and I'm coming up totally blank.

I think one issue is that like stack overflow any site for this would be heavily abused by beginners and people with poor communication skills who can't describe their problems well, effectively burying the interesting conversations under mountains of unintelligible rambling.

Don't hesitate to contact me to my personal email address if you want help, that's something I enjoy doing from time to time.

You should be able to find it easily at sam.elborai.me.

To answer the OP's, if you need advice, maybe try dev.to. There are a lot of smart people there and it seems to be gaining traction. Also check the project homepage for whatever you're wondering about. Most have discord, slack, Twitter, and even IRC where you can talk to SMEs so check the project pages. I feel like this is a good move, more bespoke solutions than generalized solutions like SO.

There are a lot of valid complaints and good suggestions about SO here but those are probably better taken to the SO meta stack where they can be turned into change.

I still find many relevant answers there. Maybe you're mistaking the irrelevance of whatever you're searching for as the relevance of SO. Having said that, "advice" lends itself to discussion and opinion. SO is quite plain about it not being a platform for discussion; it's for Q and A.