pull down to refresh

I'm a STEM researcher who is interested in learning development skills so that I can contribute to and build software. However, I am often overwhelmed by the abundance of unfamiliar tools and terminologies (e.g. data lakes vs Postgres vs dbt).

What fundamental skills do developers need in 2026 and which development skills best compliment someone with a background in scientific research who wants to work with other developers?

Experience I already have which I think is typical of many STEM researchers:

  • analysing heterogenous datasets (mainly using R, some Python)
  • designing, compiling and manipulating relational databases with SQL-style queries
  • version control using Git
  • some knowledge of APIs
  • deriving mechanistic / scientific models from first principles (the anti-thesis of ML/AI models?)

I've been doing a backend development course from https://boot.dev (highly recommended!) and have gotten as far as learning the fundamentals of object-orientated and functional programming and completing a few small projects (in Python). During the course I realised that most scientists I've worked with learn to write code by analogy on an ad hoc basis, leaving them unfamiliar with many of the best practices that are common in software development.

Scientific papers in many STEM fields increasingly rely on large datasets and complex code which are difficult to verify and rarely peer reviewed. This, in addition to the problem of finding suitable reviewers, is among the reasons why my confidence in the robustness of scientific findings is deteriorating. I think that my time would be better spent learning how to develop software that people actually use.

I realise I have lot to learn and I am very interested to hear your thoughts.