But from my years of experience, what I’ve learned is that not all developers know the value of a strong StackOverflow account.
Above is my personal StackOverflow account. I have given 156 answers and in turn have reached around 2 million developers, putting me on a top 7% of all the users in StackOverflow.
This has not been an easy task, as of today’s writing, there are over 10 million users, over 20 million questions, and over 26 million answers.
If you have tried submitting an answer in StackOverflow, you soon realize it is not a simple task — you can’t just answer random questions with half-cooked solutions. The forum works in a way where people vote for answers that are actually relevant and have helped them with the problem they are working on.
With over 10 million users, it’s quite a challenge to ensure that your answer would be of any help to anyone, really. As soon as a question is posted dozens of developers are on the prowl to answer the question in their hopes of getting votes and in turn bolstering their respective profiles. However, this “wild west” style of answering a question can also be counterproductive, as the users have an option to downvote any answers that are of poor quality.
This has not been an easy task, as of today’s writing, there are over 10 million users, over 20 million questions, and over 26 million answers.
If you have tried submitting an answer in StackOverflow, you soon realize it is not a simple task — you can’t just answer random questions with half-cooked solutions. The forum works in a way where people vote for answers that are actually relevant and have helped them with the problem they are working on.
With over 10 million users, it’s quite a challenge to ensure that your answer would be of any help to anyone, really. As soon as a question is posted dozens of developers are on the prowl to answer the question in their hopes of getting votes and in turn bolstering their respective profiles. However, this “wild west” style of answering a question can also be counterproductive, as the users have an option to downvote any answers that are of poor quality.
What are the perks and why bother?
Imagine everyone is applying for a specific company, and everyone is on equal footing with regards to their work experience. It doesn’t have to be a large and well-known company, it could easily be just an exemplary workplace nearby. Everyone wants to apply there.
Let’s say, hypothetically, the company gives out stocks options, is flexible with work arrangements, and office facilities include the infamous pool table, bean bags, and has free food. The typical ideal tech office!
The recruiter searches for your name and finds that you are top 10% of all the engineers in the StackOverflow forum. As most recruiters today are aware of the online communities like StackOverflow, who do you think will have their foot in the door? Having a strong online presence acts as icing on the cake, and most of the time guarantees you at least an initial interview.
Of course, I am not saying that all the developers that have a good scoring on the online forum are of high-calibre. There are some that have just answered one difficult question and gathered all their votes out of that one very specific topic. This, however, is easily spotted once you dig around the user’s profile.
I can’t speak for the other members of StackOverflow that have a strong profile, but there are instances where companies would not bother giving me an online coding exam and just proceeded with the final interview. I had several companies reach out to me, inviting me for an interview even when I wasn’t trying to look for a new job.
In actual interviews, technical panels can be more lenient, knowing that you have reached 2 million developers. This, in turn, will give you more confidence in what you do and it validates your standing in the software engineering world.
Personally, this has also helped me compete globally as well.
I feel like I need to emphasize this as well but having just a SO account alone will not guarantee anything, but it will act as a supplement to your coding prowess.
Paying it forward
I know what you are thinking at this point — you just want to know how can you improve your own account. My main advice for building a strong profile is to just try to genuinely help other developers.
What do I mean by that? Well, there are instances where you get stuck with a problem and, try as you might, there seems to be no solution to your problem available online. This is exactly the niche you are looking for, chances are several programmers have gotten stuck with this problem as well.
There are literally millions of questions still unanswered in the forum, and some of them you will be able to solve. It might be due to experience, others just pure happenstance, but there are definitely some questions that you will be able to fix on your own.
The common route is for you to go on with your day having solved that problem for yourself, and feeling accomplished. This neglects those numerous developers still crying in pain in trying to figure out how to solve the same problem. In essence, it will just take you a couple of minutes to compose a decent paragraph showing how the problem is solved and that’s it.
If you just think about the other developers, leaving an answer once you have already figured it out, a seed has been planted in helping you grow your online profile. Paying it forward, as you go along. Don’t go in with the sole purpose of just increasing your credibility — other developers tend to know immediately, and you will just be bombarded with downvotes.
There are no stupid questions
This header is not to be taken literally. But, when it comes down to it, as long as questions are indeed valid, the community tends to react positively.
Another way of building your profile is by asking genuine questions to the community. This is usually a harder route to take. With all the questions already on the forum, it’s not an easy task to ask a question where there is no answer already.
StackOverflow works in a way that the questions and answers are provided by the developers themselves, but the privilege is granted to those who have reached a certain amount of idiosyncrasy credit, so to speak. Developers who have attained this privilege have it in their best interest to preserve good quality questions on the site. So newbies copying and pasting their homework/assignments on the site are easily spotted and those questions are downvoted, never seeing the light of day.
Questions can usually be broken down into two categories, theoretical and technical.
Theoretical questions, by definition, are questions that do not have concrete answers and thus these are subject to the opinion of who chooses to answer. Theoretical questions tend to have the possibility of being closed by the moderators, as nobody really wants to engage in an online debate in the forum.
A good example would be which programming language to use. Although this is a valid question, it is subject to the opinion of the person who is answering, as Java developers would definitely answer Java, and so on.
As a consolation, you still do get points for people who are curious to hear the answers if there are any. Here is one of my questions, which had gathered a lot of views — around 29k views — and, in turn, got a number of votes. I wrote it a couple of years back when I couldn’t really find a solid comparison of using Java Enterprise Edition Containers versus Using Web Containers. There were already a number of documentations for Java EE Containers and Web Containers during that time, but none were about tackling the difference of each, side-by-side.
Technical Questions, on the other hand, require you to put down what you already have tried and all the technical details needed. The community immediately knows if you are just trying to find an answer without doing your proper research.
Theoretical questions, by definition, are questions that do not have concrete answers and thus these are subject to the opinion of who chooses to answer. Theoretical questions tend to have the possibility of being closed by the moderators, as nobody really wants to engage in an online debate in the forum.
A good example would be which programming language to use. Although this is a valid question, it is subject to the opinion of the person who is answering, as Java developers would definitely answer Java, and so on.
As a consolation, you still do get points for people who are curious to hear the answers if there are any. Here is one of my questions, which had gathered a lot of views — around 29k views — and, in turn, got a number of votes. I wrote it a couple of years back when I couldn’t really find a solid comparison of using Java Enterprise Edition Containers versus Using Web Containers. There were already a number of documentations for Java EE Containers and Web Containers during that time, but none were about tackling the difference of each, side-by-side.
Technical Questions, on the other hand, require you to put down what you already have tried and all the technical details needed. The community immediately knows if you are just trying to find an answer without doing your proper research.
Answers, answers, answers
I won’t dive into too many details about giving a good answer to theoretical and technical questions, as they are similar in nature to the above. Instead of giving examples of what you already have tried, you give concrete examples of the answer you are providing. There are other niches as well with regards to providing answers in addition to the already mentioned theoretical/technical categories.
As in any investment, it’s not going to take effect immediately. It might take months or even years to plant your seeds and leaving answers. But, before you know it, you’ll already have a solid presence in the community and all the perks that come along with it.