Essays
Monday
01Feb2010

The Real Value of an Internship

Most people assume that the most valuable thing you get out of an internship is a full time job once you graduate. While I'd be silly not to assume that a full time job is extremely valuable, especially with 10% unemployment, there is a second more valuable aspect: The ability to explore.

Once you graduate and start working full time, you start getting paid. And money = a chain on your leg. You're limited to work on only the stuff that is important to the company, not your own personal development. Worse, it's socially unacceptable to leave a company if you've been there less than a year. Jumping is detrimental to your career, greatly limiting how fast you can explore new interesting things to work on.

Internships buy you the ability to try out different companies, different types of jobs, without the social penalty of leaving.

Discovery is so much more important than any pay check, immediate technical skills you learn, or people you meet. It lets you find out what you really like working on. Of course it's much easier to say it post undergrad and after being an intern eight years. No doubt a stable paycheck is a very tempting carrot. It's very difficult to say no to a *perceived* high paying job while in school. Anything more than minimum wage is considered a gold mine. No more ramen! Plus, you get the first real taste of freedom, the ability to tell your parents that they don't have to take care of you anymore. An amazing feeling, but at what cost?

I think two years after undergraduate, I can safely say that it sacrifices the long term for some short term gain. I know many friends who are giving up on their passions. You can see their dreams dwindle, suffering a slow painful death in the gutter. I look at the end result: my mother who just recently retired, my cousin who is in her mid thirties and countless others. When I compare them to others who still love their jobs, the only difference I see is that they spent the time to discover what they really liked to work on.

Which is the real problem internships solve. They let you discover the breadth of work available without the social stigma of being "uncommitted". The technical skills you learn will help you in the future. The people you meet will leave a mark, a lesson that you can carry with you. But at the end of the day, the feeling of working on something you love or hate is what's truly valuable. Because within three months, if you hated it, you can leave. If you love it, you've found a new path - and that's worth more than any full time job offer.

 

Finding an Internship

This section really didn't fit into the essay, but I know its difficult to find a regular job, let alone an internship. Tips:

  1. Use craigslist, jobs.joelonsoftware.com, and any other job board and look for internships year round. Many are CoOps, which are really a fancy term for part time.
  2. If you're close to graduating (within a year), apply for a full time job and ask if you can start now, but part time. Worked for me. Just say it helps you reduce ramp up time :).
  3. The hiring window for most tech companies is between October - January. It's a lot harder to find a summer internship any other time.
  4. These rules seem to go out the window in graduate school.
Wednesday
18Nov2009

Defining a Good Academic Paper

A "good" academic paper is defined as "presenting a new idea".  Half of a good paper is about content: how great is your idea? That alone is a difficult task, highly controversial, and a gut feeling.

The other half is how well the idea is presented. Every presenter, book and teacher can present new ideas in something you can understand, given enough time. But nobody has time, so a paper has to be incredibly easy to understand, which makes writing a good paper exponentially harder. A paper also has to explain not only the idea, but it's context. A ground breaking climate model is useless unless I know why I need one.

A "good paper", needs to "present a new idea in an easy to understand way".

Present doesn't say much nor does it imply any kind of usefulness for the reader. Press releases present something new in an easy to understand way, but most are useless. The whole point of a paper is to expose your idea to the rest of the community, so that they may be able to use it to solve their problems. Perhaps we should be trying to "teach" someone. But that isn't the case either as teaching implies a hierarchy - a teacher/student relationship.  In reality, they are colleagues that have equal weight, and you are hoping that they will like your idea. Which maybe means you are trying to sell a new idea. But "selling" has a horrific connotation of stuffing something down your colleagues throat. The only word that I could think of that implies respect, while still explaining an idea, is inform. A paper isn't trying to teach, or sell, but trying to inform a colleague of a new idea. We can change our definition of "good" to:

"Inform a colleague of a new idea in an easy to understand way"

