From Writing Programs to Creating Compilers