views:

146

answers:

4

I know the title seems incredibly vague, but I'm not even sure what to put there. I am about to enter the business world with a Masters in Computer Science. My strongest academic interests have been evolutionary computation, neural networks and soon computer vision. I was an ACM ICPC programming team member for as long as it was possible to be one (5 years), and loved most days of just solving unusual problems. And that's my issue.

I don't have any particular programming interests, but I enjoy working on and solving complex problems. For this reason, I don't know where to go, or what to search for when I'm entering keywords for careers that have openings.

For example, http://imo.im seems like yet another meebo clone, but when I went to see some of the technology that they're working on, "Echo suppression for Flash video conferencing" and some of their collaborative technologies, I'm suddenly interested. These problems seem intriguing.

My question is: How do I even search for somewhere to work in Stack Overflow's job collection, or ACM's, when my requirements for working there are 'computer problems that I'll be nerd sniped by, even in the shower'?

I understand the Stable Marriage Problem, and that I need to be the seeker rather than the one sought if I am to be in the optimal profession, but I don't know what to look for. Please help.

+4  A: 

With your interests you may have to dig manually through a huge pile of openings.

Idea 1. Look for IT companies that are known to innovate and find creative ways of solving old problems. Look at Google for example.

Idea 2. Search in technology/engineering companies that also work with hardware. There you may encounter unusual problems that needs to be solved with software and algorithms.

Idea 3. Use those programming languages and frameworks that are associated with research. For instance, with Java you will mostly come to routine and boring corporate jobs, but with C++ you have more chance to spot something interesting. C, Lisp, academic and functional languages could also fish you something interesting.

Developer Art
Java is not mostly used for "boring enterprise software."
Josh K
Hehehe, YES, Java is quite extensive in the libraries it provides. I was once able to get a signature pad to install on a system simply by visiting a page with a signed applet... AMAZING stuff. Other than that small point, very good answer!
Zoidberg
+3  A: 

You like to solve complex unusual problems... just one bit of advice. Stay away from the Rube Goldberg designs/solutions. As for career, get a typical dev job now to pay the bills, and get yourself into an open source project, or pursue your own ideas, and start your own thing, that's where I believe your abilities for problem solving would be most challenged. 99% of all technology employers are seeking developers to solve relatively simple problems in the easiest, simplest and above all, fastest way.

Zoidberg
+2  A: 

One option is to do a PHd and then go into research. However are you good at explaining things to large groups of people?

Ian Ringrose
If you manage to clearly explain the point of your research nobody will take you seriously. Many PhDs are about smoke in the eyes.
Developer Art
Sometimes an academic path is a rewarding one. Half teaching, half researching... sounds like an ideal position for this person, as long as they are fine with a LOT of student debt when they are done.
Zoidberg
@Developer, the problem is to get paid for doing pure research you have to also do teaching.
Ian Ringrose
+2  A: 

You might consider getting a Ph.D. in CS and going on to do teaching/research at a university. My brother-in-law, the smartest person I know, has exactly your desire for interesting/challenging problems, and couples that with little patience for the mundane problems you see at most tech companies, and that's what he did.

Not to say you can't find challenges at a garden-variety tech job, but in my experience the biggest challenges involve working around the limitations of a company's chosen libraries or testing protocols or source control systems. There is very little blue-sky, seat-of-the-pants flying to be done.

You might also consider trying to get in at Google, where you will be expected to come up with ideas on your own and spend 20% of your time pursuing them. Good luck.

Robusto
In the next few weeks, I intend to apply to Google (I want to have an appropriate cover-letter, and classes/other obligations are holding me back).I was on track to earn a Ph.D. but complications made that impossible. Now, I feel somewhat burnt out from school and don't want to go back to the university, for now (maybe later). That said, it definitely was a major interest of mine.
Travis