Resilience Coding

All Roads Lead to Rome

Medieval Latin

Coding is becoming a commodity now from learner as young as six to oldest at 82. A simple code can be IF ELSE logic in excel formula. Codes can also be easily recorded and auto generated like Robotic Process Automation (RPA). The emphasis had evolved to objective driven coding more than a means to an end.

Fundamental is Resilience

Like a Kungfu master, the key in being resilience lies in a strong foundation. There are many good coders around, so what makes you stand out? Basics and fundamental allows you to focus and be resilience in achieving your end. There are so many similar solutions around. The one thing that differ lies in your fundamental mindset to path your coding to your “Rome”.

Cloud Computing Power

In the past, computing power was limited and constrained by disk storage. There was much focus on elegant codes to achieve the results. Now, it has shifted to getting what we wanted instead of how to get it. Moreover, Cloud technologies allow you to scaled your computing power easily. One such coding language to achieve popularity is Python. Its is geared towards readability and resilience aka machine learning.

Machine Learning is Resilience

Machine learning is not human intelligence. It is just a means of resilience codes leveraging on raw computing power. The perspective of coding is less elegant now and more towards being resilience. After all, you are less likely to be limited by disk storage or computing power. You have more cloud techniques at your disposal to achieve your results. If you give up, you fail. If you are resilience, so will be your codes!

Pseudocode as a Job Skill

Java, PHP, JavaScript and C are some of popular programming languages that have been used in application development and widely stated in job requirements. Yes, I deliberately drop Python because I still feel it is trendy due to machine learning (ML). However, Pseudocode is one job skill that has been neglected to be stated in mainstream job ads.

What is Pseudocode?

Pseudocoding is not actually a programming language but a technique to describe readable system steps for users and developer. It is structured in such a way that is readable for end users yet functional for developer to code in any languages.

Sample Pseudocode
Why Pseudocode?

In my “old days”, pseudocode is important and taught as part of computer subject. It is a must-have skill for all coders for its emphasis on algorithm over programming syntax. As such, it is surprising to me now that some coders do not know pseudocode when being asked to demonstrate this skill. A good coder with strong Pseudocode skillset can easily switch across different programming languages compared to one who only know certain programming languages.

How to Choose Excellent Coders

Like all arts, normal coders are easy to find. The excellent ones needs to be sift through the midst of programming languages as they transcend across different codings. One way to identify such developers is to apply the fundamental practice of using Pseudocode. There will be a shift in mindset to reduce the reliance of hard skill and turn to applying the basic logic of programming with Pseudocoding.

Helping Enterprise Architecture (EA) be Agile with Cloud

Strategic and Operational excellence are key objectives for many organisations. It is difficult for organisations to achieve both at the same time. Most organisations tends to focus on one or another, investing resources in either one. Business often emphasis strategic needs while IT focus on operational excellence. There comes a period where an organization needs to bridge these objectives together. Enterprise Architecture (EA) is one such bridge to bring these two objectives together.

Enterprise Architecture (EA)

Enterprise Architecture (EA) aims to provide a holistic view of business and IT with the aim of aligning strategic and operational excellence. It aims to provide a bridge between business and IT with standardized EA framework of common vocabulary, models, tools and content metamodel. However, the notion of EA can be very far fetched and ideal to reality because many of EA program are abstract and conceptual in nature.

Agile and EA

The practices of EA runs contrary to the discipline of Agile. Huge efforts are expended to standardize and collate information at Enterprise level losing sight of Agility. Traditional EA ultimately fails to deliver because it is not able to address the business needs timely. Enterprise strategy become obsolete and irrelevant as technologies innovate faster and faster. As EA continue to remain coupled to traditional waterfall, Agile methods gradually become the mainstay for adapting to business excellence.

How can Cloud help EA be Agile?

Thus, we have seen huge gap of EA in being Agile. Luckily, this can be addressed by Cloud technologies. Any system within cloud platform can be quickly be viewed holistically and automatically be generated as a blueprint of EA. Cloud technologies have also retain its Agile capabilities to fit strategic innovations for business while fulfilling operational excellence.

What is Shadow IT?

I came across a term Shadow IT and find it “amusing” and yet relatable. Shadow IT are Information Technology (IT) systems setup by non-central IT teams with the objective of bypass or overcome the cons of central system. Looking back, I had been on both ends of Shadow IT, a creator and eliminator.

Making Sense of Shadow IT

