Asking technical questions is a key element of writing software. And today this is very often done by writing in some form of public forum. It can be an internal email group at your company, a public community such as stack overflow or GitHub, or even a private email to a colleague. Whatever the medium is, how you write the question can make a big difference in how quickly you get an answer or whether you even get an answer at all.
And yet its surprising how often you see poorly formed questions. The most typical offense is failing to give enough context for someone to be able to help. For example, imagine you are getting started with Redis and you hit a connection problem. You could post something like this:
There’s very little context here, so this will likely require a lot of back and forth to diagnose. Now consider this alternative:
I’m trying to get redis to work for the first time, but I get the following error:
Redis error: Error: Redis connection to 127.0.0.1:6379 failed – connect ECONNREFUSED 127.0.0.1:6379
My setup:
Redis 4.0.6
Ubuntu 16.04.3, 64 bit
Node.js 8.9.4
Here’s my code:
// relevant node.js code here
Client code is running on the same machine. I’ve tried starting both redis and the client app with sudo but I get the same result. I found some posts that recommend restarting (I’ve done it) and testing with redis-cli ping, but I get the same error.
I anyone has any pointers on things I can try to troubleshoot this, they would be much appreciated. Thanks!
This improves in two big ways: a) It preempts a ton of questions and actually makes it possible to help, and b) Shows that you’ve put some effort in trying to solve the issue instead of immediately asking for help.
With so many languages, frameworks, tools, libraries, etc., online communities have become a critical part of building software. Communicating effectively in these communities can have a big impact on your productivity and efficacy as a developer.