Category Archives for articles

Best Practices != Writing Good Code – Evaluating code quality

Writing good code is the dream of passionate developers.

However, it does not help us that the measuring bar for determining good code is quite relative. It is not like a test score, which states that you scored 89 out of 100. People read and write code differently, resulting in a variety of proven and tested solutions to common problems which are known as best practices.

Best practices such as ideal naming conventions differ for each programming language. For example, writing good code in Java and its best practices may not be in perfect alignment with writing good code in JavaScript.

The most common misconception that I want to tackle is that

Writing good code is all about following best practices

Following best practices is important, as they are proven solutions, ways or methodologies that help developers write value-adding code. However, blindly applying these practices without understanding the purposes and intent behind it will eventually lead to the developer shooting themselves in the foot.

The purpose of this post is for us (myself and those that read this article) to re-evaluate the way we write code by being mindful of what good code is.

This tutorial will examine

  • common criteria for determining code quality.
  • the importance of immediately refactoring poorly written code.
  • the pros and cons of the prevailing mindset towards best practices.

I want this to be informational, meaningful and of great help to developers in all stages of their journey. We will be working from the ground up starting from what is good code, and working out way up towards scrutinizing the initial mindset and view of modern developers when they hear the term “best practice“.

Continue reading

How to Learn a New Programming Language Effectively

Learning a new programming language does not have to be boring or difficult.

Developers can and should learn to study smartly when they attempt to learn a new programming language. The ability to learn a new programming language effectively will scale and become more pronounced as the developer continues to invest their time and effort into sharpening their skills.

The days of monoglot programming are behind us.

If you examine job posts for developer jobs, they usually list at least two languages and also a working knowledge of multiple frameworks.

Therefore, the need to continue learning new frameworks and programming languages will continue to exist into the near foreseeable future.​

In this post, I wish to address developers that are already proficient at one or more languages.

Unlike the other posts, where I go into extreme depth, I will aim to keep this post short and concise.

If readers want more detailed content, I might add a "read more" tab with details in this post later on. Let me know via comments :).

Continue reading

How to Write Clean Code that Reduces Headaches

Clean code is an elusive concept due to the varying opinions of developers.

However, I believe that there are few common points that most developers (if not all) can agree on.

I will be discussing both the common points and also my own opinion on what clean code is.

You might be asking:

Why write a post on clean code when so many highly acclaimed people such as Uncle Bob wrote books on this topic?

Well, my answer is simple:

I am highly passionate about writing clean code, because nothing frustrates me more than code that reads like code.

You dig right?

By finding these common grounds, the discerning and pragmatic programmer can write code that not only works like a well-oiled machine, but also reads like a well-written book.Continue reading

How to Become Better at Coding – A Revitalizing Journey

Every programmer wants to become better at coding. There is absolutely no doubt about it.

However, there are so many people who are either clueless or lack the discipline and motivation to better themselves.

This article is aimed to address the following points

  • Propose reasons why you are not improving at your desired rate.
  • Provide practical, actionable steps towards becoming better at coding.

This article is aimed at programmers that want to improve, find motivation or become better at coding by conducting a thorough diagnosis. 

I will systematically bring you through a journey where you evaluate your rate of growth, identify bad habits and practices that are holding you back from becoming better at coding.

We will end the journey with tips and advice (derived from personal experience) on how to become better at coding.  

Hopefully, this list will help you as a reader become better at coding. I plan on continuously updating the post as I continue to ponder about ways to become better at coding (and of course with your feedback as well).

Without further ado, let us begin this journey of refinement, growth and self-discovery!

Continue reading

Level up your Problem Solving Skills

If you have been following this blog, you probably know by now that I love playing around with algorithms and data structures.

Recently, I was sick, so I took a break from blogging. 

While I was resting, maybe because I don't have much to do, I began to think a lot.

One of the things that popped into my mind was the following question

How does a programmer effectively improve their problem solving skills?

Click to Tweet

The most immediate answers that popped into mind head are the following actionable items.

  • Solve as many problems as possible.
  • Work on a side-project.
  • Solve problems with somebody else and bounce your thoughts off them.
  • Take a class.
  • Watch a video on problem solving.

Don't get me wrong. These answers are not wrong.

However, I felt that the root cause of a majority of the pain points in problem solving remains largely unanswered, leaving much to be desired.

Below, is what I think is the root cause.

Continue reading

Best Books for Learning Java Effectively

In this post, I will be listing books that I recommend Java developers to read. 

I have personally purchased and read through each of the books in this list. And I have also read other books related to Java that are not on this list. Please note that these are simply a list of books that I felt had the greatest impact for me personally. I am sure that there are other books out there that are great.

I read countless number of articles, a fair share of books, watched many videos on Java. In this post, I am putting up the books that impacted me the most in journey of learning and discovery.

Please bear in mind that the​ listing order does not bear weight on any of the qualities and/or traits of each individual book.

Continue reading