Wednesday, September 2, 2015

Obsession with working in giant corporate or MNC (Part I)

Quite recently, I had a chance to fix a potential deal with a close friend of mine. This (uncle) guy has been working for a Multinational Company (MNC) and is holding one of the top marketing/management position in Malaysia (perhaps even in Asia Pacific) in the company. Needless to say, he tends to wax lyrical about his company products...always boasting things like..


  • We are the first in the world to do this...
  • Our products are top notch...
  • We are in the highly critical sectors (like defence and radar)
blah blah blah...

Well, I cannot deny those products are of excellent quality and standard...but whenever we touch on the local industry (or R&D) trying to emulate or even innovate, the standard replies from him will be

  • Local products are lousy
  • Why reinvent the wheel....just import from other countries lahhh

I can understand his point of view...which usually boils down to mainly these 3

  • Yup, perhaps such technology are already matured, so why re-invent
  • Starting from scratch or even mimicking a technology requires many iterations and is time consuming
  • And lastly..perhaps this is the deal breaker...he wont get any commission (esp if products from his company).
But you have to ask yourself, for any industry, there will always be spin offs or jobs created...

Can you ask the local researchers to just be an importer? The local manufacturers? Local software developers? Local engineers??

Even when I mentioned this to him...he adamantly said the best way is just get the technology in...and just use as it is.

Well to cut things short...I asked him to help me market certain products that I am going to collaborate with a local R&D entity...but the response I got from him was very disappointing...and more importantly it really made me sad.

The tone of the response border on arrogance and slight contempt

Monday, August 24, 2015

"Fast to code & deploy" vs "Fast & Stable Performance" (A brief Rant!)

"Fast to code & deploy"

The more pertinent question that you should ask is not how fast you code and can test consecutively, but how fast can you implement a certain functions.

Example:

Programming language A:
Coder A with 3 years of experience, can code a certain function for a system in 2 days, using a fast-to-deploy scripting like language (such as PHP). Any changes will be reflected on the fly.

Programming language B:
Coder B with same (3) years of experience, using a pre-compiled (interpreter) language, which requires extensive compilation time before deployment (such as C++, Java), can code the same exact function (as above) in maybe 2.5 days.

Note: Seriously, much of a time difference can compilation make...in view of the whole project timeline. Yes, code compilation is a hassle and can be annoying, but in view of the whole project...it's not a deal breaker

However, Coder C with say 5 years of experience of Language B, can easily code that very function in 1-1.5 days. Experience really counts, especially as he picks up more shortcuts or he makes less mistake.


"Fast & Stable Performance"

This is where the deal breaker comes in. Stability and performance are heavily dependent on the dynamics of the language and the very interpreter its is bounded by.

Usually, scripting languages tend to be loosely typed and less stringent, but the drawback is that you will get a thousand smart ass saying they are so called 'experts'. This is where the abuse comes in and the codes get spaghetti, and thereby makes it very less maintainable or those categories of "Only the author of the code knows what he is doing!".

Javascript has always been my public enemy number 1 in this respect.

However, there are no doubts that you NEED to pay a price when it comes to Stability and Performance. No free lunch.

Conclusion:

Those who knows me will know where my undivided loyalties lie. There is no doubt in my mind, I am a huge fan of pre-compiled, strongly typed language (JAVA!). If you take over abandoned million dollar projects, with minimal documentation, you will thank me. That's where the strongly typed language can really helps. The codes are the documentation by itself.

Fast to code, deploy and test have their advantages...but again, if a coder declares they can do the same thing within 2 days in PHP, which they need twice the time in Java... well my response to that is:

Challenge accepted...I can do the same thing within 1 day in Java, which it is said 2 days are required in PHP.


Note: More rants coming soon...not on the language but the practitioners of that scripting language...for some reason..simple dumb down language creates very dumbed down developers...



Tuesday, September 30, 2014

Doing business in Malaysia..

Assalamualaikum wr wbt,

I hope you are in best of health and iman.

Let me be straight here. I do not come from a well to do family. We are from a very humble background. My dad is a driver, as he only passed his O Levels. My mom only studied until primary 6 in the rural Malaysian education system, and she worked mostly as a cleaner for most part of her life.

Life was hard, but we were never in a state of poverty. Although it is kinda sad to say this but we never had an actual place to call home...and we had to "tumpang" in relatives homes a few times. Otherwise, we had to rent a small unit somewhere just to grab a roof over our heads. My parents divorce did not help while I was 9 and 14 years old (they remarried and divorce again)

