“I got this new research idea that I would like to share with you. I am very excited about it. May I describe it to you now?” I am hearing this from Dave–one of my Ph.D. students. I just finished discussing with him my evaluation of his progress in the program. Dave is a non-traditional graduate student. We used to be Ph.D. classmates. I finished my Ph.D.; Dave did not. Last year, I convinced Dave to join our graduate program and complete his Ph.D. He put his trust in me, so I feel responsible for his progress. I mark his progress this academic year as “Satisfactory” in the online form. Despite all the difficulties of restarting his graduate studies in a new research environment, Dave is getting the hang of it, so I feel confident that he’ll succeed in our program. And now he wants to share with me his exciting new research idea. Oh, how much I want to hear about his idea!
As a professor in a research university, I like to think of myself as a man of ideas. It is for the opportunity to create, evaluate, and disseminate new ideas that I hang in a small secluded university town, making a fraction of the salary I could be earning at an industry job. Good ideas bring in research funding, publish papers, and propel graduate students toward their career goals. Besides, I know that Dave’s idea is not a fluke—he already has a solid publications record. In my evaluation for him, I have written “Next year, he should plan to publish a research paper that would set the trajectory for his Ph.D. dissertation. This publication will solidify his prior research record, showing to the faculty that he is able and willing to do quality research.” Dave seems to be pleased with my evaluation. In my mind, I am already planning to petition the faculty to allow Dave to skip his qualifying exam, enabling him to start working on his dissertation right away.
Dave is really excited about this research idea and starts drawing something on the whiteboard in my office. I wish I could learn about his idea right now, but I can’t! I have a deadline to meet—I supervise 9 graduate students, and their progress evaluations are due this week. A diligent student, I have never missed an academic deadline, a habit I carried throughout my life. Hesitantly, I turn to Dave and posit: “Well, unfortunately now is not a good time to discuss research ideas. I have evaluations to finish up, and another student is already waiting to meet with me. How about if we get together next week, when I will be able to give your idea the time and attention it deserves? I would like you to create a PowerPoint presentation—I am sure you’ll get to reuse this presentation on multiple occasions as your idea starts yielding publishable results.” Dave says that he’d be glad to do it. Over the weekend, I text him: “Let’s shoot for Wed night to talk about your idea. I’ll be done with my teaching for the week, and we can spend as much time as it takes to have a quality discussion.” When I don’t receive a reply, I am a bit surprised, but I don’t read much into it.
Well, Dave never got a chance to share his idea with me, nor will he ever do so. The very next night, he passed away from a coma induced by undiagnosed diabetes. He was only 55 years old. I feel as shocked and heartbroken as everyone else who knew him, but I am also devastated by the fact that Dave’s idea perished with him. If only he had shared his idea with me, my students and I would make sure to follow upon it and include his name as a co-author on the resulting publications.
Dave’s passing has taught me a valuable lesson. I will never again postpone the opportunity to learn about a student’s new research idea to meet an administrative deadline. I hope my colleagues would understand and won’t be too upset with me. Life spent in constant pursuit of deadlines loses its meaning. Life is too short to leave ideas unshared.
In this installment, I continue transcribing Nicholai Kiryuchin’s famous stories. As brief background, he had a long and distinguished career as Principal Clarinet of the Mariinsky Theater Orchestra that spanned for more than 30 years. Equally distinguished as a major clarinet pedagogue, he has nurtured several generations of aspiring clarinetists in Saint Petersburg Conservatory, where I was very fortunate to have been a member of his studio. Prof. Kiryuchin had a great habit of keeping up the creative spirits of his students by sharing with us the unforgettable stories he accumulated over the years of his distinguished musical career.
The events in this story took place when my teacher was a young lad, himself an aspiring conservatory student. As the most promising trainee of his professor’s studio, he was recommended for a gig at the Mariinsky Theater to cover for a second clarinetist, who had caught a bad cold during an opera production. It was a great opportunity, and my teacher practiced his part diligently. He was particularly eager to impress the orchestra’s principal clarinetist, a distinguished musician and professor of the Conservatory.
An example of the classic Italian operatic tradition, the score had a major clarinet solo in the end of the first act. My teacher was really eager to see and hear the principal clarinetist to play that solo up close. The orchestra started the introduction, and oh horror—the clarinet entered one bar too early! All the conductor’s convulsing grimacing, trying to correct the error, was for naught. With his rich powerful tone, projecting to the very last balcony of the massive theater hall, the clarinetist carried out the solo with expression and fortitude. Accompanied only by the strings, he was too consumed by his own playing to sense any discrepancies. The string instruments reacted to the mishap in a variety of ways. Some truly experienced musicians, who have seen it all, quickly ascertained the situation, and directed their stand partners to skip a bar to synchronize their playing with that of the clarinet. Other string players, who also realized that something was amiss, for some reason decided that they were one bar ahead and compensated accordingly, skipping a bar backward. Finally, the rest of the string section continued to play their parts without any adjustment.
The resulting cacophony would likely make either one of Schoenberg, Webern, or Schnittke jealous. The tenor, utterly confused by hearing that mess, nevertheless started singing relying entirely on his gut feeling, and his part sounded like a survivor’s monologue after a nuclear holocaust rather than the dramatic lament about unshared love, intended by the libretto. It goes without saying that the act was ruined beyond repair.
Once the curtain went down and the discombobulated audience briefly clapped before taking a break stroll around the theater, the livid conductor rushed over to the clarinet section. This was a pretty serious infraction with nothing good coming for the principal clarinetist. Indeed, the consequences could range from outright dismissal from the orchestra for gross incompetence to being banned from playing any future productions with the principal conductor. My teacher, sitting at the second stand, was terrified not knowing to expect from the upcoming verbal interchange between the conductor and the principal clarinetist.
Right before the conductor got to the clarinet section, my teacher witnessed the principal clarinetist doing something very strange and completely unexpected. He used his thumb’s long nail as a knife or a screwdriver to pick up a large pad of his clarinet’s lower joint, fully detaching the pad in the process. “What have you been smoking?! Because of you, the entire act is ruined! I am so buried in shame, I don’t know how to face the audience!”—bellowed the conductor, utterly irate. “Don’t you see—my pad fell out!”—yelled the clarinetist in reply in unreserved exasperation and waving the detached pad at the conductor. “If I don’t fix it right now, I’ll be out of commission for the rest of the performance! I really need to fix this pad without delay!” The conductor, who was trained as a violinist, was taken aback. He only had a vague idea about how wind instruments functioned and the role of pads in the clarinet’s mechanical workings. “Oh, well. Do you think you can fix it?” “Yes, I have my repair kit with me. However, you may need to lengthen the break by about 10 minutes just to be sure.” “Oh, that should not be a problem.” The conductor instructed one of his aids to postpone the next act by 10 minutes and left for his dressing room.
The principal clarinetist quickly put the pad back in place with the help of a cigarette lighter, and as he was checking whether the pad properly covered its hole, he shared the following piece of wisdom with my catatonic-looking teacher: “Quick gumption is an orchestral musician’s best friend!”
Conservatory, I was fortunate to have been admitted to the studio of
legendary Nikolai Kiryuchin, former Principal Clarinet of the famed
Mariinsky Theater Orchestra. This amazing musician and pedagogue
extraordinaire has had a tremendous influence on me as a clarinetist
and a person. By the time I entered his studio, he had long retired
from performing, and was focusing his enormous energy exclusively on
teaching. Nevertheless, his musical war chest was full of amazing
stories from his more than 30 years of making music with some of the
brightest stars of the Soviet classical music scene. A talented
raconteur, he generously shared his stories with his students.
One of my teacher’s stories involved the E-flat clarinet, perhaps the
most capricious and hard-to-play instrument of the clarinet family.
The Mariinsky Orchestra was recording one of Dmitry Shostakovich’s
ballets. Present in the studio, the composer was closely monitoring
the recording session, at times gently steering the conductor on
issues of tempos and interpretation. When the session was over,
Shostakovich walked over to the clarinet section and placed a sheet
with hand-written music on the Principle Clarinet’s stand. The
composer then gently inquired:
“I couldn’t sleep last night and ended up writing a clarinet solo part
for the “King Lear” movie score I have been composing. I hope that the
part makes sense, and I am really curious how it actually sounds.
Would you be so kind and play this solo for me right now?”
My teacher examined the score carefully, paused for effect, and
replied with utter seriousness: “I am afraid it would be impossible
Dmitry Dmitrievich.” Dead silence fell over the recording studio.
Everyone was utterly shocked that one of the city’s most versatile
clarinetists could not play a piece composed by the country’s most
prodigious composer. Has Shostakovich made a major orchestration
mistake, making the solo unplayable on the intended instrument?
“Is something wrong with my score?”—asked Shostakovich with a bit of
tremor in his voice.
“Not at all, Dmitry Dmitrievich!”—cheerfully replied my teacher. “The
issue at hand is that you wrote the piece for the E-flat clarinet,
which I currently don’t have in my possession. And if I were to
transpose the part on my B-flat clarinet, I’m afraid the part would be
outside of the instrument’s range. However, if you don’t mind waiting
for 15 minutes, I can run back to the Mariinsky Theater and grab the
E-flat I have stashed away somewhere in my locker.”
“You have scared me, funny man! I can use a smoke break right now.
Please, by all means, go and fetch your E-flat in the
meantime.”—replied the composer, visibly relieved.
Fifteen minutes later, my teacher brought his E-flat to the studio. He
sight-read the part flawlessly, after which Shostakovich said: “You
know what—your interpretations of this solo is exactly what I had in
mind! If you do not mind, let’s record it right now!”
This clip is this historical recording. One of my conservatory
classmates, now employed by the St. Petersburg music archives, was
able to locate this recording and share it with all of my teacher’s
numerous students. (The human voice in this clip was later
superimposed through some recording magic).
Last weekend, I played my first professional gig as a clarinetist after a 15-year long hiatus. The gig was professional because someone actually paid me to play the clarinet. Having made my living as a freelance musician in NYC for almost a decade, I was quite surprised about how refreshing it felt once again to be in demand as a musician, when others hire your exclusively for your clarinet playing skills.
This experience got me thinking about the issues of jobs and compensation. In the 15-years that passed since I left NYC to get a Ph.D. in Computer Science, I made a living working at a whole variety of jobs. I held a full-time Software Development position at a large company, survived on meager Graduate Assistant wages in graduate school, provided expert consulting services in a lawsuit, etc. Finally, now my main job is as a faculty member at a major research university. All these jobs ranged widely in terms of their expectations and compensation. As a university professor, my job is so multifaceted that I often find it hard to figure out how my salary compensates me for the whole slew of activities I engage in during a typical workday: teaching, mentoring, writing, outreach, reviewing…
Hence, there was something very refreshing to be hired specifically to play the clarinet. Upon earning tenure a couple of years ago, I started practicing the clarinet again on a regular basis. My professional music degrees and a huge prior investment in mastering my instrument enabled me to get back in shape rather expeditiously. As a result, I was able to participate in several performances with musicians of various levels of professional preparation. And yet, it was only now that I got to play a professional gig. Even though my engagement comprised of a short piece played with a choir, it was very satisfying to execute it without a hitch despite having had only one rehearsal.
The ability to play a musical instrument professionally comes from a rigorous preparation routine, decades of studying with brilliant teachers, regularly confining yourself to the isolation of practice rooms, auditioning, concertizing, analyzing, improving, etc. I surmise that this is the reason why I have found playing a professional music gig again so fulfilling. Making music at the level when people are willing to pay you for that validates the enormous investment of time and passion required to master your instrument. I welcome this validation very much and keep looking forward to other professional playing opportunities!
The mobile computing landscape is characterized by extreme heterogeneity. According to Facebook, the mobile version of their application is accessed from more than 2,500 varieties of mobile devices. Modern smartphones and tablets differ in terms of their respective hardware setups (e.g., screens, sensors, processors, memories, batteries, etc.), platforms (e.g., Android, iOS), versions, etc. Furthermore, mobile devices access the Web via mobile networks with dissimilar characteristics such as latency, bandwidth, and packet loss rates (e.g., 3G, 4G, Wi-Fi, etc.). It is the confluence of these differences that causes the heterogeneity challenge in mobile computing.
Addressing the heterogeneity challenge entails engineering mobile applications that can be used seamlessly on any device. As is commonly the case, addressing a challenge of this magnitude requires satisfying several constraints, only a subset of which can be satisfied at the same time. Specifically, the engineering process is subject to the following constraints: (1) maximize utility: provide the required functionality in as user-friendly fashion as possible; this is commonly achieved by supporting a native look-and-feel on every platform and properly leveraging a given device’s hardware capacities (e.g., screen resolution, touch interface, sensors, etc.); (2) minimize energy consumption: as the energy demands of mobile applications continue to outstrip the battery capacities of modern devices, mobile applications should be engineered with energy efficiency in mind; (3) minimize software development and maintenance costs: software development is costly and software maintenance is even more so.
The software maintenance and evolution constraint is particularly hard to satisfy in mobile computing. Mobile applications designed yesterday will have to run on mobile devices to be designed tomorrow. Mobile devices are evolving rapidly, with each new device featuring new hardware capabilities. Mobile software must keep up with the device evolution to provide quality user experience while keeping the energy consumption in check. Perfective maintenance, which codifies a set of activities aimed at optimizing applications for different objectives, is particularly hard hit by the heterogeneity challenge.
When planning their next mobile application, enterprises have no choice but to carefully select which two of the three constraints (utility, energy efficiency, development costs) they want to satisfy and plan their software development processes accordingly.
Computer Science is an odd discipline in many respects. I find quite puzzling the relationship between the perceived value of technical experience and age. I have observed this relationship as shown in the following graph.
At certain career points, a computing professional is likely to find his or her experience grossly overestimated or underestimated.
1.) When starting college (age 18), the perceived value of experience is vastly overestimated.
A common misperception is that incoming freshmen must have been introduced to computing (coding in particular) to successfully major in Computer Science. Somehow having reached the ripe age of 18 is considered as too old to start learning the discipline from scratch. Having never studied computing as part of their K-12 curriculum is commonly deemed to put students at a severe disadvantage, if not preclude them from succeeding in the CS major altogether.
2.) When graduating college (age 21-22), the perceived value of experience is mildly underestimated. In essence, if you have a degree in CS and can solve programming puzzles, which commonly have little to do with your future day-to-day job responsibilities, companies are eager to hire you. Having had industry internships, which provide invaluable practical experience, is a positive but not decisive factor in getting the first position after college.
3.) For young professionals (age 22-30-35), the perceived value of their experience is similar to how professional experience is perceived in other areas. Until 30, the perceived value of experience grows more steeply, and it continues to grow until the professional reaches his or her mid-thirties.
4.) From age 35 on, the perceived value of technical experience starts to plummet precipitously. IT is commonly considered an up or out field—either you switch into management or you leave the field altogether.
5.) In middle age (45+), the perceived value of technical experience reaches the negative territory. One’s experience is held against them. Software development is unabashedly rife with age discrimination. “This is a young man’s game.” “Technology is evolving so rapidly with new languages and tools introduced every year. For older IT professionals, it is just too hard to learn these new technologies. Their minds were molded by different technical realities.”
Because these experience perception patterns reflect industry-wide trends, computing educators have a limited but vitally important role in properly preparing students for successful long-term careers in computing. To that end, I propose three concrete action items.
1.) Actively dispel the myth that to successfully study CS in college, a student must have some prior coding experience.
The vast overestimation of the value of having some computing experience before starting to study CS in college is particularly harmful. While a student may benefit from being introduced to computing earlier on, the freshman year in college is definitely not too late to start learning the discipline. Having participated in multiple orientation sessions for incoming freshmen, I continue to be taken aback when approached with a question: “I find computers very interesting, but I do not know how to code. Do you think it would still be possible for me to major in CS?” I usually reply that the student has been fortunate to have the opportunity to learn the foundations of the discipline properly, without having to unlearn any bad habits.
To bring the point home, I usually draw parallels to other disciplines to highlight the ridiculousness of so grossly overestimating the value of prior exposure to coding. How do the following questions sound to you? “I am fascinated by Architecture. However, having never participated in construction projects in high school, I am not sure whether it would be possible for me to major in Architecture.” “I am excited about Airspace Engineering, but having not built any flying machines in high school, can I still major in this discipline?” If this does not help, I then talk about my own journey into computing, which I started at 24 without any prior exposure to computing even as an end user.
2.) Encourage students to take internships.
Industrial internships are an essential component of computing education. It is well-known that internships provide an excellent avenue for students to complement the theoretical knowledge acquired in the classroom with practical technologies and tools. Another important advantage of industry internships is exposing students to the day-to-day realities of the IT workspace. Usually students love these realities, coming back to school reinvigorated and happy with their career choice. Nevertheless, other students often realize that working in IT is not for them. Some of them decide to go to grad school and pursue a research career thereafter, while others may decide to switch majors altogether. Getting this real world exposure early on is invaluable.
3.) Convey the importance of properly developing non-technical (soft) skills.
To smoothly move into management when they hit mid-age, students must have well-developed non-technical skills. Whenever giving career advice to CS students, I always stress the importance of developing strong communication skills, both oral and written. In addition, I often encourage students to take non-CS classes as a means of broadening their intellectual horizons and expanding their toolset of practical skills. A business minor may be a wise investment for CS students who see moving into management at a later point of their careers.
“What classes do you recommend I should take next semester?” I have been asked this question too many times, usually by graduate students who are just starting their studies. Because my take on this issue is a bit unusual, I have decided to express my thoughts on this matter as a blog post.
Taking a graduate class is first an opportunity to learn about the professor’s research and second to learn about the actual subject matter. When it comes to graduate classes, with some minor exceptions, professors teach those classes they want to teach. This situation is in contrast with teaching undergraduate classes—some undergraduate classes need to be covered, and faculty are often assigned to teach them out of necessity. In a research university, professors are researchers who occasionally teach, and research is what occupies most of their time and efforts. When teaching a graduate course, professors will always try to use it as an avenue for introducing their research to the students. If you are not interested in the professor’s research, do not take his class.
When shopping around for graduate classes, one should pay more attention to the instructor’s recent publications and research grants than to the actual course curriculum. This advice is motivated by the following observations. Few graduate courses have a required textbook, so the majority of reading assignments usually come from research papers. Course instructors decide what these papers should be, and their research interests heavily bias the selection of reading assignments. Course projects in graduate classes are also commonly open ended, and used as an opportunity for professors to try out new research ideas. Oftentimes, even the course’s title may not accurately express its content. For example, an HPC researcher teaching a graduate networking course is likely to focus on the networking topics relevant to HPC. A student not interested in HPC may feel disappointed.
Overall, taking a graduate course is a great opportunity to try out the instructor as a potential thesis or dissertation advisor or a committee member. By taking a graduate class, one learns not just about the instructor’s research interests but also about her research style and personality. What kind of open-ended questions does the instructor pose to students? What kind of feedback does she provide? How much attention does she pay to the quality of written or oral presentations? All these questions can guide the decisions of whether it may be worth your while to get involved in the instructor’s research or invite them to serve on your committee.
There are some exceptions of course. Some professors may not be active in research, while others may decide to follow a state-of-the-practice curriculum. The easiest way to identify such courses is to see if there is a required textbook. No research focused graduate class will have a required textbook. A graduate class may have a bunch of recommended textbooks to consult for the background information, but most of the reading will come from research papers. Finally, if not sure, just ask the professor how they plan to teach the class.
Finally, what about the prerequisites? You really like the instructor’s research, but you feel you have not had sufficient background in that area. In most classes, this limitation should not be an issue. If you genuinely like a research area, you should be able to get up to speed fairly quickly. Besides, quoting Einstein “Imagination is more important than knowledge,” particularly when talking about research related issues. If the majority of your grade comes from a term research project, your ingenuity in coming up with new ideas will be more important than almost any background knowledge you may lack. Grades matter little in graduate school anyway. Always remember that in graduate school, “A” means average; “B” mean bad; and “C” means catastrophic.