Никто никому ничего не навязывает. Просто советуют воспользоваться самым эффективным, проверенным способом, который многим уже помог.
1)обязательно надо знать математику алгоритмы и тд(даже если это не используется)
Изучение математики и алгоритмов приводит мозг в порядок. Именно в тот порядок, который нужен программисту. Это не значит что нельзя программировать без математики, и не значит что нужно учить матан чтобы написать простейшую вещь. Но это означает, что изучение математики помогает человеку с самого нуля освоить принципы работы с логикой, которая используется в программировании.
2)надо работать бесплатно на первых порах
Если вы не смогли устроиться, можете бесплатно создать какие-то программы, или поучаствовать в общественных известных проектах, чтобы получить практику, опыт и наполнить свое портфолио. Когда вы увлеклись программированием в школе и написали несколько программ, вам же никто за это не платит?
Если можете сразу устроиться - устраивайтесь сразу.
3)создавать open source проекты бесплатно чтобы показать всем свой код
Смотрите пункт 2.
4)всегда думать о работе даже по выходным и тд
Деформация программиста. ЛЮБАЯ работа это достаточно приличная часть твоей жизни. У среднестатистического человека - 8 часов работы, 8 часов сна, 8 часов на все остальное (включая поесть, проезд, магазины, дети и т.д.). Это очень много, это накладывает отпечаток. Часто само собой думается.
Но это совершенно не правило. Как сбалансировать личную жизнь и работу - каждый решает сам - кто-то пишет свой хобби проект, кто-то занимается спортом, кто-то просто ест и спит вне работы.