# Stack Overflow Is Your Mandatory&nbsp;Tool

Source: https://www.yegor256.com/2017/02/14/stackoverflow-is-your-tool.html

I've [said before]({% pst 2014/oct/2014-10-29-how-much-do-you-cost %})
that your Stack Overflow reputation is very important
to [us](https://www.zerocracy.com) when we make a decision on
how much we should pay
a software developer. However, there were many complaints about this metric.
Take, for example, the ones [here](https://www.yegor256.com/2014/10/29/how-much-do-you-cost.html#comment-1704113248)
and [here](https://www.yegor256.com/2014/10/29/how-much-do-you-cost.html#comment-1697910905).
In a nutshell, so many of you
disagreed and said that the number of Stack Overflow up-votes was
nothing more than a measurement of the amount of time someone spent answering
stupid questions asked by clueless programmers. Let me disagree and
explain why your activity on this platform is so important to
[your career]({% pst 2017/jan/2017-01-24-career-advice %}).


{% jb_picture_body %}

Basically, your Stack Overflow profile demonstrates five skills you either
have or don't. They may not be as important to an office ~~slave~~
[worker]({% pst 2015/oct/2015-10-06-how-to-be-good-office-slave %}), but if you're going to work
[remotely]({% pst 2016/aug/2016-08-05-distributed-teams-are-higher-quality %}),
they are crucial.

**How to Search**.
The [StackExchange](https://www.stackexchange.com) knowledge base
is huge and contains answers to almost any
software question you may ask. You have to know how to search it,
and not only via Google. You have to be familiar with the platform and
its key features, and you can't learn that without being an active user.
When your reputation is high, it's a clear indicator to me, your potential
employer, that you're aware of how to find the right information in this
knowledge base.

**How to Ask**.
Asking a friend near the coffee machine is one thing. Asking a community
of 6+ million developers is a totally different thing. You have to learn
how to explain your problem, how to formulate the question, how to label
it and title it. Try it for the first time and you will see that it's not
easy at all; your questions will sound immature, silly, and ambiguous, and they will
end with "Best regards" (something you shouldn't do at SO). And, of course,
they will get zero up-votes. Later, when you improve, you will be surprised
to see that more and more of them get up-votes, and your reputation will
grow. This will be the indicator that your "question asking" skill is growing up.
For me, your potential employer, it's a very important skill.

**How to Answer**.
Initially, you will be afraid to answer. Then, most of your answers will
be down-voted. Then, some of them will be accepted as best answers. Eventually,
some of them will start getting up-votes. Until that happens, you will go
through a lot of frustration and negative emotions. You will learn how to
make your answers helpful---not just to your friends, because they don't want
to offend you by saying that you have no idea what you're talking about, but
to strangers, who care more about the information you're able to deliver than they
care about you personally. That's a skill you can't buy; you have to earn it.
And it's crucial in a distributed team.

{% quote It is a must-have instrument for any modern software developer, no matter what your programming language, your age, your project, or your professional level are %}

**How to Deal With Morons**.
You know what to do with them in the office, but on the Internet, they are
much more aggressive and offensive. And there are many of them. You need
to learn and practice a lot before you become competent enough to fetch
information out of that programming community without pulling your hair
out and screaming at the monitor. Stack Overflow will help you a lot,
both through questions you will ask and answers you will try to give. And
you can't learn that in the office dealing with your friends only.

**How to Deal With Smart-asses**.
Some people there are very smart and knowledgeable, and they will not always
be polite when your questions or mistakes using the platform border on being
too annoying. Again, your office friends won't teach you how to
deal with those gurus so you can tap their knowledge; you have
to be actively involved in Stack Overflow discussions. This skill is very
important for distributed programming, where you have to solve most of the
problems on your own.

To summarize, Stack Overflow is a must-have _instrument_ for any modern
software developer, no matter what your programming language, your age,
your project, or your professional level are. It's like an IDE and
[unit tests]({% pst 2016/feb/2016-02-09-are-you-still-debugging %})---you
just use them in order to develop faster. Some people are still using
[vim](https://en.wikipedia.org/wiki/Vim_%28text_editor%29) or
[emacs](https://en.wikipedia.org/wiki/Emacs)
and writing no tests, but you don't want to be like them.

Stack Overflow is not just a website where you may have an account if you feel
like it. It's a _mandatory_ instrument you have to use if you want me, your
potential employer, to value you as a serious engineer. And if you use
this instrument on a daily basis, your
[reputation]({% pst 2016/mar/2016-03-08-pimp-up-your-resume %})
will inevitably reach high levels.

{% badge http://stackexchange.com/users/flair/63162.png 208 http://stackexchange.com/users/63162 %}

By the way, this is my [StackExchange profile](http://stackexchange.com/users/63162).
I've earned the majority of my reputation a few years ago, so now I'm mostly getting up-votes
for the answers and questions I've posted earlier. However, I keep using
Stack Overflow as I code,
[every day](http://stackexchange.com/users/63162/yegor256?tab=activity).