This is a fairly abstract definition, but a good starting point. The definition of "new" is murky and depends on the field. How much stuff has to be new? Does the whole system have to be new? Does every paragraph have to present a new piece of information? I'm not sure, and I don't know how to define "new". My guess is, it'll be like what the U.S. Supreme Court said about explicit images: "I'll know it when I see it". Just make sure in your paper, the reader can see the "new" part. Put big circles, stars, lots of noise, and in big bold letters, the "new" part of your research.

The hardest part of writing a good paper is making it easy to understand. The most difficult part of making something easy to understand is culture. Even determining the responsibility of understanding something is cultural. In Outliers, Malcolm Gladwell explains the notion of "transmitter" versus "receiver" oriented communication. Most western or "transmitter oriented" cultures say that the writer has to ensure that the reader understands the message. In "receiver oriented" cultures such as eastern cultures, the person listening has to decode the message. Since most scientific papers are published in English, a "good" paper means it is the responsibility of the author to ensure that the reader gets it. The paper has to be proofread by many different people, rewritten, and edited many, many, many times. Most papers are difficult to understand because they are just written, not edited.

Culture also brings up the issue of writing style. I'm unfamiliar with how all Europeans write English, but American English is very different from English written in Germany/Austria. American English, at least after speaking with friends who majored in English, is good when it is concise. Short and simple. On the other hand, Germanic English, is concerned with being "precise", or adding lots of details. And by precise I mean that every thought related to the sentence is explained, in the sentence, with every nuance covered trying to eliminate all possible avenues where a point can be attacked, which of course creates sentences that are strung together to make a very long sentence without the use of periods, making each sentence difficult as an American to read. (eg. The JIT does xyz versus A JIT compiler can do xyz. We do escape analysis versus we do escape analysis for single threaded programs). American readers will hate your writing if you make it overly precise (me!) and Germans will hate your writing if you make it short and concise as your sentence is no longer "precise". I'm sure there is an "Asian" version of English, but I have no idea what that is yet.

The other non-culture hurdle of making something easy to understand is deciding on what is background information. How much can you assume someone knows? Most people guess too much. Dumping all the background information in the world makes a great textbook for an undergraduate course. Assuming everything will ensure that nobody knows what you're talking about. Try to imagine someone who has taken one or two courses in the subject and nothing more. If in doubt, give an extra sentence for background explanation. Don't feel bad if you scratch your head over what's background information because it's a really hard problem. (A website that contains a list of terms and definitions that everyone in the field should know has wiki potential written all over it.)

The easiest way to overcome these hurdles is to use examples because it solves the problem of abstract ideas, background information, and writing style. As much as scientists say they love the abstract, people can't think that well in the abstract. Self contained examples solve a lot of the background information problem. And many writing style issues go away if I already have experience with the example.

The best examples are the ones that start out with a simple case and slowly add new ideas, creating a holistic picture. It's hard to create one example to cover everything. But if you can't do it, your paper isn't focused enough or you haven't thought hard enough. Keep thinking.

A good academic paper, needs to "inform a colleague of a new idea through concrete examples". I've only written two papers, read too many, and I'm sure my definition will change with more experience, but that's seems to be better than most after two years in grad school.

 

Other Resources:

* Thanks to Christian Wimmer, Michael Bebenita, and Ali Haeri for proofreading.

Thursday
17Sep2009

Inside Grad School

This economy is tough with unemployment almost hitting 10%. I've seen this as some of my friends are without a job. Going to graduate school seems like a good alternative. I've been fielding a lot of questions regarding my experience. Maybe this can help anyone else whose thinking about going to graduate school.

The most surprising aspect with these questions is how little undergraduates really understand what goes on in graduate school. Yes they know that Teaching Assistances are grad students, but thats about it. I admit I am guilty of this. For some reason we always had this illusion that teachers and professors weren't somehow people. They came during their appointed hour, we students listened, end of story. It was weird to see them shopping in a grocery store. Naive yes, but a real thought.

Upon becoming part of this "grad school", it was stunning to see how many preconceived notions I had about graduate school. While reading tons prior to actually enrolling helps, there were still a few surprising things that nobody seemed to pinpoint. I hope by illuminating some of these gray areas, you may have a better understanding of what grad school is all about.

The first question people ask themselves is a Masters or a PhD? I grappled with this question for two years and didn't really have a good answer until my coworker at a startup I was working at said:

