Sorry it took so long for me to get this one out! Learn Advanced Algorithms was just released, and I’m excited to let you all get your hands on it, even if you’re just auditing it for free! The more advanced material takes quite a bit longer to produce, I wanted to triple-check to make sure I got everything correct and that I’ve presented it in a way that makes it easy to understand.
I’ve noticed that bugs introduced into an existing code base are often due to poor variable naming more than one might suspect. For example, a developer uses a rateLimit variable expecting it to be denominated in seconds while it represents minutes, resulting in a 6x slower schedule. Another developer expects dbConnection to be an open database connection, but instead, it’s just the connection URI.
When you’re in a position of wondering, “Is a coding bootcamp worth it?” you should look at several factors. Coding bootcamp costs, on average, around $13,000. This holds true no matter if you choose to attend coding bootcamp in person or online, though there’s a lot of variance in how much coding bootcamp costs, ranging from $3,000 to $20,000 depending on the language, the length, and who’s running it.
Changing majors is a tale as old as time. A degree that would normally require four years to complete can quickly turn into a more expensive endeavor that takes five or six years for a student that can’t decide what they want to study. The interesting thing about programming jobs is that they don’t require a degree at all, but if you at least complete an associate’s degree, you’ll have a better chance of landing that first job.
When I was just getting into coding, I was very disorganized. I would create a new text file in My Documents, work on it, never create a Git repository, accidentally delete it later, you get the idea. Nowadays I’m quite the opposite. To be honest, the thing that made me get my act together was the quite unpopular and now deprecated GOPATH that early versions of Go required developers to work in. I think it was the right move to not force that organization as a requirement, but I actually quite liked the method personally, and still use a version of it to this day.
Last weekend I did a major revamp of boot.dev’s payment strategy, after toying with the first version since I launched in the summer of 2020, as it turns out, the microtransaction (gem) strategy didn’t work out to the benefit of my students, nor to the growth of boot.dev. As a result, I’ve flipped my funding strategy on its head and decided to make all of boot.dev’s content free to audit. Let’s take a look at exactly what that means.
There are two main options to get a programming certificate online - online courses and universities. 🔗 There are two ways to get a programming certificate online - universities and online courses. In the simplest possible terms, a programming certificate is something that lets you walk up to an employer and say, “Hello, yes, I know how to SQL. Here’s a piece of paper that proves it. You should hire me.”
So you might already know that the amqp package is awesome and you can get up and running with just 40-50 lines of simple code. Unfortunately, the bare-bones amqp library doesn’t handle a lot of the stuff you probably wish it did, things like reconnecting logic, the spawning of threads, queue and binding boilerplate, and flow control.
“Software engineer” has become a ubiquitous term for people who write, deploy, architect, or sometimes even simply test code. In reality, I think there are two classes of “software engineers”; those who understand computer science well enough to do challenging, innovative work, and those who just get by because they’re familiar with a few high-level tools. The laziness with which the tech industry has adopted the term “software engineer” has made it harder for us to distinguish between the two.
Functional programming is a way to write code where programs are created strictly through functions. Functional programming has gained quite a bit of traction in recent years among the development community, mostly because of the benefits it provides.
The journey to becoming a gainfully employed software engineer can feel long. The good news is, you can learn smarter not harder. Apply these eight tricks and you’ll be learning to program a lot faster than the average bear.
I’ve seen a lot of buzz recently about software developers wanting to form unions. I’m particularly interested in this topic while I’m #indiehacking boot.dev, where my goal is to provide a free-to-audit university-quality CS education. I also want to point out that at the time of writing I’m a full-time software developer working for a separate company (not boot.dev). I’m not a manager and boot.dev is just a side-project. As of right now, I’m pretty sure I’m a member of the proletariat.
If you’re like me, you wish all Git tags adhered to the Semantic Versioning standard. Unfortunately, Semver is just a convention, so Git tags can basically be any string of text. By default when you use the git tag command, your output will be in alphabetical order. Being a gopher, almost all the projects I work on are tagged according to Semver standards, which means the default output is fairly useless.
Golang has skyrocketed in popularity year over year, making it one of the best choices for career-conscious developers to learn. As an example, StackOverflow’s Developer survey saw it climb in popularity among developers from 10th in 2019 all the way to 5th in 2020. Additionally, a full 32% of developers surveyed in Insights Dice want to learn it. Go developers are paid well - globally, the StackOverflow survey found that Perl, Scala, and Go programmers have the highest salaries.
“Don’t repeat yourself”, or “DRY” for short, is a somewhat controversial principle of software development. It aims to make code cleaner, which is to say less buggy and easier to work with. DRY purports to accomplish this by reducing repetition in your codebase and replacing that duplicate code with abstractions like functions, classes, and methods.
Why was that adjustment to college classes so hard? Sitting through hours of lectures and PowerPoints can be challenging for even the most dedicated students.
In my full-time role at Nuvi, I’ve been lucky enough to work on a team where we’re able to push the boundaries in the natural language processing field. We built out several different “facets” that we score text on, including sentiment, emotion, vulgarity, tense, and currently, we’re working on promotion detection.
If you’re reading this article, you’re well aware of the great benefits that come with a programming job - high salaries for programmers, an expanding job market, exciting opportunities.
What is a binary search tree? 🔗 A binary search tree, or BST for short, is a tree where each node is a value greater than all of its left child nodes and less than all of its right child nodes. Read on for an implementation of a binary search tree in Python from scratch!
A linked list is a linear data structure where elements are not stored next to each other in memory. Unlike and array, elements in a linked list use pointers or references to each other to keep the list intact.
It sounds like a pipe dream. A well-paid programming job, with no experience? Get out of town. Well, as it turns out, it’s both just about as difficult as you believe, but probably easier than you think. As with most things, the main obstacle standing in the way of you getting a programming job with no experience is yourself.
And more importantly, how to choose the most popular coding language you should learn. 🔗 How can you decide what the most popular coding language is? It’s like trying to pick the most popular ice cream flavor - everyone has a favorite. The truth is that different coders prefer different coding languages for different reasons, and just when you think you can say a single coding language reigns supreme, a new one crops up, or an older one becomes relevant for a new application.
We think learning is better with friends! For every person you invite to join, you’ll both earn some free gems. As soon as your friend signs up, we’ll credit each of your accounts with, at the time of writing, 150 gems.
JSON, or “JavaScript Object Notation”, is a highly popular data exchange format that’s widely used in web development. In this post, we’ll explore several simple methods for converting a JavaScript array into JSON data. Plus, we’ll discuss the benefits of using JSON and how it can help improve your web development projects.
The most important thing to understand about these two fields of study is that, ultimately, they are similar. At the end of the day, Software Engineering and Computer Science will both help to make you a better programmer and developer, and the only difference between the two is how they are applied. Software Engineering tends to be more practical, and Computer Science tends to be more theoretical. In a way, Software Engineering is just applied Computer Science, and using that as a starting point, we can examine the differences between the two.