Boot.dev Blog
Top 20 Entry-Level JavaScript Interview Questions
by Jamie Dunmore
Versatile, powerful and ever-present, JavaScript is the world's most used programming language (for eight years and counting!) and shows no signs of slowing down. Check out these 20 practice interview questions for JavaScript! If you're on the job-hunt for an entry-level position, read on.
Our Learn Python Course Has Released
by Lane Wagner - Boot.dev co-founder and backend engineer
We've just launched our latest course, Learn Python.
What are UUIDs, and are they better than regular IDs?
by Lane Wagner - Boot.dev co-founder and backend engineer
In the context of back-end web development, an ID is just a unique identifier for a record of data. For example, each user on a website will have its own ID. If the site is a social media platform, then each post will also have a unique ID.
What is Go Good For? (And What Is Golang Used For?)
by Jamie Dunmore
In 2007, frustrated by some of C++'s inefficiencies and overcomplicated nature, and desiring a programming language designed specifically for multi-core processors and effectively managing large projects, three Google engineers, Robert Griesemer, Rob Pike, and Ken Thompson, designed the Go language.
Golang vs C++: Which is Best For Your Next Project
by Meghan Reichenbach
Needing to be a math genius to learn to code is a thing of the past. High-level programming languages offer an alternative to low-level machine code, which makes coding more accessible than ever. Let's dive into how Golang, a modern higher-level language, matches up to C++, a tried-and-true low-level language. We'll cover the most important points like which language is more performant, which is easier to learn, which results in cleaner code, and which programming methodologies guide their respective designs.
Beautiful Language and Beautiful Code
by
"Dead Poet's Society" is a classic film, and has become a recent favorite of mine. There's a scene in particular that I enjoy, where Robin William's character explains that it's bad practice to use terms like "very tired" or "very sad", instead we should use descriptive words like "exhausted" or "morose"! I wholeheartedly agree with what's being taught to the students in this scene. It's tiresome to read a novel where the author drones on within the bounds of a lackluster vocabulary. This brings me to the point I wanted to emphasize in this short article:
Intro to the One-Time Pad Cipher
by Lane Wagner - Boot.dev co-founder and backend engineer
In cryptography, the one-time pad, or OTP is a way of encrypting information so securely that it's impossible to be cracked. That said, OTP has a major drawback in that it requires both parties to have access to the same key before a message is encrypted.
16 Great Coding Challenges You Can Try Out
by Zulie Rane - Data analysis and computer science techincal author
Coding challenges are a fun way to improve your coding quickly.
Building a Red-Black Binary Tree in Python
by Lane Wagner - Boot.dev co-founder and backend engineer
A red-black tree is a kind of self-balancing binary search tree. Each node stores an extra bit, which we will call the color, red or black. The color ensures that the tree remains approximately balanced during insertions and deletions. When the tree is modified, the new tree is rearranged and repainted to restore the coloring properties that constrain how unbalanced the tree can become in the worst case.
Quick Sort in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
Quicksort is an efficient sorting algorithm commonly used in production sorting implementations. Like Merge Sort, Quicksort is a divide-and-conquer algorithm. As the name implies, Quicksort is one of the fastest sorting algorithms, but you have to pay attention to detail in your implementation because if you're not careful, your speed can drop quickly.
How to Write Insertion Sort in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
Insertion sort builds a final sorted list one item at a time. It's much less efficient on large lists than more advanced algorithms like quicksort or merge sort. Insertion sort is a simple algorithm that works just like you would arrange playing cards in your hands. A slice is first split into sorted and unsorted sections, then values from the unsorted section are inserted into the correct position in the sorted section.
Merge Sort in Golang with Examples
by Lane Wagner - Boot.dev co-founder and backend engineer
Merge sort is a recursive sorting algorithm and, luckily for us, it's quite a bit faster than bubble sort. Merge sort is a divide and conquer algorithm.
Writing Bubble Sort in Go from Scratch
by Lane Wagner - Boot.dev co-founder and backend engineer
Bubble sort is named for the way elements "bubble up" to the top of the list. Bubble sort repeatedly steps through a slice and compares adjacent elements, swapping them if they are out of order. It continues to loop over the slice until the whole list is completely sorted.
Check for Standards Before Creating a New One
by Lane Wagner - Boot.dev co-founder and backend engineer
I recently had a ticket opened on my team's backlog board requesting the ability to bypass our API's caching system. For context, our front-end team uses my team's API to make fairly heavy requests to ElasticSearch, and one of the features of our API gateway is to cache the results of heavy aggregations for ~30 seconds. It turns out, every once in a while they need to run two of the same query within the ~30-second caching window and want an updated result set.
Defer in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
The defer keyword is a fairly unique feature of Go. It allows a function to be executed automatically just before its enclosing function returns. The deferred call's arguments are evaluated immediately, but the function call is not executed until the surrounding function returns.
7 Critical Reasons Beginner Programmers Should Learn JavaScript in 2026
by Zulie Rane - Data analysis and computer science techincal author
"Why learn JavaScript?" I asked my sister when she was in college and starting to pick up the fundamentals of JavaScript. "Isn't it ancient? Do people still use it?"
Comprehensive Guide to Dates and Times in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
Keeping track of time in code has long been every developer's nightmare. While no language or package manages time perfectly, I think Golang does a pretty good job out-of-the-box. This full tutorial should answer ~90% of the questions you'll have about time management in Go.
The 10x Meeting - Solving for Too Many Meetings
by Lane Wagner - Boot.dev co-founder and backend engineer
Perhaps you've heard of the fabled 10x developer (or 10x engineer) - the one on the team that's 10x as productive as their average colleague. While many, including myself, doubt the existence of such people, I do think there are meetings that are 10x as productive as the average meeting. My goal in this article is to break down their properties so we can have 10x fewer meetings.
Concatenating with strings.Builder Quickly in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
The Go standard library makes concatenating strings easy. Concatenation is just a fancy word for adding strings together to make a larger string. For example, if we concatenate "hello", " " and "world" we'd get "hello world".
Golang vs Python: Which Language is Best For You?
by Zulie Rane - Data analysis and computer science techincal author
In a world where the ability to write any code at all is a tremendous advantage, often the biggest problem coders face is knowing which language to start learning, rather than whether to learn one at all. There are different languages for just about every purpose you could think of. Of those popular coding languages, programmers often face an intense battle of Golang vs Python. (The official name is Go, but the website is Golang.org, so programmers typically refer to it as either interchangeably.)
The Ultimate Guide to JSON in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
As a language designed for the web, Go provides extensive support for working with JSON data. JSON (JavaScript Object Notation) is an incredibly popular data exchange format whose syntax resembles simple JavaScript objects. It's one of the most common ways for applications to communicate on the modern web.
Migrating From Vue-CLI & Webpack to Vitejs
by Lane Wagner - Boot.dev co-founder and backend engineer
Boot.dev's web app that hosts all of my coding courses is a single-page application written in Vue 2, with plans to migrate to Vue 3 soon™©®. In the meantime, I happened across a cool new tooling app called Vite that promised a few things that caught my attention.
How Replace a String in Go - Top 5 Examples
by Lane Wagner - Boot.dev co-founder and backend engineer
Go has a powerful standard library that makes string manipulation easy right out of the box. One of the functions I use most often is the strings package's Replace() function. strings.Replace() returns a copy of its input string after replacing all instances of a given substring with a new one.
String Enums in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
My least favorite part of Go? Glad you asked. It's Go's lack of enums, sum types, tagged unions, etc. Compared to other statically typed languages like:
Splitting a String into a Slice in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
I can't begin to tell you how often I split strings in Go. More often than not I'm just parsing a comma-separated list from an environment variable, and Go's standard library gives us some great tools for that kind of manipulation.
