Three years ago, I had to take one of the toughest and most important decisions of my life. I had already been working as a software engineer in a well-paying job and pretty much enjoyed my work. Occasionally, I would have the opportunity to work on open-ended problems that required intense brainstorming. I soon got hooked to the inexplicable gratification that came from enduring and solving such problems. At that point, I knew that a career in research is what I should be aiming for. However, I wanted to further explore my aptitude for research before I could commit to a PhD program. So, three years ago, during fall 2009, I decided to enroll in a Master’s program. Through specialized coursework, projects and publications in diverse topics, I have evolved my research interests in Software Reliability, Operating Systems Security, Parallel Computing, Fault-tolerant Distributed Systems, and Complex Networks.
My interest in computer systems started with a fun project during my undergrad junior year. I along with my fellow student built a system that displayed scrolling text on a set of seven-segment LEDs using a shift register and PC’s parallel port. This gave me the confidence that I could conceive an idea within the limitations of available resources to build something novel and useful. In an earlier project, I proposed a design for an Intel 8086 based system to control the brightness of an incandescent lamp. Through these projects, I learnt the importance of coming up with the simplest design to even the most complex of problems.
The skills I gained during my undergrad helped me excel in my professional career. At Novell, I gained significant hands on experience in Linux internals by working in their flagship OpenSUSE operating system projects. I further honed my skills with a project aimed at optimizing the performance of SELinux on a multi-core processor, during my graduate studies. It gave me a thorough understanding of performance analysis and empirical research. I also discovered my leadership qualities by coordinating a team of five. We showcased our findings during an open-house event and a conference paper is currently under review.
In a graduate course on Distributed Computing, I was fortunate to have instructed by Prof. Shrisha Rao, who imparted a strong theoretical foundation on the subject. This helped me formulate an efficient approach to building a fail-stop distributed system and prove its correctness. My work went on to be published in an IEEE conference in 2011. I began to focus specifically on reliability in multi-threaded programs. I worked on a project aimed at detecting deadlocks in software libraries using static analysis, with Prof. K.V. Dinesha and a PhD Student at IIIT-B. In another project, inspired by Microsoft CHESS (Concurrency Stress testing tool), I developed a graphical interface that allows validation of a specific thread interleaving to detect race conditions. These projects have compounded my interest in concurrency and have given me a strong foundation to address the research challenges in parallel computing in general.
I chose to do my final semester Master’s project through an internship at Hewlett Packard Labs, India. I wanted to gain firsthand experience in industrial research and to see the practical implications of my work. I worked with a senior research scientist, Mr. Praphul Chandra on a project aimed at enabling targeted advertisements for micro entrepreneurs by leveraging online social networks. My work involved in the design of efficient algorithms for the problem of influential detection in networks and to implement an incentive based routing system using Twitter. My work resulted in a publication in the ACM conference on Web Science, 2012 where I also had the opportunity to present the paper to a large group of audience. I gained interest in network analysis and learnt its applications in varied fields. I also learnt the importance of producing frequent drafts of work throughout the course of a research project.
Although I kept myself engaged in several projects, I also made sure to give equal importance to exams and coursework. This is something I learnt from my undergrad experience, where I would end up spending a lot of time and effort on projects, homework and pursuing my interests in programming and software development. Although it helped me gain considerable hands-on and problem solving skills, it resulted in less than ideal grades in few of my undergraduate courses. However, throughout my Master’s program I was determined to excel in all aspects of academics. I understood the need to manage time effectively and to stay motivated when things didn’t go my way. I worked hard to earn a graduate scholarship which paid off my tuition fees which further encouraged me to push myself to the limits.
After graduating from Masters in July 2011, I joined Hewlett-Packard Labs as a software engineer in order to gain experience on corporate research projects. I have come to learn the significance of building quick solutions to validate a hypothesis before deciding to proceed further on an idea. I often give presentations of research papers to expedite the process of literature survey in our research projects. I find these talks are a great way to evaluate my concepts and have insightful discussions with the audience. My present roles at workplace have further reinforced my interest for a career in research.
My long-term goals are twofold; first, I would like to lead cutting edge industrial research projects or to establish my own research labs. Second, conduct independent research on interdisciplinary problems, preferably in academia and be a mentor to students and young scientists. I am aware of the challenges of graduate school, at the same time I am well prepared mentally and academically. I learnt the difficult obstacles of doing research when I had one of my papers rejected in a conference. Nevertheless, I diligently reworked on my paper, and received a strong accept from an internationally competitive conference. Personally, I enjoy the enduring experience associated with grueling hours working alone on a single problem.
Arun Kalyanasundaram
10 Sep 2012