musings on music and life

September 7, 2017

Should chemists learn to code?

Filed under: Chemistry, Chemistry Jobs, Coding, education — sankirnam @ 9:25 am

I recently posted this comment on a post in Chemjobber earlier this week, so here it is. This is in response to the question in the title.

My two cents:

It’s not just that “chemistry majors should learn to code”; I feel that all college graduates today should learn to code. Programming is becoming a fundamental type of literacy these days. Just like how all college graduates should be fully literate in English and have some exposure to mathematics (e.g. calculus), all graduates should also have some experience with coding or programming.

As to how to incorporate programming into a typical undergraduate chemistry curriculum – I’m not entirely sure. Like a lot of people here, I took a required course as an undergrad on Matlab programming, after which I promptly forgot everything, since we never used it again. My PhD work in synthetic organic chemistry also involved zero programming, and other organic chemists here will probably also have similar experiences. In organic chemistry, programming is one of those things that is nice to know, but not at all necessary for success, and may even be viewed as somewhat of a distraction – is knowing how to program in Java going to get you better separations in your columns? Not really.

Everything I know about programming came AFTER I finished my PhD – I self-taught programming with online courses, starting with Codecademy, and after I felt I had reached a decent level of competency, I enrolled in a “Data Science” bootcamp last year. Everything I learned was completely orthogonal to chemistry; there’s little overlap between training and running a machine learning model using Python/scikit-learn and being able to do asymmetric oxidations at -78 C. 

If you’re doing computational chemistry, then sure, knowing fundamental programming and CS is incredibly important. In experimental synthetic chemistry…I’m not so sure. My academic experiences have proved that programming has limited utility in chemistry. I think it’s time for this part of chemistry to catch up to the modern age as well. Like Anon 3:15 PM says, if you can type print(‘Hello World!’) into a Python interpreter, then congratulations – you know more programming than 99% of organic chemists. But you also know less programming than 100% of professional developers.


Blog at