All posts by hevangel

Chief Programmer Team

In software development, there are many different models in how to organize the team structure. I have read the Chief Programmer Team model in Rapid Software Development and Mythical Man Month and I always wanted to try it. The Chief Programmer Team model is base on the fact that the best programmer is often much more productive than an average programmer. The idea is to amplify the productive of the superstar by organizing the development team around him. The chief programmer is the brain of the team, he architect the code and write the most complex part, leaving all the supporting, secondary or mundane tasks to other team members.

I found this development model works exceptionally well with Indian contractors. I have been auditing their code does not meet our quality. I tried explaining what they need to do in email and over the phone how to fix their code, but somehow they just could not get it exactly right. It is to the point of frustration that it would simply faster for me just fixing their code. However, I only have two hands and I couldn’t not do all the work myself. I decided to try the chief programmer team model. I clean up the structure of their code and take care of make sure all the pieces works coherently. Then I wrote instruction in the code and get my team clean up any syntax error or careless logical error and most important finish the mundane wiring work.

I found I am super productive using this work model. I can focus my mind on solving the big problem and let my guys take care of the boring details. When I am writing and qualify my own code, I can work on one file at a time. Now I can work on 3-4 files at the same time. It is like I have an AI automated code generator or I have a few extra pairs of invisible hands help me type the code. I just specify the flow and structure of the code, jot down some high level instruction and the code is auto generated the next morning. I gave enough information in the code so my guys only need to fill in the blanks like in high school programming assignment. I estimate I am 3-4 times more productive by having 3-4 contractors serves as my remote fingers and low-level brain. If I leave those contractors figuring out the code on their own, they won’t even be half as productive as me.

The only problem of chief programmer team model is hard to implement in a typical N.America work environment where everyone is more or less equal in the hierarchy. No one wants to be the supporting programmer who carry out all the boring grunt work while the chief program gets the fun of creativity and all the glory. Moreover the role of supporting programmer seems like a dead end job with no career perspective, so naturally no one want to stick around doing it. The supporting programmer has to reach at least the basic competency level or he won’t be any use, but at the same time he much not be very competent or he will seek a greener pasture other than working as a supporting programmer. The biggest challenge of the chief programmer team model is find some stable decent supporting programmers.

CSIA level 2 ski instructor

I just passed my CSIA level 2 ski instructor training, which means I no longer limited to teach bunny hills, I can now teach on blue runs. I have my level 1 certification for 4 years but never teach any lessons. This year I decided to give level 2 a try and see how much my skiing had improved over the past few winters.

I took the level 2 course at Grouse Mountain. Although I am living in Vancouver for almost 10 years, it’s the first time I ski on Grouse. The weather is better than I hoped. There is not much snow base, there are brown patches on the ski runs and only three runs are usable, but at least I don’t have to ski in the rain. We even got 9cm of new snow on the second last day of the class.

The course is 3 nights and 3 days. I never ski 6 consecutive days in a row and it really tax my endurance. Most of the classmates work for Grouse ski school, except a girl work in Cypress. A high school girl and I are the only two students who do not teach skiing. The course covers teaching from linking wedge turns to doing full parallel turns. We spent most of the time on parallel turns since it is harder. The exam has two components, skiing demonstration and teaching. In the ski demonstration part, I am required to demo perfect parallels turn. In the teaching part, I have to assess my student and pin point what’s wrong with their skiing and give them drills to improve their basic techniques.

Somehow I actually pass the teaching part without much problem since it’s just good observation and then apply skiing theory. I was struggling in the ski demonstration. I was clearly below standard on the first day of the course. My balance is leaning too much up hill, my turning timing is off, I did not steer enough at the end of the time and I did not have much leg extension. For the whole week, I focused on improving my basic ski skill to bring it up to the standard. Luckily, this is the ski instructor training and I have lots of opportunities acting as student for my classmates. Since they are also working hard to pass the course, I got very good attention and helpful feedback. I think including the sessions from the instructor and the classmates, I have done the parallel turn lesson at least 15 times. I was so happy when the instructor told us everyone pass the course on the last day. The pain and sour of my knees and my back finally pays off.

Before I take the course, I always blame my old ski for my bad skiing. Now I know I have a lot to work on and I am far from the limit of my old ski, rather I am only limited by my poor skiing techniques. I always struggle on bumps because I don’t have a strong foundation. Skiing the same three runs on Grouse doing endless drills is not as fun as cruising down on Whistler, but it forces me return to the basics and work on my foundation. The instructor training is probably the best ski lesson I ever have in terms of skill improvement. Dollar for dollar, I earn more ski skill in this training than any drop-in lessons in Whistler. I even get tax credit for the course tuition since it is classified as job training!

