> This is a one-day task; it shouldn’t take more than that
Your CTO is an idiot but you can't change that. My first idea would be to write a good resume and start finding another job. The whole description confirms that. I have worked for a lot of companies from the smallest to the biggest and it's always the same scenario. If everything is THAT bad, your only chance is to leave. It would take years to change that company, and you would have to accept a lot of refusal before anything changes.
Also don't focus too much on AI, there are a lot of good jobs unrelated to that topic.
I'm not an AI guy, but I would focus on what you don't know now and which may be useful in the future. Maybe Docker for the Devops and GitLab/GitHub for the pipelines (always useful), and some Python/uv/Ruff which seems missing from your description (AI scientists seem to love their Python).
You could add unit-tests and code coverage in JS or Python, and maybe a compiled language like Java/C++ or a functional language to get a broader view of other languages.
But all my pieces of advice are for what you would do at your next job. I tried to change companies before but I became bitter and found better elsewhere.
Last but not least, the skill that I lacked the most was the ability to talk to actual users or clients, and make sure that their demands/specs were well written and handled. It makes a lot of difference.
thanks for your suggestions, I am well versed with uv / ruff , just didn't mentioned in my post , absoultely loved uv after trying it out. I have started looking out for jobs aggressively.
Your CTO is an idiot but you can't change that. My first idea would be to write a good resume and start finding another job. The whole description confirms that. I have worked for a lot of companies from the smallest to the biggest and it's always the same scenario. If everything is THAT bad, your only chance is to leave. It would take years to change that company, and you would have to accept a lot of refusal before anything changes.
Also don't focus too much on AI, there are a lot of good jobs unrelated to that topic.
I'm not an AI guy, but I would focus on what you don't know now and which may be useful in the future. Maybe Docker for the Devops and GitLab/GitHub for the pipelines (always useful), and some Python/uv/Ruff which seems missing from your description (AI scientists seem to love their Python).
You could add unit-tests and code coverage in JS or Python, and maybe a compiled language like Java/C++ or a functional language to get a broader view of other languages.
But all my pieces of advice are for what you would do at your next job. I tried to change companies before but I became bitter and found better elsewhere.
Last but not least, the skill that I lacked the most was the ability to talk to actual users or clients, and make sure that their demands/specs were well written and handled. It makes a lot of difference.