Tuesday, July 16, 2013

Google Anita Borg 2013 Annual Retreat in Zurich, Switzerland

Being recipient of Google Anita Borg Memorial Scholarship 2013 for Europe, Middle East and Africa I was invited to the annual retreat at Google offices in Zurich, Switzerland. As readers of my blog very well know that I keep a diary record of significant research events that I attend so here goes.

The Google Retreat 2013 was held from 30th June, 2013 to morning of 3rd July, 2013. The main activities of the retreat were spread over two days (i.e., 1st and 2nd July, 2013) with 30th June reserved for registration and the welcome reception at the hotel where the scholars and finalists got to know each other through a very interesting networking Bingo. The final day consisted of a very brief breakfast tram tour of Zurich.

Below is a picture of the networking Bingo given to us by Google; for those unfamiliar with the term Bingo it is a card game played in United States and Canada where a 5x5 matrix has to be completed with numbers printed on a board either vertically, horizontally or diagonally. The difference in Google's version of Bingo was however that rather than making it a game of chance it was a game of socializing and networking with other fellow scholars and finalists; and it was great to know that most of them were fan of nerdy TV shows like "The Big Bang Theory"  and took nerd as a compliment :-)

The retreat officially kicked off with Oliver Heckman, Engineering Director at Google Switzerland, giving an overview of the engineering initiatives at Google Zurich. Many amazing Google products are a result of hard work by engineers in this Europe-based Google office with some example products being Google Maps, Google Knowledge Graph, YouTube etc. Oliver also demoed the upcoming Google's Conversational Search which seems to be a great leap in the world of Web search engines.

Next up was a technical talk by Doug Aberdeen who holds a PhD with his topic of expertise being Reinforcement Learning prior to joining Google, and within Google he works with the Gmail product team on things like spam detection but more recently on my personal favorite namely "Priority Inbox". His talk was full of valuable insights for those working in Machine Learning which is why I enjoyed it a lot. Doug's talk was different than traditional machine learning talks in the sense that it considered machine learning from a practical and realistic point of view i.e., from point of view of how to approach machine learning when building large-scale products that have to be deployed in the real-world. He said that machine learning people may seem fascinated by the huge amount of data available to Google engineers but the fact of the matter is that even Google does not have ground truth labels all the time and this is where the real Machine Learning challenge comes in. A somewhat astonishing fact for me was that 90% of machine learning algorithms at Google are simple parallel logistic regression; however, parallelizing logistic regression algorithm at Google-scale is definitely something not trivial. Doug's talk was followed by a tech talk on Engineering behind YouTube and how YouTube detects copyrights' violations; it reminded me of the following TED Talk by Margaret Gould Stewart:

Moving on we entered the Product Design workshop which was a fun experience and this activity turned out to be wonderful from a learning point of view giving an interesting insight into product management. We learnt about Google's APM (Associate Product Management) program which is a two-year product management training program specifically designed for those who love managing engineers and coming up with ideas for new products; normally those who are not so good at programming and/or do not enjoy programming enter this line (with lots of those at undergraduate or graduate level). Mind you the product managers are not above engineers in hierarchy as they are simply the people who understand what products people need and then work with engineers to build that product. At the end of the session we were divided into six groups and each group had to work on one of four product ideas; my group got the School Diary idea which we had to chalk out as a product with various features. The following pictures were taken during the product design workshop:

