Yeah, kinda, in the form of writing and editing .qc files to tell a compiler what to do. For example, you need to specify where the game looks for your materials on your model, so you write $cdmaterials "your\file\path\" in your .qc file to tell the game where to look for textures. You also need to tell the compiler where to compile the model to and so on. There's a lot of commands, a lot I don't know and haven't used, but usually, a template for it works fine. To make survivors in Left 4 Dead 2, I use the typical survivor .qc file and just input my own models into it. To make characters correctly resized, I use an external file someone else made that adds or subtracts bone placements from animations so that they are properly sized. I mean, you could manually do all of that addition or subtraction of bone placements but that'll take a really long time to do.
Other games I mod like Mario Kart Wii and Super Smash Bros. Brawl don't use compilers like how Source does, though, so it's probably no programming on my end there aside from making the bones and model assets and whatnot.