How To Ask For Help and How To Help

We as homo sapiens own our great success as a specie due to our capacity of collaboration in a group rather than being individualists. For example, a simple pencil requires a lot of people involved to reach the final product. We need someone to make the graphite, to cut the wood, to extract the mineral to prepare the metal around the wood, and the eraser over the top. Did I mention that we need someone to transport and also to sell it?

To make this collaboration works, we need to work together to achieve a final objective. So there are a few rules that work well and fast, others that not. When we are seeking for help, we need the best answer in the shortest time possible. If we bring this scenario to the open-source world, usually this act of asking for help and someone helping are acts of good faith and nobility, because it is two strangers giving their time for each other for free.

So, let’s start with the first question from the title.

How to ask for help?

Everyone already tried to use Google to search for something. We learned that there are N ways to find our answer. If I want to make a cake, let’s try to search for a cake in Google:

Probably the cake band is not going to give me a recipe for baking a cake. But, wait, and if I try to be more specific?

So, now it looks much better! There is a high chance now that we will get what we want to start making our cake!

The above example can be translated to the MySQL community. Imagine that we are asking for help in Stack Overflow. Can you guess which of the questions below will receive a quicker and more accurate help?

Title: Heeelp! I can’t insert data into my database!!

Description: Database is not working. Tried everything already.

Or:

Title: Error when Inserting Data MySQL 5.7
Description: When I’m using the command: insert into vinnie (1, ‘Vinnie’);

I receive the error: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘1, ‘Vinnie’)’ at line 1″

Do you see the difference? The first thread will require much more interactions only to find out what is the current issue, while the second one we know exactly what the user is trying to do and the error that he is receiving.

So, as we can see, being accurate will significantly improve the response time for both sides. Accuracy is vital for efficient communication for both sides.

Now, what are other conventions for those asking for help? Well, I would say a few. Let me summarize:

    • Do not outsource your task to the community. I already received questions from exams to solve for people (especially during COVID, where people have online classes). This is embarrassing.
    • Do not ask how to execute projects. For example, How to perform a full backup with daily incremental each hour without impacting my production. Also, the backup needs to be encrypted and sent to Amazon S3. The community is here to help, not to do your job.
    • Show that you did your homework when asking a question. For example: Hi everyone, I read about how backup works, but still, it is not clear for me the difference between physical backups and logical ones. Can someone clarify it?

And finally, the most important:

There is no stupid question! You don’t need to humiliate yourself to ask for help. Everyone has issues every day! Be humble, kind, and open to learn and develop yourself!

How To Help?

Helping is the other side of history. And I dare to say it is the side of the history that carries the greater responsibility. Usually, people are putting in your hands the destiny of their data (if this should or not should be done is another history). Providing accurate help and explain the risks is vital for those who are helping.

Let’s see the previous example:

Title: Error when Inserting Data MySQL 5.7
Description: When I’m using the command: insert into vinnie (1, ‘Vinnie’);

I receive the error: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘1, ‘Vinnie’)’ at line 1″

What answer would be better:

There is an error when inserting the data. You need to check how to insert it.

Or:

There is a syntax error. It is missing the values word. It needs to be like this:

insert into vinnie values (1, ‘Vinnie’);

Moreover, we need to take care when sending dangerous commands. For example:

Question: How do I delete data from my table?

And the proposed answer:

You can delete specific rows using the command below:

DELETE FROM vinnie where id = X; #X the primary key of the row

You can also use the following command to delete everything:
TRUNCATE TABLE vinnie;

This command will wipe all the data from the table! Be careful when using it!

There are some rules for those who are providing help:

  • Be accurate providing the answer. Generic answers only lead to more confusion.
  • Be direct and keep it simple. For example, you don’t need to tell:

    Your database is not persisting data at this point because opened transactions that are running do not have the connection string set on the driver to close them with the proper command.

    Instead:

    You need to execute the COMMIT command every time you perform a write on your database.

  • Do not think that because you know the answer you are in an upper position than the one who is asking for help.

Conclusion

Do not take this post as written in the stone. Communication is much more complicated than a few rules. What I wanted to show here is that you need to demonstrate empathy, active listening (or actively reading in this case), and precisely express yourself. Make internet forums a better place for everyone to share and collaborate.

See ya!

Leave a Reply