A recap on EPH program

This week (05/16 – 05/20), I attended 2016 GCG Early Professional Hire (EPH) Program offered by the company. The following is the recap of the whole program with some of my thoughts.

Pre-show

GCG Early Professional Hire (EPH) program run by IBM is a 2-year program that targets specifically at the new employees with working experience less than two years. It aims to develop core and valuable skills for the new IBMers. When I first receive the advertisement email, my incentive tells me not to attend even though it is required for new hires (you can reject by obtaining approve from your manager). However, I figure it is a good chance to take a break from the work and have a chance to meet some people (some beauties if I’m lucky and in fact, there are some), so I withdraw my request to not attend.

Kick-off Event (05/16 – 05/19)

Day 1

Morning

The kick-off Event is hold at Marco Polo Parkside Hotel in Beijing. It is really a fancy hotel and I’m really surprised that my company could spend so much money hosting an event in a hotel like this, especially it has been rough years for GCG.  The agenda for the first day consists of bunch of speeches, BU introductions, and a welcome dinner.  Sign in starts at 9 is quite tough for me as the distance between hotel and my apartment is 11.5 miles! However, “Watson Coffee” (some fruit and yogurt) helps me to go through this tough time to wait for event start at 10.

Morning speech is not quite impressive. The first speech is delivered by Shally Wang, GM of GCG. She talked about something that I could hardly recall but her opening talks about moving start time earlier to compensate the people get there early is quite thoughtful at some level.

The next speech is delivered by Anita Sabatino, a senior leader at IBM. I have to say her speech is the only shinning point on Day 1. She recaps her career at IBM:

She starts as a software engineer at IBM and becomes a sale once she is a advisory software engineer. She then changes the role to sales and work for JP Morgan for a couple of years before rejoining IBM. She then moves to China with her daughter who is adopted from China and works with Bank of China. She gives examples on how to build trust with clients. For instance, meets with leader from BOC weekly and always be on time; Build personal relationship to a reasonable amount that facilitates the collaboration. Also she shares some stories about her daughter.

This is a quite good speech because it has really substance. It is not hollow words without any meaning. It feels like a friend talks about career directly to you. Plus, I’m always interested in people sharing their career story and how they make decisions.

The last part of the morning consists of people from GCG share their story to new hires. They are not as senior as previous speakers but they are experienced. I didn’t quite listen to their talk shows because it’s already 12:30pm when they start their sharing and I’m quite starving. All in all, it’s just some show value stuff so that they can brag to their boss. Nothing new.

Afternoon & Evening

The lunch is buffet and I heard it costs around 200 RMB per person. It is quite good and I had a tons of steak and ice cream. The key word for the afternoon is “BORING”. It consists of speeches from different BU leaders (GTS, CAMSS, GBS, Technology Partnership), which essentially wants you to have a big picture about their BU and appreciate their business value. The rest of the day is a nice welcome dinner and some shows from fellow IBMers. The shows are quite nice but unfortunately I cannot sit till the last minute because it still went on at 8:30pm and I’m afraid of missing the last subway back home.

Day 2 – 4

These three days consist of four main parts:  building your professional reputation@IBM, workplace etiquette, delivering quality work with agility, business writing. The overall is quite boring but there are indeed some shinning points that are worth to mention:

mmexport1463657100629

BU Session (05/20)

There are two great speeches delivered today. One delivered by Ge Song, CDL cloud leader and the other one delivered by Zhong Tian, the only Distinguished Engineer (DE) at CDL.

Ge Song’s Speech

