Transitioning to Python backend in enterprise coming from C#/Java

Hi Neurostars community,

I am a software engineer working with C#/.Net Core. Something I’ve always been curious about was how applications that are build fully with python works in terms of debugging. At work, we started building new applications fully with python to leverage machine learning libraries written in python code, but as someone who have worked with strongly typed language, I am curious what kind of measures should be put in place when working with python for backend.

I know companies like Instagram are using python fully backend, and lots of startups, and so am hopeful. I’ve worked with python myself but not in an enterprise level so would appreciate how the day-to-day transitions, any paradigm shifts, “gotcha’s” or best coding practices you would recommend, if you had similar experiences.

Some of more specific questions I had in terms of debugging or preventing bugs was whether you would try to reinforce typing by putting type hints, etc? (But is that kind of not fully static typing similar to typescript for javascript?) Would you recommend more logging? In python, I found that the errors get swallowed up more because the code allows for more things to happen, which is nice in getting code to run but not when you want it to behave consistently.

Or alternatively, if you write/work on an enterprise application that runs ML in python but still with Java/C# in backend, I would love to also hear how the infra is designed. That seems popular also.

Would appreciate it as we make this jump, or any blogs/resources you have as well! I’ve heard some negative thoughts from people who made the transition, and would love thoughts on how to do it right.

Thank you,
Soo