Top 8 Benefits of Functional Programming

calculus on a chalkboard

Functional programming is a way to writing 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. Functional programming is a declarative way to write provably correct code. Function definitions are expressions that simply map inputs to outputs, rather than a … Read more

Top 8 Tricks to Learn Coding Fast

fast motorcycle

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. There are no shortcuts. Learn the basics first Don’t watch YouTube videos Learn by doing. Hands-on courses … Read more

What Do Computer Scientists Do?

coding with coffee min

At work, computer scientists build and deploy programs, algorithms, and systems to solve real-world problems. In most tech jobs, they spend the majority of their time working in teams on new software products. Some computer scientists are more research-oriented however, and may spend time developing new algorithms or pushing the boundaries of what academia knows … Read more

Is There a Case for Programmers to Unionize?

worker union

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 Qvault, 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 … Read more

View Git Tags with Semver Ordering

What is semver

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 … Read more

The Pros and Cons of DRY Code

desert landscape

Clean code is like clean garbage – it’s only clean if it doesn’t exist. In other words, the only clean code is no code. Let’s start with an acknowledgment that a perfectly clean (empty) codebase is useless. With that in mind, our pursuit of clean code will necessarily consist of tradeoffs. We’ll trade usefulness for … Read more

Building a Linked List in Python with Examples

writing a todo list

A linked list is a linear data structure where elements are not stored next to each other in memory. The elements in a linked list are linked using pointers or references. Linked lists are an ordered collection of objects, similar to a normal list. Linked lists stand apart from lists in how they store elements in memory. While regular lists like arrays and slices use a contiguous memory block to store references to their data, linked lists store references, aka pointers as … Read more

Kanban vs Scrum – Why Kanban is More Agile

board and sticky notes

Agile is great and has made software development more fun and productive while simultaneously less punitive and slow. In this article, I plan to go over my favorite parts of Agile development and point out why I generally prefer Kaban to Scrum. If you’ve read my first article, you’ll know I’m not Scrum’s biggest fan. … Read more