Wednesday, January 30, 2008

Scotty

I am Scotty.

PDT (Product Design Team) is the helm. And they are always telling me to do something that partially destabilize the application. I am always telling them that we can't do it, trying to push back.

This week really did push it but we came out of OK. The Enterprise is shaking and breaking up a bit, but she will hold together through this one.

Luckily the testing foundation makes the software diagnose its own problems pretty effectively. Then it is just a matter of cleaning up the edges around new functionality.

We are currently watching "Evil Bong", so my concentration is getting toasted. I think I am getting a contact high just watching this.


Chris

Tuesday, January 29, 2008

Fish Head

The team backed my play. They understand the new architecture and have been bustin' their backs to get things going again with some of the new functionality.

I am getting a little sick of Singapore. But I have had two damn good meals.

If you visit here, you want to eat muslim food. Literally, the signs above the food stands say "Muslim food". I had some God damn good "Muslim Food" for lunch (praise be to Allah), followed by a dinner of the best Thai food I have ever had in my entire life.

Lets take a detour to the signs you see at lunch in Singapore. They are declarative, much like my writing.

"Currey Fish Head"
"Pig Organ Soup"
"Fish Ball".

In general, they use fish oil like we use salt. The simplest, most benign things taste like they rubbed raw fish all over them. If you have never had whole fried fish (with the head attached and the eyes looking at you) then you will have a hard time eating about half the food here.

You get soup, and it tastes like licking a fish. Grab some chips, and what you really grabbed are prawn chips. They taste like...you guessed it...raw fishy fishy fish. Nothing really tastes like what we think of as fresh fish.

If you have had catfish, imagine getting old, oily and just on the verge of spoiled catfish. Grind it into puree. Then douse everything you eat with it. Osama bin fish-head just piloted an oily mess into the taste centers of your mouth. If it makes you even a little bit sick to your stomach, you look forward to tasting it for the next 4 hours while you work.


Oh, and by the way, nothing is fresh. Everything has had the hell cooked out of it. Green, or otherwise. Like a salad with your food? Everything has been boiled or fried and has a *ton* of oil on it one way or another (butter, cooking, fish).

Perhaps you would like a simple roll with some good Italian sausage, with some fruit? Screw you whitey! Eat some damn fish head!

Chris

Sunday, January 27, 2008

Finally finished

I integrated a very large feature today. I had to work both Saturday and Sunday; this really exhausted me and I need the team to hit it this week so we have a solid release.

I met Mattias' girlfriend for real today. We sat and talked about many things; she pissed me off a little but I clearly pissed her off to so I didn't respond to here comments much. I really like her and I know she has a very tough job and is exhausted; so I just brushed it off.

She made fun of my oncoming baldness however. I would think that would be over the line in most cultures. I though about making fun of her weight or something just to be nasty but as I said I really like her. Her attacks were basically a reaction; she feels I am a tech-snob and a salsa-snob. Both probably true, but I don't know a lot of people who have said that.

If she keeps it up I will ask if it makes her uncomfortable. I will also point out that her culture makes a point of normalcy and that I find this pathetic and suffocating. So, politely, screw off I like my long hair and my baldness.

Anyway, I am looking forward to what tomorrow brings and to talking over this iteration and what we can reasonably accomplish by the end of it. I will have a long, heart to heart talk with the rest of the team (PDT and flight control). I think everyone sees eye to eye about things; I just need some crazy stress off my shoulders.

I also need to think about what I can do every day to make the team more effective. A full plan of attack, I guess.

Chris

Saturday, January 26, 2008

Time alone

Justin and Mattias went out and I have the apartment to myself tonight. I started into house of leaves and already managed to get myself into an introspective mode. I do not intend to shy away from discussing rather intense things here, so if that makes you uncomfortable you should wait till I am in a better mood.

I worked all day today (Saturday). Literally every feature of this story is dependent upon my work this weekend so I have to make it good. Tomorrow I intend to finalize what I have been working on and check in once the unit tests pass. I don't know if the application will run but as long as the tests pass I know that there will not be a ton of work to make it run. This feature is very smart but very abstract; I wish I had more time to really think about it.

You may have noticed that I tend to speak in declaratives. In person that isn't always the case, but on a blog I do it consistently. This is because the blog, at this point, is just an outlet. Later I will try to give the reader more things to chew on and more interaction with the prose.

It seems that I manage to put myself into incredibly hard places. I am here on a mission to teach very unreceptive people a more effective way to develop and think. I need them to interact more and give back a little. Plus I have a lot of issues on my mind; development like this is very stressful but it truly makes you good. I would like to spend more time on the people and less time on the project, but I feel like I don't have the chance.

