Code quality makes a lot of sense even on its own. Yet my company is early and a small team with no one specifically dedicated to software engineering. We used to have a software engineer, but they were not a good fit and they no longer work for the company. I have been tasked with code reviews. How can we incorporate documentation well from early stages with technical writing, and how does this best play into code quality?
You could make the argument that it might be too early to introduce a strict documentation process since the company is so early and having a strict documentation process could slow your team down.
I would start with an onboarding doc to make it easy for new engineers to get started immediately in the codebase and incrementally add documentation as needed. If there's a pattern of different people asking the same questions, it's a good signal that documentation needs to be added about that topic.
If an engineer asks you a question, and it takes a 30 minute meeting to answer the question, and 3 engineers ask you the same question, it's a worthwhile investment to spend the time to write up documentation to answer the question.
What I like to do is to make sure after a engineer works on a specific feature/system, to update the documentation in a separate PR. This can be as simple as a .md file in the docs folder (that's how the early stage startup team I am in does it). That 20 mins spent documenting simple, key things can save the next person 2 hours.
What exactly does that mean when you say you have been "tasked with code reviews"? Code review is a shared activity that (ideally) everyone participates in.
In code review, you want to be able to point to prior design decisions or documentation as justification for changes that need to be made. That's where a strong writing culture is important.
The main role documentation plays when it comes to code quality is two-fold:
I talk about this in-depth in my code quality course here: [Course] Level Up Your Code Quality As A Software Engineer
Once we're going to higher-level documentation, you break into the system design realm, which is also documentation-heavy: [Course] System Design Masterclass: Shipping Real Features To Production
In general, it's good to write things. Writing makes you retain information better and makes it easier to build alignment by having an organized information source to rally around.
Lastly, here's a nice thread about non-technical writing: "How does Alex write so well?"