Thursday, December 25, 2008

Merry Christmas with the emphasis on Merry

Today is Christmas Day, the second most holy holiday on the Christian calendar after Easter. It turns out that I am not a Christian, and this year I have the unique opportunity to do a little extra work so that the gentiles on my team can feel a little more at ease as they go and celebrate with their family. In practice, this means that I get one of the pagers and am saving up my day off time for a more personally relevant holiday. I won't discuss what I am working on, but needless to say it's going to be a tasty treat of App Engine goodness.

For most people who celebrate Christmas, it's meant to be a "Merry" day, hence the constant flow of good tidings and well wishes. In the spirit of merriness, I'm going to talk a little bit about it, and how it's important for the production of good technology.

When I was a little rug-rat just starting out at College I had a really interesting Assembly teacher. This fellow by the name of Robert Doggett looked more like he should have been in front of the Army of Northern Virginia than a classroom. This guy was full of grit and tobacco and an unfathomable love for assembly languages, especially 8088 assembly. He was an adjunct professor from IBM Poughkeepsie and he seemed to also enjoy teaching dopes like myself. One of the many catchphrases he had that I can remember was "Don't tell my employer but I would be willing to work for a lot less money than they're paying me." He once came up to the campus to teach me, just me, the ins and out of FAT based file IO under DOS. Well, actually, under DOS us not really accurate because he was more about bypassing DOS and going directly to BIOS than anything else. But by the end of the session, which was not more than an hour or so, I understood what was meant by a "File System". Why did he do these things? Why be willing to work for less money than someone will pay you? Why spend your time with dorky undergrads on your time off?

The answer is that he enjoyed these things. He enjoyed technology... well not all of them, but the ones that were central to his interests. I can't underscore this enough. If you could look past the fellow who must have been the model for the Half-Life G-Man, you see a very merry man.

What does this have to do with technology? Lots. Most of the technologists I work with are not doing it because it is currently a lucrative line of work. They do it because they enjoy it. The best technologists got in to it because it was something they enjoyed doing or led to something they enjoyed.

For example, and for those who know me this won't be much of a surprise, my primary motivation for getting in to computers was my interest in video games. While it must have seen a perverse and unhealthy obsession for a kid, and one can often see why, it ultimately led me to the career I am in and the person I am now. I wanted to write programs because I wanted to write video games. As soon as I had the smallest inkling of how to program, I went right for the jugular. Tried to figure out how the graphics systems worked, maybe even sound (back then it was a crude endeavor) and put it together in to something crude and entertaining. My best game ever was an elaborate and enhanced version of the Tron Light Cycles game.

Doing something you either like to do or that leads to something you like to do is an important motivator. Something that is missing from most classwork that I had to do in school didn't have any more motivating appeal to me other than that I could be through with it and possibly get an abstract grade for it. In other words, I was never motivated. Unless it was something where I could end up with something that I liked personally in the end.

Most of the work people do in the world fits in to the category of "do it or else something bad happens to you". You can not get paid, lose your job, not eat, or a whole host of other calamities. People usually work because of fear of negative reinforcement. Few people work for some kind of positive reinforcement.

I think the technologists are the lucky ones. Most of the time I find what I am doing interesting and compelling. There are always the painfully dull tasks that one has to do, in fact a given job might be mostly these sorts of tasks, but as long as there is something for at least some of the time that can keep you going on your own steam, it's all worth while.

When I recently went down to Guatemala, I was expecting to find students motivated by the same principles that motivated me. I figured most the student projects would somehow be related to Football ("Soccer" for the American speaking countries) or music, or any number of potential regional interests (choose whatever Latin American stereotype you wish). Most people were focused on trying to find projects that were intended to be relevant and profitable. While it's true that money is an important motivation for pursuing a career, and it's enough for some people, I can't help but wonder if it's yet again an example of negative reinforcement at work.

The pressure to graduate and find a way to make a living is always very high. Opportunities even in technology can be rather scarce in a place like Guatemala City. The consequences of investing time and money in to education and not having something substantial to show for it are dear. Most people are worried about focusing on the business side of things, because that's where the money is and ultimately is what a successful enterprise has to be about. But there is no technology business without good underlying technology. If your good at technology, you can worry about how to turn it in to business later (unless you are living in Silicon Valley during the Dot Com years - tee hee). I'm not saying the business side is not important (learned that lesson, thank you very much), but I am saying that business is not going to get you anywhere if you don't know what you're doing.

Let's say you are an athlete, training for a Football match. It would be a tremendous help and advantage to study various Football tactics and techniques, how to work play as a team, and how to out think your opponents. You can become the most knowledgeable team in of Football history, but if when it comes time to play and you go out on the field you are too out of shape to run up and down the pitch, then you're going to lose the game. You need to be in shape and know how to run.

Technology is the same way. As the technologist, your the person running up and down the pitch. You need to exercise your skills, build them up, become stronger and faster. As a nerd, to me the idea of strenuous exercise can be a daunting proposition. It means eating the right bland foods and running until it hurts, and all sort of other potentially unpleasant things, depending on your mood. The good news is that Technology is full of things to do that are fun. It's like you get to eat chocolate in preparation for a work out and can drink Coca-Cola to refresh yourself. More to the point, though, one of the best ways (I presume) to get fit for a Football match is to just play a whole bunch of Football with your friends just for fun.

