Slashdot Mirror


Cool, Science-y Masters Programs For Software Devs?

An anonymous reader writes "I'm an early-30s software engineer with 10 years of development experience, and a BA in computer science from a top university. I've been working for several years at a national lab in bioinformatics, but I'm starting to wonder what other interesting directions there are to go for people in my boat: computer science majors with software development experience. The goal would be to find a position that could leverage my development skills, but also include a strong research component, without the need for a Ph.D. (I would be happy to get a masters for the right job.) I'm actually getting some of those things in my current job, but I'm ready to move on to new or different areas of research. Possible fields that seem interesting so far: neuroscience, economics/sociology, and AI. I'm happy to work in a team in support of Ph.D.s, but would like an active part in the research end of things as well as the tool-making end."

26 of 150 comments (clear)

  1. Obvious answer... by DoofusOfDeath · · Score: 4, Informative

    Have you considered just going for a standard master's degree in chemistry, biology, etc.? You'll probably have to take 4-6 remedial courses, but that wouldn't be the end of the world unless you absolutely can't invest the time/money.

    If you really want to do a program that has one foot in Computer Science, maybe something like Brown's computational molecular biology program? It's PhD-oriented, but I'm sure they'd take your money in exchange for a master's degree.

    1. Re:Obvious answer... by KernelMuncher · · Score: 2, Insightful

      If you get in the right lab, you can be seen as a valuable member of the team. But yes, some PhD's do view MS level workers as only "technicians". Part of this belief is reinforced by the grant process. To get funding you have to submit grant proposals. Having a PhD by your name is necessary to be a Principal Investigator and bring in the $$.

  2. Computational Physics by diewlasing · · Score: 5, Interesting

    I'll cast my vote for computational physics. As a physics grad student myself, I find myself writing and reviewing code for simulations. And you don't need a phd to do this.

    If you get any sort of training in computational physics you could be invaluable. Computational physicists are in demand in almost all fields: nuclear, atomic (simulating system-bath interactions), high energy, biophysics (protein folding sims), astrophysics, etc.

    In my department, we have collaborated with the cs department in writing software for some of our sims.

    1. Re:Computational Physics by zeroRenegade · · Score: 5, Interesting

      I also came from a top computer science school, but I only worked for a year, before having it out with a new senior developer (who wanted me to hold his hand when it was not my job to train asshole senior developers). A professor happened to offer me a masters program the same week everything exploded at work. The happenstance of it was uncanny, so I took the opportunity without a second glance, and quit my job. My topic is hydrodynamics engineering. Numerical simulations for fluid dynamics is one of the most satisfying fields of research. It can be very graphically oriented, or purely math based. If I were you, I would email a few professors in fields that interest you. Find their email address es by combing over the faculty lists at schools that interest you, and check out their personal webpages, since they will list a lot of the research they are currently involved in. The other step is to check out major conferences like chi or siggraph (and some minor ones). Check out videos online, read some papers and presentations that interest you, and then contact the individuals involved.

  3. Re:Law School. by Tyler+Durden · · Score: 3, Insightful

    No offense, but I'm guessing that anybody with the same interests as the OP would find the topic of law wrist-slashingly dull.

    --
    Happy people make bad consumers.
  4. Applied math? by gotfork · · Score: 3, Interesting

    How is your math background? You could get a masters in applied math and then go on to do all sorts of things -- from working in any number of fields to doing further graduate work on things like fluid dynamics or solid state physics. I also like the computational physics suggestion (being a physics grad myself), but it might be hard to get into an interesting program right away depending on your background. Good luck!

  5. Re:Law School. by spiffmastercow · · Score: 2, Interesting

    Not necessarily... I bet writing an expert system for legal questions would be fascinating. Or hell, even just a legalese to English translator would be a non-trivial problem.

  6. Neuroscience by Pedrito · · Score: 3, Interesting

    In the past few years, I've become very interested in neuroscience and I've read and studied a great deal about it. Unfortunately, the local universities don't have a neuroscience specialty, so a PhD is out of the question unless I relocate.

    Computer science and neuroscience really go hand-in-hand these days. There's a great deal of research being done from the modeling of just ion channels to the modeling of entire cells, to the modeling of large-scale brain structures.

    My personal belief is that software, based on neuroscience principles, will become an important area of software development for writing intelligent systems. Systems that can effectively recognize voices, faces, or interpret language, etc, are natural targets. Imagine a stock picking system that reads news stories and factors in emotional content into its picks (after all, let's face it, since the internet made stock-trading more accessible, emotion plays much heavier into the market). Systems could be designed that could monitor financial transactions to find and identify novel types of fraud. In astronomy, because of the number and quality of images coming in, one could create systems that could intelligently view the volumes of images and identify and catalog new objects.

    Really, it's an area that's wide open to possibilities. But to understand how to properly piece together the types of artificial neural circuits to accomplish this kind of functionality, one would need a fairly good understanding of how the various circuits in a human brain connect and interact and how they are used to process information (we already understand a tremendous amount about this and we're learning more all the time). Really, neuroscience seems to me to be the new computer science. It's where some of the most amazing advances are being made in science today, in my opinion.

    But it is just my opinion and there are lots of other possibilities. I'm definitely enthusiastic about this..

  7. medical informatics by Daniel+Dvorkin · · Score: 2, Informative

    If you want to get away from the micro-scale side of biology but still use some of your skills and experience, you might consider getting into medical informatics. There's an enormous amount of R&D to be done in the areas of electronic medical records, automated order entry, clinical surveillance, drug interaction databases, etc. If you're interested in sociology and economics, data mining to determine the costs and benefits of health care is a big deal right now, for obvious reasons. If you want to go the AI route, then semi-automated diagnosis and "personalized medicine" are also very promising fields. And there's no shortage of degree programs if you want to get a Master's; a quick Google search on "medical informatics MS" turns up tons of results.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  8. You're already doing it. by mbkennel · · Score: 4, Insightful

    Get a MS in bioinformatics and instead of concentrating on the computer science which you'll find easy at the moment, learn all the relevant biology. And then go back to the national lab.

    Or, try physical oceanography/geophysics/atmospheric physics; there is substantial data analysis & software.

    But, think about your career path after your degree program.

    The problem is that you start to do all the real research after the masters, and everybody else is a PhD student/postdoc. And unless you want to get paid like a PhD student (unlikely since you're at a national lab and making much more $) it would be very hard for a research group to afford you. If they do have the money for a professional programmer (very few do these days) they'll want you to do the programming stuff that the grad students don't want to do (or don't have time/expertise). Even if you can program better than the grad students, you won't be appreciated in an individual research group because the essential purpose is scientific creation and the valued artifact is publishable scientific results, not an enduring software system.

    You wouldn't be valued for your scientific skills much unless you are on the science track which is PhD, and if you want to do science for real that's what you need.

    If you can get the job you could try to be a scientific programmer for the very large climate model codes on supercomputers which present substantial software problems beyond what a typical grad student or postdoc can accomplish on their own; that's a reasonable, though difficult career path. That's an application where the software itself is considered valuable enough to be worth maintaining professionally. Problem with this is that it is 100% dependent on Federal funding, and as it looks like Republicans are going to win the next elections and likely eviscerate climate research it may not be a large opportunity.

    Are you doing this for your own personal enjoyment or do you want to make scientific contributions (i.e. publish papers in journals and contribute to core ideas). If it's the 2nd there isn't any substitute for PhD.

    1. Re:You're already doing it. by zeroRenegade · · Score: 3, Interesting

      The problem is that you start to do all the real research after the masters, and everybody else is a PhD student/postdoc. And unless you want to get paid like a PhD student (unlikely since you're at a national lab and making much more $) it would be very hard for a research group to afford you. If they do have the money for a professional programmer (very few do these days) they'll want you to do the programming stuff that the grad students don't want to do (or don't have time/expertise). Even if you can program better than the grad students, you won't be appreciated in an individual research group because the essential purpose is scientific creation and the valued artifact is publishable scientific results, not an enduring software system.

      I've got to tastefully disagree. I am a professional programmer, I am on a masters track, I get paid like a PhD, and I do the research of a PhD. A PhD is simply part 2 of my research, if I choose to do it. If there are no universities in the USA that can afford you, then come to a Canadian University (University of Waterloo, University of Toronto, University of British Columbia) . There is lots of research money up here. We have produced as much research and development as any country in the world (satellite and radio communications, Canada Arm (NASA's robotic arm), lots of other rover technology, etc).

    2. Re:You're already doing it. by RandCraw · · Score: 4, Interesting

      Outstanding advice. I have a BS in bio and an MS in CS plus 20 years of experience, 80% in R&D (supercomputing/sci programming, DoD C^4I, AI). Presently, I do medical image analysis R&D in a giant pharma. My experience confirms mbkennel's advice. But I would avoid scientific programming. It's a support job that leads only to more of the same. You will likely work beneath postdocs and remain employed only as long as long as your current project remains funded.

      More generally, without a PhD you will never lead an R&D team. You will always be a subordinate. This is worst in pure sciences, in academia and at large east coast corporations, and probably best in engineering and at small startups.

      My recommendation: look at jobs in bioinformatics (or even comp. bio) that 'require' a MS. Talk to others who are working in such a role to learn whether they really are in a leadership position (and not just extolled the potential of one).

      Also: consider a MS in one of the engineerings -- EE, ME, Mat Sci, or Eng Sci. Then find work in industry. Licensed professional engineers are recognized by most for-profit employers as first string players and team leaders. The folks who lead engineering teams, no matter how large (like space shuttles or 787s), usually are pro engineers w/ MSs, and not PhDs. The exceptions are, again, east-coast giant corporations who are more afraid of failing than excited about winning.

      Finally, avoid a degree in the sciences unless it's a PhD + postdoc(s). There's a perpetual glut of PhD physicists (and soon, chemists & biologists). When competing for a science job, a MS in science will lose out to these folks every time (since the project manager will also have a PhD, and will see you as 'one of *them* and not 'one of *us*').

  9. Can't do research without PhD by evolvearth · · Score: 2, Informative

    With the flood of PhDs in the market, nobody is going to want you to do any actual research without a PhD. With a Master's you can be a glorified lab tech, database manager, programmer, whatever, but even if you're way more than qualified, they won't let you do any significant research without a PhD.

    Your best bet is to join a PhD program, deal with the significant decrease in income for five years, then get into the career you want. The more you wait and older you get, the harder it will be to take such action.

  10. Applied Mathematics by Bob_Geldof · · Score: 4, Informative

    Get a M.Sc. or Ph.D. in Applied Mathematics. There are plenty of schools that offer it and you might be surprised at how easy it is to be admitted to a program. Some even have an online masters program that makes it rather convenient to complete, like UW Seattle, where I got my M.Sc.

    I work at a research lab connected to a large research university and having the M.Sc. definitely helps in getting to work on more interesting projects. The advantage with not having the Ph.D. is there is less burden on you to go find funding. The trick is to become indispensable to a couple of primary investigators that do completely different things to help improve job security. Where I work it is possible for a person with a M.Sc. to become a PI, so eventually if I start coming up with my own ideas, I should be able to work something out and be in charge of my own projects.

    --
    887321 = 337*2633
  11. Work as an RA for a while? by Frequency+Domain · · Score: 3, Interesting

    Pick some university department that you think aligns with your interests. Get a job as a Research Assistant or Associate. Take as many courses you want in whatever you want, without regard for whether they make a degree, while you're supporting and being part of a strong research program. If your selected courses look like some existing degree, go talk with the department head to negotiate what would be needed to convert your work into a degree. If not, negotiate an "interdisciplinary" degree with the dean's office or just live comfortably with the course credits but no degree.

    You'll make less money than in industry, but that'll be offset to some extent by free tuition. Meanwhile, you'll have unlimited opportunity to explore while you "work in a team in support of Ph.D.s" and have plenty of opportunity to play "an active part in the research end of things as well as the tool-making end."

  12. Terminal Degree and Biostat's by logistic · · Score: 3, Informative

    In alot of scientific disciplines Master's degree's are consolation prizes for people who get part way through the PhD and realize they're in the wrong field. (eg a master's in biology basically qualifies you for a pay raise as a lab tech but not much else) You want to pick a discipline where master's degree in itself is a useful credential. Most fields of engineering, Master of Public Health, Medical informatics are examples. If you're willing to get a PhD there are a million fields where your skills will be rare and valuable (most chemist's neuroscientist;s etc are not coders but would build themselves better tools if they were, fish biology, oceonography you name it just about. )

    Look really hard at biostatistics. Pretty much all clinical medical research needs a biostatistician to be published but the Ph.D's don't get promoted checking the work of the clinical researchers and consulting for them. As a master's level statistician you could likely find work in a statistics "core" and get to help lots of different groups analyze their data at a given institution. It stay's pretty interesting because you don't get bogged down working for one group on the same project forever.

    Good luck!

  13. It depends by hoytak · · Score: 5, Interesting

    As a Ph.D. student in statistics with a masters in CS (mainly machine learning and AI), here's my few words of advice:

    First, some masters programs are aimed at research masters, and encourage you to incorporate a strong research component to your degree, and some are more "predictable" and classroom based with smaller, more defined projects. The master's program I did at UBC - - University of British Columbia -- was heavy on the research; we took 1 year of classes and then 1 year of research. They also have a strong machine learning and AI program, which I thought was very neat. If you pursue that direction, contact me directly and I'll give you the inside scoop. Other programs may have similar research tracks, but many don't.

    Second, it would really be the particular professors you end up working with that will shape your experience and how much you develop your software skills. You can learn about what a particular research group or working group is like from the websites of the professors involved and what sorts of paper and software they've published recently. I would highly encourage you to contact such professors before you apply to the university; the university admissions process is more about keeping bad people out than making sure the absolute best get in, so there's a lot of randomness in the admissions. Having a professor say "I'd like to work with this person, he'd be a big help to my research, can you let him in" usually means you get in unless the department doesn't think you could succeed. And, frankly, any professor would love to have a great coder on their team; many people without job experience can be bad coders.

    Finally, if you are math inclined, and want something that could vastly help you in the job market, I'd consider doing a statistics degree. Statistics is pretty ubiquitous -- machine learning, AI, etc. are really just sexy names for statistics (yes, there's some more algorithms thrown in the mix, but the underlying theory is all statistics), and it also comes up in pretty much every other field as well. If you go to a strong research university, it's likely that you'll have opportunity to do research in a ton of different fields; I'm now at the university of washington in the stats department, and half the professors are joint with another department like economics, sociology, biology (there's a strong biostats department too), etc. I joke that it's the degree program for indecisive people, since it doesn't really limit what field you end up studying in. (Of course, not all stats programs are like this, but UW is).

    --
    Does having a witty signature really indicate normality?
  14. my MIT classmates do software; none majored in it by peter303 · · Score: 3, Informative

    Most of the people I keep track of from school are doing some kind software now. Yet none of us majored in it. We have geology, biology, physics, electrical engineering and a literature degrees among us. Its a lot easier to pick up software competency after doing science, than vice-versa.

  15. Jeezus! by bferrell · · Score: 2, Funny

    another overgrown kid wanting to know what to do when/if he grows up!

  16. Cognitive Science by adamgolding · · Score: 2, Informative

    Since you're interested in Neuroscience and AI a masters in Cognitive Science is a relevant option. Every school's cogsci program is different,but they're all *very* flexible. Check out UCSD, Indiana, MIT, Carleton, Arizona, etc.

  17. Re:Law School. by Anonymous Coward · · Score: 4, Insightful

    There wasn't much memorization in law school (now studying for the bar is a different matter). I loved it because law is essentially programming. Both law & software provide a set of instructions that you are supposed to follow to get a result. In law, your processor may or may not follow the instructions, or may not even understand the instruction set that is being used, and moreover each processor's interpretation may affect (i.e. screw up) subsequent processors. In software, your processor does exactly what you told it to, whether you want it to or not. The end result of both is bugs, either leading to re-factoring, hacking, or wholesale replacement.

    Leaving aside ideological positions for the moment, Roe V. Wade is a good example. The legal framework from that case was an unworkable "trimester" framework that was subsequently replaced in Planned Parenthood v. Casey with the "point of viability" test, which arguably isn't much clearer (when exactly is the point of viability?) in programming, there really can't be any uncertainty because a processor can't handle it. In law, the entire game is "where to hide the uncertainty." In tort law, uncertainty hides behind the "reasonable person." Want to know what the standard of care is? It is what a reasonable person would do. It is a fascinating study in sociology & logic.

    Finally, as a programmer, it is relatively easy to understand. What a lot of your classmates and up struggling with will seem like a relatively trivial set of if-then statements compared to the nasty logic you had to sort through as a programmer. And if you are seeking to either exploit or overturn the existing IP framework, what better way than to understand it from the inside.

  18. You'd be surprised by Kupfernigk · · Score: 5, Interesting

    My family all seem to be engineers, computer scientists or lawyers. There really isn't that much difference whether you're checking available APIs and algorithms and using them to build software, checking technologies and codes and using them to design a building, or checking law and precedent to build an argument. They all involve abstract thought, concrete outcomes, and an ability to guess in advance how people will screw up, and try to mitigate it. Law pays more, engineering gives you greater variety of work, that's about it.

    --
    From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
  19. Re:Law School. by afabbro · · Score: 3, Funny

    Fully automated systems are discouraged.. But what if a big law firm wantted to analyze all previous decisions on a subjuct, then apply a statistical liklihood that a given judge will decide in your favor, based on the judge's previous judicial bias? It's not much different than trying to predict the stock market, really. Though it does add a few more variables.

    As we said: wrist-slashingly dull. Law is just excruciatingly boring to most people.

    --
    Advice: on VPS providers
  20. Operational simulations by spicifer · · Score: 2, Interesting

    Computational physics is indeed a very good choice. I'll go a step further and recommend any field where modelling is done in an operational setting, i.e. meteorology (weather, tornadoes, ...), aerosol physics (volcano ash!), oceanography, etc.

    Often the difference between developing simulations just for research purposes and developing them in an operational environment is code quality. Mission critical code must be more rigorously developed, which means that there is more opportunity for CS majors to apply their software engineering skills to practice. Also funding for operational work tends to be more stable than research grants, since there are more immediate benefits to society.

    There are, however, also opportunities to do research. I have a MSc in computational physics and in the few years I've worked with operational model development I've continuously had opportunities to participate in research papers. The PhD's I've worked with always seem appreciate my contributions, I have plenty of work to keep me busy and I learn exciting new stuff about nature every day.

  21. Re: my MIT classmates do software; none majored in by LandruBek · · Score: 4, Insightful
    • Since none of you majored in CS, how do you know the "vice versa" part?
    • CS isn't just about software development. (Admittedly, a BSCS mostly is.)
    • I've seen what non-CS people call software "competency" and I think we might disagree on what that term means.

    (Sorry if this sounds a little bit gruff.)

    --
    $META_SIG_JOKE
  22. Masters Vs PhS by Anonymous Coward · · Score: 2, Informative

    As a professor and (obviously) former grad student, I have some advice about your choice of Masters vs. PhD. The above posters have made good comments about the advantages of each, but there is one more thing to consider when you are applying for graduate programs - many universities simply are not interested in taking on anyone who intends to stop at the Masters level. To be honest, most grad students don't become useful until they have been in the program for a couple of years and have learned the ropes. Plus, the first couple of years of any grad program will contain more coursework (and therefore less research time) than the latter years. In other words, a PhD student who is there 4 years is worth more than 2 MS students who are there 2 years each. Therefore in a down economy when student applications are up, anyone who announces their intention to stop at a Master's degree is automatically put into the reject pile. My advice is that if after considering your options, you still think a Master's is what you want, go ahead and state on your application that you want a PhD. In many programs, the first two years of PhD. work are almost identical to the Master's work so it will not affect your studies. Once you are admitted to the program, you can always "change your mind" and decide to stop at a Master's. Or, who knows, maybe you really will change your mind and get the Doctorate for real.