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 intricate balancing act between two poles of the same attribute. Too much on one side and one can fall.
Below are a few of the attributes that I admire in the best tech leads.
There is no tech lead who doesn’t have any opinion on anything. They are promoted to…
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 senior manager without even realizing I had missed out on so much of what I should or should not do as a manager. As I look back today, I met the bottom line back then, but I failed in many ways.
After resetting my career and moving into a…
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.
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. …
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:
Hardware architected to last;
Software architected to change.
Change is the only thing that last;
Assembly programming was considered software. Then C language became the norm…
About eight years ago, as I’m about to switch my career, I knew I need to get into something new yet relevant to me. I know mobile development is a growing area. But there’re two choices, iOS or Android? (there are other cross-platform alternatives e.g. Xamarin, but I prefer native).
I naturally pick up Android as my learning. Here are the reasons why.
My first smartphone is the iPhone 3GS. I love it. I hope I can program on it one day. But I don’t have a macOS machine.
To program an iPhone App, I need a macOS machine. A…
When you create a default Jetpack Compose App using Android Studio, you’ll probably have the below list of dependencies.
How nice if it is all bundled together and we can just do this
With mobile development continue to be in trend, more and more organizations are looking into scale mobile development. There’s even a dedicated site sharing and discussing ideas. One way is to break the main app into smaller components (as libraries) and link them up.
Naturally, when we are breaking our code into smaller libraries, ideally we can have them in different repositories, where each team is own their repositories.
A simple example from this article, where we break into clear partitions, making each module below a library itself within its own repo.
There are many existing Android App using XML-based UI. Some are using XML Theming. To transition over to Jetpack Compose, this means we’ll need to support theming all over again for Jetpack Compose.
The good news is Chris Banes has created a library that will automatically apply the AppCompat XML based Theme to Jetpack Compose
One just uses the library and applies it accordingly.
// MaterialTheme.colors, shapes, typography
// will now contain copies of the context's theme
The above works well for transition.
However, instead of transition over, if we want to start a new phase…
If you are into mobile development, it’s always good to know how both iOS and Android platform works, side by side.
If you are just looking to sync your dependencies, check out the below
If you are looking into modularizing your App, you can check out
Here I’m sharing some insight on how Gradle (for Android) and Cocoapod (for iOS) works. From it, we can appreciate the other platform as well as understand its limitation.
Check it out…
In Android Studio, we can easily…