I haven't pulled an engine in a few years, but at one time it wasn't uncommon for me to pull one two or three times in one day.
I would put the bug on ramps and use a cheap, small floor jack. To make it go high enough I used a short section of a 6X6. To make sure it didn't slip off, I used a large hole saw and cut a circle slightly bigger than the head of the jack about a half inch deep and chiseled it out. on the other side, I cut a circle slightly bigger than the sump plate about a half inch deep and chiseled it out. This allowed me to rock the engine around without fear of it falling off the jack as I was working it down out of the engine compartment.
Of course, the block made it too high to get the engine out once it was all the way down, so I would put wood blocks under the heater boxes for it to rest on giving me enough room to remove the jack and take the block out, then I would put the jack head on the sump plate and raise the engine up just enough to remove the blocks, then let the jack down. The engine would still be too high to roll out from under the car on the jack, so I would tilt it so the front (flywheel end) of the heater boxes hit the ground, then lift it off the jack slightly and pull the jack out. From there, I would grab the pea-shooters and tilt the engine back just far enough for the blower housing to clear the apron and drag it out.
I know there are much better ways to pull an engine, but it worked for me. And most of the time I was working alone and outside in dirt (a piece of 3/4 inch plywood for a "shop floor" really helps in this case, but isn't a requirement). If there weren't a half dozen broken down VWs in the way (which there were most of the time) I would set the ramps up on each side of my sidewalk so I would have a concrete floor for my "shop." The best I ever pulling an engine was 19 minutes. That was over the sidewalk. In the dirt, it typically took about half an hour.
I wish I still had that kind of energy!