We then moved on to the poster show where each of us presented our respective research and it was wonderful to get feedback from the fellow scholars/finalists along with Google engineers and interns. Many lines of future work came into my mind after those interactions. We were then taken for half-an-hour Office tour around Google Zurich office and the work environment there was fantastic with loads and loads of isolation compartments where programmers/engineers could lie down for a while, think alone (you know during the tough programming phases when you're stuck badly in some problems) and even talk on the phone. The entire office was full of free snacks, coffee plus various beverages and ice-cream; there was a Sky Lounge, a Jungle Lounge, Water Lounge and my personal favorite the restaurant named Fork() (yes, it is inspired from fork() command under Linux). The day's final activity was the talk by SVP of Knowledge namely Alan Eustace straight from Mountain View via video conference. Alan Eustace is the pioneer of Google Anita Borg program; he told us a bit of history behind the scholarship and some of the time he spent with Dr. Anita Borg along with some funny stories about his daughter and how he explains Computer Science to her.

The second day was full of more fun for all of us as most of it had been divided into parallel sessions based on the attendees' year of study and research interests. Following is a list of the parallel sessions with the ones attended by me in bold font:

09:00 - 11:00    Parallel session 1: Android coding challenge
09:00 - 11:00    Parallel session 2: UX web design
09:00 - 11:00    Parallel session 3: SRE Workshop
09:00 - 11:00    Parallel session 4: Natural Language Processing and Research at Google
11.30 - 12.30    Parallel session: Women in Computing
11.30 - 12.30    Parallel session:   Mind the Gap
11.30 - 12.30    Parallel session: Employbility Session
14.45 - 16:15    Parallel session: Day in life of an Intern
14.45 - 16:15    Parallel session: Interview workshop
16.45 - 17.45    Career Panels: BSc students
16.45 - 17.45    Career Panels: MSc students
16.45 - 17.45    Career Panels: PhD students 1
16.45 - 17.45    Career Panels: PhD students 2

Perhaps the session on Natural Language Processing and Research at Google was one of the most awaited and popular one with most of the attendees opting for it. During the one hour Natural Language Processing session, Enrique Alfonseca who heads Natural Language Processing division at Google, Zurich gave a talk on his recently accepted ACL2013 paper in which a headline generative system is proposed that can augment Google's Knowledge Graph. The problem is motivated by the observation that news headlines are rarely objective and every news agency reports an event differently. From a computational perspective, such noisy headlines make it hard to detect events thereby making it a significantly challenging problem to augment event-based knowledge bases such as Google Knowledge Graph. The proposed model exploits event relatedness in news collections through dependency parsing on syntactic patterns using a Noisy-OR Bayesian network. Those interested can read the full paper here. Next up was a panel discussion on Research at Google with David Harper (one of Bruce Croft's PhD graduate). This was a highly interactive panel with research scientists (who were once renowned academics) giving insights into what it's like to work on real-world products/systems used by millions of users around the world; turns out it is a whole new experience with satisfaction far more different than joy of getting your research published. I asked two significant questions during this panel from point of view of my own plans of a research internship during PhD and my ambition to remain in academia. At the end of the panel session David Harper mentioned an important resource that gives a very detailed description of how Google approaches research; it is a Communications of the ACM article that can be accessed here.

We then entered the Women in  Computing panel which was very interesting for women Computer Scientists. This mostly centered around the question of how women engineers at Google manage an engineering job in industry with kids. Google, Zurich has a flexible policy for mothers-to-be and up to 8 months of maternity leave are granted; along with that there is an option to opt for part-time work along with the option to work from home. Moreover, it is up to the woman herself how she manages the engineering role with her kids and it all comes down to priorities; for a woman kids are always the priority as a Google engineer very nicely put it, "Engineering work can be done by someone else but only I can be a mother to my child". Then another interesting perspective that came up was with respect to quality time being spent with your kids; according to one woman engineer at Google when you know you are always with your kids you take it bit lightly and the quality of the time you spend with them suffers whereas if you are working you know that all the time you spend with your kid has to be quality time. Moving the focus a bit I asked without taking names of course about the assertions by some women in CEO positions that very few women are in those roles and what were the thoughts of women engineers at Google on that to which they replied that it's all up to a person's priorities, CEO positions don't matter that much as long as you enjoy your work and life both.

In the panel session on  Day in the Life of an Intern we were told about the work routine in various intern positions at Google. There are basically three intern positions at Google: APM (Associate Product Manager) which has to do with managing products at Google thinking of new features etc., SWE (Software Engineering) which has to do with programming behind Google products, and SRE (Site Reliability Engineering) which concerns site administration to keep the Google site up and running round the clock. A typical day of an APM intern involves loads and loads of meetings with engineers, discussions on certain features of products, a lot of email communications and among other things motivation boosters for the product team. A typical day of a SWE intern involves programming on the tasks assigned to him/her for the most part with little or no administrative stuff. A typical day in the life of a SRE intern involves being on wait and rushing to situations when a complaint arrives regarding the site being down.

