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…
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
Hope you enjoy at least some of them!
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…
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.
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…
By default, the M1 MacBook Pro came with
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…
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).
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…
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.
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)?