| I'm currently doing research on hippocampal function and how to model authentic spiking neural networks (NEST) from spatial data as part of the human brain project and the research center of Juelich Germany. First of all most of the people working in computational neuroscience are physicists. There are a few biologists and of course cognitive psychologist, medical doctors or people from the department of neuroinformatics. 1a) Get an (paid) internship at a local research department. It's easy to get in (at least in my experience), even if you're not working on computational models in the first place. Most of these departments are not run very tightly, and there are lots of opportunities to do what you are best suited for. Though i would recommend to get back into university for a bachelors degree. 1b) Apply for google summer of code or something equivalent. There are lots of open internships for the summer which are directly involved with the human brain project. 2) It's about dynamic systems. So you have to ainte up your math. If you know your way around statistics, 2d/3d simulations, data structures and algorithms it's a huge plus. I recommend spending some time on top coder for the latter two. So you already have the advantage of knowing most of the common ML concepts. 3) Read everything you get your hands on which is connected to neuroscience. You have to get the full picture. Psychology, cognitive neuroscience, biophysics, medicine, neuroinformatics, etc. pp. First basics to get an overview, then concentrate on recent papers. 4) Improve your writing and presenting, if you have difficulties with either one. It will be an essential part of your work to discuss and present results. 5) Don't trap yourself into thinking you're not smart enough. Results in research need ambition, duration and vision more then being the smartest person in the room every day. Most of the software which is written in science is just prototype grade to prove a point and get a paper accepted in a journal. Standards are low, so bringing something different (systems engineering, source control management, automation, hpc programming, testing, deep knowledge of a framework/programming language etc. pp) is also considered a plus. So whenever you think something could be improved you should speak up and have a detailed explanation at hand why this would be an improvement. Communication is key sometimes, remember most of the people you will be working with are not computer scientists nor did they ever work in an industry environment. It's a good thing to have a deep understanding of at least one of the following commonly used frameworks/programming languages in (neuro)science plus TeX (not a complete list, just the top of my head). Though you'll probably end up learning or writing a new/established framework depending on the field of research you will be doing. c/cpp, Python, Matlab/Octave, (statistics) R/Julia, (hpc/gpu) OpenCL/Cuda, (functional) Lisp/Haskell I would recommend Python (Scipy/Numpy) if you're used to Javascript front end development (OOP/dynamic).
Also i would advice you to get acquainted with your favorite unix shell and the core utils if you aren't already. (Plus getting to know at least one tool for plotting any kind of data) Teams are rather small, depending on the budget. So in academia it's usually one or two group leaders with a professors degree, a handful postdocs and couple more phd students plus student assistants. Departments funded by industry are requiring a phd in my experience. Which does not mean you can't work there without having one, but you're less likely doing actual research.
You will not exclusively doing one thing only, it's a rather versatile field. I hope you'll make the shift into neuroscience.
I think it's the last great mystery on earth which is to be explored.
For me it's been a life changing experience and it still keeps on giving. Best of luck. |
Thanks for mentioning that. I only recently realized that “mad genius scientist” stereotype has probably scared away a lot of fine folks from science.