So in actual fact, to venture and start-up my own enterprise was the counter-intuitive decision I have ever made.

The deck was stacked heavily against me since day one. I had no real connections. I was not what you call an ultra sociable person. I was a moody and only open up to a few close folks. And even then, I was raised up in Singapore and I had not much of a friend base in Malaysia, although I do have some few contacts who are highly supportive and appreciative.

In Malaysia, its all about connections, connections and CONNECTIONS!!!

From this article, we can see that Malaysia ranks 3rd in crony capitalism.

Anybody who can hook up with a Tan Sri or Dato's or any YBs is as good as striking lottery.

Personally, I hate it. Ironically, I do not believe in meritocracy either. Meritocracy is just an illusion for the majority to suppress the minority (but thats for another topic!) On the other hand, getting jobs or projects, simply through who-you-know or mere acquiantaince... is not a bang up way to secure competent vendors or suppliers.

I have always believe and stubbornly stuck to my ethics, to be morally upright (or uptight to certain folks) and shy away from any hanky panky. However, such idealistic standard means it has been one very very very slow struggle to bring income in.

Although in spite of all these obstacles, we are slowly gaining some foothold and momentum, but it has been one very painful journey!




Monday, September 22, 2014

Being a business owner...client cannon fodder - Part II

Well...after some semi-conherent rant in Part I, there are still lingering doubts before I took the plunge, mainly due to:


  • I have a wife and 2 growing kids. This is a commitment on a gargantuan scale for somebody who does not come from a decent financial background. (to be described in the next few points)
  • I am the only son of my mother who has NO pension, NO savings, NO EPF and NO life insurance. Basically I am her ATM withdrawals.
  • My dad screwed up his finance really horribly (yes you did!) and made some ill advised financial decisions and to cut things short, I had to settle my study loan (in Singapore dollars...roughly 2.5x and it was in 5 figures still). On top of that, he is not from a well to do family either. 
  • So in total, my upkeep is practically 3 different families, on top of my house (I bought for my mom..on her insistence), my cars (plus one for my mom also), my credit cards, my life & kids insurance (which comes about 800++/month) and the day to day pitfalls we do sometime encounter.
  • I am NOT a sociable person. I do not easily make friends and I do not frequently mix around. My days are spent cooped up at home or room with my trusty ol laptop and a must-have blazing fast internet.
  • And many other reasons, which I think I wont list as the list is becoming quite depressing...

I think these points are enough to make even the hardened, veteran son-of-a-gun pause...no??

However, strange as it sounds, those exact points are some of the main contributing factors that cause me to hop 13 companies in my 12 years of working life. I needed the $$$...sometimes I went to contract non-permanent mode just to bump up my salary.

I really wondered, if I came from a more sound and stable financial background, what would have happened...I guess I wont even be here to write this down....and just be another salaried shmucks (like you??? hehe :P)

Ultimately, what triggered the impending jump to entrepeneurship was my mental and emotional exhaustion and sacrifices, labouring and spending my weekends and free time, to deliver work, for the sake of making others rich. I had no qualms making others rich, but I had to make some sacrifices to my family time and health.

I gathered although going on alone with my own venture will not be less kinder to myself, but at least I was reaping the rewards, if there was any.

And at that point of time, I was very angry with the state of the software development industry in the local scene. It was full of silliness, corruption, mismanagement and downright wastages. I am the kind who always stick to this motto..

"If you do not like something, go and change it!"

And so yeah...hey you ..Mr Challenge...you threw that gauntlet...so I picked it up and spit back at your face..

And I took that bold step and wanted to do it my own way, without all this silliness and shenanigans.

What can I possibly talk about? Silliness? Shenanigans?? Well...maybe in another post....insyaAllah.

I always believe in my religion...and always have faith that He will provide susbstance for us if we work hard and pray hard...

So there you go...that's more or less how I jumped off from the Cliff of Boringness....

:)

Friday, September 19, 2014

Being a business owner...client cannon fodder - Part I

Ladies & GentleMachoMen,

Like a certain Macho Man Randy Savage would say...'ooooo yeaaaaaaaaaa' ... I am a proud co-owner & founder of a company called iWAFS...which specialises in IT (mainly software development & integration)


It was formed in early 2012, and thankfully still kicking around up to now. It has been one wild roller coaster ride and let me say this with no small amount of pride, it was not easy but we managed to pulled it off!

