Lane's Blog

Recent content on Lane's Blog
https://wagslane.dev/ (RSS)
visit blog
The Zen of Proverbs
8 Jan 2023 | original ↗

20 rules of thumb for writing better software. Optimize for simplicity first Write code for humans, not computers Reading is more important than writing Any style is fine, as long as it’s black There should be one way to do it, but seriously this time Hide the sharp knives Changing the rules is better than adding exceptions Libraries are better...

College: A Solution in Search of a Problem
17 Dec 2022 | original ↗

College has been prescribed almost universally by the parents of the last ~40 years as the solution to life’s problems. We’ve been told it’s the way to land a good job and to make more money. But is it? I think that most college degrees these days commit a cardinal sin in the business world. College degrees are solutions in search of a problem....

Thoughts on the "Guard" Proposal for Go's Error Handling
5 Nov 2022 | original ↗

I found this proposal for improvements to error handling in Go interesting, but still not something I’d be happy to see implemented. Allow me to clear up my thoughts on Go’s errors. Overall, I prefer how Go forces me to think about errors at every turn. When working in try/catch languages like JavaScript, I often easily forget which functions can...

Devops: An Idea so Good, No One Admits They Don’t Do It
29 Aug 2022 | original ↗

The ideas behind the DevOps movements undeniably changed the software development world for the better - but by now, the term “DevOps” has lost all meaning. Sometimes an idea is so good, that you can’t argue with it. I’m not saying that the original idea behind “DevOps” was perfect - I’ve written about some of the specific issues I’ve seen. That...

Learn to Say 'No'
27 Jun 2022 | original ↗

Saying “no” is a hard skill to learn. It’s even harder if you tend to be a more introverted person. However, learning how to say “no” effectively can help your career. I certainly have struggled over the years with saying “no” as a programmer, after all, wouldn’t a good programmertm be able to do anything? Let’s look at some example scenarios...

Businesses that Use Dark Patterns Deserve to Go Under
17 Jun 2022 | original ↗

What is a dark pattern? Last night I switched away from Verizon as my cell phone provider. The process of wrestling my phone number out of their grubby clutches and into control of my new carrier had me raving like a madman by the end of the night. I had a similar experience when trying to quit my local Vasa gym. While I’m sure you’re familiar...

Func-y JSON, an alternative to REST
17 May 2022 | original ↗

It’s insane to me that almost every web developer in the world is working with web APIs, and yet the developer experience remains atrocious. Most applications I’ve worked on have a RESTful scheme, a GraphQL implementation, or a more strict gRPC system. I’ve used REST for the most part, probably just because it’s what I’m familiar with, but I hate...

SEO is One Giant Scam of a Job
9 May 2022 | original ↗

I’ve been writing online for about 4 years now, and I’ve learned a bit about “SEO” - this blog and my side project’s blog (my side project being Boot.dev) now have combined traffic of about 100k visits each month. I’m sure there are a lot of people out there who know a lot more about growing relevant organic traffic for businesses than I do, but...

Things I don't want to do to grow my side project
1 May 2022 | original ↗

Working on a side project that aspires to be a real business has its ups and downs, especially after you’ve been at it for over 2 years. I’ve been hacking away at Boot.dev since March 2020, and for the most part, it’s been a ton of fun. However, at the end of the day, if you want your project to earn you enough cash that you can quit your day...

The Craziest Thing to Hear After Leaving Mormonism
5 Mar 2022 | original ↗

I grew up a faithful member of the Church of Jesus Christ of Latter-Day Saints, or the Mormon Church for short. I went to church weekly, paid tithing, and even served a 2-year proselyting and service mission in Paraguay from when I was 18 until I was 20. A few years after returning home, I ended up leaving the church after a long process of...

The Collapsing Quality of Dev.to
13 Sept 2021 | original ↗

A few years ago I found Dev.to, and was delighted by the writing experience. It felt like a platform with all the conveniences of Medium’s writing tools but wasn’t missing the features that developers need, like code blocks and markdown. I still think Dev.to probably has the best writing experience of any third-party blogging platform for devs,...

