Happy Thursday! It’s been a little over a week since I last posted, and we still don’t have internet at home, no one’s gotten shocked in over a week, and we taught Vivek how to swim. We also went to Mumbai for the weekend (see SL and Aditya’s latest posts for a more detailed account). At one point–Sunday night more specifically–we found ourselves sitting on the balcony of an 18th floor apartment, looking out at the city. In one panorama, we could see people sleeping on the roofs of huts, highrises yet to be completed–the sleek skin not quite yet hiding the skeleton–trains snaking by, vendors on the street, and an Indian military vehicle that I can only describe as half tank, half SUV, and a little similar to the batmobile in the Dark Night. I can’t speak for the others, but I found myself wondering how on earth I had ended up there, so high up, with people I had met a little over a month ago, on a Sunday, on the other side of the world. Now, thinking about it, it was an odd series of snap decisions. I decided in about a day to double major in computer science (I had yet to take a programming course), decided in about an hour that I would accept the iSTEP internship (I had been seriously considering a domestic offer from a tech giant), and decided in about five minutes that I would go to Mumbai (I hate flying). Life is funny like that sometimes. A past co-worker of mine said he always thought that the most important decisions in life were the easiest to make, and if you found yourself dragging your feet on it, how important could it really be? Maybe he’s right, maybe he’s wrong, but to date it certainly feels as if I’ve made the right choices. Literally of course, it was the balcony of an old friend of SL, we had been invited, and we took the lift up.
A lot of my friends and family, especially the more technically inclined, have been pressing me for details about my work. The reason I haven’t been saying much about it is that there hasn’t been much to say. There’s been a lot of time just getting things moving, as it’s never easy to jump into a code base that is in a language you haven’t worked with (C++), in a programming style you’re not extremely familiar with (Object Oriented—I’ve done it before, but not to this extent), and does not come with any sort of standardized documentation (that I could find). If you had been looking over my shoulder the first two weeks, you would have seen me make a few small changes in the code, try to recompile, be horrified at the amount of warnings and errors, google the errors, click on the Stack Overflow link for the errors, possibly curse under my breath, and change a small character. Wash, rinse, repeat. Recently however, with the exception of wrestling with the boost threading library, things have been going much more smoothly. I have completed two modules (arithmetic practice and Hindi letter learning) and have a third on the way pending on a few hours of solid Internet. Yesterday was user testing, and in an unusual event, the demo gremlins, as a professor once dubbed those magic forces that break something whenever you try to show it to someone, did not make an appearance. I have never had to opportunity to watch as the intended end-user uses the code I’ve written, and I must say, it’s pretty cool to see the code working properly and making the user happy (the teachers especially seemed to like the fanfare sound clip that plays after a math question is answered correctly). Naturally, some of the design decisions that I made will need to be revised now that we have feedback, but I much rather have the feedback and do it right than just take shots in the dark. That’s one thing I really like about this job though. We have a good amount of implementation freedom, and the problems are very open ended, so I think it’s giving me good practice for future work, and has proved very interesting for me. All in all, so far I’ve been having a good time and learning a lot both at work and on my time off 🙂