"Shellcode" is the name given to small pieces of assembly language which are used to launch shells, typically as a result of a buffer overflow. (A buffer overflow is a technical term which is used to describe the act of filling a piece of memory with more data than it is designed to hold, this is a commonly used technique in security exploits).
Shellcode is nothing special, magical, or mysterious and can be put together in a number of different ways.
Most people learn the bare minimum required to launch a shell which is usually the required result of an exploit. More than that is usually redundent, unless you have a particularly special target you wish to attack.
For example if you are attacking a remote machine you will not want an interactive shell executed; instead you will want something else to happen, such as setup a shell listening upon a particular port, or run a command such as "cat /etc/shadow".
This page contains links to examples of shellcode for various systems, from the simple execution of /bin/sh to the more complicated and esoteric varieties.
Sample code for various platforms is available:
If there is a system for which you have access and there is no sample here then you may submit some, after reading a shellcode tutorial.