I suggest you agree with your boss. base your projects on python (typed as much as you can), and tell your boss you can have more performance with Nim code when necessary. (create a nim .so lib and use this from python, as explained in nimpy). you can even replace the task with arraymancer if it can do the job, but allow yourself the flexibility of python, and the vast documentation and examples that come with it, so as not to start with Nim, then get some obstacles that you cannot pass, and lose time or have friction due to this. less joy but more stability. if you find designing with Nim is better for you, start with that, then either make a .so library, or reimplement (yikes) in the workplace preferred language, but you'll know it was type checked in Nim and is safe from a static language perspective. just my 2 cents. less idealic, but more rational in my opinion.