Smart software development


Value Object vs Entity

What is Value Object, what is Entity and why should we care? Let’s take two examples, Currency and Person. But before we start, let me give you an answer right away. Currency is value object and Person is entity. Why? Currency is something that has clear value that does not change easily. For example, Dollar […]

Don’t write good comments, write good code

When a new programmer comes to our team, one of the first questions we are being asked by her or him is how come we have no comments in our code. So we have to tell the same story all over again. If I am personally asked I would give the answer that if you […]

Practice is only thing that matters

Software development is not the God given talent. Yes, it is true that some people are genetically prepositioned to be better in that area, just the same as Math, Science, learning languages or fixing cars. But that will give you only small percentage of advantage over the less talented. You will not become a professional […]

Pre-commit hook for behat tests

If you are working on small project and you’re using Behat tests, there will be times when you change code and as consequence of that, introduce a bug or break a feature. And more often than that, because we are humans and we forget to do things all the time, you will not run your […]

Work ’till you drop dead

I always listen to the story that person cannot become an excellent developer if he/she only work at his/ her job and do not do any side-projects or read at ones free time at home. So let us analyze if that is correct. The argument is that in order to become great software developer it […]

Architectural Styles Explained in PHP

You can decide on many architectural approaches and styles when starting new PHP application. This will be very superficial overview of different architectures, but it will be enough for you to start thinking about different ways you can structure your application. I picked four to talk about. Three will be in this post and the […]

Five basic things developers do wrong when building API

First thing that is important, when making API and what developers often forget, is versioning. Why is versioning important? Well, let’s consider this: You have built your application around some API and of course now you are heavily depend on it. Consider that you have your methods that fetches some JSON from path that you […]

Preparing for your first job

It’s your first day at your new job. You are hired as a software developer. You get read and write permissions for the project you are going to work on. You start reading the code and as you go deeper and deeper into it, you start getting a panic attack. This is not what the […]

Being a professional programmer

In this article I will tell you about my story of becoming the professional programmer. I have been programmer for 9 years now. For the most of that period I was not the professional one. Not that I did not work in companies for money (which could be the definition of being professional in some […]