Usage of Service Object Pattern and Mixin in Rails MVC

A common scenario in your Rails project is where you have a super fat model, containing bunch of methods that get called by the controller. Suppose you are running a backend application to serve requests from clients. This application is a content management system of a food delivery service, which means this application deals with any content related business action of all food products. The table relation looks like this:

Read More

A Rant About Becoming A Competitive Professional

Competitive is actually a strong word. It means a trait that defines an entity to fight or compete against other similar individuals or organizations, depending on the field. It indirectly means that professionals are living in a competition and naturally competition will end with winning or losing. For me, a competitive professional is a person that is capable to satisfy most of the top-level industry needs.

Read More

Special Rules of Pair Programming

Tech leaders in my company are big believers in pair programming. Ever since I relocated to my current place, I rarely skipped working on a task without pairing. I had been pairing with 4 people for one and half months, with different personalities. There are some nice learnings that I can think of to make a pairing session goes smoothly & ends with success.

Read More

After Sometime with Gitlab

Our devops just recently introduced Gitlab to replace our well-built CI/CD Jenkins (combined with Bitbucket as the repository). As a software engineer who only knows about coding (I was a mobile developer last year), I had no idea why were we investing our time to do a migration. Apart from that, Jenkins and Bitbucket combination seemed perfectly fine for me. But since we have a group of brilliant people in our devops team, they should have some reasons.

Read More