Of course, the first and all important question is - Why did I decided to take the plunge into entrepreneurship (or more accurately technopreneurship in my case)??

Did I wanted to become the next Bill Gates? Or maybe Steve Jobs?
Was it money?
Was it the "I want to do it my way" lifestyle?
Or was I just simply a lunatic bufoon?

Well the answer is No!, No!, No!, No! and finally (Still deciding on the buffoon part..but partial lunatic do has some bearing) for each of those questions above!

According to the Myers-Briggs Type Indicator test that I took (www.16personalities.com/), I was rated as INTP



We can find out more about INTP here. And here is the main crux of my problem:

"People who share the INTP personality type aren't interested in practical, day-to-day activities and maintenance..."


BINGO!!!

  • I have problems working in the morning...after my usual nocturnal late working hours 
  • I do not like to clock in to work for the sake of clocking in and put a show of non self-effacing...just to chase promotions and praises
  • I have problems with repeated mundane day to day routines & chores
  • I have problems holding back my frank opinions...especially in the face of absolute stupidity...(which seems never cease to rub the people the wrong way)
  • And the part which I think broke my back (in being a salaried worker), is to work and sacrifice my days, weekends, holidays and sleeps for stupid rich folks, Datuks and Tan Sris, who never fails to display their ignorance and idiocy...just for the sake of $$$
And the positive indicators for me to start on my own are: 
  • Constant request and calls to do freelance works
  • Tend to solve employer's issues or problems on my free time or holidays
  • The initiative and drive to manage and drag the project by the horns to the finishing line (with little supervision and assistance from anybody else)
  • And I am super high discipline and objective oriented
So roughly in mid 2011, I decided to take the plunge as a freelancer.
And in mid 2012, I formed iWAFS with some bunch of pals..

To be continued

Tuesday, September 16, 2014

I am back!

It has been a long 5 years since my last posting...

Well, I have always been a fiercely private person, and this whole blogging project was actually a time-burning exercise during my comatose time in Experian.

But lately, there are some real significant close-to-the-heart life changing events that I think it's high time I note it down somewhere...(unless blogspot is taken down!!)

Also no small help to somebody who actually dug this and posted in FB (does he actually have that time to do all that???)....I guess you guys better get ready to be tickled, annoyed, pissed and revile me...

:)

Monday, March 2, 2009

The art of application logging - The Series (Intro)

Quite recently, I found myself in a very sticky situation. Systems are literally dropping around me and the management found it pleasantly appealing and convenient to spear me to solve the problem asap. Not a big deal you tend to say........unless this is your first week in work.

Try as hard as i may, but I could not sieve through the logs due to these reasons.

  • The tomcat default logs are more than 5 GB. Please can anybody tell me any machine readily available to open up those files.
  • From the point above, you can imagine all possible log statements (SQL query construction, every debug/trace statements, love letters, personal bank accounts (i wish!!), XML strings) are being included.

Needless to say, I was floundering around the logs (or something that at least resembles it). Imagine the shock I got when I opened up the codes in the versioning repository and came across this all over the place

try{
// Some garbage here
.......
.......

// Some crap here
.......
.......

// Some undocumented 'only-I-know-what-I-am-doing!!' here
.......
.......

}
catch (Exception ex)
{
ex.getMessage();
}


and thats it!!! Nothing was done to the exception!!! THAT'S SIMPLY IT!!!! WTF!!!!


Some folks may claim that the glorious author of this code is pressed for time and blah blah blah ...yadda yadda yadda. (Make no mistake! This is not a one-off. It's all over the damn place!!)

PLEASE!! Who isn't??! That is not a good excuse to be a selfish, inconsiderate and downright irresponsible programmers. I am sorry but we do have ethics. Newsflash to the business/marketing/operation guys!


So are we talking about exception handling or logging here? Unless anybody can come up with a robotic artificial intelligent system that can fix itself upon exception caught, then yes, whenever an exception is generated, the least thing you can do is to log it somewhere. So they goes hand in hand sometimes.

I cannot place enough emphasis on proper logging. Whenever our application has been fully tested and deployed, we do not have the luxury of time and resources to do scoped-down testings or try to reproduce errrors. We look at logs and get the inputs and try to simulate the outputs at our localized settings. And sometimes the errors could not be reproduced localized. However the users are NOT our QA testers, nor are they our experimental guinea pigs. By introducing proper logs, we can analyze, derive the problem and come up with the fixes asap.

A nice rant here...

Application Logging - Yes it is important

I will follow up with a series on some of the key points to consider for logging.