This isn't particularly a question about chemistry itself, but more-so the prospect of chemistry.

What kind of opportunities arise when you overlap chemistry and computer science? I'm a computer science major, but prior to going to university I had (and still have) a deep passion for chemistry. My highest marks were always in chemistry, but I decided to go down the compsci route because likewise it is a passion of mine. An opportunity has presented itself to double major in compsci and chemistry and I'm curious to know whether it's worth it.

My knowledge of chemistry is fairly barebones (a limitation of highschool education), but as I said, it was my strongest subject and for some reason it just clicks with me. I'd often spent sleepless nights perusing chemistry textbooks and online periodicals because it fascinates me to no end.

I'm not looking for greater job prospects (I already work in both compsci as a programmer and chemistry in an electronic cigarette company), I'm more-so looking for a more fulfilling pursuit of knowledge. While irrelevant, my university recently opened a new building dedicated primarily to chemistry, so facilities are recent and faculty is adept and education is modern. I'd very much like to take advantage of the opportunity, but I'm just unsure if a university-level chemistry program will scratch that itch for me.

  • 4
    $\begingroup$ Chemistry job marker is shrinking. It is saturated with chemists. Companies merge, hence massive lay offs and hiring freezes. A lot of chemists (me included) flipped to software development. There are a lot of devs with background in chemistry. $\endgroup$ – Stepan Jan 20 '18 at 20:41
  • 1
    $\begingroup$ Try to get a phone in chemistry related field. You wouldn't pass grep filter because there are no jobs. $\endgroup$ – Stepan Jan 20 '18 at 20:52

Have a look at list of computational chemistry software. It gives you overview, how the computers are used in chemistry. Many of them fall more into the chemical physics field, some into the chemoinformatics, to name just few. So definitely there are lot of places to contribute to use of computers in chemistry. If you are able to mix the software engineering and the science itself in a good way, possibilities are immense.

As for the last question - almost whatever field of chemistry you choose, you can contribute to the programs used within it. There is no such thing like completed scientific code. And university level is a necessary prerequisite to do reasonable science. Just concentrate on the models and mathematics behind the scenes and everything will follow.

| improve this answer | |
  • $\begingroup$ (1) Gaussian (2) ChemOffice/ChemSketch (3) Scifinder. Not much. And there are millions of chemists competing for positions in these companies. $\endgroup$ – Stepan Feb 3 '18 at 22:50

I'm late to the party and everyone else here has suggested how computer science experience can contribue to chemistry. I'm going to do a bit of that, but also point out how chemistry experience could potentially contribute to some (very select) CS opportunities.

I find myself in a similar position to you. I recently declared a double major in Chemistry and Applied Math-Comp.Sci emphasis because I enjoyed both subjects. I was initially planning to double in pure Comp. Sci., but our CS department is full of horrible lecturers and the math is full of amazing lecturers so I kinda got shoehorned into the other.

Computational chemistry is one of many fields in which CS and chem will overlap these days. It's not obvious, but there are many, many others, as people who are good with computers and science are rarer than they should be. Many labs, even those that are not computational in nature, rely on some basic modeling. I currently do some work with a nanoparticles group, and the PI was recently complaining that most of his grad students couldn't program anything to save their lives.

Failing that, our field could always use some good software devs. Perhaps I'm a little spoiled, but some our so-called "cutting edge" software suites have to be partially recomplied every time they are launched and suffer from spontaneously having communications modules crash, necessitating reboots of several computers in order to get things up and running again. It's pretty obvious to me that a lot of the stuff was designed by a software developer and not by a practicing scientist--such as the million button presses needed to load data and work with it, and the general recalcitrance of such software to spit out various data types.

If you don't want to work on that problem, we're still struggling with the issue of how to share code and models/data. Everything is moving to computers, and research is no exception. Researchers are still trying to figure out how to share files easily, store them, and publish them (more than one study has gone to press as a letter without any of the code attached to it).

Ultimately, I don't know what you want. Based off your last few paragraphs, this probably isn't what you were looking for, but since you opened with a question about the overlap between two fields, and not how one could contribute to the other, I'm leaving these here as ideas about how several fields can potentially interact.

P.S. For an interesting example, Philip Guo's PhD thesis revolved around the question of how the same code could give the same results when run on different systems, in spite of different environments. The question led him to create a tool (I believe Python) which allows simulations to run in a safely sandboxed (and thus identical) environement without loss of performance. http://www.pgbovine.net/PhD-memoir.htm

| improve this answer | |
  • $\begingroup$ +1 for "very select" aka "there are opportunities, but those are rare" $\endgroup$ – Stepan Jan 21 '18 at 18:15

Computational chemistry is a huge field. The 2013 Nobel Prize in chemistry was awarded to researchers who laid the foundations for modern computational chemistry to advance forward, and is essentially a commentary by the Chemistry Nobel Prize committee on the importance of computational chemistry. Computer models are particularly critical for developing an understanding of systems that are hard (or impossible) to access experimentally.

This essentially involves creating mathematical models for how molecules and atoms behave, writing programs to solve them, and running them on (usually massive) computers. Molecular dynamics is a common activity, and involves simulating a handful of molecules that follow a handful of rules (how do they collide, how do they spin, how do they attract or repel one another, etc.). The more computing power you have, the more molecules you can simulate, and so the better your extrapolations to larger scales are. Simulations that are run on supercomputers can provide a direct link between the microscopic (molecules) and the macroscopic (fluid properties, like viscosity or conductivity). Writing programs that will run (and run efficiently) on supercomputers involves a lot of moving parts, most of which are pure computer science.

