HACKER Q&A
📣 7thaccount

Does anyone do Scientific Coding?


It seems like HN mainly revolves around web development and payment processing and all the standard business IT subject matter you would expect.

I enjoy programming, but am more interested in the scientific coding or numerical coding world and was curious who else on here is in the same boat.

What do you do at work, what is your title and educational background, what software and tools do you use, do you enjoy the work?


  👤 power10 Accepted Answer ✓
Great question! I work at a biotech company, doing a great mix of software engineering and science. Been doing this for over 20 years at various companies in varying blends of code and science for both chemistry/cheminformatics and computational biology/bioinformatics. Also ran a solo consultancy for about 4 years in there.

Tech stack = Python (mostly for chemistry, currently), R (mostly for computational biology)

Recently having fun building web services around open source and proprietary tools + HPC using Python and FastAPI + the usual suspects (pandas, numpy, sklearn, altair, dask)

Tons of cool problems with work that can ultimately make a real difference in patients' lives.

Education: BS Biochemistry, PhD Biophysics

PS - we're in the SF Bay Area and are hiring software engineers & business/systems analysts; looking for people at the intersection of code and science. Reach out if you're interested (email in profile, I think, or post here if you can't find my contact).


👤 clusterhacks
I work in an academic research institution but my main responsibilities are in traditional relational db modeling, SQL programming, ETL, and data reporting.

I spend about 1/4 time on unsupervised learning. This is mostly about integrating and optimizing clustering (hierarchical and graph-based) packages into tools for data analysts to use. Quite a bit of that is actually literature review - reading and keeping up to date on the latest academic results in this space. Usually, there are packages already developed in C/C++ with Python or R wrappers. I occasionally develop parallel algorithms in C++ when there are obvious multi-core performance advantages not available in a package.

I have BS and MS degrees in computer science. Almost all the RDBMS, SQL, ETL, and reporting tools are self-taught skills that I picked up professionally after leaving graduate school.

I love the high performance computing work but I have found it hard to build a career solely on that work. Lots of research projects don't have funding to support a full-time programmer for that effort and other internal teams support installation and administration of standard tools.

I am really not paid for the HPC work - it is just a nice option available because I am relatively efficient at all the traditional IT work and my workplace is happy to have a little "extra" help on the HPC stuff.


👤 basketball12345
I work in academic bioinformatics, doing translational cancer research. Most techniques are done in R/python/bash/HPC/AWS and include unsupervised/exploratory statistics, biological preprocessing of raw data, data curation/ETL and clinical statistics. Love the work. I have a BS in bio/bioinformatics and a BE in applied math.

👤 7thaccount
I'll add that the main tools I know of that might be used in this field would be:

Matlab/Simulink (or Octave or Scilab), Mathematica, Excel, R, Python, C, C++, Fortran, Julia, SQL... etc.

Is anyone using anything else? Who is doing data science (statistics focused) versus numerical work (matrices, integration... etc) versus something else?

What are the most common libraries that you use?


👤 jeremiecoullon
I’m doing a postdoc in stats/ML and mainly writing MCMC algorithms. Background: phd in computational statistics. I’ve used a lot of Python and a bit of Julia.

I’ve recently started using JAX and I’m really into it! It’s really fast even on my laptop (cpu) and can run even faster on GPU. I’m now using jax even for random scripts as well as I prefer the random number generator to numpy’s one. This is because you pass the random keys explicitly to all random functions so everything is reproducible.

I really like programming side the research; especially trying to get algorithms to be fast! So Jax is really great for that


👤 st1x7
I'm a data scientist for a large company. Educational backgroud - master's degree in data science after an unrelated bachelor's and a ton of self-studying. Tools - mostly Python at work, otherwise Julia/C++ and I also know R which I don't really use these days.

Work is mostly fun and the culture is quite relaxed. The biggest challenge right now (a couple of years of experience) is deciding whether to specialise more in some branch of statistics or get more experience in building stuff and be an ML engineer next. I really don't know which of these two paths to take.


👤 lipstone
I worked in undergrad as a research assistant in an astrophysics simulation project and was involved in some of the numerical programming. I found the work very interesting and intellectually rewarding.

Unfortunately, IME, the effort vs financial reward ratio is completely blown out of the water by general software. I make >3x what the postdocs were making with less experience, less education, and (speaking generally) less intelligence.

Obviously there are industry positions that pay better, but the general trend is you will be compensated far less than you could doing general software development.


👤 thorin
The last scientific programing I did was at a longstanding uk utilities company translating fortran and basic programs written in the 80s into database stored procedures so they could be more easily be exposed a Web services.

I had to refer to a few scientific papers in industry journals etc. Coding was fairly straightforward but the business seemed to have no easy way of validating them as they had multiple ancient versions of the code that all gave different results.


👤 khadgar25
I am a physicist by training but have been doing scientific computing after my PhD. I worked a quant and now write code for numerical simulation of various PDEs. I typically use C/C++/MPI/CUDA/Python in a linux environment on large scale clusters.

I love writing code and do side projects from time to time but I really enjoy applying the programming skills to solve a physical problem.


👤 physicsguy
Yes!

I work on CFD software. Mix of implementing new features + speeding up.

I did a degree and PhD in Physics before hand.

Title is just 'Software Developer/Engineer'. But that's generic and applies to everyone here - it's a multinational with a fairly set grading structure across different job roles.


👤 dhuesca
From what I can gather from the replies, a bunch of us are curious nerds that are passionate about their carreers =)

Now all I need is to figure out how to make a living out of it XD


👤 Psirus
So I'm doing mainly finite element analysis, with things like automatic differentiation, ODE solvers, Bayesian things etc as they come up.

Title translates as reasearch associate and I have a masters equivalent degree in mechanical engineering.

We're using mainly C++ and Python as far as languages go, with libraries such as FEniCS, numpy, scipy, PyMC3, pandas, xarray, matplotlib. Maybe more that slip my mind right now.


👤 giantg2
I'm doing some data cleaning and analysis on some VEARS data. Hoping to get access to a large sample size of anonymous medical record data after that for similar analysis. Trying to see if recieving multiple vaccines at once is correlated with higher occurrence of adverse events, specifically moderate or severe cardiac events.