Effects of Stack Overflow on the IT industry
Stack Overflow is one of the most fundamental websites for developers. Let’s investigate the effects and externalities on developers and businesses that spring from healthy interaction with it.
A characterisation of Stack Overflow (SO) and the importance of SO for the developers and the IT sector.
Next an analysis of the effects of when and how the developer interact with SO and the externalities that this generate.
At last, on this basis a discussion on what businesses should consider on having developers able to interact proficiently with SO and the related benefits.
Overview of Stack Overflow
SO in its nature is a social network for developers based on QA. On higher quality question or answer production SO prises developers with reputation points.
The reputation points in combination with the material produced by each developer led the website to evolve partially in a recruiting platform (at least from a business model perspective).
If we start to examine the properties that derive from being a social network, we see that the value produced increase as the nodes in the network increase, in this case, developers, and at the very same time, as wiki QA website, the more question/answer it has the more likely it will be useful for the next developer.
This creates a loop effect for which more QA attracts more developers and at the same time, more developers generate more QA.
Compared to other competitors SO business model is not directly related to the QA or the access to the network but with the recruiting/hiring process collateral to the website.
This place SO in a most likely growing position for the future ahead.
SO value properties:
- the immediate and cumulative body of knowledge which is freely accessible
- the network of developers ready to answer specific actionable questions
Partials SO direct functions:
- it helps developers to communicate in an effective way
- it helps developers with technical issues
- it helps developers finding new work positions
- it helps businesses finding developers
SO effects on developers
Developers interacting with SO will be in a collateral way resolve technical issues and or increase they reputation points (which may be potentially driven by altruism, personal ego and status, prospective for future work or a mix of all).
Searching in the cumulative knowledge stored in SO is the first step in interacting with SO during problem-solving.
The searching task that may seem trivial in reality hides several technical challenges which are: to use a compatible wording and or vocabulary concerning the technical issue and how the community on SO states similar issues; and then, once and if found a proper answer the developer will endure understand, select (choose, judge) and action on the solutions proposed.
Note: For not native speaker reading and writing in English can be a barrier. Thus the ability to interact with SO can give a sense of the developer ability in communicating in English.
Technical challenges on reading questions:
- understand: the ability to make a sense of the language and technical vocabulary in the questions and solutions
- select: the ability to discern and judge among the questions and proposed solutions
- action: as a result of the above the developer has to be able to use the knowledge collected in concrete problems
Developer benefits (externalities) on reading questions:
- increase the ability of rational thinking judging questions and answers
- increase the ability to use and understand technical vocabulary
- increase the ability of skimming and scanning
- increase the ability to learn through the whole process
In case the body of knowledge stored in the QA doesn’t contain a viable solution the developer will have interact further with SO and post a question.
This operation will allow the developer to benefit the network side of SO and potentially access the knowledge to resolve the issue, knowledge which was not most probably obtainable in isolation by the developer; this, within a relatively short amount of time especially compared to the time the developer alone may have had to spend in the endeavour of the research.
Writing on SO has its challenges and risks, in particular, the developer has to be able to succinctly describe the issue faced facilitating other developers in understanding the problem so they may answer and within a short time.
Poor structure of the question, verbosity and lack of vocabulary would generate waste of time, confusion and frustration in many developers willing to help and would reduce the probability of having a useful answer for the question.
Technical challenges on writing questions:
- facilitate skimming and scanning
- use proper technical vocabulary
- create an actionable question
- create potential test cases to reproduce the issue
Risks related to this interaction:
- the question won’t receive an answer
- the question may get downvoted
- the downvote may negatively affect the developer and prevent from further interactions
Developer benefits (externalities) on writing questions:
- increase technical writing ability such as structure, vocabulary, succinctness which will facilitate other developers in understanding a technical task
- potentially train resiliency to overcome frustration during the posting process
At this level, the developer should be in a comfortable relation with SO and the way to interact with it.
In answering a question most probably the developer will compete with other developers performing the same task. Thus the constraints related are time, pressure, technical knowledge while still maintaining high quality in structure, succinctness and vocabulary in answering.
The point system of SO push developers producing highly understandable answers within a short time. Shorter the time on answering, higher the probability of the answer being accepted as correct and prised with the extra point and the status benefits.
Being able to resolve a technical challenge is just part of answering task. Managing time, pressure and communication may affect as much.
Technical challenges on writing answers:
- technical knowledge
- understand the question and investigate missing cases and details
- time pressure as other developers competing for answering
- answering, express a solution in a way to facilitate the understanding
Note: Interestingly, for new-comer questions, it is not uncommon that the developer answering will first fix the question and then actually answer.
Developer benefits (externalities) on writing answers:
- improve question understanding: trying to reconstruct incomplete questions and requirements
- improve technical knowledge: answering may reveal edge cases and promote new learning
- respond under time pressure
- further, improve written communication skills
SO effects on businesses
It is clear at this point that there are different level of interaction that a developer may have with SO and that those may have different consequences for business activities and performance.
In particular, a business that will be able to hire or nurture a developer that developed and master all the ways of interacting with SO will potentially gain a subject within the organisation able to understand technical questions, communicate in a succinct and actionable way, facilitate the rest of the team and the organisation in expressing themselves; this besides the developer technical knowledge.
Some benefits on having devs interacting with SO:
- decrease time in problem-solving
- decrease time adopting new technologies
- increase quality in writing technical task and feedback: clear instruction, clear goals
- increase quality in writing technical specification: facilitate client communication, facilitate gathering requirements
Thus the potential strategic value in hiring or nurturing developers able to interacting with SO which will enable business achieving higher quality results within the constraints imposed.
SO is changing the IT industry in the problem solve space introducing a cumulative body of knowledge and a network effect.
This is evolving the way developers solve technical problems and interact; businesses should be aware of the training process the developer face interacting with SO and the resulting consequences at the organisation level.
On this basis we may speculate: developers should involve more with SO to be better craftsman and communicators, and at the same time business should be aware of the quality of work and the related economic benefit of having a developer trained on interacting with SO and should promote such activity as part of the training process within the organisation or and evaluate this aspect during recruiting.