Today I went to MPH and came across an interesting book written by Christopher Duncan, titled 'The Career Programmer: Guerilla Tactics for an Imperfect World'. I briefly read the introduction and found it covers a lot of real situation in the programmer's life, such as tight schedule, demanding customers, ever changing requirements and many others which I have went through before. Then, he suggests the approach we should take to handle them. I found the following useful and quoted here to share with you:
'As programmer, we're not just hired to code. We're hired to deliver great software'.
On Thursday, my colleagues (Azrin, PC and Juliana) and me attended Sun's Java Forum 2005 at Summit Hotel. As usual, I attended this forum to expose myself to more technical knowledge, especially I am a Java savvy, and also some business exposure. Early in the morning my sister dropped me at the Summit Hotel and my colleagues were all in there! Then I met Chee Woei, who is currently working in my company's partner, Niclas from eWarna and also Ser Yee, my junior in MMU during registration before the event starts. A door gift were given, including a magnet bookmark.
In this forum, it started with the introduction of new J2SE 5.0, code name Tiger after the welcome address by the Strategic Initiative Development Director of Sun Microsystems Malaysia. The speaker focused on the new language syntax along with some management tools introduced in the new version of J2SE.
Then, another speaker impressed the participants with the introduction of the Sun Java Studio Creator (covering Java Server Faces). She live demo to us how fast to get a typical web page that has criteria, result in tabular form, pagination and also consumption of web services within 30 min with that tool. It's merely drag and drop and selection in wizard most of the time. I am sure my ex colleague, Chee Tat would love this a lot if he has the tool.
We had a morning break before continue with another interesting live demo by the first speaker during the session on Advanced J2ME Development. He used Netbean 4.1 and Wireless Toolkit to create a simple appointment application for handphone. A lot of the process were drag and drop too! Impressive! I will sure introduce this to my girl friend for her final year project if it was so user friendly last time.
The Education Services Manager from Sun Microsystems Malaysia then brief us the value of Sun's certifications with statistics, including higher wages and demand. Besides, the certification coupon were 25% discounted on that day. I went to Sun's booth to claim a special token for audience who obtained their Sun's certification. Next, I headed for lunch. There were so much food that even I only took a mouthful of each, it made me felt so full till midnight without me taking dinner.
The afternoon session covered SAP Netweaver, a success story from StarSearch Technologies and J2EE (on EJB3) by Java Architect, JTrend. I was impressed with the EJB3 as the new specification ease a lot of job for EJB component developer with the usage of annotation introduced in Tiger. I got a T-shirt for asking a question during Q&A and later a key chain for submitting the evaluation form. So, it was really a day that full of 'input'.
Before we departed home, my colleagues and I discussed on the task distribution for preparing a presentation to share what we have learnt from the forum and also some business value that we could bring to our company and products.
Today I have learnt a new business strategy which is called 'Prosumer', it should be the combination of 'Producer' and 'Consumer'. It is based on the concept of 'corporation' (Koperasi in Malay), in which the 'public wealth' is shared among the so called investor. It was introduced by the Europe economist back in the 19th century to break the monopoly of the rich or higher status community. During that time, the rich or higher status community will remain rich and having comfortable living, while the poor will always be poor. There is no chance for the predecessor to 'over turn' their 'fate', thus revolution or riot was raised to over turn the government, however when the new leader and the community took over, the same situation happened. Thus, the economist proposed 'corporation' to gather very small amount of money from the poor, then these money are used to purchase necessity directly from the provider or producer with lower price and the goods are sold to the contributers of the corporation and the corporation make some income from it, yet the price is much cheaper. At year end, when the profit are shared among the contributors. Thus, sharing the 'public wealth'. In this situation, the consumer 'spend and save' at the same time, thus the concept of 'Prosumer'. In today's world, when it is applied in some businesses, it will produce a great impact to the consumer, rather than selling, the consumer just need to consume the daily products, at the same time earning profit out of it.
Last weekend, I went down to Melaka to visit my lovely gf as usual. It's kind like a routine as if I am going to work everyday, I don't feel any burden or reluctant to do so, any how, because I am meeting my love one mah :P. We went to pray at the temple on Saturday morning (because the next day was Wesak Day) and planned to perform the ritual ceremony to 'bathe the god', but the temple didn't provide that. So, on Sunday afternoon, we went to another temple near my gf's house to perform the ritual ceremony. It was so nice that someone guided us the correct procedure to do so. In fact, as planned, I was supposed to meet up a good friend on Saturday, however, due to some emergency case, he couldn't make it. So, hope to be able to meet him on the coming holiday.
Yesterday, as schedule, one of our company's partner came over for a meeting to discuss about one of the prototype I am working on. When I was trying to show her and my CTO the prototype that I had secreted crafted without my CTO noticing it, both our partner and CTO were impressed. Later, the Vice President came over and took a look too! He advised me on some of the things to be improved and hint me to give another 'surprise'!
While continue to work on the prototype today, my CTO called up to ask me to visit one of our customer to provide some support and consultation on preparing them to perform a testing to compare an existing application with the one we have simulated using our company's product. I met quite a number of obstacle as this is the first time I am working on a real testing tool and scenario. I have consulted my colleagues and even my CTO, however, to no avail, I did't managed to convince them to the testing approach that was expected. Never the less, I managed to learn up a lot of things especially in terms of consultancy, problem solving and 'red alert' on my vision to be 'evengelist'.
Tomorrow I will be attending Java Forum at Subang Summit Hotel, in which we will be celebrating Java 10th anniversary. Hope it will be an interesting event.
Today morning, I was ready and almost going to meet up to discuss with my COO about tomorrow's demo, however, when I checked with my team lead, he informed me that our participation on the demo was called off as for tomorrow's meeting doesn't require technical support from us. So, I switched to help my trainer on the training material as we are supposed to present in the afternoon for review. I went through the slides and made necessary modifications, besides, also updated some sample code to fit the additional requirement.
Half way during the work, my CTO came over to checked with me on the code optimization for one of the prototype I have delivered to the partner. He then explained to me the approach to take to optimize the deployed prototype since the partner is doing a benchmarking. I managed to get that up with guidance from my colleague. During the process, we found out that Weblogic Application Server act differently compared to Tomcat Web Server for the code optimization process. However, it's good to learn another new thing today.
During the review session, it seemed that the flow of the enhanced training material is correct and just required some minor modification or addition. Then, we got two new colleagues who just joined to provide feedback on the previous training and gather suggestion for improvements.
Tomorrow I shall compile the list of feedback and discuss with my trainer on the necessary modifications. Besides, I may write a small test program to test whether the demo program for the germany project can be run on the backend. Then, will compile a list of items to be clarified on next Tuesday.
I will be meeting my lovely girl friend and ex-colleague this weekend. Hope to rest more as will try to start getting the business plan moving faster and gain more income from there.
I started preparing for the Germany project after my CTO sent me the available resources. I even used Google's translation tool to translate the German written in some document or source code to English. Now I'm able to know that 'Die' (German) stands for 'The' (English) and 'Anzahl' (German) is equivalent to 'Number' (English). Hope to learn up some other common terms. Then, later the partner came over to setup a trial version of the client and server of the existing system. She then run through the software to show me and CTO the basic functionalities.
After going through the resources, I tried to modify the demo program that they passed to us and was so happy to see the program runs. Currently, there are a few issues that hinder me from further progress. Awaiting for some assistance and consultancy from the expert. :)
Early this week, the Vice President and Team Lead had a performance review with me. Since it was the first time I am having the performance review, I wasn't sure how the process would be, so I prepared a simple form/ matrix on the technical skills and soft skills to be evaluated. When I had the section, the VP explained to be the difference of performance review and appraisal. Then, when I passed him the form I prepared, he explained to me that usually this form is used in more formal occasion, in particularly the performance appraisal and both parties will rate each items. We had a two-way discussion for about 1 hour plus as I would like to find out some of the area for improvements. At the end of the session, I was assigned a new tasks to assist my COO for this Friday's demo presentation.
My team lead guided me on some of the preparation for the demo and I am awaiting to coordinate with my COO tomorrow on how should we pursue on Friday.
It has been a long while for this blog to be quiet. In fact, I have been involved in a lot of learning since the past few weeks.
At work, as I was trying to port an existing prototype (that was running on Jakarta Tomcat) into IBM Webphere Portal, I bump into many obstacles as the architecture of Java Portlet is different from Java Servlets though Java Portlet is an extension to Java Servlets. After several attempts of trial and error in order to get the porting work, but to no avail, I decided to get back to the basic to start learning about Java Portlet API (JSR 168). I have found some good articles explaning about the specification, some with tutorial and so forth. From the new knowledge gained, I attempted to modify the prototype to try to reach my goal in porting it successfully in Webpshere Portal. Work continues...
Besides, CEO and the new Vice President, Engineer dropped and had a small discussion with all the senior (as in at least 1-2 years experience) employee they have just hired. We came to know about the new VP's background and introduce ourselves to him. CEO also notify us about the possiblities of changes that will happen in the company, in terms of our role and responsibilities. He also advised us not to be afraid of change, as this change will lead us to a better status.
After the session, I took the initiative to hold a informal online conference with a few of my colleagues to plan out some internal prototype to be done. The main objectives were to think of some new ideas, look and feels and new domain to be covered besides getting some of us start working on some application with our company's product. As I was gathering some opinion and feedbacks from some of my other colleagues, including my trainer and regional channel manager, the discussion became more formal. We decided to had a face to face discussion with our regional channel manager. She proposed us to attempt on either a prototype for domain that the company has not tried before or some internal applications that use our company product. She also agreed to gather feedbacks from Sales colleague on some commonly met issues, such a way we may craft something for them.
On the next day, my team (consulting team) lead called all team members for a discussion. My colleagues and I who were involved in the informal conference started to worry whether we have offended anyone. So we agreed to appologize on our mistake. When the team lead initiated the meeting, he started to brief us on the latest status about the team and some upcoming prototype and project to be worked on. As we are still waiting for the Sales team to get back to us, he told us to bear with him. Later, he praised us for initiating the internal prototype idea but advised us on some common requirements from customer, in which the customer usually wants us to develop a prototype that integrates with their backend, though we may have some domain specific prototype.
Towards the end of the week, I was called in to work with my trainer to improve the training material and process to 'enable' the developer, in such a way that upon the completion of the training, the participants are able to use our company's product to perform the development tasks. After some discussion with my trainer, he assigned me to prepare the sample code for the mini workshop, in which I have to improve the UI, adding more comments and also prepare another J2EE EJB component for data retrieval. I temporary halt my work on the Java Portlet API.
As this is the first time working on EJB and deploying the J2EE application in JBoss
application server, my progress didn't go well as planned as I was coding and deploying it manually. A lot of mistakes in the deployment descriptor consumes most of my time. I should have used tools like Lomboz or JBoss-IDE to assist me. Besides, I also stucked in one of the situation where the Container Managed Persistance (CMP) Entity Bean I developed refers to a table named 'user' in MySQL database always refers to a table named 'xuser' when I run the application. After quite a number of attempt, I only realized that I should not use the name 'user' as my database table name, since it may be referenced as the table that keeps the record of users for database authentication and 'xuser' is reference indeed. Thank god, I managed to task on EJB integration by afternoon today. Upon an informal review session, I
continue to work on the improvement of UI for the sample code.
During the weekend, I was chatting with my CTO over Yahoo Messenger and found that I need to learn up JNI for Java/COM communication. It's meant for one upcoming prototype that I will be working with my CTO for a company in Europe. I was so excited when I got to know the news. Because if things go well, I may stand a chance to go to Europe, but things are not confirmed. So, I will work hard enough to learn up the new technology and hope the company can close the deal.
Besides, I stayed back late yesterday trying to complete my task on the EJB integration for the training mini workshop. The new VP dropped in our office and we had a chat. He advised us some common practice on QA, debugging and testing skill. He also encouraged us to learn and make full us of Unified Modeling Language (UML), as it is not just a graphical 'tool' but it helps in project management too! I wasn't sure whether he mistaken me to someone, but he told me that I should learn this more and he is going to grow me in the new area. As we were walking towards his apartment (I went to my car), he advised me, don't 'over-manage', if there are 100 items in the project and only 10 which are critical or at higher risk, then just focus on that 10, otherwise you will ruin the project. He added, 'project management is like sales, speak the appropriate but not everything; we were consultant, that's why we tend to speak a lot in order to drive people to certain direction'. I agreed with what he said, but really wish to learn more from him.
I told myself, I really gained a lot of new insights in this new company and more to come. If I am growing as how I am growing within these two months, I am sure I will be able to be someone great in 3 years time!
I met up with a few secondary mates at Mid Valley Star Buck yesterday at 10am. Not many turned up. The following are some of the photo taken:
(From left: Me, Sin Boon, Kuan Yen and Chooi Chooi)
(From left: Sin Boon, Kuan Yen, Me, Chooi Chooi and Ing Huei)
(From left: Sin Boon, Kuan Yen, Me, Chooi Chooi and Ing Huei)
The following is a 'candid' version of Lord of The Ring (Gunung Irau Version)
The Fellowship of the Ring
(Before we started our journey, all of us are ready! From left: me, Kuan Yen, Zhen Tong and Pek Keen)
The Two Towers
(Communication tower, where we departed)
Return of the King
(Pek Keen- did you realize his sword?)
Some other photos on the Gunung Irau trip.
The Shine from God?
(Rays of sunlight taken when we were at the lower part of the slope)
Is this where the Elves stay?
(Moss garden- the moss grows on tree branches, not the roots)
Hanging swing
(Pek Keen sitting on a root that grow across on a higher ground with a hollow beneath)
Victory!
(The peak of Gunung Irau)
New friends at false peak
(From left: Holland guy, me, Zhen Tong, Jason (from England) and Kuan Yen)
Huge and tiny picture plant
(Can you imagine how big is the picture plant, try to use your body part to estimate)
Foggy-Creepy
(Covered by thick fog, seems creepy traveling across it)
Mountain View
(From peak of Gunung Irau)
Tea plantation
So, do I look funny in the photos? Hope you enjoy the photos.
It's a great experience for my trip to Gunung Irau yesterday. Anyway, I would like to start the story since Friday.
After work on Friday, my younger sister came to fetch me as we have agreed to celebrate my dad's birthday by having dinner together. I was surprised when I saw my mom also in the car. Then I tried to ask my younger sister about my elder sister and she told me that she went to fetch her boy friend and will meet me at the restaurant. When we reached the restaurant, I was really shocked because my younger sister's boy friend and my younger brother are there too! I was so pleased because we can hardly have chance to have dinner together like this, every family member attended.
After the dinner, I went to buy bread and 100 Plus for my Gunung Irau trip. I packed the necessary gears (but this time is really light, since no tent and extra water supply) and went for sleep early at 11pm. The next day I woke up at 3.30am. I took a bath and waited for my friends. Only 4 of us went for this trip, in which 2 of them (Pek Keen and Kuan Yen) are my best friends. We were called the 3 musketeers! Another member is a friend of Pek Keen- Zhen Tong. Zhen Tong drove us and I took a nap during the journey. We took our breakfast at one of the R&R in Plus highway.
We reached the peak of Cameron Highland at 9+, the weather was quite nice but pretty chilling. We started our journey. Passing through the forest, we found the track was slightly challenging as ground was quite soggy and tree roots criss cross over the track. It's slippery especially whe we steps on tree roots to avoid the soggy ground. We moved on the challenging track and Zhen Tong felt at two spots when we were slowly moving down steep slopes. I believed he hurt seriously (because later he showed the blue black on his tight), yet we proceed the journey.
Along the way, I realized that the one who lead the group must be very decisive in picking the right and best path when we reach a 'junction'. If the path chosen wasn't the better one, the group will be brought into some or could be serious 'problem'. While the people in between so act as a very excellent 'bridge' between the forth and back members to make everyone pace out in sync. While the last person also have to keep up with the pace in order not to 'drag' the group down. I believe this applies to the company organization. So far I found Pek Keen is a very good 'leader' during the journey to the top of the peak.
We stopped at some points to grabs some drink while giving our muscles to rest. We proceeded till we reach the foot of false peak. It situated between Cameroon Highland and Gunung Irau. Many people thought they have reached Gunung Irau when they reach the peak of this mountain, thus it's called false peak. The journey up to the false peak was really challenging as it's quite steep and long. Besides, we climb over big rocks and roots, it tested our physical to the extreme, yet I believe the mind power played greater role here. With our team work and high spirit, we reached false peak at 11+. We grabbed some food and drink and took a rest.
When we were about to depart for our destination, Pek Keen proposed such that we only carry one bag with the necessary drinks, while the leaving the ramaining bags back, so that it will reduce our burdern and increase our speed to reach the peak of Gunung Irau. Then, Zhen Tong proposed not to proceed with the journey as I believe he was pretty exhausted and also affected by the hurt from the falls. Thus, we reorganized the baggage and I volunteered to carry it since I am the 'biggest' among all. We continued our journey down the false peak and we were impressed with the creation of the God when we reach the mossy jungle. I was told by Pek Keen that it looks like where the Elves stay in Lord of The Ring. I can't believe it till I really see it with my own eyes. It was so beautiful. Every 15m we stepped on, it was another 'scenary'. We took many pictures and I wish to share it very soon. At last, we reached the peak of Gunung Irau at 1pm. Yes, we made it! We conquered Gunung Irau! This add to my list of hills/mountains that I have conquered!
So far, I have managed to reach the peak of the following:
Bukit Gasing- Petaling Jaya, during Form 3 for project
Bukit Teresek- Pahang, during my trip with club to Taman Negara
Gunung Bunga Buah- opposite Genting Highland, I went with Pek Keen and another two secondary class mates
Pine Tree Hill- next to Fraser's Hill, I went there twice with Pek Keen and a few other friends
Bukit Beruang- Melaka, during my studies in MMU Melaka
Gunung Irau- next to Camerron Highland- new entry!
We headed back to false peak after taking a lot of pictures at Gunung Irau as record of achievement! I am surprised to meet two foreign hikers when we reached false peak. One of them from England- Jason, while another from Holand, can't really remember his name, sorry buddy. We had some chat while taking some food to regain our energy. I over heard their discussion on whether to proceed to Gunung Irau, as they seemed to have run into shortage of water. So, I proposed to Pek Keen to offer them a bottle of mineral water. They were happy and asked for some information on the duration to reach Gunung Irau. We managed to take a photo with them and before they left, they asked us for the contact number of Taxi service. We promised them to pass them the number once we reach the Cameron Highland town. Thus, we have Jason's contact number with us. So happy to meet two new friends at false peak! Seems to have meeting a lot of strangers this week :)