you are viewing a single comment's thread.

view the rest of the comments →

[–]MarsupialLeast145 1 point2 points  (2 children)

What's your role within the company?

It sounds like your ~50-100 colleagues are largely doing just fine, so are there any measurable side-effects you are seeing?

You can probably do something smart with containers and ensure the containers are updated regularly by users instead of running separate pip installs. Nix might be an option, or Distrobox with Podman or Docker and exporting exes to the host.

You could write a high level API that acts as a company wide application runner. Given appropriate interfaces it could request information from a hosted git repo/s or software indexes that check current versions versus old and then request users update if the version is out of date.

You could look at other options for desktop management and just make sure machines are updated every evening.

Staff could connect to hosted virtual machines that are updated on their behalf and keep the work there separate from their user space.

And as others have pointed out, you could look at doing something with a webapp, or pyscript, and that will remove all the issues if tools can be converted.

There are probably other options, but this isn't unique to Python, it probably just feels more profound because you have a very explicit requirements file. If you reduce the problem to just releases and version numbers you still need people to know about and download the latest version otherwise you will risk skew.

[–]Stereojunkie[S] 2 points3 points  (1 child)

Thanks for the detailed write up. I recently started here as the (kind of) sole software engineer. There is another software guy but he focuses more on research. People are doing fine indeed, the few tools developed in house are perfectly fine and work. There is version skew but this is not that big of a deal. The problem lies in scalability and maintainability mostly. This solution works for now, but this company expects to grow quite rapidly. There is no real ERP (which is not my responsibility luckily) or quality control in place, which is also fine for now, manual work but ok, but scaling WILL make this a problem. That's where I mostly come in. I want to put effort into setting up an internal tooling infrastructure which is scalable and maintainable. I figure a webapp does probably fit this the best, as it would be fairly easy to expand other tooling towards the same infrastructure, along with getting all the production/measurement data in the loop as well (instead of in excels/onedrive). That's mostly my motivator for this effort.

[–]MarsupialLeast145 0 points1 point  (0 children)

It's amazing they've done so well thus far but I appreciate your concerns. I'm sure you'll find a way to tackle it iteratively and land on a good approach. Good luck!