So find a way to do it just for fun. And be merry.

Wednesday, December 10, 2008

A Collaboration

It's been well over a year since I left my old organization (The Human Rights Data Analysis Group - HRDAG) to rejoin The Private Sector, but a large part of my heart has been left behind. Working for HRDAG has never been easy. While one can't complain about engineering salaries in principle, I was working at times for less than 1/2 what I could have made elsewhere. Organizational funding was naturally a chronic problem which for a technology organization makes it sort of a double whammy - tech is expensive! There were very large and often rocky personalities to contend with on a day to day basis, most likely including myself. There had to be, because honestly who else would choose to do that sort of work. Such work is little appreciated, especially by authority, often its focus. I used to say we weren't a non-profit, we were the exact opposite, an un-profit, because you know, there is much profit to be had in violating human rights. Our partners were unreasonable, not because of any necessary personal failings, but because they faced the same issues I just mentioned. We would go to the most difficult places where people have endured the worst suffering that can been meted out by their fellow man-kind. Places where it was even harder to work.

I was very lucky to have had a chance to work there. I do not regret, nor shall I ever, that I participated. A lot of people in the US want to become involved with such good work. But most Yanks, like everyone else, still have to eat, and that means that they need a part of the scarce funding that is out there. I got lucky. Working for the NGO gave me a chance to go places that most of the people from my country would refuse to go, and never will. Whenever I thought I'd had enough, I would go somewhere and meet the people for whom I was really working. There are some good people out there. And it is a big world. And not everyone is as good.

So, needless to say, I was overwhelmed with gratitude when a year and a half after leaving the NGO a friend of mine hooked me up with someone at the University of San Carlos who wanted me to visit. He just to talk with his Masters students and discuss their projects with them. So I did. I didn't realize at what level the Masters program was operating at. It was just starting up! The professors are still trying to seek out information about how to teach their students and build a modern, relevant curriculum. This is a very big challenge.

Guatemala is a country that has emerged from a civil war not much more than a decade ago. While that seems like a long time ago, the legacy of these kinds of conflicts can take a while to fade to the background. The civil war was unusually long, more than 35 year, and took the lives of at least 200,000 people. Like many places in a similar situation, a whole host of problems popped up after the civil war to add to the ones they already had. An estimated 30 percent of the population, mostly in the rural areas, are illiterate. The economy is small and for foreign exchange the country is dependent on exporting commodities, which on its own is a losing game. Basically, Guatemala is a developing country.

And your country might be too. Actually all of them are developing, except for maybe places like Sweden, and everyone has room for improvement. I guess it's more like a journey than a destination. But let's be self conscious about it. No two countries situation is the same and it's wrong to over generalize. However, there are things we can learn.

I met Professor Mazariegos when I arrived in Guatemala, whom I had come to visit without anything more than an introduction over email and a clumsy phone conversation. He is the mastermind behind my visit and efforts to build the USAC information systems curriculum. This fellow is energetic and ambitious. A very dangerous combination. He harbors some pretty amazing fantasies in which Guatemala becomes a technology outsourcing country. And that got me thinking... What does it take?

One thing that strikes me living in Silicon Valley is that so many people are interested in solving the problems of the developing world. Everyone likes to go on about this thing called "The Digital Divide" and act like that's the most important issue facing the planet Earth. This inevitably leads to trying to fix things with high-tech ideas like the One Laptop Per Child project. The theory, I guess, is that African children lack for nothing but a computer. Some people look at this idea and think "aren't there all sorts of problems with giving computers to people in places that don't have regular electrical current? And who will fix it for them when it breaks?" The geeks behind this idea have taken these questions head on and have tried solving these kinds of issues, like providing a crank so the child can power the computer themselves or making it so simple that the child can fix it themselves. But the real question sitting in the middle of the room is "will a computer really give people what they need?" What do you do about the problems around the computer that can't be solved by the computer? High crime, government censorship, dysfunctional economy, local corruption, environmental degradation, etc.

Developed country solutions don't simply work in developing countries (notice I didn't say they simply don't work). US companies get to do things like benefit from computers, networks, software development and the Internet because they exist in a context and infrastructure that makes them beneficial. Electronic data storage is only useful when there is a whole bunch of people who at a moments notice can replace your hard drive, fix your network and provide you with routine maintenance at the drop of a hat. In the past, most organizations we've worked with didn't see technology as something to help with work but something that creates more work. It was another set of chores to look after it, and when it breaks, it's broken for two months.

In order for technology solutions to work, there needs to be a technology industry. It's not enough to give people technology, people have to make it. That's not to say that everyone needs to reinvent the wheel. In fact, only a handful of societies have done it on their own, and civilizations of the Americas never did! Technology innovations do spread around the world, but I think that people will serve the masters of those technologies until they learn to master it for themselves.

That's what needs to be done. There needs to be a collaboration. Technologists of the world unite! Something bigger than just sending gadgets around or trying out the new glittering tech word. If you are in a developed country, listen. If you are in a developing country, learn.

And vice versa.

Now go and enjoy being human. Today is your day!