Unity or Custom Engine?

As a relatively inexperienced programmer (1-2 years), I have became increasingly interested in developing games.

The question is though should I go through the process of creating my own engine or framework from scratch or simply skip the “grass roots” development and jump straight into Unity?

On the other hand should I start with a game framework such as XNA or LibGDX, or again is it better to start from scratch?

I ask this just to get an idea of what peoples views are on the benefits/negatives of creating your own engine or framework.

Thanks in advance.

Creating your own engine first without trying an existing one is doomed to failure.

You should try several engine/tools/SDK, make their respective tutorials and then decide whether it is worth it to create your own engine.