If the signal measured directly from the microphone is about 15mV and the measured at the output of the amplifier is about 350mV, then the good news is that you circuit actually works. Its gain is 350mV/15mV = 23, not bad!
Another good thing about your circuit is that you really need a simple amplifier to amplify the tiny microphone signal to something usable for a regular power amplifier. You are definitely on the right track.
The bad news however is that the speaker you are using is by far too heavy load for such a simple circuit. The amp just can't drive enough power into it and hence it will sound so softly that you will not hear it.
Try a pair of headphones instead, you probably have some more luck for several reasons:
- higher impedance, many headphones have 32 ohm or higher impedance. This is already easier to drive, but probably still a bit low. If you connect the two outer most pins of the headphone socket, both of its little speakers will be in series, resulting in both being driven and load halved.
- higher efficiency, less power required to make some sound;
- closer to your ear, so less power required to hear the sound.
What you need to drive your speaker is power amplifier.
The easiest for you to verify your microphone preamp is to test with a pair of active PC amplifiers, the kind with a power amplifier in them. You can try connecting the microphone directly and through your preamp and you should notice a huge difference.
Internet is full of simple little power amplifier designs, even with discrete components, that are great as beginner's projects.