I am a senior software engineer, on an algorithm development team, with the algorithm engineer title (I wanted to stop being a software engineer by title, and move to algorithm development, which I did).
I am quite new at my Startup (some months).
On my team is a junior engineer, who is extremely sharp and enthusiastic, about algorithms. Not about software or team-work. She is a very nice person, but doesn't care much about software methodology, or writing code such that others can benefit, or benefiting from others' code.
This is apparent in many monoliths, a lot of mixing up "what" with "how" (lack of encapsulation), bad naming, (very) slow code, multi-typed variables (python) and a general write-only attitude. I could go on.
I tried to talk about it a few times, and she said frankly, she doesn't really care about software engineering or coding. She wants the algorithm to work for her, and that's all.
This situation makes life very difficult for someone who wants to work with her code, and even more frustrating when she doesn't adhere to existing conventions on existing code. Since she started some of the repos, she is considered their owner, and doesn't go through PRs, which is what I would like to change, in order to at least prevent design catastrophes, if not improve quality overnight. Not to mention her gradually improving, and helping the code base.
The team leader is a very startup-minded person, who is also not a SW major, and though he cares about improving code-collaboration, in practice, he prefers her to write fast, and not learn to code better. He doesn't deal directly with her code. She also works a lot of overtime, for fun, so if her code gives her trouble, that's how she deals with it.
This also prevents me from coding fast using her code, as she is the only one that can read it fast. This forces me either to be slow, or refactor her code in order to become faster overtime.
I would like to prevent this in the future, and gradually improve the team's code quality.
I thought a good way would be to do regular code reviews with her, but I'm afraid I am stepping out of my place.
Meanwhile, technical debt increases much faster than is required, and coding is not a tool, but a liability.
How can I approach this?