обязательно надо знать математику алгоритмы и тд(даже если это не используется)
Все зависит от задач с которыми вы будете работать.
В некоторых случаях это вообще не нужно. Полезно оно в любом случае, но в реальной практике чаще всего не востребовано.
Но в некоторых случаях без этого знания вы вообще работать не сможете.
надо работать бесплатно на первых порах
Это какая-то чушь вообще.
Если вы профессионал и знаете как зарабатывать деньги своим трудом - какой вам смысл работать бесплатно?
Если вы только учитесь - ну какой вообще смысл вам платить?
создавать open source проекты бесплатно чтобы показать всем свой код
Если вам это интересно - создавайте, если нет не создавайте.
Иногда это может быть полезно, чаще всего - вообще без разницы.
всегда думать о работе даже по выходным и тд
Если есть желание попасть в психбольницу в качестве пациента - это обязательно.
В остальных случаях крайне нежелательно.