What gives rise to Shadow IT? Waterfall evaluation, procurement and budget approval often takes longer time to review as usual. From business view, this contradicts agile and speed of adapting to change. With agility, Shadow IT provides a window of innovation and prototypes to the incumbent central IT.

Cooperate, Assimilate or Eliminate

Like rebels, the objective of Shadow IT serves an alternate voice to centralised IT. If the Shadow IT remains niche, it may usually end up being a cooperative system and even can integrate to the central system. Of course, there will also be a scenario which Shadow IT become the innovated solution and this could be easily assimilated into the incumbent IT with better budgets and resources. In worst case, Shadow IT may face elimination organically from pressure like compliance and security or inorganically from obsolete technology or support.

Future of Shadow IT

Cloud technologies have actually encouraged Shadow IT and central IT must recognise the value of Cloud towards Shadow IT. Sandbox can be created to allow business to create Shadow IT in a controlled space. There will come a time where Shadow IT coexist and central IT must learn to manage and leverage the advantages from There are some interesting read that you may want to check it out for this topic e.g. Shadow IT A Complete Guide – 2021 Edition.

Waterfall Agile Hybrid for Cloud

Agile is a pretty huge demand skillset now. It must be surprising to think that Agile was once frown upon as a non-mainstream methodology in the past. I used to be one such “hidden” Agile practitioner until I came out in 2013.

Journey to Agile

Agile have its roots from many models and one of them was Rapid Prototyping Development (RAD). I was exposed to RAD using tool like Visual Basic. This was where I begin to explore incremental changes deployment rapidly contrary to a traditional Waterfall development model. Without realizing, I had started my journey towards Agile methodologies.

Formalize Agile with XP

As I became more experienced with RAD, I decided to look into a formal methods that could incorporate changes faster and systematically. A new paradigm opened up in the form of Extreme Programming (XP), with concepts of pair programming and emphasis of code quality over documentations. It was not easy to implement XP in a traditional team setting compared to using Agile by myself.

Minority Agile

The limitations of Agile shows itself when I tried to implement XP for teamwork. The Agile mindset was more difficult to adopt for many as majority of education system had emphasised on Waterfall model. The lack of support towards Agile methodology was disheartening during the period of 2005-2012. However, I had persisted with Agile even though it remains as minority within the IT space. Putting my signatory in agilemanifesto.org had helped to serve as a constant reminder to strive on with Agile.

SCRUM certification

In the midst of my search for an Agile company, I came across a job requirements for SCRUM. In a way, the emergence of Agile or SCRUM in job ads shows signs of change in the Software Development Lifecycle (SDLC). A key reason for this change came from the shorter deployment time of mobile application and eCommerce. Gaining confidence that Agile will be the game changer, I got certified with SCRUM instead.

Waterfall Agile Hybrid Model

The expected surge in Agile did not really take off as much as I expected from 2014 to 2016. SCRUM soon died away as well. As what Agile preach on handling change, I learnt to incorporate Agile practices within a Waterfall model which I termed the Waterfall Agile Hybrid model. This model fits systems best with configuration paradigm and cloud technologies while conforming to the norms of Waterfall.

Waterfall Agile Hybrid for Cloud

The explosion of cloud technologies pushed Agile into mainstream! Cloud implementation multiplied and marry Agile with it. The rest becomes history as Waterfall took a backseat. While Agile becomes the new norm for Cloud, the Waterfall roots remains entrenched in many parts of organizations ranging for budget planning, approval process and finance. Thus, Waterfall Agile Hybrid model remains relevant until an organization completes its transformation to a pure Agile entity.

Netflix, TV and Cloud Musings

What do Netflix, TV and Cloud have in common? In a way, they represent a behavioral change in users. Needless to say, I am one of those who have spend more time on Netflix than using my TV. It leads me to wonder if my TV is now a display relic in my house. This invoke a reality check in my traditional IT skills.

TV and my cable set top box

Cloud skills are like Netflix. To me, it is a positive change from traditional IT to evolve to new paradigms. However, not all companies have been quick to embrace the Netflix model and suffered badly with this change.

Profiles pics in Netflix

From user view, there has been very low barriers in making the switch from TV to Netflix. The Netflix model is designed to be simple for any users who are using a mobile phone. Similarly, cloud skills are actually much simpler that its traditional counterparts. Anyone who are familiar with internet can easily pick up cloud skills.

So, why are there a quirk of companies in acquiring specific cloud skills? Isn’t it much cost effective to allow existing resource to learn and acquire the needed cloud skills? After all, we don’t really need much help to learn and watch Netflix! 🤭