---
title: "The Go community survey results"
publication: "Go Weekly"
issue: 408
published_at: "2022-04-22"
canonical_url: "https://golangweekly.com/issues/408"
---

Plus working with SMTP, Go code organization, and turning your photos into triangles. |        

🇺🇦 #​408 — April 22, 2022 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/408)   

😅 Two weeks ago **we forgot to mention that we were taking a week off for Good Friday,** so if you thought you missed an issue last Friday, don't worry.. you didn't! :-) No planned breaks until at least August now, so we're back every Friday for the foreseeable. Sorry about the confusion.
__
_Peter Cooper and Glenn Goodrich_  

The _Go Weekly_ Newsletter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/mwavdhikh3e1xyxfu0pv.jpg)](https://go.dev/blog/survey2021-results)  

[The Go Developer Survey 2021 Results](https://go.dev/blog/survey2021-results) — The survey results are out. While they’re broadly in line with previous years, there are always a few interesting things that pop up, as well as getting to see where the community wants the team to focus next (bear in mind 'generics' was a top demand for many years!). Some key points: 

- Over 55% of respondents use Go on a daily basis.
- The most common languages being used for projects Go was considered for are Rust and Python.
- Improved depdendency management and debugging tools are the two top improvements Gophers want to see.
- Linux's popularity has dipped slightly, macOS stayed flat, and Windows has become more popular (going from 19% in 2020 to 24% in 2021).
- 73% of Gophers still have yet to try [fuzzing.](https://go.dev/doc/fuzz/) 

The Go Blog   [![\](https://copm.s3.amazonaws.com/4b4b498a.png)](https://dashboard.redisgreen.net/goweekly) 

[RedisGreen: Secure, Scalable, Full-Featured Redis Hosting](https://dashboard.redisgreen.net/goweekly) — The latest Redis features, instrumented and scaled with the tools teams need as they grow. 

RedisGreen sponsor   

[When To Use Generics](https://go.dev/blog/when-generics) — We’ve linked to Ian’s neat talk on generics before, but now his general guidelines for using generics have been written up and shared on the official Go blog. 

Ian Lance Taylor   

[A Deep Dive into Go for OpenFaaS Functions](https://www.openfaas.com/blog/golang-deep-dive/) — The creator of OpenFaaS (a functions as a service layer for Kubernetes) details the new Go templates in OpenFaaS that make life a lot easier (and your apps more robust), as well as improvements that came courtesy of Go 1.18. 

Alex Ellis   

**Quick bits:** 

- Go is [moving to using pdqsort](https://github.com/golang/go/commit/72e77a7f41bbf45d466119444307fd3ae996e257), a faster drop-in replacement for the current sorting algorithm. [pdqsort](https://github.com/orlp/pdqsort) (short for _pattern-defeating quicksort_) is a new-ish algorithm combining quicksort's fast average case with heapsort's fast worst case.
- [Go 1.18.1 and 1.17.9 were released](https://groups.google.com/g/golang-announce/c/oecdBNLOml8/m/Qpa5hGjrBwAJ) including three security fixes.
- Corey Quinn, everyone's favorite AWS analyst and Twitter snarkshark, has written about [learning Go from a motivation of 's**tposting' about it](https://www.lastweekinaws.com/blog/shitposting-as-a-learning-style/) – I gotta say I like the cut of his jib, and he even invites us to make fun of [his code](https://github.com/QuinnyPig/zcam-controller). It's learning by doing and having fun.     

Jobs  

[Golang Engineers — 100% Remote (North/South America & Europe)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects. 
Ardan Labs   

[Senior Software Engineer Backend (m/f/x)](https://about.aroundhome.de/en/job-details/?id=536600) — We’re seeking an experienced Golang dev to support us in building a next-gen tech platform that will offer our users and partners a first-class service. 
Aroundhome   

[Senior Software Engineer - 100% Remote (Argentina | Canada | EU)](https://grnh.se/e836737e2us) — Building cloud-native, real-time payment technology using Go, AWS, GCP, K8s, Docker, Terraform and Nats. [Find out more here](https://form3.tech/engineering). 
Form3   

[Find a Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

[SMTP Protocol Basics From Scratch in Go](https://notes.eatonphil.com/handling-email-from-gmail-smtp-protocol-basics.html) — At its core, email is based around open protocols and, in theory, you can spin up your own code to do sending and receiving with nothing else required. Phil gives it a go from Go. 

Phil Eaton   

▶[Discussing Go Code Organization Best Practices](https://changelog.com/gotime/225) — We’ve all got code sat around that we reuse between projects - how best to organize it? The _Go Time_ crew discuss. 

Go Time Podcast podcast   

[Revisiting Arrays and Slices with Generics](https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/revisiting-arrays-and-slices-with-generics) — [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/) has been a long standing learning resource in the Go world and it’s neat to see it getting updated like this. 

Learn Go with Tests   

[Should You Commit the Vendor Folder in Go?](https://blog.boot.dev/golang/should-you-commit-the-vendor-folder-in-go/) — Because there are no absolutes. 

Lane Wagner   

[Rapidly Building Interactive CLIs in Go with Bubbletea](https://www.inngest.com/blog/interactive-clis-with-bubbletea) 
Inngest   

[How to Generate Postgres Credentials with Hashicorp Vault and Go](https://splitmind.dev/posts/generate-creds-postgres-vault-with-golang/) 
Yandry Pozo  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/mz9pdr63egcwgcaiq9li.jpg)](https://github.com/esimov/triangle)   

[Triangle 2.0: Convert Images to Art with Delaunay Triangulation](https://github.com/esimov/triangle) — Takes your images, makes them more triangle-y. From the creator of the [Pigo](https://github.com/esimov/pigo) Go face-detection library. 

Endre Simo   

[panicparse: A Panic Stack Trace Parser and Debugging Tool](https://github.com/maruel/panicparse) — _“Crash your app in style”_(!) Helps debugging crashes and deadlocks in heavily parallelized process. Go 1.17 and 1.18 are now both fully supported. 

M-A   

[goda: Go Dependency Analysis Toolkit](https://github.com/loov/goda) — List or make cool graphs of what your program is using, including slicing them by OS or test packages or lots of other options. 

Loov   

[Free Activity Feeds & Chat APIs for Qualifying Teams](https://getstream.io/maker-account/?utm_source=GolangWeekly&utm_medium=Newsletter_Content_Ad&utm_content=Developer&utm_campaign=GolangWeekly_Apr2022_MakerAccount) 

Stream sponsor   

[TruffleHog: Finds Credentials All Over The Place](https://github.com/trufflesecurity/trufflehog) — Much as pigs will hunt for truffles, this Go-powered ‘hog’ will work its way through git repos, S3, your file system, and elsewhere, looking for secrets and other such nuggets you might not want out in the wild. 

Truffle Security   

[aws-lambda-go: Go Libraries, Samples, and Tools for AWS Lambda](https://github.com/aws/aws-lambda-go) — Libraries, samples and tools to help you build functions for AWS’s flagship serverless platform. v1.30.0 has added request and response types for Lambda’s new [Lambda Function URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) feature. 

Amazon Web Services   

[Qmgo: An Easier-to-Use MongoDB Driver](https://github.com/qiniu/qmgo) — It’s based upon the official MongoDB go driver but aims to provide an easier to use interface. 

Qiniu Cloud   

[jwt 4.0: Safe, Simple and Fast JSON Web Tokens for Go](https://github.com/cristalhq/jwt) 
cristaltech   

[Readline 1.5: A Pure Go Readline Implementation](https://github.com/chzyer/readline) 
ChenYe   

[Harmonica 0.2.0: A Simple Spring Animation Library](https://github.com/charmbracelet/harmonica) 
Charm         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
