Slashdot Mirror


Industry or Research Internship?

sachachua asks: "I'm a sophomore taking up computer science, and since I'll be graduating pretty soon - March 2003 - I'm trying to figure out what to do in order to better prepare myself for the future. I'm really into programming, and I'm considering going for a practicum or an internship in some software company that can really help me develop my potential. I do a lot of web work with PHP, Java and Perl, and I pick up new languages easily. =) However, it's a bit difficult because I'm way over in the Philippines, which is a Third World country. Since it's so far away, my campus doesn't get visited by all those companies that court other graduates. And even if they do manage to find me, there are all sorts of visas to arrange. But the international exposure will be really great, and I want to meet other geeks. =)"

"I'm also really interested in computer science education and I want to do research. I'm thinking about going for graduate and post-graduate education, and I've been looking for professors who have done research in CS Ed. It's still kinda challenging because education abroad is expensive, so I have to have a good enough record for financial aid. I want to be a teacher, and I want to improve the way computer science is being taught. I know it's _really_ difficult, especially since I'm just a student right now, but if I work hard at it I know I'll find a way.

What advice would you have for a student who's at one of those crossroads? Should I go for the internship, do well in the industry, and make something that lots of people can use? Should I look for an internship at a university that does research in computer science education, and help develop the next generation of whiz kids? What are some other choices I might not know of yet?"