"Imagine yourself at a table for the next big project. The PhDs talk. The Masters take notes".

I'm not sure how true this actually is, but it seems the case. I'm sure there are exceptions, but this is probably the norm. You'd think that since PhDs are supposedly crazy smart, they wouldn't have this social structure. It would be a pure meritocracy. But alas social structure itself is outside of logic and is another essay unto itself. The difference, on a more formal level, is that masters "master" the current state of the art and apply them to current problems. Masters programs are like a continuation of undergraduate: more classes. Very rarely will you do research. PhDs on the other hand, research new problems creating the next state of the art. One isn't better than the other, you just have to know which one you are more comfortable with. Do you prefer dealing with very practical problems that have known solutions? Do you like problems with "right" answers?

And by "right" answers I mean correct. Up until undergraduate, everything you do has a clear right or wrong answer. Every test painfully lets you know when you're wrong. Are you terrified of being wrong? Go for a masters. Or do you love big gaping voids and putting a box around them? Are you comfortable knowing that you could be asking a question with no answer. Are you okay staying in limbo for a while? That's the plus and minus of a PhD. You have to make the choice for yourself. The worst case scenario is you go for a PhD and drop out with a token masters. If you go for the PhD, you get the masters along the way, which is just another brownie point on your resume. The rest of this essay assumes you are chasing the full PhD.

Which leads to the most important question you need to ask yourself: why are you doing it? Do you really want to work on something for at least four years? Would you work on this, or at least think about the subject for free? Now you may not even know what you want to study! That's fine. A lot of people think that you have to know exactly what you want to research from the get go. You don't. Nobody is asking you step in day one ready to do ground breaking, Nobel prize winning stuff. You only need to pick a subfield and see where it takes you.

How deep is a subfield? Your interests will change over the next five years so choose something broad enough that you can wiggle around in. For fields such as history, you may only need to know that you want to study American History or The Roman Empire. It's really broad, but thats the point. You want to stick your foot in a large enough pool where you can swim around in and find whatever eventually becomes your research topic. When I enrolled in graduate school, my interests were in programming languages, compilers, and virtual machines. Over the first year, it narrowed to virtual machines. After the second, virtual machines for dynamically typed programming languages. At the onset, you only need a broad topic that can narrow with time.

Of course this leads to the inevitable fear that you have to create something ground breaking new! You must write something that will revolutionize the field. That is what something "novel" and of "publishable quality" are. Right? Nope. I really overestimated how much new work is required for something to become publishable. Imagine a car. You may think you have to find a new body frame that has less drag and is twice as cheap to make. Or you have to find create the new economic model in this 2008 collapse. Not true. If you find one, more power to you, please remember me and give me a job as you stand and get your Nobel prize. In reality, a paper asks a very small narrow question and boxes it in a pretty little package. Instead of how do you find a new body frame for a car, ask, if you change the screw type from iron to diamond, how well does the tire bolt onto the body frame? A much smaller question.

And that sums up what you do in graduate school. You start out with this big field you like, and slowly become more specific with time. You do some research, then write a paper on it, and at the end write a thesis. It seems like the masters thesis is really just your first paper, doubled spaced with another background information section. The dissertation is the 4-5 papers you did over 5 years, double spaced with transitional paragraphs in between. Perhaps this is just something unique to UC. I'd be interested in seeing how other universities handle this.

If you're fear is that you aren't smart enough, aren't creative enough - don't worry. Everyone goes in just as dumbfounded. You may wonder, why are grad students so smart? Ask yourself, do you think you could TA the beginner courses in your major? Thats how. And a lot of success isn't based on intelligence, it is based on persistance. You only need to be smart enough, not the smartest. The only question is within 5-6 years, can you figure something out that you know you want to do? I don't know if there is a test that can answer this question, but I have a hunch. Do you naturally experiment in your own world? Do you sit around and think about your field? If it is natural for you, I suspect you will be fine in graduate school. All sold? Then the next question is:

How do you choose an advisor?

