90% of all startups fail. This devastating figure is due to a variety of factors, which in their quantitative nature, can hardly reflect the pain and efforts behind the founding of a startup. According to Crunchbase, even basic product designs or service decisions lead in over 40% of all cases to the market not accepting the required solutions and the new company having to close its doors within 12 months. For the remaining contenders, a journey is just beginning, and its challenging nature is little comparable to anything else in the business sector.
[Read More]
What the ��� Is Fuzzing
Go 1.18 introduced a number of changes, but the much-anticipated introduction of generics to the language stole the spotlight. Since the release, many people have been talking about generics and when to use them, but 1.18 also introduced native support for fuzzing to the go ecosystem which isn’t getting quite as much attention. Fuzzing is an interesting concept and Go the first language to support it natively, so let’s take a look at what this fuzzing thing is and what it can do for us!
[Read More]
Channels in Go
It’s been some time since I’ve been using Go as the main language for backend development. Whenever I meet someone and they ask me what is the special thing about Go? I always have many things to say about that and definitely channels is among them. So if you’re like me, who started multithreaded programming in C or any other language, and know how tricky it can be to communicate and synchronise between the threads for writing concurrent programs using sockets, pipes, and mutexes, you’re in for a treat 😍
[Read More]
Defer in Go – how I started
For Go learners: What is that damn defer supposed to mean everywhere in Go code? If you’re a Go newbie like me and you have to jump in at the deep end and read “real” Go code, you’re constantly surprised by language features you don’t know yet. Fortunately, they’ve always been nice surprises so far. One of the Go features that surprised me is introduced by the keyword defer, which can precede a function call.
[Read More]
TechDebt – Stiefkind der Softwareentwicklung
… ungeliebt und missverstanden. Doch eigentlich liegt darin ein großes Potenzial. Denn bei jedem Softwareprojekt lernen alle Beteiligten im Zeitverlauf immer mehr über die Materie. Man muss dafür sorgen, dass die Software das aktuelle Verständnis widerspiegelt (und die alten in Code gegossenen Annahmen korrigieren/anpassen). Und das ist möglich durch Abzahlen der technischen Schulden.
[Read More]