По поводу карьерных вопросов: а что посоветуйте делать школьнику 9 класса (16 лет), если есть хорошая математическая подготовка, небольшой опыт коммерческого программирования, несколько проектов (как Haskell так и нет) и знание английского?
Планировать поступать в универ (скорее всего российский) (и в какой?) / идти работать после 11 или все вместе?
Углубляться в спортивное программирование, чтобы гаранированно поступить, как-то не очень хочеться (если уж поступать, то на бюджет).
Таргетироваться исключительно на Haskell (C++ / Java / JavaScript / etc) и сидеть на одном языке всю жизнь - этот подход в современных условиях не работает. Да и раньше работал только в виду неразвитости индустрии. Если хочется стать хорошим программистом, а не просто умеющим писать коды на конкретном языке, придется учить много разных языков и подходов. Не за один раз, конечно, но за несколько лет. И еще лучше будет, если это не просто языки, а языки, меняющие ваше сознание, каждый по-своему. Таким образом, лет через 5 активной разработки, желательно выучить на достаточном уровне:
- Низкоуровневый статически типизированный язык (C++, C, Rust)
- Управляемый язык (C#, Java)
- Динамически типизированный язык (Python, Ruby, JavaScript, Clojure)
- Функциональный язык (Haskell, Clojure, Scala*, JavaScript*, Erlang*)
* Не вполне ФЯ
Меня, честно, очень сильно удивляют люди, которые противятся этой простой идее. Буквально несколько дней назад я наткнулся на подобных Java-разработчиков, да и на прошлой работе таких видал, тоже Java. Эти товарищи все еще упорствуют, высказывают какие-то невзрослые суждения вроде "не вижу причин изучать что-то еще", и т.п.
Если кому интересно, беседа состоялась здесь:
https://vk.com/feed?w=wall-54530371_191356_r191532