19 of 83 comments (clear)

  1. Go for research by Fjord · · Score: 2
    I'm thinking about going for graduate and post-graduate education, and I've been looking for professors who have done research in CS Ed.

    If you want to go onto a good grad program, you will need research experience. Industry experience will not help you here.

    Early on in life, when you take a job, you have to ask yourself "How is this good for my career?" To get into a good graduate program, you have to have a resume that shows you will be a good researcher. Having industry experience doesn't help, and in fact, can hurt a little, as it makes it seem that you are not as dedicated to an acedemic life. The good programs have 100s of applicants and only a few dozen research positions. In order for you to be accepted an individual professor has to take you on. The way to catch a professor's eye is with research work. He will not care if you programmed the backend to eBay. If you have an internship doing fourier analysis of spectrographic readings of plant samples from the amazon, it will show you'e got the math it takes to do research.

    There are some industry jobs that may help. A friend of mine worked on uC++ and ssh, but he also had a lot of other pure research interships (as well as was on the winning team of the ACM one year) and is now at Berkley.

    Don't get me wrong, you may be able to get into a good program with good marks alone, but the research experience helps a lot.

    On the other side, the research experience will help a little in getting an industry job. Just don't expect it to count as much as industry experience. You will still be viewed as a entry level applicant, and be paid accordingly, but you will have a edge over those with no experience. If you use a language like Java in your research, that will help you a bit (it will certainly get you by H.R. filters). Once you have a job in the industry, you will probably be promoted quickly so while you loose a little ground, you'll catch it back in a year or two.

    Good luck. :)

    --
    -no broken link
  2. Re:research, ed interests: stick with university by OmegaDan · · Score: 2
    I can tell you I've had just the opposite experience ... The research enviornment is horrid at my university ...

    We've essentially boiled down the process to a business model ...

    A) Write Proposal (often times we have no idea how to accomplish what we've proposed -- it just has to look good on paper)

    B) Stick it to some GSR (Graduate Student Researcher) who's trying to get his PHD from us ... we pay him 40,000$ a year, but we make anywhere from 100g - 1m from the proposal ...

    C) Launder the rest of the money and use it to pay our salaries, buy equiptment, our manager routinely buys the newest baddest computer when it comes out ... (keeps em for 2 months only sometimes) takes trips on the university dollar ... etc (while the GSR's are running SS20's and Ultrasparc 1's and 2's ...) ... and this isn't to mention his 6 fig salary ...

    D) Start step A again in paralell ...

    Granted not every research facility is like this, but I thought I'd offer a disenting oponion from someone who deals with it on a daily basis ... I've personally witnessed things like -> converting (completed) research papers into research proposals ... People in their 7th year of research because the boss considers em too valuable to award a PHD (and thus they'd leave for a job that pays 4 times what we do).

  3. Re:slow down by Cyclopatra · · Score: 2
    You have several years of school before you are i the real world. You have some important things to learn.

    I agree totally, but for different reasons. You say you're a sophomore, and you've done a lot of web programming. I'd say the odds are you don't have much of an idea yet which you're better at or want to work in, industry or research, unless you've had more experience than you claim. I say this because I thought in terms of an MS or a PhD in CS after my sophomore year, too. It all seemed terribly easy and fascinating.

    Now that I've finished my bachelor's and worked as a programmer for a while, though, I'm still thinking about the MS but the PhD is a distant dream - I know I'm not cut out for research or teaching like I once thought I was.

    I'd say, go for the internship, and any project-based/directed studies courses you can get, and try them both out. See if your school allows more than one internship (the coop program at my school required, IIRC, 3 or 4). See how you feel about programming/thinking about programming all day, every day (I and many others happen to love it, but YMMV), and see how you feel about research. That's the only way you're going to find out which will make you happy.

    But above all, don't feel like you have to decide right now and for the rest of your life. That's the way to give yourself ulcers and make yourself miserable.

    Cyclopatra

    --
    "We can't all, and some of us don't." -- Eeyore
  4. Re:Real world learning by crgrace · · Score: 2
    I own a small business and I can honestly say that I would rather hire someone with 4 years of experience than someone with a PHD.

    Probably someone with a Ph.D. would be overqualified for the jobs for which you would hire. On the other hand, if you were hiring people to design adaptively calibrated analog-to-digital converters, for instance, I think you would be better off hiring a Ph.D. than a B.S. with 4 years of circuit design experience. This is because getting a Ph.D. forces you to truly know what you are doing, and when you are working at a very high level, knowing what you are doing is important. In advanced circuit design, for the most part the B.S. and most of the M.S. engineers work for the Ph.D. designers and the best of the M.S. engineers.

    Here's what I mean. When I was an undergrad, I could study for tests and get A's without fully grasping what is going on. (How many people who took Calculus REALLY understand Calculus? Maybe one in ten) Likewise, when I was working, I could get by with a cursory knowledge of the material because I had a small part of the project and I was doing rather routine stuff. Now that I'm a Ph.D. student, the success of the project depends entirely on one person, ME. I need to know every last detail because there is no one else who will do it. This means I need to deeply understand the fundamentals, be able to absorb new information quickly, and become truly independent. This is difficult to achieve when you are working on a project and not running it yourself, because when you don't have to deal with the big picture it is easy to become nearsided. Most B.S. engineers I know are fairly competent, but they only know what they can look up. They are fine for routine designs, but they tend to lack the deep knowledge needed to extend the state of the art.

    This is not to say every Ph.D. engineer is a better designer than every B.S. engineer, because that is not true. But, I submit that every B.S. engineer would be better if he or she went through the trial by fire of a Ph.D.

  5. why get industry involved in your education by crgrace · · Score: 2
    ...what I tell people in "traditional" engineering disciplines is to jump to industry and let your employer pay for grad school

    Most good engineering school have a lot of support for grad students, so jumping to industry will just slow you down. With my Research Assistantships and Teaching Assistantships, I haven't paid a dime to go to grad school and I've been here four years. The student salaries are enough for rent, too, so I haven't had to get any loans. I am a traditional engineer, by the way. I'm getting a Ph.D. in Electrical Engineering.

    A big problem with industry paying for your master's degree is that they usually don't give you a raise after you finish big enough to compensate what you could have gotten with a Master's in the first place. And you can't just quit, because then you have to pay back some of the fees they paid you!

  6. slow down by bluGill · · Score: 2

    You have several years of school before you are i the real world. You have some important things to learn. (Amoung them: picking up computer languages quickly is not impressive, someone who can't do so is a poor programmer, but someone who can isn't nessicarly good).

    Please get real world expirence. I have no problem with those who want to teach and do research all their lives. However those two areas are far removed from the real world. In the real world small programs consist of 2 million lines of code written by many people not all of whom should write code. There is no way for a human to understand it all and get his work done. Research demands the best coders, and often forces the less good programmers to re-write unreadable code. In the real world if it works we don't break it. (This is both good and bad)

    Getting real world expirence means you need to look over the shoulders of your betters. (If only better in expirence, I've learned a lot myself looking over the shoulders of senior engineers who did a bad job, just because their expirence worth learning from even if the code itself was worthless in all respects) There are computer jobs in your area. There are also companies that will bring you overseas and pay you to work for them. Good luck finding them.

    When I went to school I knew a couple students who weren't that great (They passed, but mostly Cs) who paid less for school then I did because they found some little known programs and got into them. Study abroad is expensive, but there are orginazations that will pay most of the cost. Find them and get in.

    In the US the most desirale engineering studnet for grad school is the white female, followed by the white male. The lease desired is the asian male. Asian Males make up the majority if grad schools in the US. They are getting there somehow, it is up to you to figgure out how.

    I wish I could give more definate answers (contact x and volia). The reality is I know several persons who found programs that got them into exactly what you wanted, but I don't know how they got there. Really there is only one definate answer I can give: your professors probably know the people you want to talk to, and the programs you want to get into, so pester them until they remember you when one of those annoying "do you have any students who would be interested in ..." calls come in.

  7. Re:First Impression by Fjord · · Score: 2

    This is a bit of an untruth. It is true that as you gain experience in one aspect of IT, you will be considered more and more of an expert over time, but the main problem comes in when you try to think that your 10 years of DB2 experience + a course in Java makes you worth as much as an expert Java programmer. You aren't an expert, and will have to take a pay cut if you want to switch your aspect. As I said elsewhere, you will gain your old status quickly.

    One place where this is true is poor interns who get a QA job as their first job. If they stay in QA for too long, then people will begin to think they can't program. One way to counteract this is by doing open source work. Of course, open source work also helps you change your aspect. If you have 10 years DB2 + a course in Java + are a contributer to any of the Java apache projects, then you'll look rather apealling.

    --
    -no broken link
  8. Easiest to get a position as a student by sphealey · · Score: 4

    If your goal is to get some experience in the US, and if you have some money to travel and live on your own for a few months, it is actually easiest to get an internship and/or temporary work when you are a student. Check to see if your university has a partnership with a US college/university - you might already be considered an honorary student at Nowhereville State University. Or you may be able to register for classes at a US college without too much difficulty. In this situation, it is fairly easy to get a work permit for an internship or a 1-year position at a job related to your field of study. Check with an immigration lawyer for details.

    As far as the choice of working or going directly into reseach, IMHO you should work outside of the university in a non-research position for at least two years before making that decision. You can always return to the university from the real world and get back on the PhD track, but it can be very difficult to leave the academic world and go back to industry. Not as true as it once was, and not as true for the EE/CS area, but still a concern.

    That's my 2 units of minimal monetary value.

    sPh

  9. Do what you like to do best by peter303 · · Score: 2

    In good times, you have the luxury of doing such.
    In the bad times (been a while in tech) desire
    sustains you.
    Do what like to do, and try to become as best as
    you can doing it.

  10. etc etc by xp0rnstar · · Score: 2

    Personally if I were in your situation I would go ever to a couple of job sites and search for companies willing to sponsor H1 visa's. Pages such as Hotjobs, Dice, Monster, all have options for foreigners to break into corporations via sponsorships.

    Speedygrl has a comprehensive listing of job search engines and companies.

    I've never dealt with looking for positions in other countries but soon I will be asking the same question when I get close to moving to Sweden, so I'm curious to these answers as well.

    Hope that helped a bit.

    Redhat spoofed

  11. Be wary of sponsored H1B by syrupMatt · · Score: 5

    There is always the route of contacting companies in the US, and getting them to sponser you for an H1B visa if/when you get hired. However...

    Be very careful about the terms and conditions that come along with this. It may seem like a company is offering the world to you, but, rest assured, there is fine print. Unfortunately, due to somewhat lax oversight and the desperate need for technical personnel in the United States right now, alot of up and coming .com's and related businesses are using the H1B as a 2k version of Indentured Servitude.

    At a previous employer of mine (and this is not an isolated incident, just one i happend to be a part of), we had hired several workers from India, and then sponsered them for H1Bs. However, after being the in country for a certain amount of time, they asked for a nominal increase in pay (much like any worker would after a set period of time, in this case, 9 months.) The programmers were denied the raise, and told that any further asking would result in the termination of the companies kindness in the H1B process. Also, if there were fired, it would make things extremly difficult, since there is only a set amount of time you have to get a new job and have your new company pick up the visa tab, lest you be deported.

    The process can be an excellent thing for people in your position, with talent and skills that are in demand. However, just make sure you read the fine print, and if possible, talk to other employees in the company who may have gone throught the process themselves.

    P.S. I think i remember seeing a link in a story on /. as to companies that had/are sponsoring H1B visas, and their fairness (for lack of a better term) in the process. I could be wrong (or it could have been on another site). Look around, do your research, and good luck:).

    --
    "Moving through the masses like a fish through water." syrup
  12. Get someone in the UK sacked... by caveman · · Score: 2

    Well, you could always apply to a certain IT company in the UK. Currently rewarding their staff for their loyalty by asking them to volunteer colleagues for the sack, to be replaced by cheaper labour from outside the UK. Successful volunteering is rewarded by a GBP 1,000 bonus.

    Sorry, no useful links, but you'll get the general idea here

  13. Might depend on the industry... by TOTKChief · · Score: 2
    Most good engineering school have a lot of support for grad students, so jumping to industry will just slow you down.

    I'd argue that it varies with the discipline and the employment environment. I'm an AE and I work at a NASA subcontractor. It makes economic sense for me to work there and go to grad school [or would if I were done with my u-grad yet, but I advise students and cow-orkers alike].

    With my Research Assistantships and Teaching Assistantships, I haven't paid a dime to go to grad school and I've been here four years. The student salaries are enough for rent, too, so I haven't had to get any loans. I am a traditional engineer, by the way. I'm getting a Ph.D. in Electrical Engineering.

    EE is easier to do that in right now, and traditionally has been. AE is a bit harder because you have to be close to a school where the AE department has what you want. AE one place may be civ aviation and low-speed aerodynamics; others, it may be propulsion. But it's great that you're getting a Ph.D. in EE--we need those people and that research!

    A big problem with industry paying for your master's degree is that they usually don't give you a raise after you finish big enough to compensate what you could have gotten with a Master's in the first place. And you can't just quit, because then you have to pay back some of the fees they paid you!

    Depends on the industry, I guess. There are a couple of local companies--AdTran is one--where I haven't seen the raise matter any whether you did it on your dime, theirs, or some research money. Yeah, you're tied to the employer, and that's the one downside to it.

    What's really good is going to school on a civil servant job. A friend of mine is getting his Ph.D. in Engineering Management that way, and he'll get a year off--with pay and benefits--to do his thesis work, and they pay for all the schooling before then. And they call it training or whatever it has to be called for you not to have to be taxed on it.


    --
  14. Real world learning by Angreallabeau · · Score: 2

    I own a small business and I can honestly say that I would rather hire someone with 4 years of experience than someone with a PHD. In fact, I pay more as well. That is not to say going to school is not helpful or a great experience....To be honest with you all, I miss the lifestyle associated with going to school....women.... :-)

    Seriousily, do what you want to do. If you are doing what you love, money and happiness (however you define it) will always follow. Life has a funny habit of taking care of those people who work hard.

    -Angreal

  15. First Impression by bool · · Score: 2

    Just be careful of what you do. The first job you take is generally what you will be doing for the rest of your career. If you are hired on as a DB2 guy someplace then you will be viewed as the DB2 guy for a long time. These impressions are a real pain to change. Your first step into a real job is the most important. As to what to do... become a consultant and charge large corporations three times what they pay their employees to do the same thing.

    ----------
    do { Work(); PayTaxes(); Eat(); Sleep(); } while (alive)

    --

    ----------
    while (alive) { Work(); PayTaxes(); Eat(); Sleep(); }
    Bool
  16. Research vs. corporate work by joshamania · · Score: 2

    My advice would be to get the corporate gig. It doesn't even have to be a "corporate" gig, per se. I work for a small company (5 of us) doing database consulting. Working in such an environment has given me much opportunity to satisfy my creative leanings as well as live comfortably.

    The wonderful thing about computer science is that you do not need to live/work at a university in order to do research. You should make enough money to allow you to do whatever you like in your spare time. Get attached to open source projects, distributed.net, or a myriad of other projects. There is no end to all the "unofficial" research to be done out there, and there's no reason to live like a pauper while doing it.

    Unless of course, you've got the IQ of Bill Joy and can go to UC Berkeley and create Unix...

  17. research, ed interests: stick with university by slarson · · Score: 5

    "I'm also really interested in computer science education and I want to do research. I'm thinking about going for graduate and post-graduate education, and I've been looking for professors who have done research in CS Ed."

    If you're thinking of a career in research and or education, I would suggest that you're best to stick in academia for at least a graduate degree. It sounds like you're more interested in CS than Education in itself, so perhaps an MS or PhD in CS might be a good option. On the other hand, you mention that you want to be a teacher, which means you'll probably need to go to teacher's college at some point. In North America, that's just a year, which is no biggie. A Master's in CS and a teaching degree would take three years or so and would put you in an excellent position to teach, and with your ambition and drive, to eventually affect how CS is taught on a larger scale. Of course, to teach at the university level, you'll need a PhD to get a faculty appointment. If you're keen on this, go for it. We always need more good teachers in academia.

    Of course, all this may be different in the Phillipines. I can only speak for the North American situation.

    "It's still kinda challenging because education abroad is expensive, so I have to have a good enough record for financial aid. I want to be a teacher, and I want to improve the way computer science is being taught. I know it's _really_ difficult, especially since I'm just a student right now, but if I work hard at it I know I'll find a way."

    Ambition and hard work can go a long, long way, so don't get discouraged.

    "What advice would you have for a student who's at one of those crossroads? Should I go for the internship, do well in the industry, and make something that lots of people can use? Should I look for an internship at a university that does research in computer science education, and help develop the next generation of whiz kids? What are some other choices I might not know of yet?"

    My final point would be this: to be an excellent CS teacher (at any level), become a good computer scientist first. Just the fact that you have a passion for teaching will make you a good teacher; thorough knowledge of the subject, some training in teaching, intelligence, common sense, empathy, and experience will help make you an excellent teacher.

    I should warn you that I'm a grad student myself, and enjoying the experience immensely, so my views are biased towards the academic route :-)

    Good luck - Stefan

  18. Advice from a recent grad: go industry first by lurp · · Score: 2

    I just graduated from an undergrad EE/CS program, so let me give you a few words of advice:

    1. Don't underestimate the difficulty of getting a visa to work in the US as an intern. Many companies (such as IBM, I believe HP, and many others) won't sponsor a visa for an undergrad intern.

    2. Don't rely on monster.com or even the company's own web resume submission gateway. Simply carpet bombing these places with your resume won't get you anywhere, especially because you need a visa sponsored. Find someone inside the company that you know/or have contact with, and get your resume to them.

    3. The best company I can think of for you, as much as it pains me to say this as a fellow geek, is probably Microsoft. They have a very liberal visa sponsoring policy, and they pick up the bulk of your living expenses while you are interning for them. Besides, what better way to subvert the system than from the inside! ;)

    4. If you're thinking about a Ph.D., it's true, research experience is a very (perhaps the most) important factor in getting into a good school. Still, you have plenty of time to forge a good relationship with one of your professors and get research experience. I think if you see the industry side of things first, you'll see that nearly as much new work is being done in the industry, if not more. Plus, it pays a hell of a lot better too!

  19. Go for the research... by TOTKChief · · Score: 2

    ...what I tell people in "traditional" engineering disciplines is to jump to industry and let your employer pay for grad school. But I don't see that happening as much in computer geek companies right now. It might in the next year, as people realize that their fresh-out-of-high-school developers need some theoretical knowledge behind their code-fu to develop kick-ass relational database solutions, etc.

    If you're even contemplating further education, and you like theory stuff, stay in school. It might not pay as well, but money isn't the only reward.

    Me? I'm just a two-bit hack nearing an AE undergrad degree and wondering what the heck to do with the rest of my life. I'll be in industry mainly because the thought of more school at this point is nauseating. So what do I know?


    --