Forgot your password?
typodupeerror
Education

Industry or Research Internship? 83

Posted by Cliff
from the tough-decisions dept.
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?"

This discussion has been archived. No new comments can be posted.

Industry or Research Internship?

Comments Filter:
  • Sorry, but Brazil is far from being Third World when CS is concerned. Might as well say India is Third World in this context. NopeNopeNope. Our Filipina/o colleague should work on real stuff for a real developer because the work experience you can get while doing this is so useful. Coming to the U.S. to intern can be tricky because of the labor and export laws. There's a lot of lead time required to get an H-1B (foreign expert) visa and most times, an F-1 (student) visa does not entitle one to work for hire. There are some no-wage internships at NASA and a few other government agencies, but these are scarce and hard to find. I'd recommend the following: seek a contract situation with a U.S. developer who works on consumer applications; i.e., strictly non-military, non-space, stuff to develop a specific product for them. Work remotely and keep up with your colleagues by e-mail. Arrange to come meet your colleagues, and then do the work from home. My experience with this tells me that the face-to-face meeting is important to making a telecommuting relationship work. Good luck and press on.
  • Let me tell you, the first time you have to take a job at a pay cut because the the IT industry is hiring a ton of cheap foreign IT labor (mark my words, it will start happening) you'll whistle another tune about every human being deserving a chance.

    If we're not careful, we could go the way of the factory worker. Cheap, expendable, and easily replaced in foreign countries. (once their IT training gets up to par that is)

  • 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. :)

  • #1 Why would you title it internship? #2 Your unwritten rule sucks. I got more exposure to a broader range of stuff in my internships than I have in any 'real' job I've held. 'Real' employees are happy to show stuff and answer questions when you're just an intern and not a threat.
  • 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).

  • As far as paying for it, my friends in grad school are all on scholarship/research thingies that pick up the tab for schooling plus about a 12k/yr(USD) stipend.

    But, I would highly recommend taking a year or two somewhere to work. There are many int'l firms looking for good coders. Currently, my gig is with a banking software firm in NL. As an American, I was looking to come to NL. Most firms would ask 2 questions: Work permit? I need one. Dutch language? A semester in college. "Sorry." Then I found an int'l company.

    They did the whole process for me (new speed record in permit turn around too) and pay me a reasonable sum (never enough, but hey).

    I would say hit grad school for a couple years, get your masters. Take two to three years and get some practical experience (crucial in the classroom. my university was begging for prof's with real experience) and then return for some phd action with some cash on hand.
  • 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

  • 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.

  • That's useful - certainly I wouldn't like to take up one of the H1-B slots for something as short as an internship, since even if they raised the cap, there are still too few H1-Bs for the corporations.

    I'll need to find an educational exchange program here, then, that wil allow me to pursue that kind of path. Although our university has ties to Jesuit universities in Japan, and perhaps some ties to schools in the US, it's usually humanities-related majors that get the international exposure.

    I'll look around our school to see if there's a way. Although computer science generally isn't seen to be one of the majors that could really use international exchange, I'm certain that the exposure to different cultures, working environments and people will be really helpful.

    I'm also looking at the Fulbright scholarships - that might help. Most financial aid in the US is meant for US citizens - understandably - but there are a few that international students might be eligible for. I'm also considering Australia - Monash University looks really good, since they do a lot of research in computer science education - and other countries.

    I'm sure there are plenty of options that I might have missed, so I'd love hearing about any little bit that might help.

  • ...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!

  • There are degrees that mixes both computer science and education - perhaps like the MACSME and SESAME programs offered by Berkeley. I think that the most difference can be made at the undergraduate or graduate level, where students have already chosen to specialize in computer science and more in-depth knowledge can be offered. So I'm planning to take postgraduate studies as well, in order to deepen my research (and make a significant contribution to the field!) as well as prepare myself for teaching at the university level.

    I'm working on my self-confidence and communication skills - it's been pretty hard, especially for a self-confessed geek, but I make myself do presentations and talk in front of a lot of people, and I'm slowly getting used to it. I want to be exposed to different teaching styles so I can look for best practices to use, and I've been reading the ACM SIGCSE papers to see what other people's research reveals. I can't wait for next year. Hopefully our department chair will let me hold tutorial sessions for the freshmen, and that will help me gain a little more experience.

    I like explaining things to people and getting them to understand, and that will be useful whether I teach or work in the industry.

  • If I understand correctly, a Ph.D. also ensures that you have a strong research background, and that you've made a significant contribution to your particular field. I'd like that kind of preparation, and I think it would benefit me a lot.

    The industry has its own lessons. I'd also need to carefully plan my career, since doing pretty much the same thing as just a coder for four years is likely not going to help me very much, but progressing from coding to designing bigger systems and applying whatever I learned from the best practices promulgated in programming books would really help.

  • Definitely, I'll choose to do what I love, knowing that everything else will follow. No need to worry about whether or not I should chase the money - if I do what I love and I'm good at it, the compensations - monetary or otherwise - will follow. <g> And since I'm into this long-range planning, I'd like to do things that bring me closer to achieving my long-term goals, like making a significant contribution to computer science. =) (And computer science doesn't just mean theoretical computer science, mind you..)
  • As for the job, build a portfolio of what you have done. Employers care mainly about that. As for school, I know the universities are good where you come from. Enroll quickly, find one that has an exchange program. Teach lab or help other student by tutoring. All of what you said can be done and only you can decide. If you find american universities too expensive, come to Canada :)
  • It's great to hear that you're doing that, and thanks for your encouragement. =)

    I'm definitely planning to help improve the way computer science is being taught in the Philippines and other countries. I know that my university is relatively better off than most schools here - there are a lot of technical schools that only teach the use of applications! - but there's still a lot of room for improvement. Hopefully, by learning and improving on the different ways that people teach - and learn - computer science, I can spread those 'best practices' to universities here and abroad.

  • Doesn't Intel have a fab in the Phillipines. Surely you could find a nice tech job there.
  • An internship that would take me to the US or to other countries is useful in quite a few ways - (a) there are plenty of interesting and innovative projects to work on, (b) I'd get around the disadvantages of telecommuting, which are many and varied, (c) I'd get to interact with a lot of people, (d) I'm closer to all the conferences and conventions, and (d) it's a whole different culture/environment/whatever.

    Face-to-face meetings are definitely useful - it's fun to talk about algorithms and discuss programs over lunch, and there's nothing better for quickly resolving ambiguities.

    Hmm.. Working on open-source projects addresses the meeting-and-interacting-with-other-geeks, so it's also a viable option.

  • Contract programming is useful, but still, there's not much future development in it - you contract for a specific project, and that's it. There's no mutual investment and support. I like the idea of mentorships, of companies investing in people in order to develop them to become more effective, and of their employees likewise investing in the company in order to be of use. I know that I could develop myself on my own - I read a lot, and I can pick up experience on contracts and open-source projects - but I also know that guidance would be really, really beneficial.
  • 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.

  • Great advice! =) One of my friends encouraged me to play with all the APIs of Java, so I could be exposed to a lot of different types of projects and technologies. And at the organization that I'm a volunteer software developer for, they're allowing me to explore different areas - I'm the database admin, but they're planning to give me a sort-of project manager role as well, so I get to work on my people skills too.

    I'll remember not to be tied down to any one thing that might become obsolete - I always have to keep learning something new in order to be even more useful.

  • I'm looking for assistantships for graduate school - I'd love to get that teaching experience, and the financial aid will definitely help. So in order to get into a good graduate program, I should focus on the research aspect now.

    I can take some time off between graduate and postgraduate studies in order to check out my research in the Real World, and I might find some new things to work on as well. Since I want to focus on computer science education and programmer productivity, this has immediate advantages for companies no matter what kind of applications they develop. Thanks for the great advice!

  • We don't really have a strong research program at our university yet - computer science students aren't required to do senior theses, and our faculty's mostly made up of BS or MS graduates, with a handful of PhDs. Undergraduate research in CS is the exception rather than the rule, which is why I need guidance from people in other universities with more established research programs. I've talked to some of the professors and they said we just don't have a "research culture" yet, so I'd like to know how to go about setting that up. =)

    Still, one of the things I like about my university is that the faculty's really flexible and approachable - they're encouraging me to pursue this interest of mine, and our department head will even let me take psych/ed units for my major electives.

    There must be some way to fill in the holes and improve the research environment in my university, just in time for me - and other students who might be planning to pursue research - to reap its benefits. =) Sure, it's a selfish little thing, but I need the foundation.

    So, does anyone have any suggestions for setting up an undergraduate research program in computer science?

  • A rule of thumb: If you're not sure whether to move on to grad school or to go into the computer industry, go the industry route. Get a job, earn some money, learn how the office world works. In a few years you'll have some good practical experience (and some savings) under your belt, and then you'll be in a much better position to decide whether you'd like to return to academia to work towards a degree or stay in the corporate world and work up the job ladder.

    If you have dreams of changing the world, if you want to revolutionize the way that computer science is being taught, there are plenty of ways you can go about this in the hours you're not at work. Help out at a local school or university, or tutor people in computer skills in the evenings. If you stick with it long enough, you can eventually make a name for yourself, build up contacts, and find you have the freedom to take this in any direction you want to go with it, and the experience to know where to take it.

    All too often people fall into the trap of not knowing what they want to do with their life, so they slip into grad school, slave away a few more years of their life, and emerge with another degree but no better idea of what to do from there. You can prove your skills without needing that piece of paper. In the computer world, more than any other world I think, experience (and proven ability) counts far, far more than college education.

  • 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 [apache.org] projects, then you'll look rather apealling.

  • by sphealey (2855) on Friday December 29, 2000 @08:54AM (#539061)
    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
  • 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.
  • ...in my place of business...unles you pay me for the right to do business here.

    That's right; my ancestors made this country what it is--a place where investors want to invest their money; it's a stable country, with a great infrastructure, and the best place in the world for longterm investment--we made it that way.

    And because of that, we have jobs while you do not. We American citizens are all shareholders in America, and this is where we make our living; this is our place of business, bought and paid for with the blood and sacrifice of our ancestors; we and we alone are entitled to reap the benefits deriving therefrom.

    Now if want to bring something to the table so that you might be able to do business here too, then you had better bring a lot, because when you come here to do business, you take business from me

    Yes, some of us AMerican citizen-shareholders DO profit when non-shareholders (foreigners) are allowed in to work; these people, unlike the majority of American citizen-shareholders, do not work to supply goods from their own brains and backs, instead they reap the fruits of others' labors---they have the capital to buy labor, or they may work in a managerial or recruiting capacity, where they have to much to gain by bringing in labor from outside. What do they gain? Lower prices for labor. The operative words here are BUSINESS and MONEY.

    Those who exploit others (and that's all right--everyone has to make a living) have much money (they have the capital!) and so they BUY advertising and therefore support the mass media. Not surprisingly, teh mass media often sees things their way, and so we have it that those American citizen-shareholders who oppose the immigration of non-citizen-shareholders (foreigners) are painted as racists. It's an old story, and its name is Propaganda....

    Look, son, I don't give a fat, happy damm what color your skin is, but if you are going to come into my place of business and compete with me, you need to "buy in". How about you bring a legitimate PhD with you when you come knocking on our door....

  • In my experience so far, and industrial experience far outweighs the benefit of doing internship at a University.

    Well, I live in a third world country too (India) and as far as I know, all the best minds in the teaching community (esp.comp sci) sooner or later move onto greener pastures in the industry. I do not know about the Europe and America and other developed nations, but here in developing ones, it suffices to say that quality of those remaining are far from good.

    I'm doing my 2nd year engineering in Electronics & Communications, and I found a job working as a programmer and research intern on AI, and in my experience I have learnt a lot more in this internship than anybody could ever teach me. Given that my favourite area is AI, I have met some very good people into this field after joining this place, which has been, if not anything, a great source of inspiration.

    This is not to say that college is bad. It's great, but the amount of resources that you have at your disposal in a company - books, unlimited internet usage (most of us Asians aren't as lucky as you western counterparts to have unlimited usage at educational institutions!) and people willing to guide you - that's something that'll really help you in the long run.

    After joining this place, I have learnt a lot more practically, hands-down-experience, than I ever would have. I have seen a real hacker at work, I have been part of a project developing a full-fledged NLP app. from scratch, I have worked on hardcore AI areas and I have met people. Not anybody and everybody, but people with real skills, people who have been there, and fellow hackers.

    You see, even I'm planning to do my research into AI, and this company has agreed to sponsor me at a good univ., be it in India or abroad. And plus, I have work experience which will help me. More than anything, I'm now motivated more than ever.

    "...Fear the people who fear your computer"
  • according to /., you should consider your local Catholic Church if you want to do anything with the internet...frightening.
  • At this stage, go for industrial experience --- we already have too many academics who have none or whose experience is severely out of date.

    Your industrial exposure will do you nothing but good. You will be exposed to a completely different environment where you can't just "do enough to pass". You will make new friends and you will learn a hell of a lot. In my experience, Universities are very boring places once the undergraduates go for the summer.

    After you graduate, with a couple of years experience, you may find many academic institutions delighted to have you work part-time, so it's not necessarily an "either or" choice. You can do both as I have done for a few years -- I do "real work" for money, and academic project supervision for kicks.

    Given the choice, I'd do something more academically oriented myself. Unfortunately, it pays very badly compared with industry and I like eating regularly, some level of warmth, and clothing without large holes in it (the last academic position I was offered would barely have covered my rent).

    Do what you want to do and what feels right. You are, I assume, young enough to make a few mistakes, change direction, and have a lot of fun in the process.

  • maybe going for a remote job? You could work from the Phillipines on projects for companies all over the world, USA, Brittain, Germany, Japan, I'm sure that with the programming language experience you have, it would not be that hard to arrange.
  • are you a racist or what? get a life.
  • Perhaps a contract programming job where you can telecommute? While it's maybe not exactly what you're looking for it could definitly be a learning experience.
  • by Anonymous Coward
    I live on a third world country (Brazil) and I think that event here(or on your case, there) you have changes to increase your potential. I going to my second year but I am working half day (4 hours) as a Security Analyst on my own city (That isn't a big one, too, just 2 millions of people live here). So, don't be shame of your country and if you don't find a good company to work on it, create it! And smalls companies can give you plenty of challenges too!
  • When I worked at Motorola in sunny Scottsdale, AZ our team transfered someone from a Motorola facility in the Philippines -- heck, her slot may still be open! In general, its not a bad company to work for. It seemed to be fairly easy for employees to move around internally (I never did), even if it meant relocating them. And there's always the chance of getting on really cool projects. However, it can also be rather annoying a big-company way: tons of bureaucracy, slow pace at times, corporate politics. Personally, I'm glad I worked there, but I'm much happier now at a small company.
  • especially visas if I'm going to do an internship abroad.

    Right, and like I said planning for an internship isn't the same as planning for work after graduation (although people do get hired at the place they interned at). The field is moving and changing so fast that a company may disappear, or a new one may appear, between now and graduation. Expectations change, so much in computer science changes so fast, that planning to do anything in 2.5 years is IMHO a waste of time; you're going to have to re-evaluate later anyway.

    I have to have enough time to correct whatever deficiencies I might have due to a weak computer science curriculum

    Don't worry, I learned more in my first 6 months of co-op work than in all 5 years of school. Do an internship if you're worried, you'll learn a lot.

    Besides, I like doing long-range plans - it gives my life direction, and I don't get too lost. =)

    It's good to plan, but in CS, things change real fast around you...;)

    Good luck!
  • 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 [hotjobs.com], Dice [dics.com], Monster [monster.com], all have options for foreigners to break into corporations via sponsorships.

    Speedygrl [speedygrl.com] 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 [antioffline.com]
  • Wow, someone in this thread who actually didn't think I was a money-grubbing, greedy foreign worker intent on stealing everyone's jobs! <impish grin>

    Goodness - if I were in it for the money, do you think I'd even _consider_ teaching? It's not exactly the best-paid profession. Besides.. I really want to do open-source, which also means I probably won't make B1G BUCK$ from some <ahem> proprietary products...

    I'm in computer science because I love working with computers and I want to make people's lives easier. I know a lot of people get into it because of all the hype and the money that could be made, but I've been into computers ever since I used my first Apple IIe (one of the first few things I could remember..), and I really love it. =)

  • <laugh> Sort of the same, except I started a little bit earlier - my sister was taking up Pascal but wouldn't teach me, so I took the liberty of going through the online help and all the books. I still do all the course work and the assignments, even those that I'm not supposed to do. It's pretty fun, and it's easier to help your classmates understand that way. I've also been taking some advanced classes (my CS department is _soooo_ nice! =) ), and although that usually means that I end up with the seniors and juniors, they haven't given me a hard time about being a bit advanced.

    If you don't get any interviews just because you're an hour and a half away, then I'm probably going to face a significant problem. =) I'm willing to relocate anywhere (as long as the living conditions are nice - no war-torn areas, please, I've had enough of chaos at home). That's also why I can consider schools anywhere on the world - last I checked, a few universities in Sweden and Australia were actively doing research in computer science education. It's far, and a completely different environment, but I think I should be able to adapt. =)

    Real-world experience is definitely necessary. Does working on open-source stuff count? I also help train other people around here - I even get to help some of the graduate students with C++ and Linux from time to time - so maybe that's a plus. What other things should I work on? =)

  • by syrupMatt (248267) on Friday December 29, 2000 @08:25AM (#539077) Homepage Journal
    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:).

  • The more things change, the more they stay the same.. ;)

    Hey, why am _I_ saying this? I'm 17 - shouldn't I just be thinking about fashion, what's going to happen tomorrow, what cool movies I should watch?

    Just my luck to be a geek. <impish grin>

    Okay, these are the assumptions I'm making about 2.5 years into the future:

    1. There will be programmers/<your favorite job title here>.
    2. There will be students taking up computer science.
    3. There will be professors teaching computer science.
    4. There will still be good and not-quite-as-good ways of programming, learning and teaching.
    5. .. and there are even better ways that haven't been discovered yet.

    Is valid, no?

  • ust be careful of what you do. The first job you take is generally what you will be doing for the rest of your career.

    Entirely untrue. If you let yourself be defined by the title assigned by your employer then, I suppose, this can happen. A job is a job and titles mean next to nothing except during the minute and a half that someone skims your resume. What can you do? Can you prove it? That is important.

    Take a few jobs. Work on different things. Work on things that interest you and some that don't. Stay somewhere long enough to learn what it's like to be an insider. Jump around when you need so you know what it's like to be on the outside. Build a large set of skills. Accept lower pay when changing areas if the field interests you. If the company is large enough, transfer internally to other areas. Work hard. Develop a good reputation. Admit when you screw up and then fix it. Stay in touch with colleagues.

    That's about all the advice I can give.

    - technik
  • A good way to build up a portfolio is to code lots of open source software. Most employers would be impressed if they could go to freshmeat.net and download something that you coded in your spare time. I dropped out of college about 8 years ago and finally finished up last year with no internships. It is very difficult to find a job with no experience, but not impossible. I showed my prospective employer some code that I wrote and answered a few technical questions correctly and found myself sitting in a nice cubicle two weeks later. If you dont end up doing an internship, beware, because you will need to cover up your lack of experience at first with BS. Good Luck!

  • And where do you think your ancestors came from ? Do you think they all came with a PhD ? Every human being deserves a chance.

    PY
  • Long live Archie Bunker!!

  • As someone with a MS in Computer Science, and who contemplated a Ph.D., my experience is that you cannot do relevant CS research without at least one foot in the private sector. The reason is that the value of the research rests on its real-world utility rather than its potential utility. CS research is littered with exotic UI paradigms, protocols, etc. which for various reasons (expense, marketing, not sufficiently better than the status quo) don't catch on as well as more mundane solutions.

    This tendency to overengineer exists both in the public and private sector, but in the private sector the need for sales keeps you honest. A lot of professors I know will moonlight in the private sector to test the relevancy of their theories.

    If your goal is (as it sounds) to maximize your value to society, it's hard to argue against education and research. (Education and research go hand-in-hand: each one improves your ability to do the other.) In education, you are guaranteed to improve at least some people's lives on a regular basis. These people, thanks to you, have an opportunity to improve the world in all the ways you are currently contemplating. Since you are in a third-world country, this is especially important since the limiting factor for future economic growth through technology is likely to be the number of skilled workers.

    In the private sector, you have a small chance to have a huge impact on society, but most of the time you will end up working on either mundane projects or change-the-world projects which usually never see the light of day (or do see the light of day but for various reasons go nowhere.)

    The private sector can make up for its apparent world-improvement shortcomings in one important way: money. The private sector is likely to pay far better than a university, and you can have just as powerful an effect on society through philanthropy as through educating people. What's more, donating money can be done all the time whereas choosing a career can be done far less frequently.
  • I'm trying to remember back to my college days. Does that come before or after the softmore year [slashdot.org]?
  • since I'll be graduating pretty soon - March 2003

    In Computer Science, 2.5 years is not 'pretty soon' - it's a long time!!! Think about the state of Comp Sci in mid-1998. A whole lot has changed since then, and more will change by March 2003. You need to wait until at least mid-2002 before planning anything, unless you are talking about doing internships or coops. That's unrelated to when you graduate (and an internship, while good for experience, will postpone your graduation date).
  • 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 [yahoo.com]

  • OK, this is completely off topic here but relevant to all of Slashdot. It seems to me there was a time not long ago (it couldnt have been because I've only been here around a year) That intelligent, or at least readable comments were the majority. Now I look at the comment totals, and most have less than 50% being moderated at 1 or higher. For this one, only 30 out of 120 comments were 1 or higher. 25 FUCKING PERCENT of posters had something to add to the discussion, the rest were lamers, trolls, goatse.cx linkers and guys saying "How about a Beowulf cluster of these?" It's ironic that today a story about the "average slashdotter" was put up when really (by these numbers) the average slashdotter is a 13 year old moron. I was hoping this site would always be interesting to geeks and boring to the scum of the internet, and we could always have intelligent discourse, but that just isn't the case anymore. Yes I know I don't have to read the dregs (and I don't) but just having it there irks me. Thank God for the Slashdot moderating system, 99% of other message board on the internet are unreadable.

    (Sideshow Bob voice): I'm aware of the irony of appearing on a 0 post in order to decry it, so don't bother pointing that out!
  • If so, why so many people come to USA and get a job? United States needs persons from others countries because americans aren't (good) enough to do it. And why a border line mean anything? We are all equal on the world, even on differents colors, religions and nationalities.
  • 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 [adtran.com] 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.


    --
  • 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
  • The exposure would definitely be great. I'm thinking that if I can involve myself more with open-source projects.. I'm working on a collaborative tool called Learnloop (http://www.learnloop.org [learnloop.org]) - I'm not the official maintainer, but we deployed it over here and I've been tweaking it a little.

    I guess it comes down to the difference between the cathedral and the bazaar, and each has lessons that I need to learn.

    I will probably need money, though.. <ruefully> if only to get myself to all the conferences and conventions I'd like to attend. I'm a simple person - I don't have expensive tastes, and as long as I've got a computer that can compile and test programs without choking on them (I work on a 300MHz laptop running Linux and Win98) - so I don't really need to make tons and tons of money. =)

  • 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)
  • Well, in life it's pretty soon. I'm sure you've noticed that - one day you're a sophomore, then suddenly you're graduating. Whoosh. Time flies. =)

    The reason why I have to prepare so early is because there are a lot of things that need to be arranged, especially visas if I'm going to do an internship abroad. In addition, I have to have enough time to correct whatever deficiencies I might have due to a weak computer science curriculum - we don't have as much math or industry experience as other schools might have, and I'd like to address whatever shortcomings that my education might have so that I'm at least at par with all the rest of you. |-)

    If I do decide to focus more on research, then I'll start by replicating some studies and surveys now - I've found some I can do this summer. Although my professors don't really do research in computer science education - our school focuses more on multimedia and networks - I've talked to some professors who might be willing to advise me, even if it's just for the conducting-research aspect. I'm also planning to take some psych and education courses to supplement my CS education, in order to gain more background in the field. I have to plan that now, because I need to take the prerequisites for the courses I want to take.

    Besides, I like doing long-range plans - it gives my life direction, and I don't get too lost. =)

  • Definitely, I'll need the contacts and the guidance of people who've been doing Real Programming in the Real World. I need to meet other hackers. (Not crackers, mind you.) And I'd love to work with people who are really good at computers. So, any recommendations? =)

    I'm working on some open-source projects - I've been playing around with LearnLoop [learnloop.org], which I've found to be pretty useful - and I hope to meet other geeks that way. =)

    I still wish I had fast, unlimited Net access, though.. I can't wait to get back to our dorm, which has fast (although limited) Net access.

    Anyway, is anyone here up for mentoring this highly-motivated sophomore who could use a lot of guidance? =)

  • That sounds pretty good.

    <laugh> So, any companies here that might want to help develop this undergraduate? It requires significant time/money investment, and I'd like to know how I can be useful enough. =)

    I think it should be possible to write neat, easy-to-understand, practical code. The Mythical Man Month said something about that. I need to be an 'expert programmer', though, so I'm working on developing myself to that level. Any ideas?

    I like reading other people's source code. It's tough when it's messy^H^H^H^H^Hover-optimized, but it's fun to piece together the statements and figure out what's going on.

  • With, umm, minimal bloodshed and confusion, and no national turmoil - my country has enough problems. Severely off-topic: kinda worried about the bombings around here...
  • Go for the internship. As someone who has worked in this industry for quite awhile experience is so important. Unless you get lucky that experience you will gain by doing an internship will help you immensly.
  • 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...

  • by slarson (148153) on Friday December 29, 2000 @08:29AM (#539099) Homepage
    "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
  • 'Course I can't just walk into a job and become a hotshot. Goodness. You guys have years of industry experience, you've figured out how to work in Real World Groups and according to the Real World Rules, and you've got plenty of domain knowledge. Fresh out of college, how could I hold a candle to that?

    So if I went into the industry, I'd like to start off small. Maintaining someone else's code - good code, so I get a feel of the coding standards and what good programming practices there are. Ideally a pair-programming thing, too, and mentorship. Doing little bits of code - the grunt work - so that the talented and experienced developers can spend their valuable time on something else.

    Then I'll graduate to working on bigger pieces of the puzzle. Maybe working on a different project. Finding or making something that will make life easier for everyone.

    After that, I can move on to training the next person in line.=)

    I've had to help other people with really ugly code, and I'm currently going over the source code for something without being able to talk to the developers. Lots of redundanct code and inconsistent spacing - my progress is slow, but I'm gradually understanding enough of the application to clean up the code a little. So I take pains to make my own code neat. (It helps me debug and do code reviews, too. =) )

    I know there's a tendency for fresh grads to overengineer stuff. I try to avoid kludges whenever possible - it just makes things harder to maintain. However, I do follow the principle of The Simplest Thing That Works - so I won't use fancy data structures when a simple array will do the job efficiently. ;) I don't have a compulsion to apply _everything_ I learned in class - just a need to keep learning something new. =)

    And I hate reinventing the wheel. I'm lazy - I always look for stuff I can reuse, perhaps modify a little to make it fit better. <impish grin> That's why open source software is so terrific. =) I've found a couple of tools, like a mailing list manager, an IRC proxy and an online collaborative environment, that our organization has found useful. They have maaaany more features than I would have the time to implement, and they fit our needs.

    I'll still be careful about the traps you mentioned. Anything else I should look out for?

  • They are very different situations.

    I've worked for many software companies, including Digital Equipment and Red Hat. In the research world, your work is part of a process moving toward a goal. In the business world, R&D are almost always treated as overhead, even when designing new product.

    In previous companies, I have met many programmers just out of college whose work productivity and priorities would have been much better if they had been placed in a situation where they did not get a paycheck unless the customer was satisified.

    If you want experience that will help with your career, I'd choose the internship at a company. However if you have ANY desire spend some time in a pure research environment (where money is granted, research is not overhead, etc), then do that internship first and later move on. Pure research roles do not appear very often in the business world.

    ---

    Keith Barrett (kgb)
    Red Hat HA Team

  • 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!
  • "That's right; my ancestors made this country what it is"

    Judging by what I saw of the Navajo's living conditions when I was driving around the four corners area, your ancestors aren't benefitting from "a stable country, with a great infrastructure, and the best place in the world for longterm investment" . You're a racist, short-sighted, small-minded, ignorant dickhead. You really don't understand "your country" do you? Some advice for you: get an education, then travel a bit.
  • I have been pondering your problem for the last few hours and I finally reached a conclusion:
    YOU DON'T HAVE TO WORRY!

    Look, this is what is going to happen:
    - Bush promised to spend more money in USA's army... for "defense" (yeah, right)
    - Bush wins the elections.
    - Bush spends more money in the army.
    - The army finds out they have nobody to defend from.
    - They army gets bored, they need action!
    - Bush decides to take over the world.
    - He begins with the third world.
    - Takes Philippines in one day (National Security reasons, of course)
    - Your country becomes the 51st star in the flag.
    - You become an American citizen.
    - So by the time you graduate you are ready to work anywhere you want in the USA.

    ISN'T THAT GREAT!!?

    You are welcome :)

  • For interships in the US shorter than 18 months, a long term temporary H1B visa is not needed at all.

    The relevant visa is the J1 Exchange Visitors visa which is much easier to obtain than a H1B and which can be valid for up to 18 months. It's an exchange program based on reciprocity, the US let Froggies in for internship and France let Yankees in on similar terms. It also works between US and Philippines for what matters to you.

    As it's an educationnal exchange program, in most countries, those programs are not directly handled by the US consular administration but by a local non-profit organization (for instance in France, the US Council) and the exact requirements to obtain this visa may vary from place to place.

    In addition to the reduced paperwork, the J1 visa has 2 nice side effects. You (and your employer) don't have to pay some social taxes (Social Security, Medicare, Disability, etc). Yet, you still have to pay the incomes taxes if you stay longer than 6 months. Also, if you're married, your spouse can accompany you with a J2 visa (or a J4 or Jwhatever, I can't remember). This visa is a very cool thing as it allows your spouse to do whatever (s)he wants in the US for the duration of your visa, without anymore paperwork, have a job, go to college, etc. It's equivalent to a short term Green Card.

  • American software companies look at two things in choosing new graduates: your grades and any internships you've done. Whether business or research internships are better depends on the company.
  • It goes the other way too. There are plenty of places that would rather hire a Ph.D.. It SHOULD simply come down to who can do the job and how much they're paid to do it but that's not always how it works out. Even saying that you would choose 4 years experience over a Ph.D. discounts everything related to how the person with 4 years experience and the Ph.D. could do the job. I doubt you meant it literally and it sounds like you're reasonable so you probably would care much more if they could do the job and their other qualities not listed on a resume.

    I totally agree that as long as he works hard, he'll be fine. Industry experience is very valuable but I would caution him to choose carefully for something that will benefit him in the future. Or at least something he's interested in. He will learn more than he could imagine in virtually any internship but if he can find something that will move him towards future goals that's an extra bonus.
  • I think it is possible to do both industry and research ( with a caveat or two ).

    Get a job with a company that will pay for your education and start doing an aggressive class schedule ( 2 classes a semester ). It will take you about twice as long to your masters, and you won't have much free time, but you will be completely submersed in software/computer science related stuff.

    Doing both will additionally give you both a good practical and theoretical understanding of our ( black? ) art. Working for The Man will teach you how to write sloppy and ill-managed code ( er, I mean, efficient and cost-effective code ;). Doing the school thing will teach you to write impractical and over-abstract code ( er, I mean, niche'd and deep code ;)

    In the end you should come out as a balanced and skilled programmer.

    Sozin
  • I'll try to be on the winning team of the ACM ICPC too - it's really hard, but we're working on it. <impish grin>

    The research component seems to be really important for graduate school, and I'll definitely need that for both the industry and the academe.

    I like Java, but I'll need to work on my C++ too - I'll need a lot more experience in it. I've been using Java more than C++ lately, and I don't really have much experience in developing Real Applications with C++..

  • I know, Microsoft is one of the companies that I'd really like to do an internship at - but I'm concerned that since I usually Java/PHP/Perl/Linux/whatever, I don't really have much experience in their (somewhat expensive) systems and tools... =) I'm willing to learn, though!

    But I'd really like an opportunity to work there. I've read much about their culture and environment, and they attract a lot of great people.

    I'm also looking for other companies with a vision and with that commitment to excellence. (Much as I sometimes don't want to admit it, Microsoft _does_ make pretty good products. I just don't like their heavy-handed marketing tactics sometimes.) Do you know of any other companies that might be able to use someone like me?

    Now how to make myself useful enough that companies would reach across the ocean...

  • I admire the work they're doing at the Microsoft research labs [microsoft.com], and I'm sure that some other companies also have that commitment to research. They actually work on things like programmer productivity - another area that I'm interested in.

    I'd like to do a lot of research in the future, but I want that research to always have a practical application for the industry. I'm interested in computer science education - finding better ways to help people learn how to program and develop great systems. I'm also interested in programmer productivity - how software developers can be more effective and productive. Can this be useful? What other options should I consider?

  • <laugh> No intentions of getting married any time soon, and possibly ever - it's hard enough to be a girl in computer science.

    Yes, Microsoft has a Philippines division, but if I recall correctly, it does mostly sales and marketing. I'd like to do programming and project management, which means I really need to go to Redmond or the other US or Beijing campuses (campi? ;) ).

    Our family isn't rich, and the plunging peso-dollar rate is definitely eating into my plans. Foreign workers generally aren't paid as much as US employees are (you probably know of the huge disparity - goodness!), which means it'll still be difficult. But I know I should be able to find a way. =)

    I have no intentions of ever finishing learning - or working, for that matter. In our college they encourage the faculty to do industry work every so often. Alternating between working and teaching looks like a good idea - what do you think?

  • ...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?


    --
  • Goodness. That was certainly strange. What do you think of that? On one hand, companies save on wages by hiring cheap foreign labor. On the other hand, people who lose their jobs because they've been replaced by cheap foreign labor. And said cheap foreign labor accepts the opportunity anyway, since it's much better than anything that they could get in their own country, but they're still exploited.

    <sigh> It's really messy. Will that happen to me when I finally get out into the workforce?

  • That's really it, I guess.. If I worked here in the Philippines on the outsourced projects that we get from other countries, I'll be working on something for the present instead of helping to shape the future. We're.. adapters, not innovators, and that bothers me. =) I want to help change the world.

    If I went into education, on the other hand, I could have a shot at improving the way that people learn and use computers, and maybe they'll make much more of a difference in their own ways. I won't ever be as famous as, say, Linus Torvalds or Bill Gates (<impish grin> might be a good thing), but I'll be contributing invisibly - backend stuff, like what I like to do when programming.

    Besides, the industry gets a heck of a lot of great people already. Someone's got to look out for the next generation of whiz kids. =)

  • Do you mind if I settle down in your living room for a while?

    Sure -- if you abide by the house rules and pay appropriate "taxes". No, you can't stop paying rent. What, do you think foreign workers all get free government housing or something ?

  • If he believes this, why doesn't he have the guts to give up his Phillipine citizenship and stick it out in the US on a full time basis? *That* is essentially what my ancestors did; they gave up their original citizenship to take a shot.

    I don't think you'll find any shortage of foreigners who are "unwilling" to give up their citizenship. Have you ever tried getting a tourist visa with a third world passport ??? Getting US citizenship is not on anyone's short-term agenda -- you need to hold a green card for five years before you can even apply.

  • The sands of time, for me...
    are running looooooooooooowwwwww.....

    excellent post, my friend ;)
  • I'm aware of that, and I've also been reading about US workers' rather hostile reactions to people on H1B visas. I'm concerned about the exploitation and discrimination that could occur, especially since most people still stereotype Asian females. That's why I'd like to get in touch with employees who had gone through much the same process and can tell me what the environment is really like.

    The opportunities are fantastic, although not absolutely terrific, as much hype would have me believe. I'm trying to find alternative ways to get the interaction with highly-skilled techies - open-source projects look promising - but I know that the industry experience would greatly help me. And besides, working abroad - in the US or in another country - will help me get closer to projects that might really make a difference, instead of just the repackaging-and-customizing operations that seem to characterize software development in the Philippines. I'd love to be proven wrong, though - I wish that a Philippine company could step forward and prove that it was really innovating and changing the way people use computers.

Any sufficiently advanced technology is indistinguishable from a rigged demo.

Working...