Building my own closet

Finally I moved in to my new house, albeit the renovation is not totally finished. It just marks the beginning of many DIY home improvement projects. The first project is building the closets. The closets came with the house is those very ugly wire shelves, which typically you would see in a rental apartment. Both I and Pat hated those flimsy wire shelves and want to have better looking closets. Custom made closet are nice but very expensive, so it’s out of question. We check out closet solutions from IKEA, they look nice but they are quite expensive and the dimension does not fit our walk in closet. I almost got the extensible closet from Canadian Tire, but at the end I go for modular closet from Home Depot for the walk in closet and build from parts for other smaller closets.

I bought the Martha Stuart modular closet from Home Depot, although it carries Martha Stuart’s brand, I suspect it’s a Home Depot brand, since I don’t see it selling anywhere else. It is about twice as expensive as Closet Maid wire shelves but half the price of Ikea and it almost quite nice. The closet is easy to install, first mount the metal rail on the wall, then hang the vertical plywood panels and at last put on the shelves and rods. It only took me 12 hours to finish our walk in closet. I have spent most of the time figuring out where to drill holes on the dry wall using a stud finder and a level, went to Home Depot twice to pick up parts I forgot to buy, reinstall the panels a few times due to stupid mistakes and saw down the hanging rod to fit my smaller than standard closet. It also has many accessories, like drawers, wire basket, L shape shelves for the corners, shoe racks, sliding ties rack. I bought a couple of drawers and a tie racks to make the closet looks more elegant.

Here is how the Martha Stuart closet looks on the package:

Here is how the Martha Stuart closet looks after installed

The walk in closet is done and I have a more ambitious plan for other smaller closets. The other closets are essentially just a shelf with a hanging rod, I figure the cheapest solution is build it from parts. I got two metal bracket with hooks at the end for the rod at $3.99 each. Don’t buy the packaged shelves or rods from Closet Maid as they are over priced. Just buy a long piece of laminated plywood shelves for $10 and have Home Depot cut it into the right size for $1 per cut. A 4 feet 1″ dowel hardwood rob for $5 and cut it into the right size as well. The rest is pretty straight forward, find the stud and screw into the bracket. Then put the shelves and rod on the bracket and fix it with screws too. The trick is drill a pilot hole first so it is easier drive the screw into the wood. The only thing left to do is paint the rod to match color of the shelf.

Shopping for Piano

We are looking for a baby grand piano for our new home. I know Steinway and Sons is the best piano, but it’s way over our budget. A Yamaha is more affordable, but Tom Lee gets a fat profit margin. So I have been monitoring second hand piano sales on Craigslist and Kijiji for the past few months. I saw a very good deal, 15 years old Yamaha C1 for just $6000. I call the seller and ask to check it out. It turns out the piano is storing at a piano store, I feel a bit suspicious, thinking it maybe a trick to lure in customers, but I figure there is no harm to take a look anyway.

When we were in the store, as I expected the store owner try to sell us other pianos on floor. The store mainly carries two little known brand, Brodmann and Hailun from Chinese. The owner try to convince me his pianos are as good as or even better than Yamaha. He keep saying the new manufactures learns their skill from Europe and their piano have a European tone and criticize the Yamaha has a sharp tone. He try to demonstrate his point by playing a few notes from each piano. However I caught him trying to mislead my perception. He played his piano with a very soft touch and hit it really hard on Yamaha’s key. No wonder his piano sounds better. Pat took her turn and play the same piece of Mozart in all these pianos. I can tell the difference with my untrained ears. Estonia is definitely has richer sound compare to the Yamaha, but the sound from two Chinese brands are quite murky.

To most of my disappointment, the Yamaha is actually not a C1 but a GH1. C1 is an entry level concert grade piano, GH1 is just a Yamaha knock off made in Indonesia that does not even have a proper sostenuto pedal. At this point, I no longer trust the integrity of that shop and decide to leave. At this moment, the owner of the piano called the store and said the piano is just sold. What a perfect timing. Later that day, I found the piano suppose to be sold shows up again in Craigslist under a new ad. I am 100% sure the piano is a bait to lure innocent customer to that dishonest piano store.

Even though the piano shopping trip did not turn out as I expected, but I still learn something new about piano. The most valuable of all is I discover the Piano Buyer Guide which is very informative on anything about buying a piano. As an engineer, I don’t feel comfortable buying things that I don’t understand. Since I am not a piano player and know nothing about piano, now I feel obligated to read the Piano Buyer Guide before making a purchase decision.

My last words to those who happen to come across this blog, stay away from Heritage Piano in Surrey. Piano is probably the most expensive purchase other than a house and a car. You gotta buy a piano from a reliable source. Never deal with a dishonest piano store.