views:

154

answers:

6

I am a former business student who secretly wishes he was an engineering student. I work developing client/server software using C#, VisualStudio, and SQL Server. Recently I went back to school to work on my MS in CS.

More and more I find the "How does it work" question to be of much more interest than the "How do I use it" question. For instance, I'm much more interested in how a hash table works than how to design reports in SSRS or how to debug MSMQ. Much more interested in the science than the application of the science.

As I see it, there is a broad spectrum of those working directly on what I'd consider computer science, those who simply apply its principles, and those in-between. Slowly I'm moving more and more away from the simple application and more toward the hard science and math behind it. What would be other reasonable steps for moving in this direction? Should I become involved in an open source project? Should I become more involved in websites like this? Any advice would be appreciated.

+1  A: 

From what you say, I think I'd suggest becoming a researcher in the field of computer science, designing new data structures or figuring out how to build new systems. My question would be whether the school where you are pursuing your MS covers this kind of work, and if not to find one that does.

JB King
A: 

Your answer is in your question: "More and more I find the "How does it work" question to be of much more interest than the "How do I use it" question"

If you are genuinely interested in your work, you will do better at it - right? If that is the case, you will move up the ladder more quickly and burn out more slowly. That's ultimately more important than which specific route will generally yield better results.

Now, philosophy aside, the first thing that we do when we get a promising application is to see what sort of internet presence they have. Contributing to OS projects and websites like this will DEFINITELY make a difference.

Shane C. Mason
A: 

Another option (aside from research at university) is some research-heavy outfit (as an example, a friend of mine got PhD in CS and now works for IBM, doing R&D).

I must buck the trend and state that open source project is totally unrelated to what you seem to aim at, unless it is either a project whose objective somehow involves pure CS, or a project complicated enough that you can do a decent work of R&D on (Firefox or Linux kernel or some OS database server come to mind).

DVK
I do feel pretty comfortable with databases, that's a very interesting option. So something like postgreSQL or MySQL?
L. Moser
And by the way, the PhD route has been in the back of my head. This of course gets loads of criticism and laughs at my current employer because it isn't "practical" enough.
L. Moser
A: 

As others have said, if your interests are purely focused on "how does it work" then the research or academic fields are your best fit.' That said, a good developer isn't totally focused on the "how do I use it" aspect; a good developer will always seek to understand how systems work before making use of them. Of course you won't go to the depth of detail that you would if you were doing pure research.

My 2-cents is that you should look for a position as an R&D developer (R&D software-engineer might be less redundant) or in an architecture role. In either case you'll find yourself needing to understand lower-level details of the systems you're building and less busy-work development.

STW
A: 

Those are all good answers. I don't know if you need to switch schools, but make sure you find a professor/advisor that is in sync with your interests. (It shouldn't be that hard at most universities.)

Should I become involved in an open source project?

Sure, there are a whole range of them-- some academic, some more practical.

Also look at ACM/IEEE professional societies, and what projects your (new) colleagues are involved in (ask your professors). They are different than the open source projects that people in the industry are contributing to.

Should I become more involved in websites like this?

Although there are a few academic questions here, this doesn't really seem like a great fit for what you are looking for. Instead, attend academic-oriented conferences and read the journals, as they will have more of what you are interested in.

ndp
A: 

So you are not an enterprise application developer, but more a computer scientist, there are a lot of fields in informatic which require good math background, this seems to be what you search. Some of these fields are image processing, IA, data mining, physics simulation. Each of these fields have subbranches (data mining is a branch of IA, IA + image processing = image recognition etc...)

Nicolas Dorier