
Industry or Research Internship? 83
"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?"
Re:Third world countries (Score:1)
Re:You are not welcome ... (Score:1)
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)
Go for research (Score:2)
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. :)
Re:Industry (Score:1)
Re:research, ed interests: stick with university (Score:2)
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).
Re:research, ed interests: stick with university (Score:1)
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.
Re:slow down (Score:2)
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
Re:Real world learning (Score:2)
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.
Re:No need for an H1B with interships. J1 will do (Score:1)
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.
why get industry involved in your education (Score:2)
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!
Re:research, ed interests: stick with university (Score:1)
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.
Re:Real world learning (Score:1)
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.
Re:Real world learning (but choose carefully) (Score:1)
You are not alone (Score:1)
Re:Third world countries (Score:1)
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.
Phillipines (Score:1)
Re:Third world countries (Score:1)
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.
Need development (Score:1)
slow down (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.
Diversify (Score:1)
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.
Assistantships, working between grad and postgrad (Score:1)
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!
Undergraduate research program (Score:1)
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?
Follow your dreams in your spare time. (Score:1)
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.
Re:First Impression (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 [apache.org] projects, then you'll look rather apealling.
Easiest to get a position as a student (Score:4)
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
Do what you like to do best (Score:2)
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.
You are not welcome ... (Score:1)
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....
The industry is better.... (Score:1)
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"
well... (Score:1)
Do both? (Score:1)
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.
Have you considered... (Score:1)
Re:well... (Score:1)
Contract Programming? (Score:1)
Re:Not necessarily (Score:1)
Third world countries (Score:1)
Check out Motorola (Score:1)
Re:2.5 years is NOT 'pretty soon'! (Score:1)
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!
etc etc (Score:2)
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]
Re:You are not welcome ... (Score:1)
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. =)
Re:Some thoughts (Score:1)
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? =)
Be wary of sponsored H1B (Score:5)
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
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
Re:2.5 years is NOT 'pretty soon'! (Score:1)
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:
Is valid, no?
Re:First Impression (Score:1)
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
Re:You are not alone (Score:1)
Re:You are not welcome ... (Score:1)
PY
Re:You are not welcome ... (Score:1)
Do a little of both (Score:1)
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.
ah...a sophomore (Score:1)
2.5 years is NOT 'pretty soon'! (Score:1)
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).
Get someone in the UK sacked... (Score:2)
Sorry, no useful links, but you'll get the general idea here [yahoo.com]
What happened to my favourite website?! (Score:1)
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!
Re:You are not welcome ... (Score:1)
Might depend on the industry... (Score:2)
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].
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!
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.
--
Real world learning (Score:2)
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
Re:Do both? (Score:1)
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. =)
First Impression (Score:2)
----------
do { Work(); PayTaxes(); Eat(); Sleep(); } while (alive)
Re:2.5 years is NOT 'pretty soon'! (Score:1)
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. =)
Re:The industry is better.... (Score:1)
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? =)
Re:Do both! (Score:1)
<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.
Re:Answer to your problems. (Score:1)
internship (Score:1)
Research vs. corporate work (Score:2)
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...
research, ed interests: stick with university (Score:5)
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
Re:Industry (Score:1)
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?
Your choice depends on what you want (Score:1)
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
Advice from a recent grad: go industry first (Score:2)
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!
Re:You are not welcome ... (Score:1)
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.
Answer to your problems. (Score:1)
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
No need for an H1B with interships. J1 will do (Score:1)
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.
Internship and Grades (Score:1)
Re:Real world learning (but choose carefully) (Score:1)
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.
Do both! (Score:1)
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
In the end you should come out as a balanced and skilled programmer.
Sozin
Re:Go for research (Score:1)
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++..
Re:Advice from a recent grad: go industry first (Score:1)
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...
Re:Your choice depends on what you want (Score:1)
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?
Re:Advice from a recent grad: go industry first (Score:1)
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?
Go for the research... (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?
--
Re:Get someone in the UK sacked... (Score:1)
<sigh> It's really messy. Will that happen to me when I finally get out into the workforce?
Education, research and the industry (Score:1)
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. =)
Re:You are not welcome ... (Score:1)
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 ?
Re:You are not welcome ... (Score:1)
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.
Re:My last post (Score:1)
are running looooooooooooowwwwww.....
excellent post, my friend
Worried about exploitation and discrimination (Score:1)
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.