О. обожаю этот вопрос!
Открою секрет - IT само по себе
бесполезно. Как, например и логистика/грузоперевозки. Или охрана.
IT должно облегчать другие сферы жизни. Программист должен писать что то, облегчающее другие сферы жизни.
Обязательно надо в чём то разбираться:
- бизнес/магазин - разбирайся с логикой заказов/покупок/возвратов
- банк - логика движения, денег, валют, транзакций, проверок, откатов
- движок игры - разбирайся с физикой. магнитизм, механика, свет/тень - все эти жизненные законы надо оцифровывать.
- игра на готовом движке - тогда закапывайся в детали, какого размера ступеньки должны быть что бы соответствовать шагу игрока с учетом его скорости передвижения. здесь требования не таки сложные, но вот игра без таких деталей будет казаться г**ном
- драйвера - разбирайся в железе, какую нагрузку держат - температура как повышается, сколько микроват где бегает.
- МАШИННОЕ ОБУЧЕНИЕ???????? Это вообще жесть как надо миллион тематических свойств изучить чтобы заложить обучение. И эксперты области редко понимают чё тебе надо
- data engeneer - вообще не область. Но даже тут надо понимать какие данные надо хранить/обрабатывать и с какой вероятностью нужны будут правки.
- роботы - опять же физика движений во всех проявлениях
- ИИ - психология, лингвистика.
- парсинг текстов - опять же, лингвистика, еще и разных языков, грамматика, синтаксис. а может и стилистику языков надо учитывать
- ...и т.д.
И так со всем.
Да, программисту будут ставить задачи, может даже детальные. Но всё равно он последняя инстанция - до него что то могли не продумать - программист ошибку увидит сразу и должен отреагировать. Предотвратить что то или увидеть возможности для прикладного...
И более того, есть мнение, что просто
кодеры не нужны скоро будут. Нужны будут именно специалисты в определенных профессиях, которые могут перевести в программы свои идеи. Как раньше ученые статусные люди должны были уметь писать. Потом знать иностранные языки, потом владеть компьютерами/быстрым набором. Сейчас уметь запрограммировать.