This choice will play the biggest role in your graduate school experience. I wish someone told me this earlier because you live and die by your advisor. Pick a bad one, and no matter what, you are going to hate your life. Your advisor pays you, determines when you graduate, determines what you can do, determines what you can study. Make sure you pick a good one. I've somehow been blessed with a terrific advisor. I don't know how I got so lucky, so I can't chime in here. Finding an advisor is kind of like a job interview - you never know what it's really like from the onset. If thats the case, what can you do? I don't know.

I chose my advisor by chance. I'm going to grad school at the same university I did my undergrad. I've been told this is bad practice. Too bad Irvine is too nice a place for me to move. I took my advisor's compiler class, got my first gray hair ever, and asked to do research. He said he didn't have cash to pay me, so I worked for free for 6 months. This gave me plenty of time to see if the group was for me, how everyone worked, and if I could see myself doing this for the next 5 years. It was like an unpaid internship. While I know it is painful to live on savings for 6 months, ramen and sleeping on friend's couches, it let me do two really important things:

1) Test drive the research group and advisor. Almost like an investment for the next five years.
2) Admission into graduate school on sub par credentials.

The dirty secret is that if a professor wants you as a student, it will happen (probably pending funding.. read UC funding situation to see why this isn't happening). The arrangement was mutual. I was pulled me through the admissions committee, my advisor got free labor. If you have no idea where to go, what to do, or how to contact a professor, try this: Offer yourself as a free slave for 3 months in summer and see what happens. I'd pick summer over any other semester/quarter as summer is the time where you can actually get lots of research done. It's the purest research time in that sense as no classes are going on. I don't actually know how many professors would take the deal, free labor. But it's something that happens rarely, shows that you really do have enough passion, which is a massive plus, and it's crazy enough that it may work. Try it and let me know.

Even if you stun your coworkers and your advisor loves you, you still have to do a few things to be admitted into grad school. Like take the dreaded GRE - the test that doesn't test anything other than how much can you cram. If you are shooting for 1400+/1600, you need at least three months of 1-2 hours of studying everyday. Tip for the math: Always test the edge cases. The GRE math is full of tricks, not difficult math. Eg they have pick A if column A is bigger, pick B is column B is bigger, C if they are equal, D if not enough information, plug in the edge cases - 0, 0.1, 1, 2, 100000, -0.1, -1, -2, -1000000. Then you can see the tricks. The verbal is just memorizing words. Memorizing about 1500 words instead of all 4000 from those Barrens books is good enough. Then learn the Latin roots, pre and post fix modifiers. For most questions, you probably already know 1 or 2 words out of the five multiple choice. Once you learn the 1500 barrens words, you'll know another 1-2. This way you can usually eliminate at least 3/5 choices giving you a 50/50 chance of guessing. Optimizing away the GRE. When should you take it? I remember a freshman class where professor Stephen Jenks said something like "Take it your senior year of college. The scores are good for five years and you're still in the test taking mode."

Why should you even study the GRE? Didn't I just say if a professor wants you, you're on your merry way? Yes but your GRE score gives your advisor leverage during the admissions and funding process. At least at UC Irvine, admissions are done by committee. If your advisor likes you, admissions are probably the easy part. Funding is the hard part.

NOTE: Most PhDs DO NOT PAY TO GO TO GRAD SCHOOL.

This is why professors work incredibly hard to get funding and grants. They pay you. The toil you hear everyone bitch about, constantly going around asking for money is oh so true. Horrible I know. I wish we could revamp the system but alas it is what it is. Studying for the GRE and keeping your grades up is all about helping your advisor convince the other professors to give you an admissions "package". A package says "you are guaranteed funding for x number of years". The higher x is, the better off you are, especially in an economic downturn. If your advisor runs out of money, you either work for free or drop out of grad school. Funding can be a massive headache. If you put in 3 months to cram the GRE in exchange for 4 years of relative sanity, its probably worth it. The four years are paid through multiple channels - your advisor, the department you are in, the actual school, and being a teachers assistant. The remaining years are paid by your advisor through grants or you becoming a TA. Being a TA means your tuition is paid and you get a small stipend. Very small. At least you aren't paying for school.



There are other ways to offset the financial situation, at least in the sciences. I'm somehow in this amazing situation where my research and industry interests magically align. I was admitted in 2007 and started doing trace compilation on JavaScript because I didn't want to work on Java. Lo and behold, Browser War 2.0 based on JavaScript speed became the rage. I have no clue how this happened. I'm just grateful it happened. This also means it's possible to get an internship doing research. Although I hear this is super rare, especially outside of the sciences. But it is possible to still have a taste of industry while being in Academia. This also helps supplement your puny TA stipend. Again this truly depends on your advisor. If your advisor doesn't want you to intern, then you aren't going to. Or if you are an international student, say hello to the INS and their Visa issues. My only advice would be to do internships that align somewhat with your research interests. Otherwise you'll be in graduate school even longer.

Which leads to a part of graduate school nobody ever told me - the social aspects. Everyone always focuses on the research aspects, the technicalities. But there is only so much research you can do. You need social interaction to stay sane and graduate school is weird. You are still piss poor, like a continuation of undergraduate. You eat $5 footlong subway sandwiches. Its hard to spend $20 on a meal. You drive a beat up Corolla while your friend drives a BMW with his girlfriend/soon to be wife driving an Infiniti. You're in this awkward bubble and you're no longer "normal". There are some nice perks. Everyone you talk to is smart and can have a conversation about really interesting topics such as politics. Jon Stewart is everyone's hero. You're on your own schedule with the ability to wake up at noon, sleep at 2 AM, and work without a dress code anywhere, anytime. Almost all your peers are international students, giving you a really diverse and interesting chance to explore the world from a different point of view. But you lose some sense of what its like outside of this bubble. Talking to people outside of graduate school makes it a bit harder to relate to them. They are working on their careers, climbing the corporate ladder, and planning their families. You are planning... your dissertation, something few can relate to. It takes a bit more social skill to relate to them, and it's difficult to start meeting people outside of grad school. It's still hard to meet undergraduates as you are that ambiguous "grad student". I highly recommend having friends outside of grad school. It keeps you sane.

Which is really important. Graduate school is a marathon, not a sprint. It's important to stay healthy allowing you to take the time to figure out what you want to do. Because what happens once you graduate? You can either become a professor, stay in Academia, or go into industry. This has been an age long debate and really varies with people. There are three options:

1) Become a research professor
2) Become a teaching professor
3) Go into industry

