A step-by-step guide to building a simple chess AI (2017)
medium.freecodecamp.org
medium.freecodecamp.org
The biggest gains (from my experience as a developer of WyldChess) are from improving move ordering, heuristic search pruning and position evaluation parameters.
Move generation speedups are relatively low yield because most of the time is spent in evaluation.