LCD not displaying characters

Hi.

So good job.
The first delay doesn't do anything (in multiple ways :P).
You enter the function setup().
Immediately after entering, so without having done anything yet, you are waiting 10 very long seconds.
You can't be waiting for something (external) to finish, as you haven't started anything yet.
And delay() means do nothing to the Arduino.
It is like someone sent into coma state, breathing and heartbeat are there, but nothing else (in this case not even healing of something).

The second delay, does the same thing (i.e. nothing) for 2 seconds, presumably to wait for the display to get ready.
You do not have to do that, because the library is supposed to handle stuff like that.
It won't harm, but it costs you a lot of time (32 million Arduino heartbeats) without any need.