The Software Word

Picture from Pixabay by Yuri_B

Over the course of my career in software development, I have had the great privilege of working under different technical leads. They are the people who drive the forefront technical direction of the team. I have learned much from them.

To be a great tech lead is hard. It’s an…

People in a meeting
Photo by Leon on Unsplash

In my early software development career, with much hard work, I am very fortunate to become a software manager relatively early. Being relatively young and naive as a new manager, my focus has been on commitments and project deliveries.

Still, I did well and climbed the management ladder to become…

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…

The Programming World

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…

Learning Kotlin

Photo by Compare Fibre on Unsplash

When we want to use Coroutine for networking, I discover 3 approaches as below (there might be others, let me know if I miss them)

  1. Use launch
  2. Use async-await
  3. Use suspendCancellableCoroutine

The detail of how to use them to run on background, handle errors and crash and canceling, is in…

Learning Kotlin Language

Photo by LumenSoft Technologies on Unsplash

Earlier this year, I wrote about Network Call using Coroutine’s Launch and Async-Await. It demonstrates how to make multi-threaded flow synchronous, using suspend function.

Before the days of coroutine though, since a direct network call is not the way to go, many network libraries have provided API that is no…

Learning Android Development

Photo by Gonard Fluit on Unsplash

Jetpack Compose is the future! I strongly believe that. It is not just having normal UI components. It can also be used for Canvas drawing, as simple game development.

With that, I’m curious, does that mean with Jetpack Compose, we won’t need Surface View anymore as well?

To experiment with…

The Software World

People in a meeting
Photo by Headway on Unsplash

Whenever we face something new during development, there’s a trap that we at times might accidentally fall into, i.e., make another process.

Don’t get me wrong. Processes are important. Without them, there will be chaos. But having too many of them will have adverse effects.

Therefore, before any process is…


Sharing Software Development Experience, focus on Mobile.

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