Ответ: Языки программирования
js, c++, java, c#, .net, css, html, php, python, bash, sql, lua, blitz, glsl
Язык - это метод выражения идей, от платформы зависят абстракции и порой общие принципы мышления, но основной скилл разработчика не зависит от платформы или языка.
Попробовать стоит хороший ряд, хороших языков.
Но также иметь хорошую специализацию в ряде языков.
Хороший разработчик без проблем возьмет популярный язык или платформу с которой не работал, и достаточно быстро освоит до хорошего уровня для работы.
Важнее не язык, а идеологический инструмент разработчика, принципы в мышлении, и другие способности такие как:
UX (технический) - умение рассматривать технический дизайн который разрабатывается для другой целевой аудитории, с точки зрения потенциальных пользователей. Многие разработчики просто не способны аггрегироваться от собственного знания платформы, и посмотреть на свой например API дизайн как полный нуб. По этой причине многие разрабатывают ужасные технические решения.
Технический Дизайн - это очень похоже на UX, но с точки зрения работы в своей команде, или закрытом кругу специалистов. Многие не умеют учитывать будущий рост системы, и разрабатывают очень зависимый код, spaghetti-code отличный термин это описывающий.
Архитектура - это вообще для многих закрытая тема, и многие вообще не понимают о чем и зачем. Хотя они почти ничем не отличается принципиально от строительной Архитектуры. Раньше можно было обойтись просто инженерами для чего-то простого, но почему-то же есть Архитекторы, потому что они мыслят более абстрактно и не только с технической точки зрения. А когда речь идет о больших и комплексных системах - это может быть ключевым фактором успеха или провала системы с технической точки зрения.
Куча других элементов что делают программиста хорошим разработчиком.
Философия и отношение к вещам (психология), в командах играют чаще всего большую роль, нежели язык или технические способности.
Любимый: JS
|