Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I worked with an M.N.C developing web applications in Java/J2EE related technologies(includes JSF,struts,hibernate etc.) now I quit my job to pursue Graduate Studies in the U.S.A. So I am a student in the middle of my Graduate studies. I had enough of developing mere CRUD applications in J2EE now I want to work in something exciting. The problem is I can't say what exactly but I can give you an examples.

Say developing new JDK libraries or writing a kernel for some O.S. or something like that.

So I have five questions here.

  1. Is it true that people in R & D often use C++ because of higher performance in that case should I consider switching my platform to C/C++?
  2. How should I use my time I have one year to graduate to prepare myself for Jobs Interviews for such positions? (e.g. Reading books on Algorithms etc.)
  3. How do I know about these jobs and how do I apply to those Jobs?
  4. Is it the right time for me to think about Jobs?
  5. Am I over ambitious because I am not in a Ivy League, just a normal school? (My GPA is not so high unfortunately).
share|improve this question

put on hold as off-topic by durron597, gnat, MichaelT, GlenH7, Snowman yesterday

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, gnat, MichaelT, GlenH7, Snowman
If this question can be reworded to fit the rules in the help center, please edit the question.

Many many problems with this question - First, there are four questions instead of one. This will break the voting system since individual answers would be required to each of the four questions. Second - "What should I do to prepare for jobs I might possibly find interesting?" is not a question that can be answered subjectively in a useful manner for the community. –  Bork Blatt Jun 24 '11 at 12:45
Smart people in R&D use the right tool for the job. –  Blrfl Jun 24 '11 at 14:08

2 Answers 2

  • R&D can use many many languages and tools. I have seen programs written in Python, Perl, Matlab, R, Java, Haskell, Fortran, Lisp, C, C++, and many more
  • If you are raring to go out in the open and make a place for yourself, adopt a FOSS project that is not doing well at all. Start with refactoring it, upgrade it, add more features to it, make its architecture scale reasonably well into the future, etc. Before you realise, the year could be long gone
  • Depends on where you are. If you are actively looking for such a work, you might already know someone who works at such a place. If you have a name for yourself, you might need to be selective about which company you want to talk with. Every place in between these two is a bit of both
  • If getting a job is a worthy goal in your life, you got your eyes right on the prize, don't take them off, you could veer off
  • Everybody has ambitions, but many stop chasing after a while because it feels as if we are kidding ourselves.

The authors who write new libraries, or OS kernels, as you say, have, in all the cases, understood the need to write such things and have mastered the craft of writing such things along the way, one step at a time. Every program I could think of has such a real need behind its existence and authors who have seen the need.

If you, for any reason, go to a CRUD job, try automating the most simple and mundane tasks there. Take the automation to higher levels one level at a time. Many fine programmers do it. Besides giving a kind of pleasure in doing it, automation means the machine is doing the job for you, thus, giving you your time back. Two birds in one stone.

share|improve this answer
+1 for "Everybody has ambitions, but many stop chasing after a while because it feels as if we are kidding ourselves." –  B. VB. Jun 24 '11 at 13:49

Well, basically the programming world is divided more or less into two categories:

  • Applications Development
  • Systems Development

The first kind of software is more or less always CRUD.

In your case you should aim to get a job in a company that produces the second kind of software. These kind of jobs are a bit harder to get but they're worth the trouble.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.