Use screen. I love it, it's very versatile and pretty simple to use.
Example: I use the pftp-mew FTP client. If I want to download something to my home computer from school or work I just SSH to my home box, type screen pftp to launch a screen session running pftp. I start up a download and then press Ctrl+A and then Ctrl+D to disconnect from the screen. You will be returned to your shell. Log off if you want to. Later on you can log in and reconnect to the screen session using screen -r to see how your download is progressing.
You can also type screen without any parameters. This will launch a screen session running bash (if that's your default shell). Start compiling or whatever you want, then again use Ctrl+A, Ctrl+D to detach from the session. I use this frequently (all the time actually) to run my Enemy Territory server. It works with pretty much any console application and it's darn handy. You can have several sessions going on at the same time, divided into different "windows" (I don't recall the correct term at the moment, sorry).
Start a new screen session, and then type Ctrl+A, Ctrl+C to create a new window. You can run anything here (as usual), then type Ctrl+A, Ctrl+C again to create a third window. You can now run three programs at the same time and switch between the different windows using Ctrl+0 (for the first window you created), Ctrl+1 (for the second), Ctrl+2....etc.
Read up on the man page for more info: man screen
If you don't have screen installed you should be able to grab it from your distribution as it's a very common tool.