Detailing Car Exterior

This article is a continuation of my earlier article on the Detailing Car Interior. In this article we will focus on washing the exterior of your car, the way detailers do. We will not be covering the waxing part, that is probably for a later article.

The article is broken down into three parts:

  • Steps indicating in which order to clean
  • A how-to guide on everything that needs to be done
  • Products that you will need to get the job done

The intention of this article is to provide a helpful guide to maintain your car in a good shape until you feel the need to get a professional detailing service done.

Continue reading “Detailing Car Exterior”


Detailing Car Interior

The COVID lockdown has given me a lot of time to ponder. I’ve always wondered the amount of work that goes into detailing a car. I normally have it detailed by a local professional but given all the free time, I took it upon myself to learn about the detailing world and in the process managed to detail my own car’s interior.

Just like any other research I would undertake, I started with soaking in knowledge from detailer’s around the world by watching countless hours of YouTube videos and reading tons of how to guides to create a summary that answers the following main questions:

  • Where do you start and what do you proceed to next?
  • How do you clean and protect different types of interior surfaces?
  • What products to use?

This is not a be all end all article, it’s something that worked for me. Please feel free to borrow this knowledge and apply it however you see fit for your vehicle. Continue reading “Detailing Car Interior”

Coming Back Stronger

Coming Back Stronger

The COVID-19 pandemic has been the toughest test that I had to endure in my work life. Unlike many others, I did not lose my job however I was the person on the other side of the table having to give the bad news. It is with much sadness, I had to let go of more than half a dozen of my talented engineering staff since the start of this year.  It wasn’t an easy thing to do, however, it allows the company to survive this pandemic and come back on the other side of it stronger.

Continue reading “Coming Back Stronger”

Managing Workload – The Eisenhower Style

At CellOPark, I lead the technical side of things across multiple products. In a nutshell, I am responsible for the following, for each product:

  • liaising with the product owner about feature roadmap,
  • liaising with the CTO about technical roadmap,
  • release engineering,
  • code reviews,
  • prototyping new ideas,
  • keeping up with new tech,
  • DevOps,
  • one-on-one with team,
  • interviewing candidates,
  • handling production issues,
  • making technical debts disappear,
  • having architecture discussions with the team, and
  • writing code.

The list of day-to-day tasks looks quite overwhelming, but I assure you it is not all that bad. Its all about letting go. I’ll explain.

What is important is seldom urgent and what is urgent is seldom important.
-Dwight Eisenhower

I didn’t start my role by being in-charge of all products. I was initially responsible for one product. As I got myself familiar with it and the business aspects surrounding it, I was able to formulate a technical plan as to how to attack the problem at hand. The Cynefin model was quite a big help. Seeing this plan thru is how I managed to gain confidence in myself and the team, which in turn allowed me to move on to the next product.

I pride myself on my organisational skills and thoroughness. Being thorough takes a lot out of you. You want to make sure that you spend the time on things that really matter. Overtime I learned a way to classify pieces of work that required my immediate attention as to those that could be passed on to the team to handle. I recently found out that the approach I am utilising was initially introduced by President Dwight Eisenhower as Eisenhower Matrix.

Eisenhower Matrix

The matrix is split into four quadrants. I’ve classified some of my daily tasks within these quadrants to give you an idea of how this could help you manage your workload. I personally find it important to work on items that are on the technical roadmap. I equally find it important to instil a good coding discipline in the team and be available for them for help and discussions. My secondary priority is help eliminate manual work that is involved in day-to-day operations such as deployments, releases and manual testing.

“There is no code faster than no code.”
–Kevlin Henney

You do not always know which tasks can be delegated. Hindsight is a amazing thing, if we learn from it. For example, my team is very capable of investigating and handling production issues when they are armed with the necessary tools and knowledge. My goal is to make sure that they have what they need, so that I can relieve myself from this duty. However, there are cases where my presence is required, but this is an exception and not the norm.

An important lesson I learned, was that not every email is worth your time and not every technical discussion needs to include you. We need to pick and choose our fights.

I hope that my findings has helped you with your endeavour.

Are you a Senior Software Engineer?

This article takes the aspects discussed in Are you a tech lead? and tries to define what it means to be a senior Software Engineer.

Senior Software Engineer is someone with experience, a team player and takes ownership over their work.

Lets put each of those items under the microscope to understand them better. Continue reading “Are you a Senior Software Engineer?”

Develop React Native App on Windows

This guide will help you get started with developing React Native apps in Windows, hopefully without too much hassle. I’ve included screenshots and screen-gifs where required to make your life slightly easier. We will be deploying our app on a virtual device setup by Android Studio.

Continue reading “Develop React Native App on Windows”

ASP.NET Core AppSettings & Azure

ASP.NET Core had its configuration system re-architected from being limited to reading from XML files to reading configuration settings from any key/value based settings files such as JSON, INI and XML.

In this article we will explore the minimum amount of work required to read these settings out in your ASP.NET Core application. This includes taking a look at how it behaves when deployed in Azure. Continue reading “ASP.NET Core AppSettings & Azure”

ReactJS for .NET Developers

ReactJS for .NET Developers

If you are a .NET developer who has been pushed into the deep-end to learn React like yesterday, this article will be your lifebuoy. Using the concepts that you are already familiar with as a .NET developer, I will try to explain how React and Redux sit together and their full lifecycle. After reading this article, you will be able to follow what your fellow developers are talking about during the Daily Scrum Meeting and not feel left out.

This article is just like the lifebuoy, it is not going to swim you to shore but will keep you from drowning.

Continue reading “ReactJS for .NET Developers”

StarterKit for React-Redux & .Net Core

StarterKit for React-Redux & .Net Core

Do you want to …

  • Do you want to create a cool React app?
  • Do you want to create an API for your back-end using .NET core?
  • Do you want your React app to talk to the API?
  • You don’t know where to start?

If you answered Yes to the above questions, this StarterKit is for you. Continue reading “StarterKit for React-Redux & .Net Core”

Spying on ES6 modules

Spying on ES6 modules

Please familiarise yourself with why we have ES6 Modules and its terminology as it going to help you to understand some of the issues we will be discussing here. The article, An Introduction To JavaScript ES6 Modules is a good place to start.

We can write perfectly functioning code, that is simple, readable and optimised. But when it comes to testing, it adds another dimension to your code and changes the way you would approach coding. Those who have developed in C#, you know why we need Interfaces and implementing it will change the way you approach writing your code.

The following issues are known pain points when it comes to testing ES6 modules:

  • Named Exports
  • Multiple Exports

We will use a Warehouse example, which uses Mocha, Sinon and Chai, to explore how we can rewrite the code to get them to pass the above mentioned pain points, and still have them function properly. Although the title mentions spying, the idea is that if you can Spy then you should be able to Stub and Mock.

Continue reading “Spying on ES6 modules”

Introduction to testing in JavaScript

Introduction to testing in JavaScript

The ever growing JavaScript ecosystem is built by the developer community to solve their problems their way, which is ever so slightly different to the solutions that already exist. So when it comes to testing, the arena is quite deconstructed, just like the hipster cafes in Melbourne serving up ‘deconstructed’ coffee.

The main focus of this article is to give you an idea about how testing sits together in JavaScript and help you understand why and how it is deconstructed so that you can make better choices when it comes to choosing a library for the job at hand. After all we don’t want you to become a Candy Land developer, just because there are too many choices.

Continue reading “Introduction to testing in JavaScript”