I am in a weird city full of cultures that I don't understand. I can't easily get out and into peaceful environments and I have never been a city person. I really miss my beautiful house and the solitude of where I live. I miss the community of people I have built around dancing and the various other sports that I do. I recognize however that those things of comfort can always be taken away from you. This is a good experience as it is teaching me a level of strength and belief in myself.

I am very very alone here, sent to do a very difficult job. I am living up to the moniker of the code monk 100%, although I never thought it would come like this. I feel a little sad discussing this honestly, but also I feel a deep sense of pride. I don't want to be this alone, but I also know that many people in my position could not do this and the reasons have nothing to do with technical reasons.

It is hard to take these people seriously. None of them seem to really believe in their work and what they do. In fact, I would say that I am extremely un-impressed by a lot of this.

The buildings are built like shit. They are ugly and full of bad engineering decisions. In Anark's office, if the AC goes off you know it in about 5 minutes. That means that the space is so poorly insulated from the most noticeable natural effect in Singapore, the sun.

The people go places to work out, but very few do it enough to make a serious impact on their lives. They go to work, but the don't do a very good job mainly because they don't put enough effort into learning about their jobs and themselves to really understand what a good job is. You can talk all you want but they will give you absolutely no sign whether they understand or not.

I was recently told that software developing here is considered a very second rate job. It is considered a hobby; owning a store is more respectable, a real job. There is little value to artistry; there is no bohemian community.

When we go out to eat I notice that the developers reflect this a great deal. We sit at tables we are the only people who are not dressed very businesslike. I feel like we are the outcasts or the underdogs somehow; I wonder if the developers feel this way. I hope they do because that is a position I am an expert in and I know very well how to capitalize on it. But I may never figure it out.

There doesn't appear to be a drive behind anything other than to either show off or to make a lot of money. Everyone is concerned about face; you should never publicly admonish people. I just am having a hard time finding anything I can believe in; I feel that I am awash in superficial lifestyls in a culture that has taken superficial far beyond mine (although you have to remember I am from the midwest; I would bet that LA would feel identical).

None of the Americans I spoke to really want to be here. We all want to leave. At least I can.

As time goes on I need to really work to understand this city better. I was thinking of taking some time and checking out the different ethnic neighborhoods to kind of see what it is all about. If there is any soul to this city I should find it in china town and other locations where people value culture, tradition, and things of beauty that are not produced in factories.

I want to really inspire this team. I want to explain to them everything that I see when I see a codebase; when I think about this amazing profession of developing software. Indeed, it has taught me the life lessons that most people learn from sports (or never learn). I see so much beauty, wonder, power and elegance in code and coding systems. If I could impart at least a little bit of this to the devs perhaps they could be proud of what they do and who they are and perhaps then win or lose I could be OK with the outcome.

Chris

Thursday, January 24, 2008

Steam (or the lack of it)

the ups and downs of the expat.

The trip has caught up with me. I am bickering with the product design team, we are in the middle of a tough feature, and I am pretty tired. I am worried about my house. I haven't flirted with any female really since I left Boulder and I frankly am starting to need the attention. My stomach is kind of achy and has been since I arrived here.

On the other hand, I had a great design session with the fairly difficult things that we have to do next week. Not a lot of work, but I want everyone to understand the theory and reason behind the design. The theory is abstract, it is different than what they are used to because it is nothing that you would come to if you spent your life in c++ or c#.