The last session I took was Career Panel: PhD Students 2 which mainly centered around career options that PhD students can take once they are done with their PhD. There was a very interesting friction of academia vs. industry in this panel session with some of the panelists making honest confessions of missing academia specially interaction with students and the joy of getting research published while also accepting that one of the strongest motivations in moving from academia to industry is money. In an industry such as Google things are done differently with less freedom to work on things of your choice (like in academia) and the style of work is product-centric rather than research-centric; you cannot afford to solve a research problem in its entirety as the product release has a certain timeline which has to be met. Note that this is different from the other Web industry giants like Microsoft and Yahoo! which both have a separate research division while Google has merged research scientists with engineers in all of their product teams in order to meet the ambitious goal of "organizing the world's information and make it universally accessible and useful."

Saturday, July 13, 2013

The Journey Towards Becoming a Google Anita Borg Memorial Scholar

Those of us who know me and have been following me may know that I recently got the Google Anita Borg Memorial Scholarship for Europe, Middle East and Africa. This is the first time that a woman from Pakistan has won this prestigious scholarship ever since its inception in 2007. Over the past few weeks several people (specially women in Pakistani tech circles) have requested me to share my journey towards this scholarship and what were the hurdles that had to be overcome along the way. So, here I am sharing my story for those who had requested me.

First and foremost it would not have been possible without the support of two very important males in my life namely my father and my husband. My father has a huge role because he is the one who gifted me with the best education possible throughout my childhood thereby building strong foundations for me in early days. I firmly believe my husband to be one of the finest programmers of the world and those who have worked with him can definitely bear testimony to that. My husband has a huge role in this success as he is the one who is always working hard on me to polish my programming skills (giving me useful advices at every stage of life be it technical or any other matter pertaining to life). For a woman to be successful, it is very significant to have the support of male members of her family and this is what completes a life of a female member in the family despite the fact that media continuously reports negative things; the reality has been different throughout my life and also in the life of those whom I know back home in Pakistan. By splitting family apart no entity of family can function better and I would compare family to a running engine with each part playing an important role.

Coming back to the story it all began with the nights I used to spend in solving tough mathematical problems during my O-level days. When compared to the matriculation system, we have a considerably different and tougher Mathematics curriculum in O-levels (with subjects such as Probability and Statistics, Differentiation, Vectors etc. included and which normally Matriculation students study at a later stage); more than the curriculum I very well remember the role of my teachers who kept re-iterating their pride in me when I successfully solved a Mathematics challenge problem (our O-levels book had some of those in every activity and normally I was the only one in class who solved them); the joy of getting praise from your Maths teacher for solving a problem that no one in the class was able to solve was simply out of this world and it kept me going until the undergraduate stage came where I had to decide my major. On account of my love for Applied Mathematics a natural choice was Computer Science. This new world both amazed and baffled me for I had no prior experience in programming but challenges are one of the biggest motivators towards the path of learning and even history bears testimony to that; greater the challenges in one's life greater he/she is able to learn to overcome them.

Right in the beginning of my undergraduate years I came across some highly innovative and selfless people and together we formed the first ever open source students body BloX in our university, under BloX I imparted useful Linux knowledge to my juniors and helped them in getting a grip over fundamental Linux concepts. Mind you I have completely discarded anything to do with Windows as of now and am a proud Linux convert; and I also attribute a great deal of credit in my success to this wonderful operating system which always teaches you so much about the world of Computing. Many of those who had joined BloX in its initial days left it; it turned out they were after the fascination of it all as BloX got to represent Department of Computer Science, Karachi University in ITCN Asia 2004. Soon after ITCN Asia 2004 when actual Linux development had to be done not many wanted to go for it as it was not the "in thing in market" and could not guarantee a job which seemed to be the only purpose of Computer Science undergrads those days (this remains true to this day) and very few cared about the knowledge of science behind Computers. We finally had to dissolve BloX but the experience left us more motivated and charged; today a smile comes to my face thinking of those fun-filled days. I along with my colleague (who happens to be my husband now) kept doing the fun things in the world of Computer Science winning software competitions along the way, developing our own research-based Linux distribution called PAL Linux which was also distributed to all students of Parallel Computing final year course and finally getting our very own research paper published (it was about redefinition of images so as to enhance semantic search over them). All this while our colleagues started internships/jobs in reputed software houses of Pakistan and they had already begun to make money adding to the peer pressure; however, we kept going despite the odd questions we faced with regard to our career after BS (Computer Science). I did however join a small, unknown software house and I very well remember the critics of this decision from among my class mates; however, that was only to keep some amount of money coming since we needed funds for both marriage and MS abroad (by this time we had made up our minds to pursue an advanced degree in Computer Science).

