Hi LoganKir, I seem to recall that was my breath hold time when I was about your age too (many years ago & long before I dived), couldn't seem to go any longer. For breath hold training, I would recommend asking in the freediving section of this forum, as the competition freedivers are really into training and have techniques & tables & such like. You did right to mention your age - and I suggest that you continue to do that when asking for advice, because it is an important factor to take into consideration. Also make sure your parents are aware of what you are doing.
However, for spearfishing, I will mention a couple of other things for consideration. With training, you are effectively learning to overcome your body's natural defences - obviously that is potentially dangerous. I find now that I prefer to build up gradually , both during a dive and over the course of each season -- I don't push breathhold at all (I dive alone but would not recommend that to you). What happens is that during a 2-4 hour dive, my bottom times start to increase naturally. Over the season the improvement is usually significant - but I don't push it, bottom times & depths are not my goal, catching fish is. Essentially I spearfish to improve my spearfishing [not a new idea, the late Pete Livsey recommended climbing to improve your climbing more than 40 years ago].
Snorkeling & octopush would be good practice too. Read up on Shallow Water Blackout - forewarned is forearmed.