Which skill do you need again and again throughout your career? Without this skill, you will forever wonder why you do not progress, why others do not seem to be helpful. With it, things will flow easy, be fun and others will love to help you.
This skill is a secret super power that some use to their advantage, while others never master it. This skill is especially important when learning technical skills such as simulation modelling or AnyLogic in particular.
It is all about:
Asking good questions
Nothing beats it when you want to learn new things fast. Over the past 10 years, I have answered hundreds of simulation questions on StackOverflow, LinkedIn and other places, especially for AnyLogic users. Some questions are SO GOOD that they magically make me answer them. I cannot resist. Some are so well done that I willingly sprinkle in some extra magic sauce of next steps.
However, most questions are not good.
And since AnyLogic now (semi-)officially moved their support community to StackOverflow, I want to help folks improve their questions. Use this as a quick future reference before posting and you will be flooded by replies (or get 1-2 for sure :) ).
What is StackOverflow
So AnyLogic is not officially supporting the LinkedIn forum anymore but encourages users to use StackOverflow instead.
StackOverflow is a place for getting technical help. It is cleverly designed to make you ask good questions. It rewards good answers as well. Getting started is easy.
You earn reputation for your questions and answers with fake internet points. However, they are not fake at all. Many employers will check your StackOverflow profile and people with high reputations can make that work to their advantage. But it is also good fun gamification.
Empty space, drag to resize
However, StackOverflow is often perceived as a bit cold, technical and even exclusive. However, this is often caused by wrong expectations of how it works.
At the core, StackOverflow is about … you guessed it: asking good questions.
Before we dive in, let’s clarify
WHAT IS STACKOVERFLOW NOT?
StackOverflow is not a place for questions with no answers or with many answers.
What do I mean?
Avoid “philosophical” questions that require a thesis to answer:
- “How do I best model a hospital?” — Friend, there are hundreds of ways and it … depends
- “When should I apply System Dynamics?” — It really depends on your purpose. It is used for climate change and atomic dissipation reactions.
- “Has anyone ever modelled an airport?” — Yes. Just … yes.
Avoid “trivial” questions that you could have found yourself
- “What is the Delay block”? — Please check the help
- “Will my model work in the AnyLogic cloud?” — Please try yourself and do not burden your work on others.
Avoid “impossible” questions that are too vague or lack any details
- “My model stopped without an error”. — Well, sorry to hear. Without details, we cannot help.
- "My model is slow" — There are a million possible reasons. Try to find the root cause first and ask about that specifically
How to ask good questions
Does this sound too harsh? I hope not. On StackOverflow, we are volunteers that are happy to help. But we are very busy. If people appear “lazy” or did not do their homework, the best you can hope for is a comment pointing that out. But you might not see any replies or your question might even be deleted.
So time to think about your homework. How do you ask good questions? (On StackOverflow and in life).
Empty space, drag to resize
There are three philosophical themes you should bear in mind always:
- Make sure your question CAN be answered, i.e. avoid the pitfalls above
- Make OUR lives easy, not yours. This is probably the best advice of all! I should not have to work for you, but vice-versa :)
- Put effort into writing the question.
"The best question can be answered with one word. The second-best question can be answered with one sentence. All other questions should be refined or split."
But what does that mean specifically? Here are some practical steps to follow for your question:
- Google the issue and search on StackOverflow as well (I hope this is obvious )
- Boil the issue down to ONE core problem only. If you find more than one issue, open one question for each.
- Try to turn the issue into a minimal, reproducible example. This way, others with a similar issue will find this solution in the future as well and we can reproduce it on our systems quickly. (i.e. strip away the specifics of your model and make it relevant for everyone)
- Give us a brief background of the problem. But stay succinct
- State the problem and add screenshots, code snippets, etc. But avoid sharing an entire model. Few people have the time to really investigate and learn your model!
- Absolutely list what you already tried to fix the problem. No need to be shy here :)
- Write an informative headline. Best write it last, so you can really get the zest of the issue out
- Check your question: did you make OUR lives easy and your life difficult? Could an expert answer this fast without too much work? If not, rework.
StackOverflow offers some good further advice to make the most of their platform, do make sure to check these as well:
Also, do not be intimidated by the formal, dry and technical atmosphere on StackOverflow.
This is a place to get things done, not chat over coffee. The best way to make a great impression is to put effort into your question.