10 Takeaways from Stack Overflow’s Conference to enhance Developer Productivity
Here are my top takeaways from attending “Flow State 2022” — Stack Overflow’s conference on developer productivity.
- Developers’ focus is valuable and is directly related to their productivity and happiness.
- Tech organizations should protect their Developers from disruptions. (Those that do, reap benefits.)
- Developers spend a ton of time each day searching for knowledge. Enabling knowledge re-use is a great way to decrease disruptions and enable developers.
- Stack Overflow’s commercial products are directed at increasing developer productivity + developer focus. (I personally think they’re pretty great.)
- Bottom line: If your company uses Stack Overflow for teams (free for teams < 50 people), you should post your questions there — instead of slack/chat!
Amidst the bristling skyscrapers of NYC’s financial district, a gathering of tech’s brightest minds congregate at Stack Overflow’s conference to discuss developer productivity. The term “flow state” — a full immersion in ones’ tasks— is thematic throughout the day. It is also a pun and therefore highly valued amongst this cohort.
Here are my top takeaways from the day:
1. Developers spend a lot of time searching for knowledge, online
Continuous learning is essential to software development. Unsurprisingly, developers spend a considerable amount of time searching online for knowledge. Many times, this search starts with a question — 62% of developers spend 8+ hours / month searching for answers online. Only 46% spend comparable time answering questions. This results in a continuously growing knowledge gap. As result, over 50% of developers experience disruptions due to knowledge gaps per week.
2. Knowledge reuse is essential for Developer productivity
Knowledge reuse is when one person’s experience or learnings are shared + are accessible to others in an organization (or to the public). An example of knowledge reuse is when you follow someone else’s guide on how to install SSL certificates on your computer, instead of figuring out how to do it by yourself from scratch.
As mentioned by the previous point, developers spend a lot of time searching for knowledge. It’s important to point out that developers are highly skilled at searching for knowledge (and learning stuff) — the stuff they are searching for is non-trivial. Consequentially, the yield of their search (the answers to their questions/issues) are valuable and should be re-used.
Companies which employ knowledge reuse benefit from improved developer efficiency (upwards of 10% improvement) and other good stuff.¹
3. Flow State makes developers happy
When developers are able to focus on complex problems for a long time, they are happy. When their focus is interrupted, they get stressed.²
Flow State defined:
According to Headspace, “Flow State is sense of fluidity between your body and mind, where you are totally absorbed by and deeply focused on something, beyond the point of distraction.”
4. Alignment (which also makes people happy) requires technical mastery + technical influence.
Malignment is bad. Alignment good. Good organizations should help their developers learn technical skills + power skills, so they can advocate for their values and be a source of technical influence.
5. Demand for qualified software developers outpaces Universities’ capacity to teach them.³
This surprised me.
Universities cannot keep up with the demand for computer science programs. As a result, they are becoming more competitive to gain entry to — which according to Clive Thompson, is an unnecessary intervention.
The Hard Part of Computer Science? Getting Into Class (Published 2019)
Send any friend a story As a subscriber, you have 10 gift articles to give each month. Anyone can read what you share…
6. Autodidactism will always have a place in tech (though not in all companies)
Only in tech do you have PhD’s working along people who are self-taught (though not all companies value it equally). That’s because software engineering requires continuous learning, so everyone is somewhat self taught in that regard.
Take Boeing, they make planes. Can you imagine if they had PhD’s who study aerospace working next to someone who happened to make plans in their backyard? That would never happen! But in tech, it happens all the time!
– Clive Thomspon (journalist + author)
It’s worth mentioning that this was in response to a question I posed on the role of autodidactism. This is especially relevant to me, since I (yeh author) am self-taught.
7. Articulating a technical question is a skill
How we learn starts with a question. However, it’s difficult to know how to articulate a technical question. This is where a lot of people “land on the rocks” when learning.
8. Distractions are commonplace
People switch their screens 566 times per day!⁴
9. Three proven ways to preserve attention/focus⁵
Psychologist and researcher Dr. Gloria Mark offers the following 3 tools to preserve attention:
- Attention is goal oriented. Keep your goal in mind while working.
- Practice meta awareness. Ask yourself if you are feeling energetic / drained.
- Design your day based on your rhythm of attention.
10. Focus as a measure of Engagement + Being Challenged
This chart is a fun one, credit to Dr. Gloria Mark. (I hand drew it in my office because it’s fun.)
BONUS: Some cool language to use when discussing developer productivity 🏆
I picked up some cool words, here they are:
- Code elegancy
- Code efficiency
- Shoulder surfing (slang version though, to learn by watching someone)
- Learning in the flow of work
- Capture learnings
This was a cool conference to attend. I have an increased appreciation for developers’ focus time. I am motivated to protect developers’ focus time — including emphasizing knowledge reuse and decreasing interruptions. Also, it was super cool to meet the Stack Overflow team!
- McCarey, F., Cinnéide, M. O., & Kushmerick, N. Knowledge Reuse for Software Reuse. https://web.archive.org/web/20161212223826id_/http://csserver.ucd.ie/~meloc/papers/Web_Intelligence&Agent_Systems_2008.pdf
- Graziotin, D., Fagerholm, F., Wang, X., & Abrahamsson, P. (2018). What happens when software developers are (un) happy. Journal of Systems and Software, 140, 32–47. https://scholar.google.com/scholar?cluster=3783656485504148077&hl=en&as_sdt=0,33
- Singer, N. (2019). The hard part of computer science? Getting into class. The New York Times, 24. https://www.nytimes.com/2019/01/24/technology/computer-science-courses-college.html
- Lieu, T. A., Warton, E. M., East, J. A., Moeller, M. F., Prausnitz, S., Ballesca, M., … & Reed, M. E. (2021). Evaluation of Attention Switching and Duration of Electronic Inbox Work Among Primary Care Physicians. JAMA network open, 4(1), e2031856-e2031856. https://scholar.google.com/scholar?cluster=6149014360443638172&hl=en&as_sdt=0,33
- I actually can’t find a resource for this yet. Linking Dr. Mark’s bibliography for now: https://www.ics.uci.edu/~gmark/Home_page/Publications.html