Shams Imam, who earned his Ph.D. in computer science (CS) from Rice University, now works as a software engineer in the platform services group at Two Sigma in Houston.
This spring, Imam returned to Rice to co-teach COMP 322, â€śFundamentals of Parallel Programming,â€ť with his former thesis adviser, Vivek Sarkar, the E.D. Butcher Chair in Engineering and chair of computer science.
â€śI have always enjoyed teaching and at one point considered a career in academia,â€ť Imam said. â€śCOMP 322 teaches many of the topics that were part of my research at Rice, including the Eureka model and Habanero-Java cooperative runtime. I was excited to get the opportunity to co-teach a topic Iâ€™m familiar with.â€ť
Academic careers and corporate jobs are often judged mutually exclusive, but Imamâ€™s managers at Two Sigma welcomed the idea. Two Sigma is a technology company that relies on techniques such as artificial intelligence to create investment strategies by extracting meaningful patterns in data. The insights are used to create strategies for clients.
â€śThe process involves running large numbers of interdependent computations on distributed clusters. My task entails managing scaling, scheduling and executing computations to minimize latency and improve throughput and resource utilization. All the goals are achieved transparently without involvement from developers or consumers of these computations,â€ť Imam said.
His work calls for a thorough understanding of the intricacies involved in asynchronous state updates across programs running in parallel on distributed clusters. It also involves developing decentralized algorithms and runtimes that make localized decisions while ensuring efficiency.
Imam said, â€śI believe the rigor required while studying at Rice and the interactions with the many smart students while working on projects help build a strong foundation useful for any company in the industry. The Rice Ph.D. program requires you to take a variety of courses, so you gain background in many fields. My experience with parallel programming, functional programming, compilers and algorithmic robotics helped a lot.â€ť
Not only did the program prepare Imam academically, but also strengthened his work habits. â€śOne of the basic skills a Ph.D. teaches,â€ť he said, â€śis managing oneâ€™s time better. With constant deadlines, you become better at utilizing time and other limited resources. All these qualities have been very helpful during my interview processes and subsequent work at Two Sigma.â€ť
Imam said, â€śRice creates an environment where we love the work we do. The program allows one to maintain a healthy work-life balance with opportunities to meet new friends in the various Graduate Student Association activities.â€ť
Imam now gives something back to current CS students by offering them a professionalâ€™s perspective. One benefit of having a current tech industry employee as an instructor is exposing students to common practices and good coding etiquette.
â€śThe industry employee can share relevant experiences and reassure students that what they are learning has tangible value if they choose to join industry after graduating. The biggest gain is the networking opportunity with an industry professional, who can guide you and help you find opportunities that align with common interests and serve as a reference in your job applications,â€ť Imam said.