I tried to move from low level description of a single instance of the issue, to how this overall pattern is reflected throughout the system. From there I talked about different languages and how they implement various features around this area. Then the team lead from Singapore brought the discussions back down with specific implementation questions (most of which I couldn't answer with anything but very general statements).

Anyway, I then wandered around and spoke about various different things and tried to get a feel of how the team understood the bigger picture. I had about 65% success rate. Wandering around, I also got to explain two of my favorite concepts (closures and currying) to a team member who was struggling a bit with where we had used those concepts.

Justin and I then went to a hotel downtown and took part in a very intro Brazilian Jiu-Jitsu class. We had a good time rolling around, and it felt good because we were by a long shot at the top of the class. I almost tapped the instructor; if my side control defense was better I certainly would have. In general, it is probably better that I did not; he needs more students and it would be more productive to go into his class pumped and really work with people. But it was the first class and I was rockin'.

Next day I start on the most abstract stuff and don't really say much, other than I continue a bickering session with the product design team. Its somewhat just frustration, but I really want them to think about simpler design so that I can make things a little easier for a bit.

I can't tell what progress I am making or what is going on. I need to work on teaching to fish a little more, because I need to get back to Boulder at some point.

Right now I just feel tired, frustrated, and I am not sure the direction things are going.
Chris

Tuesday, January 22, 2008

Batam, Indonesia

This was a sweet idea.

We get up going around around 8:30. The boat pushes off around 9 AM, and it takes around 1 hour. I am not having a great time because I slept probably 1.5 hours the night before. I really didn't enjoy much up to this point, especially because my breakfast consisted of weird noodles and my stomach was already upset from the night before.

Probably 10 minutes into the boat ride, however, I realized I was in for somethin' real sweet. On the way across the ocean, we went past these **HUGE** ships. I was just having a good time. I tried to sleep a little bit but it was pointless; there was a lot to pay attention to just on the way there.

When we arrived, I realized how really cool this was going to be. Batam is the third world, no doubt. We drove to the resort where we were staying, and I was checking out the houses and people along the way. It reminded me of a Puerto Vallarta a bit, but less touristy and cooler.

We arrived at the resort and it was super cool on the inside. Very good looking on the inside, beautiful large wooden strucures in this rich, dark indonesian timber. The people who worked there were very sweet, but we couldn't get into our rooms right away, so we ate lunch and checked things out.

In general, this resort was past its prime. You could tell it was absolutely past its prime. The grounds and the pool weren't very well maintained at all. Apparently there used to be horse racing somewher near, but the Muslim government ended that, and thus the source of money for a large number of the resorts and people right around there.

There wasn't that much to do, but I didn't care. I sat in the pool, had a spectacular conversation gently going over old things I needed to discuss with my old boss.

Anark was tough for me in the beginning. The code base wasn't very impressive. The product showed great design potential but the technical aspects were just really poorly executed. There was a lot of ego (some of it mine) and it just really left a large negative impression overall.

We talked a bit over the technical issues and we found a lot of common ground. Then I went to my room and passed out for three hours.

We gather into a van, and went into town. Klarinda, one of the Anark employees, is from Jakarta. She acted as our translator (which helped things out so much it was crazy). We ended up in sort of an Indonesian beer garden. We sat in the middle of an open court with cute beer women filling our cups and vendors around the edges. The table ordered all manner of crazy food, and I had this really weird crushed ice desert that tasted like crunch berries from captain crunch.

We then headed to the "hypermart". King Supers, comp USA, and everything else. Giant supermarket with stalls with an open mall-like section with various different electronics and sunglass vendors and such.

The supermarket was decent, except one thing. I wanted to check out the fresh fruit, because sometimes I find really cool or interesting fruits and such.

1. There weren't any interesting fruits.
2. The fish section was next to the fruit, and it smelled like nothing I have ever smelled before. I wandered through it trying to find the source of this incredibly strong fishy smell, and finally I did. They had small, dried fish in this large open crate. These things smell very *very* strong; it almost made my eyes water.

Next day, we ate breakfast and then played a wicked round of paintball. I lead one team, and my old boss (Justin) led another. Their team out-played ours cleanly twice. I tried clean, well thought out tactics (moving good over the ground, one guy covering the other guy).

I then decided to mix it up. We switched the game to capture the flag (it was basically storm-the-base). Here a fast opponent has a significant advantage for two reasons; you get to the flag first before they cover it and then run back through your own defending teammates to your base . So I bum rushed the flag and we won easily. We played another round of this game, and I rushed their base (not bum, though; I took cover and was kind of careful). Unknown to me, another teammate bum rushed this time and we won again when I was probably 10 meters from their base and closing.

Last game was pretty much open season capture the flag, and everyone ran out of paint. The other team won (mainly due to lack of paint).

Our lunch was in town this time, and this seemed to me to be real indonesian lunch. A small very aromatic shop where they just had several dishes laid out. I started with rice in banana leaves. One of the women in the shop walked me through things in Indonesian (which sounds like, and is very close to, Malaysian). I just kept telling (with my fingers) little bit. So I had a bunch of tasty stuff, but not so much I couldn't finish my lunch.

I also bought Teh Botol (tea bottle) from a shop near the lunch shop. I tried to take it back to the resort, but Klarinda saw it and said I had to finish it. You return the bottles to the shops where you buy the tea! I bet the owner was thinking about how all the rude tourists keep stealing her bottles.

Back to the resort, back to the pool. No nap this time, though; Justin and a few guys wanted to play some volleyball so hell yeah. We played till just before dinner (like two hours). It was super cool; I say my team learn visually. They wouldn't bump or set at first, but by the end we had a solid set of sessions and they were beginning to get confidence in the strategy we were using.

Dinner was cool, we went to an actual indo restaurant. Klarinda again came to the rescue and we had a bomb dinner and a good time. Later we went shopping again and I got some sweet shirts. I had to have Klarinda and the shop owner help me out (color blindness) on what colors things were, but I know enough that once I know what color things are I have a good chance of knowing if it will look good or not.


Next day we head back. What a sweet session.

On the cab ride back to the apartment, I had some more good discussions about the difference between Anark years ago. From my perspective, the biggest is ego. Everyone here really wants to succeed; we have all been in the position where it was obvious that we were our own worst enemies. And it seems like we are in a position where everyone is willing to just let ourselves go and just really try to make things work. That is a very, very hard life lesson to learn.

Thursday in SIN

This is now five days later (Tuesday evening) so I am trying to remember large details.

Thursday in Singapore was the last day we had to finalize features for the new release. Instead of teaching the team or doing anything else, I just slammed and we got the necessary stuff in. I was happy with the team, and things felt pretty good.

We (management) then headed out on the town and started to have a good time. It was pretty fun, a good night club and I finally broke the ice with one of the guys I work with. We had a bunch of drinks, and talked about just random stuff getting used to each other.

Next we went to a night club where we could dance and party and have a good time. I think we are going out to dance Salsa later on in the week so that will be cool.

Nothing huge happened Thursday that I can remember other than breaking some ice and chillin. We got in at around 4, and my stomach was too messed up to sleep so I slept perhaps 1 hour, or maybe 1.5 hours before we had to get up at around 7:30 to head to Indonesia for a compant retreat.

I later spoke one of the leads of the singapore team who knows a lot of chinese medicine. He told me that alcohol and Satay (what we had for a snack after drinking) were both heating elements. Next time I should apparently try pineapple juice.

Thursday, January 17, 2008

Some crazy shizzle

I attempted to give a group lesson today. It was kind of like:

me: explanation.
group: blank stare.

me: explanation.
group: blank stare.

etc.

This is going to be harder than I thought...

I should start moving from desk to desk soon, but I am not super comfortable with it yet. It is really weird to just sit at someone else's desk and start talking about something or ask questions.

On a better note, I got huge news today. Some unnamed company is probably going to acquire another unnamed company and should that happen people working at the acquired company will be able to pay off incredibly large loans quickly.

It is funny how people act under the pressure of nebulous, but expected awards. Specially people who have been working for them for a long time. They get nervous, pushy, and really drive me nutz. At this point I am so tired and delirious I don't care about much other than sleep and what is right in front of my face.

I had a crazy breakfast today; I should have taken a picture of it. I just walked to a chinese stand and started ordering what looked tasty. I ordered too much, and I didn't like it very much; it was mostly mild which stuff (rice flour or yams). But it had spectacular names and it was totally Chinese. While in Singapore...

Tomorrow I will have another group session and I need to think about it to see how I can make it more interactive. Perhaps if I put more energy into it; dance around and sing a ditty. The question is to get people used to contributing in a really nice, non-confrontational way. Perhaps ask them how to say things in Chinese or something like that. Perhaps they aren't going to until they relax a little bit.

Chris

Wednesday, January 16, 2008

Singapore Livin

I am darn tired. I couldn't sleep the night before the trip, and I flew for 24 hours. During the flight I slept a little bit off and on, but not too much. Last night, I slept perhaps 5 hours. I think now my body is ready to adjust, but I am not certain I am coherent.

Singapore is crazy. A friend called it Asia minor, since they speak English. This morning for breakfast I had rice, a weird red sauce, entire small fried fish along with an entire larger fried fish. It is weird to eat fried fish when its head is still attached and its eyes are looking at you. Especially in an odd country that smells different anyway.

I then met the crew. I have been working with them for a long time now (6 months or so), so I was pretty nervous. They were nice, and I think both sides were pretty shy. I felt odd because I had absolutely no idea how they perceived me; but it as the cool kind of odd. Not really uncomfortable, just a little awkward.

We had pretty good sushi for lunch, and then I had American food for dinner. My stomach was a little upset (probably from just being tired) so this was kind of nice.

Overall I am impressed with the professionalism of the Singapore team. The two leads and I had a meeting, and they were very direct and straight forward about what they need from me. We decided the most important thing I could do was spread information about some of the deeper architectural aspects of the system design.

I spoke some at length about the role of the current project in the larger view of the organization, and I ran a lot of ideas past the leads. They were receptive to most, and I feel I have a good path I can follow for the next few days.

It is interesting to finally meet the people I have been working with for such a long time and who are tasked with taking over the code-base. The team seems very intent on doing good work and they seem pretty inspired or driven. Dealing with people who don't care is a waste of time; this was my greatest fear. This crew seems workable; we will see.

Tomorrow I will start the professional development plan (give people copies of "The Pragmatic Programmer"). I really hope they are receptive to this because at the end of the day nothing would make my job easier than people who are actively studying computer science and coming up with good alternative perspectives.