Tuesday, July 27, 2010

How to identify good, experience senior colleague

If you are a junior or just join a company, I hope this article may help you to identify which senior/experience colleague you should be working with.
  1. When you talk about your work with them, they become energetic and have enthusiasm on the discussion. You can see sparkle in their eyes.
  2. When you ask something from them, example: better ways of coding, they can provide a lot of inputs, solutions and even recommendations. They willing to share their years of experience.
  3. Based on the 2 points above, they are easy approachable, which means they are very welcome on any question you ask. They are open and accept to different opinions.
  4. They apologize on their mistake because they knows human does make mistake and they know they're human. :)
  5. They take responsibility on your mistake, which make them a team player.
  6. They are great communicator. They will find out the root cause of the mistake instead of playing the blame game. They able to provide the solution to avoid the mistake from happening again.
  7. They will only give work that is within your responsibility. They are very clear what is the scope of your work. Furthermore, they keeping track and following up every work they have given to you.
Finally, a good experience senior colleague is just only a human. They may not have all the points I have listed above. However, if you find that a senior that not even fit one of the traits above, it is better you find another one to work with.

Wednesday, July 21, 2010

Tweet 21/07/2010

It's those hours again. Working on rotation from 1 am till 10 am and this going to last for a week. I just finished taking my breakfast and crawling back to bed soon.

Thursday, July 15, 2010

Minus will not work for 3 or more sets.

I was doing a table column comparison at work today using minus sql and somehow, the result returned is not as expected. Look at the sample query below:

select 'abc', '123', '!@#' from dual
minus
select '123', '!@#', 'abc' from dual
minus
select 'abc', '123', '!@#' from dual;

Well, the expected result for query above should be return row highlighted in BOLD (minus set should return row that is no match is found). However, the actual result is no rows returned. What happened?

To investigate, I separate the query as follows:

select 'abc', '123', '!@#' from dual
minus
select '123', '!@#', 'abc' from dual

The return result is: abc 123 !@#

Surprisingly, only the first record is returned but what about the second record? I have no idea. Nevertheless, this is where I believe why the second minus comparison return no row as the above result is then past into second minus comparison, which both are the same (my assumption).

So how do we solve the above scenario? Make the minus comparison exclusive to only 2 tables and union to join them together.

select 'abc', '123', '!@#' from dual
minus
select '123', '!@#', 'abc' from dual
union
select '123', '!@#', 'abc' from dual
minus
select 'abc', '123', '!@#' from dual


Result: 123 !@# abc
This time the result return correctly. 

Tuesday, July 6, 2010

I won a book from plsql challenge

It's a 50 USD O'Reilly Media ebook of my choice. Since I have the print version of "PL SQL Best Practice" and "PL SQL Pocket Reference", so I got myself a "Head First Data Analysis" from O'Reilly. (By the way, I'm changing to a new job next month and required some data analysis with PL SQL. This new book is a great addition to my new career.)

Take the PL SQL Challenge plsqlchallenge.com today and win some cool stuff. :D