Ge Song’s speech mainly focuses on some takeaway she gets from Things I Wish I Knew Before Working in Industry (this source based upon her reference during the speech but could be wrong as she didn’t explicitly cite the source). The following are the key points she mentioned (I write them down based upon my audio record):

  1. Attitude makes everything; be willing to do more. She draws on her own experience and offers an example: When she started her career at IBM, her manager sometimes got challenge tasks and asked if anyone is willing to take it. The most courage sentence she could ever say at that time was “I can try it!” even she knew she was totally capable of doing it. So, she suggests that if you are pretty sure you can handle the task, then always say “I can do it!” This is because it is the manager’s responsibility to help you to succeed at your task. They will do whatever they can to help you (frequently review …) and to control the risk. They will not blame you for the failure because it is their failure if you fail. Also, be willing to take more tasks whenever possible and necessary. Don’t be the kind of person that cannot hang around any longer after 5pm and can’t wait to catch the first shuttle to get back home. So, always remember “No pain no gain”!
  2. Be visible (show value). The example she gives here is the global conference call scenario. Usually, for Chinese, people barely talk anything during the call except “Hi! I’m Mark.”, “Bye Bye!”. That doesn’t work in the sense that you don’t show your value. Here is a tips. If you know the conference call will discuss some difficult problem beforehand, you can prepare for that. When global team leader asks for any input, you should speak up (because you’re already prepared).
  3. Find your mentor. Everybody knows what mentor means for a person’s career. Here, she emphasizes that you should build a solid skill (foundation) before you ask for changing mentor.
  4. Be yourself and build your identity (Build your personal branding). You need to strive for excellence for the area you are working on (become a goto person). However, you don’t have to care how people treat you. Build your expertise and keep learning! “忠实于对技术的感情!”
  5. Think big and act from small (志存高远,从小事做起). 不要好高骛远!不要老觉得某个leader很强而忘记他在技术领域的耕耘。Again, she offers a tips regarding conference call. You need to focus two points during the call. 1. Why she asks this kind of technical question? 2. Develop your English speaking skill.
  6. Managing your time. You will become the person that you spend the most time on.
  7. Priority. briefly mentioned.
  8. Managing the risk. briefly mentioned.
  9. With courage to say “No”! briefly mentioned.
  10. Not only plan your career, also your life. briefly mentioned.

Zhong Tian’s Speech

Zhong Tian’s speech focuses on the share of a technical career. I listed some of the inspirational sentences he mentioned:

  • Keeps learning!
  • Excel what you do, the world is yours!
  • 不要觉得你是band6就应该做band6的活,如果你是band6已经在做band7的活的话,你离promote已经不远了!
Advertisements

Quick primer on checking database object privileges in DB2 LUW

db2talk

If you are a DBA, you will inevitably work on troubleshooting/ granting / revoking object privileges to database users. In this blog post, I am going to share how to check for privileges that have been granted to an object in a DB2 LUW database. This post is an introductory level post for new DBAs. Database level authorities are not discussed in this post.

View original post 461 more words

Way to be pro

This is gonna be a live update post. All the experience I acquired in order to become a *professional* programmer are listed here. This will be a reminder for me, and hope it is somewhat useful to you 😀

M/D/Y

09/01/15:

1. Be aware of coding convention used in the file

What’s the difference between the following two chunks of code?


if (block_buf > REQUESTS_BLOCK_BUF_MAX){

my_requests_block_buf = REQUESTS_BLOCK_BUF_MAX;

} else {

my_requests_block_buf = block_buf;

}


if (block_buf > REQUESTS_BLOCK_BUF_MAX)

{

my_requests_block_buf = REQUESTS_BLOCK_BUF_MAX;

}

else

{

my_requests_block_buf = block_buf;

}

I guess you would say they are literally the same. In fact, that was what I thought initially, and I chose to write the code like the first one. However, in the code review, this chunk of code is commented by reviewer “Note the coding convention in the file.” Then I realized with more than 3,000 lines of code, all the condition structure is following the second one I listed above. So, consistency in style is really the key in professional programming.

2. Don’t add redundant debug statement

Following the code chunk I added above, it is probably natural to add a printout statement to see if my_requests_block_buf is actually set to the right value. So, I added:


pdTraceData1(FUNCTION_TRACE_ID,
             1992,
             PD_SINT(my_requests_block_buf));

However, this statement may not be OK in the professional setting. There is a clear cutline between what can include in development phase and what should include in actual product. The debug statement is OK for development phase: developer need to immediately make sure everything work correctly so far before moving on to next part, and this is exactly the incremental development philosophy. But, once developer are pretty sure the value he get is correct, he need to delete the debug statement. With excessive debug statements, the performance of product hurts. 

3. Treat comment as serious as code

I developed a bad habit to joke around in the comment during the college, and I somewhat carry it out to the real job. This is one of the comments I wrote in my recent work:


// cheat on initialize_server() function
#define REQUESTS_BLOCK_BUF_MAX_OLD 1024  

If this comment appears in a hobby project or the project that shared with limited people, it will be fine. However, it might not be appropriate when comes to real business. And, this comment is essentially useless: why named “OLD”? What do you mean by “cheating”? My fellow developers will have no clue what I am trying to convey here.