How do you recognize a senior software developer. It’s not like they all wear badges or have custom-made cups. Well, some do, but not all of them. I think the easiest way to recognize a senior software developer is by the stories they have. You can judge one’s level of seniority quite well by how […]
coding
How to learn a new programming language
In this article, I’m trying to synthesize my tried-and-tested approach to learning a new programming language, or a new framework. This is not a zero to hero guide to programming. I will be assuming that you have experience with at least one programming language. There is an easy way of going from “I know Java […]
How to do code reviews
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 […]
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 […]
Async programming models part I
Asynchronous programming is everywhere around us and it’s here to stay. You might have noticed that CPU’s keep getting more cores as time goes by. Therefore, it would be a shame to let all those cores go unused in your app. In this article I shall be your guide through the various async programming patterns […]
Be a more productive coder – Some metrics you should use
What does make a good coder ? Is it the number of lines of code they write in a day ? How about the number of work hours they put in the office? Maybe it’s how fast they code, how quickly they solve any given issue? Well, as you might have guessed by now, I […]
How to write better code – 6 things I did not found on the first page of google search results
I know there are millions of answers to this question (I for one get 484,000,000 hits on google when I search for How to write better code). They all seem to revolve around the same general idea, so I will not be repeating that. You are free to do a google search yourself and read through those. […]