Tuesday, August 23, 2016

Advice to computational postdocs: apply to math and CS jobs

If you are a computational neuroscientist, and would like to teach, consider marketing yourself not only to neuro and psych departments, but to math and computer science as well.

Why? Because I'm looking at our place, and how we totally struggle to get good candidates in both computer science and applied math. I guess the cynical way to put it is that both fields are so incredibly useful these days that any person who is skillful in them, and who can also teach (which implies good management and interpersonal skills), can probably find jobs in the industry with much higher salaries. And with similar levels of enjoyment. Either way, the fact seems to be that applied math and computer science are understaffed, despite the high demand from the students. During job searches, for each decent job application we get in computer science, we get 10 applications in psychology, even when the research topics are actually quite comparable.

In practice it means that a good postdoc or grad student in computational neuroscience can at least triple their chances of landing a great TT job if they create two more sets of application documents: one tailored for applied math jobs, and another - for computer science. And while it may seem scary, it's actually pretty easy to do.

Let's give it a close look. In a SLAC, faculty typically teach 4 types of courses:
  1. Intro courses (something every major needs to take in lower college)
  2. Core courses (something every major needs to take in upper college)
  3. Fancy stuff (electives of various kinds)
  4. Crazy fun (like math for lit majors, or computer science for historians)
Basically, if you apply to math or CS dept as a neuroscientist, you need to make them know that you can teach all types of courses from this list, plus establish some "street credibility", so to say. Type (1) is never a problem: it would be "calculus I, II" in math (every computational person can do it), or intro to object-oriented programming in CS. You can do it. Type (3) is also easy: it would be what you do for a living, as a researcher, or maybe some one-two fields nearby; something like modeling, numerical computation, big data analysis, dynamical systems, machine learning, methods in Bayesian statistics, or something like that.

Which means that basically you just need to invent one crazy fun course (which should be relatively easy; just draw inspiration from your hobbies and side interests), and to convince the committee that you can teach core courses: something like linear algebra, differential equations or vector calculus in math; or data structures, algorithms, and discrete math in CS. That is a bit harder, but once you cover some of these courses (one may be enough), you are fine!

Now just reword your research statements accordingly, to compensate for the relative lack of "appropriate" education in these fields, and you are golden. You can apply to 3 times more positions than a straight neuro person would apply, and you would compete in a market with a much higher demand and lower supply, boosting your success rates.

Monday, August 22, 2016

Best way to create custom color palettes for visualization

Colorbrewer is awesome, but quite restrictive. After browsing the web for some time, here's the best too I found, with tools to create very nice-looking, yet usable and informative custom color scales in any aesthetics you want. It's called the "chroma scale helper":

Here's the description of how it works (it's very clever, and worth the read on its own, even if you never use the actual scale helper"

Here's a table of color names it uses (you may have to browse for the color you like, but it's very doable)

And finally, the source of these links (with some more advice on the matter of colors):