For a beginner, it's a frustrating process. OpenGL's primary way of letting you know you messed up is by giving you a blank screen.
This is much alleviated when you use a wrapper around OpenGL (e.g. Rust's `gfx`), but most people start with raw OpenGL.