1) Математику - нет. У тебя есть калькулятор. Любой язык можно использовать как калькулятор. Алгебру - желательно, особенно если имеешь дело с программными анимашками. Алгоритмы - основа программирования
2) Никогда не работай за бесплатно. Либо работай за деньги с уверенностью что справишься, либо не бери проект вообще.
3) Ну я написал немного в open source не чтобы по***ваться, а чтоб git clone-ить каркасы своих проектов. Последний год они у меня штампуются вообще как пиченьки. В принципе yeoman.io и существует с той же целью... да как и любой другой open source. Dont repeat yourself.
4) Да блин не то чтобы...
Ты обвешан стереотипами и категориями - выкинь этот бред из головы. Когда ты чем-то сильно увлечён - по любому будешь тратить на это кучу времени. Тут не только программирование. Если ты любишь поинженерить - будешь модели самолётов, вертушек, автомобилей итп собирать целыми днями, любишь трючки делать - будешь не слезать со скейта/бэма.
Программирование - это просто хобби, которое приносит деньги. Чтобы стать хорошим прогером, не нужно целыми днями кодить, пока из ушей не повалит дым. Нужно просто любить это дело и ты сам не будешь замечать как ты целыми днями кодишь.