Keep Your Data Raw at Rest
30 Jun 2021 | original ↗

I want to talk about a simple rule of thumb that has served me well over the years. If you have data that depends on other data, try not to store it. If you follow this rule, you can deliver your code faster, mainly because you will avoid lengthy and painful data migrations. The guiding principle behind this call to action is that data at rest is...

Continuous Deployments != Continuous Disruptions
12 Apr 2021 | original ↗

Luckily, I’ve met very few engineers in my career who are outright opposed to continuous deployment. That said, I have met some, and I think their hesitation is usually rooted in the myth that continuous deployment causes more disruptions to end-users than a batched release cycle. What is continuous deployment? Before we get into the nitty-gritty...

Kanban vs Scrum – Why Kanban is More Agile
5 Jan 2021 | original ↗

Agile development is fantastic and has made software development more fun and productive while simultaneously less punitive and slow. While I’m a fan of Agile, I’m not a huge fan of one of its more common interpretations - a Scrum-based workflow. Let’s discuss why I generally prefer a “Kanban” workflow to traditional Scrum. If you’ve read my...

Go’s Major Versioning Sucks – From a Fanboy
15 Sept 2020 | original ↗

I’m normally a fan of the opinionated rigidity within the Go toolchain. In fact, we use Go on the front and backend at Boot.dev, and we’ve found that it’s wonderful to have standardized formatting, vetting, and testing across the entire Go ecosystem. The first big criticism I’ve had with Go’s opinionated nature is with the way the Go toolchain...

Optimize For Simplicity First
15 Aug 2020 | original ↗

We can’t optimize for everything when developing software, so we need to start with something, and that something should be simple code and simple architecture. For example, to over-optimize for speed in JavaScript, we might write our for-loops backwards to the detriment of readability. I believe we should optimize for simplicity first, and only...

Saving a Third of Our Memory by Re-ordering Go Struct Fields
7 Aug 2020 | original ↗

We had applications at one of my previous companies that typically ran with ~2GB in memory at any given time, but by simply changing the order of some uint variables we managed to drop the memory usage to less than 1.4GB. Let’s dive into how inefficient field ordering in Go structs can have a huge impact on the memory footprint of a program. Our...

Your Manager Can’t Code? They Shouldn’t Be Your Manager
14 Jul 2020 | original ↗

Managers who can’t code are an outdated artifact of corporate America circa 2005. The best managers that I’ve had spend ~80% of their time coding, architecting, or doing technical work that requires engineering experience. If your manager thinks coding and other technical work is “beneath” them then they need a dose of humble pie. Your...

Leave Scrum to Rugby, I Like Getting Stuff Done
18 May 2020 | original ↗

Scrum is a buzzword, the virtue signal of choice for middle management in software organizations. If your goal as a manager is to implement a system by which you: Speed up the appearance of progress Pay for twice the amount of people you need Gather approximate data based on meaningless metrics Then Scrum is exactly what you’re looking for! “Oh...

A Case Against "A Case for the Book of Mormon"
25 Aug 2019 | original ↗

“A Case for the Book of Mormon” is a book that is not freely available as far as I’m aware, but in this response, I will include relevant quotes for readers who don’t have access to the full book. Read on and I‘ll point out only the most egregious examples that the author, Tad R. Callister, makes in his book full of misleading logic and...

About Lane Wagner
1 Jan 2001 | original ↗

I’ve been writing code since 2010, first in Python, then primarily in Go and JS/TS. I’ve spent most of my career as a backend developer and data engineer. After a couple of years leading teams of Go developers, I’m now working full-time on Boot.dev and host the Backend Banter podcast. Get in touch Twitter Linkedin GitHub Email: lane at boot.dev...

↑ these items are from RSS. Visit the blog itself at https://wagslane.dev/ to find other articles and to appreciate the author's digital home.