South Korea seemed to be the best choice for both of us as there was tuition fees exemption along with a stipend to cover living expenses and KAIST happens to be the MIT of entire Asia. I felt more passionate when Professor Kyu-Young Whang of Database and Multimedia Laboratory in KAIST was ready to support our application as married students. Despite the fact that to many, South Korea was an unusual choice, and in their ignorance (underestimation of South Korea as significant entity in scientific world) everyone seemed to be advocating for United States as ultimate destination for Master's degree in Computer Science, we knew we had made the right choice and time bore testimony to that. KAIST turned out to be a life-changing experience and I can easily say it made me learn more than what some of my seniors doing MS in Europe or United States learnt. Professor Whang is an ACM Fellow within the Database community and a Computer Science legend within himself; he made us spend hours in the lab (sometimes we would work for more than 16 hours a day and during my Master's thesis defense I spent three days plus three nights straight in the lab with my husband cooking noodles for both in snow using a portable stove). I attribute much of my Computer Science research skills to Professor Whang and his PhD/PostDoc students who taught us valuable stuff behind coming up with a research statement, identifying open issues in current state-of-the-art within a field, design of solutions for solving a research problem in Computer Science, programming in the best way possible so as to keep systems scalable and useful for generations to come and writing your papers as clearly as possible adhering strongly to scientific method of passing knowledge. This article of mine on "Programming vs. Coding" was a result of some of Professor Whang's advices during his Database class and I did mention this article in my Google Anita Borg application. All this time we maintained links back in Pakistan and students kept writing to me for advices on career paths; I took out time to answer them and to always stay in touch with my roots back home.

During our respective PhDs, we wanted to explore a different region and Europe was our choice with flexible, caring supervisors and excellent research opportunities to come up with our own problem statement. Adding to this is wonderful experience of my current PhD supervisors namely Colm O'Riordan and Gabriella Pasi who always have enriching research directions from within information retrieval and fuzzy logic; and they provided us with what was missing in South Korea i.e. the opportunity to form research networks around the world and freedom to pursue paths we choose best for ourselves. Lastly, and most significantly, we still maintain a presence in Pakistan via our own research lab within the Computer Science Department of the Institute of Business Administration, Karachi, Pakistan - an experience that could be characterized as both exciting and frustrating. At times it is really painful to argue for hours with people in academic circles back home on the usefulness of a research lab and why it is essential to conduct scientific research. In countries like Pakistan, universities focus mainly on teaching, as there is insufficient support for research (mainly due to economic problems). I am constantly working to break this culture; I work with various students from time to time where I assist them for their thesis or final year projects motivating them for novel research ideas in the domain of Web Science. The Web Science and Technology Research lab, despite still being in its infancy, has been successful. Last year it was represented at the International Conference on World Wide Web, one of the most prestigious conferences in my field.

As a summary here are some tips for those who asked
1) Value people and treat them with respect as you can learn something from each and every person you come across. Take out time to reply to emails of those expecting something from you or reaching out to you even if its a very small matter; it does make a lot of difference at the end of the day.
2) Speak less and do more; there are times when actions mean everything and you have to give up ranting about things like success and rather take steps to achieve your goals. Remember procrastination is human's worst enemy.
3) Don't keep complaining about your circumstances as they are never easy for anyone. I remember a time when I did not have money to buy a Computer table and I had to program sitting on the floor; I didn't complain then and today I own around three computers/laptops in various parts of the world.
4) Communication skills matter a lot and it is extremely important to market yourself in the best way possible. Everyone has something special and he/she just needs the right way to market that something special.
5) Love technical stuff (not just gadgets) but science behind the things; do not kill your intellectual curiosity by settling for "glittering" gadgets and instead focus on innovative ideas stemming out from your gadgets.
6) Do not pay much heed to critics of your decisions for they are there to make you firm. This does not mean not paying attention to meaningful advices from people that matter but remember most of the criticism comes from people who know not.

To end on a humorous note, I made a funny meme which sort of was my reaction when people acknowledged my achievement in big words. This is not intended to make anyone feel bad and is just pure humor.