sampctl provide a useful eco system for development
You can read about sampctl and how to get started with server development here: https://github.com/Southclaws/sampctl/wiki
You also want to learn basics of PAWN
Some of the useful references are:
Pawn curriculum by Y_Less (not sure if this is completed but still is useful) - https://github.com/Y-Less/pawn-curriculum
open.mp wiki - https://www.open.mp/docs/scripting/resources/start
Pawn lang pdf - https://github.com/pawn-lang/compiler/blob/master/doc/pawn-lang.pdf