I think the biggest thing that keeps people from being successful is the assumption that, even with all the effort they are putting in, their potential peers are better at the job. In some strict sense that is true but delivering customer value is number one. Keep your focus on that, people will want to work with you. Ignore any feelings of being an imposter.
I got my first contract development gig at 14, first salaried position at 17. Stick with it and make it happen. Be confident. Don't be a dick.
Also, the original question talked about using Java. There is nothing wrong with Java and there are a lot of jobs in that space but I can't imagine a harder place to come in as a young untrained programmer than Java Enterprise development.