You have just been assigned to review the code your team wrote. This sounds like a challenge. Here are some quite reasonable questions you might have: What do I have to do ? What am I looking for ? Am I doing this thing right ? I’m going to try to answer these questions in […]
Programming
What are code reviews: just the essentials ?
Code reviews, also known as peer reviews, are a process in which another person, or several other persons, have a look at your code and give suggestions for improvements and spot potential issues before they cause actual problems for real people. Now, I feel obligated to mention that code reviews are only one of many […]
What programming languages should I learn?
Over the last few weeks, I have been thinking about programming languages, and their use-cases. Mainly I was trying to answer for myself, the question “What programming languages should I learn?” (this is where this article started from). Full disclaimer: I am very much in favor of acquiring a broad spectrum of skills. How do […]
Computer latency – What is the cost of latency
Usually, when we think about improving the performance of a program, our mind wonders towards the Big O notation. As good as that model may be, there are more aspects of performance that we have to consider. One of the important assumptions that we make when we use the Big O notation, is that all […]
Jack of all trades – a case for a general programmer
What exactly is a jack of all trades ? According to vocabulary.com, a jack of all trades is a person who has some level of skill in many areas. The world is changing, and so must we Technology is changing faster than ever. If you look back even a few years, things seem almost unrecognizable. Just looking […]
What is computational complexity ?
Complexity analysis leans on the more theoretical side of computer science. Ironically, I know, given this site’s motto, however, bear with me, it might just be worth it at the end. Allow me to answer the first question you should have: What exactly is computational complexity ? I’m glad you asked! Computational complexity is one […]
How to step up your automated tests game
This is a follow-up of my previous post here. If you’ve ever had to write automated tests, you might have some bad memories lingering around. Automated tests have a way of becoming troublesome as time goes by. You end up spending more time fixing the tests than adding actual features. When that happens, you don’t care […]
Testable code design patterns
As you might have realized by now if you follow this little blog (and you should), I’m a huge fan of automated tests. If you’re not, I assume it’s because you either don’t find them useful, or you find them hard to add. Tests are useful because code breaks. My code, his code, everyone’s code […]
Greenfield project – how to get it right from the get-go
You lucky programmer you. You get to work on a new project. A shiny new toy for you. All the possibilities that lay ahead. Simply limitless! Now the only question is: how do we do this right? How do we make sure our little project does not end up a big ol’ mess that is […]
8 git commands I use everyday
If you are already using git, then you can skip this paragraph. If you are fist hearing this word, then I can give you the basics for now. Git is the most used versioning control system. It basically is a way you can track all the versions of the program without having to get creative […]