A tertiary education is important but some things look even better on a resume

Don’t get me wrong — a tertiary education is important, especially if you attend a school that is closely linked with the industry. It usually provides good pointers and sound fundamentals of what computer science is.

However, in the internet-driven world we live in, if you want to start your career as a software developer, your Computer Science degree should not be the most important point in your resume.

So what are the 5 things better than a computer science degree? They are listed below, ordered from easiest to hardest.

Technical Social Media

The more we’ve learned, the more we’ve realized there’s so much more to learn

A young man looking out of an apartment window.
A young man looking out of an apartment window.
Photo by Norbert Kundrak on Unsplash

As developers, the longer we’re on the job, the more experience we gain. Eventually, we may even become the go-to person on our team or in our organization, seen as the technical guru of our field.

At this level, we get a self-esteem boost, which is positive. But at times we may fall into the trap of getting an unnecessary ego. The wrong mindset creeps in, which can lead to the beginning of our downfall.

I’ve been through that journey. So I now consciously remind myself not to fall into one of those mindsets again. …

The Programming World

Software development is a rapidly changing profession — and you gotta keep evolving

Silhouetee of man on a plane.
Silhouetee of man on a plane.
Photo by Joshua Sukoff on Unsplash

If someone asks which jobs will be obsolete in the next decade, the jobs that come to mind are those that could be replaced by machines and software, e.g. professions like driver, broadcaster, travel agent, sports official, and many more.

To many, software development is never on the list. Software is the future, hence it is the most secured job. Really?

Well, it makes sense but it’s not always true. Here’s why:

Software Development Is the Most Changed Profession

Hardware architected to last;
Software architected to change
Change is the only thing that last;
Software wins.

Assembly programming was considered software. Then C language became the norm…

For when coffee isn’t enough to bring a smile to your face

Photo by Ben White on Unsplash

As I was looking for some useful coding quotes, I discovered many funny ones. Enjoy reading them — I thought these should be compiled together.

Most are from other sources (as per linked), with the exception of a handful that are my own.

I have separated them down into:

1. The Programming Life 
2. Software Engineering
3. Languages and Logic
4. Platform, Tools, and Administration
5. General

Hope you enjoy at least some of them!

The Programming Life

  1. “Programmer: A machine that turns coffee into code.” (source)
  2. “Computers are fast; programmers keep it slow.” (source)
  3. “When I wrote this code, only God and…

The Software World

Applying the SOLID Principles is a goal, never destiny

Photo by Michael Dziedzic on Unsplash

Robert J. Martin introduced the SOLID Principles in 2000 when Object-Oriented Programming is state of art for programmers. Everyone wants to design something that is lasting, can be reused as much as possible, with minimal change needed in the future. SOLID is the perfect name for it.

In fact, Object-Oriented Programming works best when we can separate out what will stay from what will change. SOLID Principle helps advocate that.

I personally love the idea behind SOLID Principles and learned much from it.


There is one major challenge, all software is meant to change. And it is really hard to…

Learning Android Development

Google has got more ready for M1 MacBook Pro than Its Warning Message

Photo by Karthikeya GS on Unsplash

My first impression of setting up Android App Development on an M1 MacBook Pro is not as positive as I hope to get it, as my blog below. It is working, but it is not ideal in various way.

The main drawback that hit me is Android Emulator. When we setup Android Studio, it straight away hit us with the below message.

Learning Android Development

Is Android Development good in M1 MacBook Pro?

Photo by Martin Katler on Unsplash

Late last year, Apple came up with its own Apple M1 Chip MacBook Pro. It’s so exciting as even with the 13.3" device, it seems to outperform much better than its previous generation better devices.

Does it mean I should jump onto it for Android Development?

Below is my first glance of it…

Spec looks good

By default, the M1 MacBook Pro came with

  • 8 core-GPU
  • 8GB of RAM
  • 256 GB of Storage

However, we can configure the RAM to 16 GB, and with much larger storage e.g. 512 GB, which to me, is good enough for Android Development.

Besides, I like the…

Learning Android Development

Make Learning Jetpack Compose Easy

Photo by Tim Carey on Unsplash

I previously shared about Android Jetpack Compose AnimationSpec and illustrate it with auto plotted graph as per in the particle below.

The AnimationSpec provides us the ability to define what the progressing animation computed result will be, with a target end animated result (e.g. the alpha value, we can animate from 0 to 0.5 to 1 and to any other value).

animatable.animateTo(targetValue, animationSpec)

However, at times, there are some animations that we should not have control over the end result, but only having the initial velocity provided to it, e.g. the Fling behavior.

For such animation, we will need to…

Learning Android Development

Make Learning Jetpack Compose Easier

Photo by Denise Jans on Unsplash

Sometime back, I made a simple app that helps to plot the animation interpolator and make it easier to understand how it works. What is interpolation? Below is a simple description.

Learning Software Development

Design software for better extensibility consideration

Photo by Customerbox on Unsplash

Assuming we have a simple app we want to create that has 2 features. To make out code has better separation of concern, we break each feature into ViewController, ViewModel, and Repository.

Then when we code the second feature, we do the same, i.e. break it into the same pattern i.e. ViewController, ViewModel, and Repository.

Now we have a dilemma, how should we group our code based on feature, or should we group our code based on function (e.g. ViewModels group together, ViewController group together, Repository group together)?


Passionate about learning, and sharing mobile development and others https://twitter.com/elye_project https://www.facebook.com/elye.proj

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store