| To start with I have started to doubt if at all it is possible to have a career of a software developer/C.S. researcher without any glass ceiling. Here is my case:
1: I am 22 years and 3 weeks old 2: I am doing Masters at top 7 school in C.S. (and by the time I graduate I would still be 22 years and 11 months old) 3: Even though I am interested in C.S. research, I am scared of doing Ph.D., if I dont get into top few universities. 4: I did my undergraduation in a hard engineering subject in a foreign country. (i.e. I am Fresh of the Boat Alien) 5: I am really good at C.S.,I have authored few papers in a reputed international journal (About application on machine learning in my undergrad field) + presented a poster in well attended C.S. conference, while getting an NSF fellowship for the same. Plus currently I have a cool internship at a billion $ market-cap Company, where I get to work on Hadoop and stuff. Now here is my problem:
I love solving problems, unlike people who got interested in programming by making websites, I got amazed by its ability to solve problems by computation. Hence I dont want a job which involves significant amount of (for lack of appropriate term) enterprise fizz-buzz programming.
I would love to become an Analyst in company like McKinsey or Bains or BCG etc. Though such jobs are extremely hard to get
My beloved other option is to join any of Google, Facebook, Twitter, LinkedIn, Microsoft. These again hard if not harder than above ones. This leaves me with three fail-safe options:
1: Join a startup (I dont mind low salary, since my major objective is to pay back my loan + I am low maintainance person), however startup rarely take student on F1 [yet I can work in US for 29 moth post graduation without H1B] 2: Join a PhD Course after a year of job or right after the degree. 3: Work on Application development job for three years and then try applying for an MBA. My Final Aim is to get an MBA from a really good university.
This is in turn because over course of a year I have realized that except for the top 10 tech companies it is very hard to grow as an engineer/developer. I totally resent the comparison with the whole IT guy, which I routinely get in my current workplace, where I am doing far important and useful things. Lastly I would love to get a Quant Job, however entry level jobs in Algorithmic Trading, even for developers seems to be missing. And all I can find are jobs that require an experience of 5 years in Java. Please help me...
Thanks |
1. Your age is irrelevant.
2. Working at a management consulting company as an analyst is almost the definition of enterprise fizz-buzz programming. I haven't met any real hacker who works at those companies, and on the contrary I know quite a few who resent their IT jobs at such companies.
3. Quant jobs are also mostly dull, although if you get in a good place at a higher level, you might work on interesting stuff. If you're on the systems side of things, then high-frequency trading places have interesting work on optimizing execution times. However, the high pay at quant jobs is like cocaine -- you'll find it very hard to quit, even if you see more interesting jobs.
4. If you actually want to be a technical person solving problems for more than just the next couple of years, there's no need for an MBA these days unless you're NOT at a top-tier technical place. The better places like Google, Facebook, etc. will let you get very high up the corporate ladder without an MBA, and not having one somewhat innoculates against being pushed into more management-y roles.
5. It's hard to judge what your abilities actually are. You didn't mention anything about programming projects you've done (COMPLETED), which is one of the biggest pieces of evidence that you are good and capable at hacking. On the other hand you do mention accepted research papers at a good venue -- if the journal is actually good, then this will be an ENORMOUS help in your getting into a PhD program. A quick recap, in case you're unfamiliar about what matters for PhD admissions:
* Evidence of research ability. This is basically the only thing the top schools care about. The way they judge this is:
In summary, you have a very good shot at getting into a good PhD program, if you're accurately self-assessing your publications/school reputation. Also, it's much easier to get into a PhD program straight from undergrad since your recommenders will remember you best, and often working for even a year really dulls your desire to go "back to school".While theoretically PhDs are internships for becoming a professor, in practice less that 50% continue on to academia in CS, so you shouldn't view it as a negative even if you eventually want to go to industry. A PhD will open doors to top research labs like Microsoft/Adobe/Google/Mitsubishi Research, where you'd get to work on cool, tough problems. Getting a PhD at a top place also requires many of the same skills needed for startups -- self-motivation, getting stuff done, working your ass off, being able to present your work well and "sell it", being effective at choosing the right problems to solve, solving them, and being able to communicate your results, etc.
On the other hand, it is a large time-commitment -- at least 4 years and perhaps 5-6 -- and your experience is largely determined by the quality of your advisor -- both technically and at a personal level how well you get along with him/her.
6. Your visa issue shouldn't matter much for big companies, as they all routinely help their employees get better visas and some even start them on the green card process. However, for startups, this could be a problem, depending on how much risk you can handle. 29 months is not necessarily going to be enough, and I don't know how easy it is to get a visa upgrade while at one.
Reply to this comment if you need further clarification or have more questions.