I'll start with the lowest hanging fruit in the orchard: an IDE (with a good built-in debugger), to facilitate code development.
Regarding reading/writing "data", I use XML libraries to save and retrieve things like the parameter settings used in runs. For applications where either the input date is complicated or I'm running multiple instances with the intent of doing some statistical analysis of the run times, results etc., I prefer to use an open source SQL database to input model parameters and save model results. (I've been using SQLite in recent years, but previously had good luck with MySQL.)
For inhaling data / model parameters from an outside source, it's useful to have an open source library that reads (and possibly writes) CSV and XLSX files. Again, depending on the nature of the work, I might prefer to turn the input files into an SQLite database and work with that.
In many cases, I want my application to have a GUI. I work mainly with Java, so I typically use Swing, but in other cases a browser-based user interface may be best. (For instance, for R applications I will unsurprisingly use Shiny.)
I don't have a lot of experience with deployment (since I don't tend to do anything useful), but for those who do need to worry about it, another technology that may be helpful is containers (such as Docker).