Being a research professor means you teach on the side and write grants. It is extremely difficult to become one. The smartest hacker I know couldn't get a job as a professor which humbled me. If he couldn't get one, what are the chances of me getting one? Not only that, a research professor seems more like a manger of a small group with a bit more leeway. You don't research anymore. You travel all the time, write grants, and find money. I already hate traveling. Planes suck. If this sounds great, perhaps a research professor is right for you. The other option, becoming a teaching professor seems a lot more amiable. You teach and do research if you want, but its not the focus. You are paid a salary to teach and don't have to hunt for grants. Industry is the third option. Hopefully you don't work at a company where you are a glorified employee, but instead get into a cozy research lab. I haven't graduated yet, leaving me little to say about it.

All in all, I simply adore my time here. Perhaps I'm a rarity as a lot of people will say "don't do it". Jorge Cham from PhD Comics gave a talk at UCI and one undergrad asked "should I go to graduate school?" About half the audience SCREAMED "Don't do it!". I know one person who said she hated her experience leaving me with no idea why she stayed.

Should you do it? Grad school opens massive amounts of doors. I got to have lunch with Brendan Eich, the CTO of Mozilla and creator of JavaScript. Call me star struck because I am. It's freaking awesome. And that sums up grad school. You get to hang out with Brendan Eich. Do you get to if you don't go to graduate school? Who knows.

An older coworker of mine told me - "You never regret what you did. You regret the things you didn't do". Try grad school and see - worst case you drop out and get a job.

Good luck and feel free to ask me any questions or chime in with your own experiences. (especially if you're not in the sciences. I'd like to hear your experience.)

 

Thanks to Joshua Shapiro, Michael Bebenita, Christoph Kerschbaumer, Jon Nguyen, and Min Hur for proofreading and their feedback.