Мысли общеизвестны, противоречивы и далеко не всегда совместимы с реальностью отрасли под названием Software Development. Их квинтэссенция - мой личный взгляд на вещи, обозначенные в заголовке данного сообщения. Суждение с колокольни наёмного рабочего.
Надо использовать технологии и языки, которые вам нравятся. Старайтесь получить удовольствие от своего инструментария.
Хорошая идея первична. Не гонитесь за передовыми или удачными технологиями, гонитесь за элегантными идеями. По этой же причине ваш набор языков и технологий должен быть таким, чтоб "в лоб" и в минимальные сроки реализовать удачную идею, сделать прототип системы. Если идея "выстрелит", то уже потом будете неспешно "вылизывать и подчищать" технологическое решение. Временно можно свалить неудачно реализованную систему на аппаратную мощь, ведь хорошее аппаратное обеспечение куда дешевле хороших работников.
Ваш пакет технологий должен легко и дорого "продаваться" на рынке. Иными словами, у вас всегда должна быть возможность непринуждённо найти другую высокооплачиваемую работу. Деньги немаловажны, ведь все ходят на работу именно из-за них. Любители "работать за идею" вполне могут работать с тем же успехом и дома, пока другие люди с коммерческой жилкой создадут себе бизнес и удачу благодаря щедрости этих альтруистов.
Будьте открыты для новых знаний. Не использовать хорошую технологию по идеологическим причинам - признак ущербности.
Список будет пополняться. Хотелось бы чтоб все делились мыслями на этот счёт.
