About the author
The year was 2008, and I've been at CodeGear (nee Borland) for nearly 3 years as a Technical Support Engineer. In my first few months, it was exciting. I had written a silent InterBase installer (outside my work scope, but I wrote it to help an Australian sales colleague win an Australian deal), and consulted on the Singapore Stock Exchange (SGX) meltdown which utilized a badly written software (I joined an international team which gathered in Singapore just to fix SGX's issue, again, outside my work scope, I was asked to join by the consulting manager).
Due to the management decision to sell the IDE tools business and focus on the Application Lifecycle Management part of the business some time before 2008, technical support was split into 2 teams. One team to support ALM, and the other team to support IDE tools (and InterBase, the fast and nimble database). While everyone else chose to remain in the ALM team, I was the only one who chose to go to the IDE team. I chose to go to the IDE team because of my strong software development and technical skills.
For a while, things were good. There were plenty of tickets. And then, for some reason, there were not many support tickets in APAC region, and other tickets I've received were mainly about registration issues. There were not many technical challenges left, and I grew bored. It was around this time that I was approached by ArcSight. After a number of interviews, I joined ArcSight and bade goodbye to CodeGear. And much later, I found out the reason why I was headhunted to join ArcSight was because a few years earlier prior to joining ArcSight, I started my (failed) business performing network penetrations, security assessments, secure code reviews etc.
I spent about 2 weeks reading various ArcSight documents, before I was sent to Cupertino in California for training. In the first few days, even before training was completed, I was able to pick up everything, and in addition, I was able to teach my other new support colleagues how to set up their ArcSight software properly, and answer some of their questions.
I came back to Singapore after spending slightly over 1 month in Cupertino and started up ArcSight Support in Singapore. I supported ArcSight customers throughout the world, including the APAC region as well. By the 4th or 5th month, the support work got stale, in the sense that most ArcSight users were clueless (I came to this conclusion from the support cases I handled). Either that, or my technical skills were way above the customers who opened support tickets. It was around this time (Dec 2008) that I decided to sign up for a counselling course (nearly 8 years after getting a BSc in Computing & Information Systems), in order to marry up technical support and counselling (so as to keep myself occupied). The counselling course gave me new tools and techniques on how to handle people.
So, for the entire duration of the counselling course, in day time, I was providing support to ArcSight customers, in night time, I was studying. The course completed around Mar/Apr 2009, and I received my Advanced Diploma in Counselling Psychology around May or June. During those times, I was able to balance the staleness of the tickets with the new knowledge I'm getting. In addition, to get more challenges, I started attending sales calls, and business reviews among other stuff.
By this time, I had actually devised (in other words, hacked) a way to write custom FlexConnector functions, without the help of anyone from the R&D team. The ArcSight FlexConnector SDK provided customers a way to write custom FlexConnectors (specialized SmartConnectors, to handle unexpected versions of logs), but not write custom FlexConnector functions. What I had devised, was out of anybody's expectations. It was also around this time that everyone in the support team received emails to provide presentations for Protect, the annual ArcSight sharing conference. I submitted a proposal on how to write custom FlexConnector functions. Unfortunately, my proposal was rejected around Sep 2010, without being given any reasons. I had the sneaky feeling that the VP didn't want anyone else to know how to do this.
Around Dec 2010, nearly 30 months after joining ArcSight, I decided to resign (and even recommended a primary school classmate / who worked in a company which was an ArcSight customer, to take over my position) even though the pay at ArcSight was good (and I was even getting extra money to stay because HP had bought over ArcSight 3 months earlier, in addition to stock bonus) as my hierarchy of needs wasn't being satisfied.
While job hunting, I wasn't able to find jobs that match my skills. Nearly all the jobs available needed only a subset of my skills. Eventually, I decided to start Journeyman, so that my entire range of skills can be utilized.
For more about myself, read this.
I always knew you were a fighter, but now I know the history of your struggle.
All the best with your new venture.
Hi Chee Wee,
Not sure if you remember me, as it has been a long time since we worked together at Borland.
So now I know why you left Borland.
Anyway I appreciate your confidence in yourself.
T.Jalaludeen
Hi Jalal,
Of course I remember you. You were the one who said you're the team player when Michael talked to you, and you left soon after that.
Hi Chee Wee, I stumbled on your profile and was reading this. I respect your courage / self-belief you've got. Are you free for a chat? I have some ideas which I like to consult you on. If you keen, send me a LI invite and we can connect.
Alvin
alvinng@ftg.com.sg
+65 9781 9533
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.