If you have a computer science background and you enter a chemistry degree program, or go to work at a chemical company where you're working with chemists, you'll have an edge because of your computational skills, and will have the intuition to think about problems in a computational way - the value of which can't be overstated. As mentioned above, computer models are used often in chemistry, so programming fluency is important. On the other hand, you'll have plenty of catching up to do on the math and physics, which is a different kind of intuition you may not have that others will.

National laboratories and universities do a significant amount of computational chemistry work, less so in industry R&D (caused by, among other reasons, lack of access to enough computing resources and difficulty of obtaining immediately applicable results). Pharmaceutical companies are the 800 pound gorillas of industrial computational chemistry. If you're looking for work in industry, though, consider chemical engineering. Chemical engineering is another huge field with an equally huge number of opportunities (read: low-hanging fruit) for someone with a computational bent.

| improve this answer | |

In short:

  • quantum chemistry, if you like academic chemistry,
  • chemoinformatics /bioinformatics, if you like more industrial chemistry, pharma,
  • simulations in nanotechnology, if you do not afraid of a little physics, and like interdisciplinar fields

In long: Quantum chemistry / molecular simulations is nice and interesting, but there are two main possible cons (depending on your taste):

  • QC is generally very academy oriented. Though it is used in industry, too, QC people are generally stick to academia or small scientific software companies. Just google job advertisements to have a rough idea, before you make any big decision.
  • You may fell be late from the party. QC has many-many implementations, most of them is in ancient FORTRAN dialects. There are even more unimplemented algorithms, however you may find difficult to start a completely new project from scratch, and you may find painful spagetthicoding in FORTRAN if you join others.

You should note that in that respect molecular simulation people (molecular mechanics, MM based MD etc) are very similar to quantum chemistry folks.

Chemoinformatics is a different field, and it generally requires different kind of math (much more machine learning / statistics oriented):

  • Chemoinformatics is much less popular in academia, and the academic community is much smaller, on the other hand much more popular in industry. If you look for "computational chemistry" jobs, bigger part of the advertisements will be some flavour of chemoinfo.
  • Generally it requires large (reliable) databases which can limit your research to certain fields. However, there are some innovative use of cheminfo, e.g. done by Grzybowski group at Notheastern digitalizing chemical synthetic databases.
  • The field has an almost incestous relationship with pharma, so if it not your main interest, you may find most topics boring.

Combined fields: there is always interesting blends of theory and calculation (and experiment), see e.g. the work of Christofer Wilmer about design of MOFs.

Simulations for nanotechnology should be similar to quantumchemistry, however it is an emerging field with slightly different culture, much less established codebases and much more diversity of theories. It is often a field where Physicists, Engineers and Chemists collide. It also mean you should have a better idea about what you do. It is essentially the Wild West. In my experience, nanotech experimental groups are also much more willing to collaborate with computational / theoretical people than classical chemists and they have much more intimate relationship with machines and quantitative data than e.g. organic chemists.

One word of caution, though: Scientific computational guys are smart and everything in many ways, but the majority of them are HORRIBLE programmers. By horrible programmers I mean people who never heard about version control, do not test their code properly, and willing to write totally undocumented, unreadable code in languages that most programmer have goosebumps. It is a field where even visualisation software are written in FORTRAN. This can be a huge pro or a huge con, depending on your situation.

| improve this answer | |

Do study Python (faster to learn) or Java (better paid) if you are a chemist. Do NOT study chemistry if you are a dev.

Universities pump tones of chemists to the job market. Same rate as in 1960s. But there are no jobs because in 1960s you need a lot of chemists to run a factory. Now, thanks to automation, you just need one.

Before every province in Europe would have a factory producing chemicals. Europe moved out dirty production processes to India/China because of strict environmental laws in Europe.

If you study chemistry now - change your major. Srsly.

| improve this answer | |
  • 1
    $\begingroup$ Well, I think you didn't read whole question and it isn't exactly answering it. $\endgroup$ – Mithoron Jan 20 '18 at 21:09
  • 1
    $\begingroup$ I actually agree with this answer and don't think it's an off-topic. This might sound sad, but this is true and also partially addresses the question IMO. $\endgroup$ – andselisk Jan 20 '18 at 21:19
  • $\begingroup$ @Mithoron I did. It is pointless to learn chemistry for a software dev because it takes 10 years (chemistry labs included) to become good in it. If you do so you find yourself competing with a lot of devs with background in chemistry. Chemistry is like archery nowadays. Adds no value to your dev resume. Sad, but true. $\endgroup$ – Stepan Jan 21 '18 at 18:45
  • $\begingroup$ Well, OP said "I'm not looking for greater job prospects" and that's about the prospects... $\endgroup$ – Mithoron Jan 21 '18 at 18:51
  • $\begingroup$ If we ignore "greater job perspectives" point of view then the question is "primarily opinion based" and is much like "I am a cook - should I study astronomy? This is for fun, not career related". Well, why not? But after studying it for years (which you have to do in a University with a lab - thus spend time and money) you end up with zero gain in value. And say "why no one told me that chemistry is useless nowadays??" If time and money are unlimited, then, sure, go ahead and study whatever. $\endgroup$ – Stepan Feb 3 '18 at 22:47

Gordon Moore got his PhD in chemistry. The overlap is actually in making the boards and the electronics. What materials and what properties something has and why you would use it in a computer.

| improve this answer | |
  • 5
    $\begingroup$ I'd argue that this isn't really computer science--the actual laying of silicon is usually studied in disciplines like electrical engineering. $\endgroup$ – chipbuster Oct 27 '15 at 5:33
  • $\begingroup$ Software and material science are fully decoupled in electronics. Chemist needs to know how what is a field-effect transistor and how to measure conductivity. His insight in programming doesn't give him any benefits because this transistor works the same way for all programming languages. Likewise, coder can't care less about hardware part. $\endgroup$ – Stepan Jan 21 '18 at 18:10

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