Pull to refresh

Comments 123

моя специальность — Python. Он открыл для меня много возможностей, дав более глубокое понимание принципов работы железа

facepalm

Помимо того, что данная тема вылизана уже сверху до низу, авторы забывают упомянуть о такой вещи, как желание и любовь к профессии. Если человеку нравится этим заниматься, нравится изучать все новое и интересное, он сам для себя сможет выбрать, нужно ли ему получать высшее образование или нет, оценив свои собственные ресурсы и возможности. В условиях российской модели самое плохое то, что чтобы хотя бы попробовать, нужно что-то иметь за плечами. Никто даже разговаривать не будет с человеком без профиля. А здесь уже вступает множество субъективных факторов. По итогу каждый все-равно выберет свой путь и набьёт свои шишки. Мне кажется в этом самый сок — пробовать и понимать для себя, что конкретно подходит тебе.

А решать по статейкам в интернете… Ну такое. Все же очень относительно. Кому-то нравится в коллективе, кому-то одному, кому-то в вузе, кому-то в другой стране, кому-то дома.

Я бы на месте автора посоветовал людям заниматься тем, что им нравится и получается, а не зацикливаться на таких мелочах.
Будущий инженер любого профиля в институте пару курсов изучает обще-образовательные предметы, включая физику и математику а потом еще 3 курса получает хороший пример того, как все эти знания применяются в некой конкретной области.
Что будет, если вообще не проходить этот путь, а после школы все изучать самому или по отрывочным курсам? Так ли хорош специалист, который не видел ничего настоящего, кроме задач, которыми занимается его компания? Не уверен, что это хорошая идея.
К сожалению, ни одного хорошего примера применения знаний в конкретной области дано не было. Даже о сфере применения преобразований Фурье. Хотя, казалось бы, государственный технологический вуз в Москве (IT факультет).

В любом случае университетские знания развивают умение мыслить системно и прокачивают защиту от Javascript мозга, например.

К сожалению (или к счастью), имею диагноз «javascript мозга». Не прокачал защиту вуз никак)

Скорее прокачал защиту от доверия к научным публикациям русскоязычных авторов.

Тем не менее, не вижу эти пять лет потраченными впустую. Очень много чего дал вуз как экосистема. И ничего (практически) не дал вуз в качестве «знаний по предмету».
Учился в униврее вобще не по IT, а по инженерной специальности и не могу сказать, что эти знания для меня лишние. У меня сформировалась более целостная картина мира, для меня не проблема любые расчеты, физическое моделирование и много еще всяких физтех штук даже из незнакомых областей. Я не представляю, как бы я без них программил все, что программил за жизнь )))
У меня как раз наоборот ситуация. Возможно многое зависит от самого учебного заведения.
Учился на инженера-электрика, и то чего-то раскладывал на гармоники помню. Еще удивлялся что это может работать.
Будущий инженер любого профиля в институте пару курсов изучает обще-образовательные предметы, включая физику и математику а потом еще 3 курса получает хороший пример того, как все эти знания применяются в некой конкретной области.
Если бы это было так, то вопрос бы и не поднимался. Но методология преподавания IT дисциплин пока ещё не сформировалась до приемлемого уровня, и получается что вы 5 лет изучаете сферических коней в сферическом вакууме. А старый инженерный подход не работает, в IT любая учебная программа для курсов от 2 и выше устаревает ещё до её утверждения.
Так ли хорош специалист, который не видел ничего настоящего, кроме задач, которыми занимается его компания
Ну уж всяко лучше того, который вообще ни одной реальной задачи не видел.
Вопрос что будет делать программист (или «программист») — что-то верстать — тут нужен навык и «чуйство прекрасного», если будет работать с чм-то более материальным, то крайне желательно иметь представление о реальном мире — физизке, химии, электротехнике. И по жизни тоже это очень полезно иметь — иначе у такого, с позволения сказать, инженера и вечные двигатели, и флаг колышется, и в силу молитв верит и ГМО боится. А что — изучил по роликам в интернете, а образования для отделения мух от котлет не имеет.

Igor_ku если программист не инженер, то это очень плохо. Полчуается программист-гуманитарий.

Не думаю, что универ помогает правильно выпрямить извилины, но что люди с таким складом ума чаще и успешнее попадают в универ. То есть это причина, а не следсвие.

Ну я вот программист-гуманитарий, и что?


(более того, чем дальше, тем больше убеждаюсь, что программирование — не предметная область, а именно сама дисциплина — имеет как минимум не меньше, а то и больше, общего с гуманитарным знанием, нежели с точными науками)

UFO just landed and posted this here

Навыки доказательств, как ни странно, дают и в гуманитарном образовании. Ну а с общепринятыми терминами все, скажем так, сложно.

UFO just landed and posted this here

Ближе к древним грекам. Но вот честное слово, 20 лет в индустрии, всегда хватало. А то, чего не хватало, покрывается в курсе по анализу алгоритмов, который все равно надо (ну, на мой взгляд) проходить.

UFO just landed and posted this here

Ну вот вы упоролись "вот этим вот всем", а я — нет, так что продолжаю не жалеть. Вот об отсутствии в анамнезе статистики (которую, кстати, гуманитариям давать полезно бы) — жалею, да.

UFO just landed and posted this here
А я все больше убеждаюсь, что без математической культуры очень сложно. Начиная от навыков доказательств и заканчивая некоторыми общепринятыми терминами.

У вас есть живые примеры? Ну там, я "вот миддлу без образования никак не мог объяснить фичу языка, а такому же с мат. образованием за секунду?".


Просто все, про что вы говорите не является каким-то фундаметном, а скорее sidecar знаниями, которые вполне спокойно изучаются потом.

UFO just landed and posted this here

Поделитесь списком литературы?

UFO just landed and posted this here
а то и больше, общего с гуманитарным знанием, нежели с точными науками

Как результат — мессенджер, требующий сотни мегабайт ОЗУ для элементарных действий. И подходы — "мне так нравится, я тесты проводить не буду для понимания надо делать так или иначе". Оно и по жизни так получалось "я прочитал очередного гоблина, эта штука работает так", " не так, если сделать это и это — увидишь доказательство", "фу, опять эти формулы".

Как результат — мессенджер, требующий сотни мегабайт ОЗУ для элементарных действий.

Неа. Вы не можете доказать, что это — следствие гуманитарного образования.


И подходы — "мне так нравится, я тесты проводить не буду для понимания надо делать так или иначе

Вы описываете плохого специалиста, а не гуманитария. В гуманитарном знании подход "мне так нравится, я исследования проводить не буду" не приветствуется.

>В гуманитарном знании подход «мне так нравится, я исследования проводить не буду» не приветствуется.

Не, ну насчет знания вы конечно правы, исследования бывают и в гуманитарных науках.

Но ведь ваше:

>Но вот честное слово, 20 лет в индустрии, всегда хватало.
Оно же тоже не доказательство, согласитесь. Особенно с учетом оговорки про статистику ;)
Оно же тоже не доказательство

Не доказательство чего?

именно сама дисциплина — имеет как минимум не меньше, а то и больше, общего с гуманитарным знанием, нежели с точными науками)


В каком месте?

В том месте, где читаемость и прочие атрибуты поддерживаемости. Вообще все, что связано с восприятием кода.

Вообще все, что связано с восприятием кода.


Я, пожалуй, тот самый технарь, что с тобой в этом месте целиком согласен.
Но ведь это относительно небольшая часть программирования.
Но ведь это относительно небольшая часть программирования.

А вот это оооочень интересный вопрос. Скажем, насколько "структурное программирование" большая часть программирования?

Я вернусь к вопросу «в каком месте?» и дальше нам придется заняться выяснением того, что такое «программирование» и решать являются ли декомпозиция и формализация техническими практиками или гуманитарными. Мне очевидно, что техническими и к «гуманитарной» части программирования они мало относятся, хотя имеют прямое отношение к восприятию кода.

Тогда уж давай начнем с того, что определим, как разделять практики на технические и гуманитарные. В моем понимании, техническая практика — это та, к которой полностью применим инструментарий точных наук (в том числе, объективные эксперименты, критерий фальсифицируемости гипотезы и так далее). Гуманитарная же практика имеет ту характерную особенность, что — в силу прямой связи объекта исследования с человеческой психикой — некоторые методы из точных наук не дают продуктивных результатов.


Если сильно упрощать, я не могу считать технической практикой ту, где нет объективного способа сравнить два решения по некоему критерию, и сказать, какое из них "лучше", а какое — "хуже" (или хотя бы какое из них объективно "правильное").


(Забегая вперед, критерий "этот метод лучше, потому что в нем меньше строчек", хоть и объективный, но не подходит, потому что он произволен. Почему "меньше" — это лучше?)

«этод метод лучше, потому что в нем меньше строчек» — это эвристический критерий, и да, он гуманитарный.

А вот цикломатическая сложность — уже нет, считается однозначно и выражает, например, количество ветвлений в коде (меньше тестов для покрытия, меньше branch prediction miss => лучше перфоманс — сплошные объективные показатели).

Означает ли это, что всегда надо предпочитать метод с более низкой цикломатической сложностью?

Нет, потому что это не единственный критерий. Но это не делает его гуманитарным или произвольным.

Его — не делает. Но в итоге в реальной практике при сравнении двух методов ты всегда вынужден пользоваться набором критериев, из которых далеко не все объективные. Что, как бы, говорит нам о практике в целом.

Лингвисты и некоторые психологи, социологи очень активно используют методы математической статистики. Делает ли это их технарями?

Нет, потому что они не могут делать выводы, опираясь только на эти методы.


(впрочем, а что такое "технарь"? этот термин определен хуже, чем "гуманитарий")

Нет, потому что они не могут делать выводы, опираясь только на эти методы.


Но ведь они вынуждены, в том числе, использовать объективные критерии. Что, как бы, говорит нам о практике в целом.

(впрочем, а что такое «технарь»? этот термин определен хуже, чем «гуманитарий»)


Они оба фигово определены. А художники — технари или гуманитарии?

UPD А музыканты?
Но ведь они вынуждены, в том числе, использовать объективные критерии. Что, как бы, говорит нам о практике в целом.

Да, это говорит нам, что в практике в целом есть объективная составляющая.


Они оба фигово определены.

Да ладно. Гуманитарий, технарь.


Впрочем, в словаре Ефремовой почти одинаково:


Гуманитарий — Тот, кто профессионально занимается гуманитарными науками.
Технарь — Тот, кто занимается техническими науками.

По этой группе определений в общем случае программист не может быть ни гуманитарием, ни технарем, а в частном случае он либо гуманитарий, либо технарь, в зависимости от прикладной области. Забавно.

Лично я, из всего этого могу сделать вывод, что везде применяются и технические и гуманитарные практики, но это не определяет область как гуманитарную или техническую.

А теперь еще раз процитирую, что я изначально написал:


программирование [...] сама дисциплина — имеет как минимум не меньше, а то и больше, общего с гуманитарным знанием, нежели с точными науками
Тогда я не понимаю, что ты имеешь в виду под «программирование как дисциплина».

Ты не поверишь: то, чем занимаются программисты.

Пишут комментарии на хабре?

Художники и музыканты в узком смысле слова не гуманитарии, потому что arts — не наука. В широком смысле слова, конечно, гуманитарии, потому что ведут деятельность в области гуманитарного знания.

… и не используют никаких технических практик или методов?

Define "техническая практика". На калькуляторах все считают рано или поздно.


Но мы же все равно придем к тому же, что выше: то, что в области применяются технические практики, еще не делает ее технической.

Академический рисунок — технический чуть более, чем полностью.

Но мы же все равно придем к тому же, что выше: то, что в области применяются технические практики, еще не делает ее технической.


А гуманитарные практики не делают область гуманитарной.

UPD Техническая практика — имеющая в основе объективные критерии оценки и алгоритмы выполнения.
Академический рисунок — технический чуть более, чем полностью.

Даже если это так (что еще нуждается в определении), то что?


А гуманитарные практики не делают область гуманитарной.

Ну так я этого и не утверждал, вроде как.

UFO just landed and posted this here
Приведите пример непроизвольного критерия.

"Этот код не выполняется за требуемое время".


Я вообще не вижу смысла делить практики на технические и гуманитарные, слишком понятие широкое.

А я вот вижу — потому что я наукой не занимаюсь последние много лет (а в разработке и вовсе никогда не занимался), поэтому как там делятся науки, мне, в применении к разработке, особого интереса нет. Ну а если вы не видите смысла относить считать программирование гуманитарной или технической деятельностью, то и формулировка "программист-гуманитарий" бессмысленна.

UFO just landed and posted this here
Требуемое кем?

Постановкой задачи (которая вытекает из необходимого времени реакции при управлении устройством).


Человек, работающий программистом, и имеющий гуманитарное образование, отчего ж бессмысленно?

Извините, был неточен. Оценочность формулировки "программист-гуманитарий" бессмысленна.

UFO just landed and posted this here
Так можно очень долго продолжать, конечно, но в итоге окажется, что нет объективных критериев.

Найс. В этом случае тем более нет никакого смысла говорить о разделении на технарей и гуманитариев.

UFO just landed and posted this here
В контексте практик — да, конечно, и я об этом написал два комментария выше.

Я уже объяснил, почему научный контекст меня не интересует.

UFO just landed and posted this here

"Смысл" вообще понятие субъективное.

UFO just landed and posted this here

Какая-нибудь модель есть для любого высказывания.

UFO just landed and posted this here
UFO just landed and posted this here

Я и говорю: вы выбрали то понятие модели — и, как следствие, смысла — которое вам субъективно ближе.

Как и ты.

И о чем дальше спорить?

Если мы соглашаемся с "нет объективных критериев" — то спорить бесполезно.

UFO just landed and posted this here
Вы не понимаете смысл моего комментария. Проблема не в том, что программированию не умеют нормально учить. ИМХО, ему вообще можно не учить в институте. Программирование — это слишком просто и изучается на курсах или рабочем месте. Человек не робот, создаваемый для выполнения одной функции. Цивилизация накопила большой багаж знаний о мире и способов с этим миром совладать, от математики до научных методов и философии. Эти знания — это целостное и масштабное здание, программирование — только один маленький довольно простой раздел. То что человека сажают за парту и дают шанс осознать что вся эта махина знаний существует и работает, это очень дорогого стоит. Обычный человек по доброй воле не полезет в это все, если в Вузе ему это не скормят в добровольно-принудительном порядке.
Конечно, любознательный человек может справиться сам, но большинство не любознательны, в итоге без высшего образования можно получить невежественных узко-специализированных роботов.
С одной стороны, если программирование это просто, а институт это про «цивилизация накопила большой багаж знаний» без какой-либо связи со специальностью, то непонятно, нафига ходить в институт учиться программированию?
С другой стороны, программированию пытаются учить по-старинке, разжёвыванием по 2 месяца тонны академических наукоёмких формулировок, когда концепция объясняется «на пальцах» за 15 минут и закрепляется на 1-2 примерах.

Проблема в том, что в программировании ЕСТЬ чему учиться в институте, но в институте учат чему угодно, но только не этому. За время моей учёбы было ровно 3 предмета, на которые не жалко потраченного времени. Но если вместо всей остальной воды в течение 5 лет заливать в человека что-то уровня материалов Курсеры, да ещё и с живым преподавателем, на выходе были бы реально высоко-квалифицированные программисты, а не просто высоко духовные носители корочек с «комплексным» знанием о мире и нулевой профпригодностью.

невежественных узко-специализированных роботов.
Понимаете, в чём проблема… Как-то так сложилось, что при найме на работу высоко духовные существа с комплексным знанием о мире как правило менее востребованы, чем невежественные узко-специализированные роботы.
С одной стороны, если программирование это просто, а институт это про «цивилизация накопила большой багаж знаний» без какой-либо связи со специальностью, то непонятно, нафига ходить в институт учиться программированию?

Мне тоже это непонятно. Мня программированию в институте не учили но никаких трудностей в карьере программиста я не испытывал. Специалист будет работать примерно 40 лет. При этом, он потратит 5 лет в институте, чтобы получить знания, которые устареют через 5 лет в лучшем случае. Лучше дать ему что-то что заставит его мозг стать действительно умнее. Это всегда и называлось высшее образование.
Понимаете, в чём проблема… Как-то так сложилось, что при найме на работу высоко духовные существа с комплексным знанием о мире как правило менее востребованы, чем невежественные узко-специализированные роботы.

У меня другой опыт. Самые лучшие программисты — бывшие выпускники разных физ-матов. И вообще, чем более интеллектуально-ориентирован человек (сыпет научными фактами, прям все знает), тем лучше он специалист.

PS Чтобы понять зачем нужно высшее образование, посмотрите комментарии SirEdvin ниже. Даже получив это образование, чувак вообще не понимает, что в мире есть нечто посложнее модных фреймворков.
Самые лучшие программисты — бывшие выпускники разных физ-матов. И вообще, чем более интеллектуально-ориентирован человек (сыпет научными фактами, прям все знает)

Мне вот ужасно интересно, конечно, почему вы приравниваете "интеллектуально-ориентированность" к "сыпет научными фактами". Я всегда считал, что это просто эрудиция.

Но методология преподавания IT дисциплин пока ещё не сформировалась до приемлемого уровня, и получается что вы 5 лет изучаете сферических коней в сферическом вакууме

Для меня самой большой проблемой являлось то, что знания по факту давались в обратном порядке. На 3 курсе тебе рассказывают теорию передачи сигналов, какие-то телефонные сети, коммутаторы, аналоговые и цифровые преобразования и ты сидишь и засыпаешь с мыслью — "зачем мне все это надо, какой-то бред". Зато потом на следующем курсе ты приходишь на компьютерные сети и понимаешь — "ага, так вот оно зачем было, жаль я прогулял половину пар". Мне было бы намного понятнее начать с конкретных вещей и постепенно углубляться

>Мне было бы намного понятнее начать с конкретных вещей и постепенно углубляться
Не понимая теории, ага :) Ну выж понимаете, что у такого подхода есть свои недостатки.
пару курсов изучает обще-образовательные предметы, включая физику и математику

Это только у нас так. В нормальных вузах если ты идешь на информатику, то пичкать физикой и условной химией тебя не будут. Хотя если вы про инженера, а не про программиста, то конечно будут…
Никто даже разговаривать не будет с человеком без профиля.

Ну у меня нет профильного образования и ничего, разговаривают. Я знаю много разработчиков без профильного образования и несколько меньшее число без высшего образования вообще.
Ну вот, имели в виду одно, а написали другое.
Написал как раз таки то, что и имел в виду. Любое образование, начиная со средне-специального имеет профиль. В ином случае можно считать, что его нет. Базовое школьное и так подразумевается.
Ну у меня у самого нет профильного образования (я по специальности инженер-конструктор, 0539б). И да, в целом это не мешает — кроме одного случая, когда вы начинающий, и у вас нет еще и опыта работы.
Тут ощущается сильнейший разрыв между кодером и программистом.

Например, если мне надо написать очередной CRUD интерфейс с использованием ангулярного фласка на рельсах, я пойду гуглить.

А что мне гуглить, если я решу поправить баг в коде рендеринга жидкостей, аппроксимирующего уравнение Навье-Стокса и использующего кватернионы для поворота камеры?

… Фиг, с ним, с Навье-Стокса. Вот что мне делать, если у меня в коде баг с реализацией кодов коррекции ошибок, базирующемся на расширениях Галлуа?
Учить физику и математику?
В том смысле, что конечно, программирование основано на некоторых разделах математики (довольно базовых в большинстве своем), и есть некоторые области программирования, в которых требуется знание некоторых продвинутых разделов математики. Но это именно пересечение, а не знак равенства.
UFO just landed and posted this here
Я имею в виду арифметику и булеву алгебру. Да и из последней в 99% случаев используется только равенство, отрицание, И и ИЛИ.
UFO just landed and posted this here
Такое простое различие по-вашему: Учился в университете — программист, не учился — кодер?

А если я, например, «гуглю» что-то «кодерское», а потом неделю-две-три-год читаю-изучаю на эту тему литературу (которую скорее всего тоже гуглю), разбираюсь в предметной области? Все еще кодер?

В чем различие принципа выше от гугления Навье-Стокса и изучение соответствующей литературы, чтобы разобраться?
Объясняю, чем различается. Уравнение Навье-Стокса простое: .

Но его чтение потребует мощной теоретической подготовки, чтобы прочитать хотя бы один значок из формулы. Просто невозможно начинать его читать как «getting started with fluid dynamics». Надо начинать с матанализа, потом частные производные, и т.д. Т.е. объём бэкграунда нужен очень обширный.

(И я специально сформулировал пример так, чтобы он не звучал как 'domain specific', это всего лишь алгоритм колебания волн на поверхности воды в игрушке, никакой физики, что вы, что вы).
Надо начинать с матанализа, потом частные производные, и т.д. Т.е. объём бэкграунда нужен очень обширный.

Тут вы не правы. Что бы читать эту формулу, вам достаточно просто пояснить что каждый значек означает. А то в противном случае получится как было у меня в университете, сначала нам в школе рассказали как считать производные, а потом в университете мы уже учили кучу теорем, что бы считать производные точно так же, как мы это делали в школе.


То есть разумеется, что мы узнали, что все эти приемы накладывают определенное ограничение на функции, что в ряде случаев их использовать нельзя, но численные методы всегда забивают на эти ограничения, потому что работают в основном только в обычными функциями.

>Что бы читать эту формулу, вам достаточно просто пояснить что каждый значек означает.
Вы замучаетесь искать источник, где вам это в таком виде пояснят.
Да-да. Оператор Набла, векторный оператор Лапласа. Вам сильно легче стало? :)
Две-три итерации и уже будет куда проще.
Тогда вы гребаный гений. Или возможно универ все же не прошел для вас даром…
Вот что мне делать, если у меня в коде баг с реализацией кодов коррекции ошибок, базирующемся на расширениях Галлуа?

Писать тесты на маленькие куски кода, дебажить, гуглить. Как университетское образование поможет в этом?


Я вот не закончил универ, но реализовывал поля Галуа и коды Рида-Соломона. Ничего в этом сложного нет.
Тут важно любить своё дело (программирование и математику, в моём случае), а не наличие образования. Его уж можно подтянуть в современном мире, куча книг и статей в открытом доступе, было бы только желание по ним учиться.

Я вот не закончил универ, но реализовывал поля Галуа и коды Рида-Соломона. Ничего в этом сложного нет.

Вы молодец — вы смогли, а большинство не сможет.
вы смогли, а большинство не сможет даже с вышкой.

FTFY

А что мне гуглить, если я решу поправить баг в коде рендеринга жидкостей, аппроксимирующего уравнение Навье-Стокса и использующего кватернионы для поворота камеры?

Эм… это и гуглить? Ну и опять же таки, вы путаете предметную область с общим программированием. Если вы вдруг занимаетесь написанием рендеринга, то ваша предметная область как бы будет состоять из кучи математики для рендеринга.


А если вы пишите какие-то банковские системы, то ваша предметная область будет состоять из различных финансовых регламентов, договоронностей департаментов и прочего. И математики сложнее процентов там будет очень мало.

Смотрю с недоумением… :) А аццкий тервер, случайные процессы, дифуры (в простых случаях), монте-карло, производные по нескольким параметрам, пространственные производные? Расчет рисков в инвестмент банке — он такой.

Я тоже смотрю с недоумением ...


Если говорить предметно, то вам очень повезет, если в вашем банке таки будут автоматизировать расчет рисков. Скорее всего для этого будет какой-то штатный аналитик или отдел аналитиков, а вы им будете подготавливать данные. А даже если вдруг ваш банк решит это делать, то в 90% случаев вам сверху будут задачи и формулы спускать аналитики. И даже игнорируя все эти пункты, шанс, что именно вы будете работать над этим модулем довольно мал. Это всего один модуль из тысяч.


То есть да, будет классно если вы будете шарить это все на глубоком уровне, но это относится к абсолютно любой доменной области. Классно, если программист это знает, но если не знает, значит будет другой человек, который будет ему ставить задачи. И хуже как программист он от этого не станет.

Для начала я именно этим и занимаюсь последние 14 лет. Тут больше вопрос не «будет ли ваш банк...» — он будет, а скорее надо оно вам или нет?

Действительно собственно формулами расчета рисков (а точнее цены) программисты занимаются редко. Для этого есть люди уровня нобелевких лауреатов и кванты с тремя PhD. Однако говорить с ними приходится нам. И вот тут во всю ширь встает вопрос недостатка математических знаний. Многие из моих друзей сидят за книжками снова (я выбрал архитектуру систем). В любом случае самостоятельно такую математику не выучить. Вуз дал базу — я хоть понимаю о чем речь (не формулы, а о чем собственно речь). Без вуза на такую работу вообще не попасть — просто тупо требование — BA in science (потому, что есть еще BA in arts).

А дальше еще интереснее — хэдж фонды дают денег немеряно, образования профильного иногда не требуют, но соваться хотябы без MA только позориться. Там требования по именно математике, статистике, терверу даже у вэб девелоперов :) Происходит так потому, что народа у них работает мало, денег куры не клюют и можно позволить себе набрать реально гениев.

А так формочки да CRUD всякий писать (я не в обиду) можно и без образования. Только надо себе отчет отдавать что ваш потолок или ниже или не в программировании.
Ну, учитывая, что программистам платят в основном за знания, то тут вы правы.

Но опять же, ведь можно избрать, например, другое направление и заниматся архитектурой сложных систем, всякими UI/UX дизайнами или же начать реально упарыватся по методологиям программирования и правильной огранизации кода. И честно говоря, мне кажется, что вуз не особо поможет в этих начинаниях, но потолок можно и повыше поставить.
1. Существуют работы, на которые не берут без высшего образования. Следует ли из этого, что высшее образование необходимо для выполнения обязанностей? Нет, это может означать что угодно: от «тут так принято» до «у нас дичайшая нагрузка рекрутеров, по 300 человек нанимаем в год, их надо отсеивать, хотя бы фильтром по наличию вышки».

2. Самостоятельно такую математику не выучить? Тогда зачем вы сидите за книжками? Впрочем, если речь идет о диссипативных системах в частности или дифурах в целом, то это хотя и нетривиально, но не что-то, требующее гения.

3. Как знания тервера и статистики связаны с гением? Даже если не считать, что эти ветви математики считаются самыми простыми и скучными по сравнению с теми же высшей алгеброй или топологией, да хоть бы и с теорией чисел.

4. И разумеется, есть только два варианта — заниматься-моей-работой или формочки верстать. Ничего между этим не существует. И первый вариант — это обязательно элитарная группа, куда не попасть без MBA/CSBS/подставь нужное.
UFO just landed and posted this here
>Если говорить предметно, то вам очень повезет, если в вашем банке таки будут автоматизировать расчет рисков.

Ну, скажем так… я могу косвенно сказать примерно про десяток банков из ТОП-10 России, что практически везде расчет рисков так или иначе автоматизируют.

>И хуже как программист он от этого не станет.
Ну да, ну да… выбор над чем работать, он у вас конечно есть, риски — это лишь одно из направлений. Но вы думаете, какой-нибудь трейдинг — он сильно проще математически что-ли? У нас вон все трейдеры математики, с кем я работал.
Ну, скажем так… я могу косвенно сказать примерно про десяток банков из ТОП-10 России, что практически везде расчет рисков так или иначе автоматизируют.

А что там насчет топ-100 банков?


Ну да, ну да… выбор над чем работать, он у вас конечно есть, риски — это лишь одно из направлений. Но вы думаете, какой-нибудь трейдинг — он сильно проще математически что-ли? У нас вон все трейдеры математики, с кем я работал.

А как там насчет, ну не знаю… написания кода? Поддержка архитектуры системы, разработка архитектурно правильных решений, кастомизируемость, стабильность работы вот эта вся фигня?

А топ-100 заслуживают изучения?

>вот эта вся фигня?
Вся эта фигня, разумеется, в среднем, доступна вообще без математики. Ну, наверное не совсем без, все-таки… но тут уже вопрос насколько широк будет у вас выбор работы и зарплаты. Что в ИТ в целом много такой работы, где математика не нужна… да наверняка.

Но в тоже время, уже самые простые бизнес задачки типа расчета доходности бондов — это уже NPV и решение уравнений (численно). И у вас, грубо говоря, будет выбор — либо ждать, пока дядя аналитик вам это (тривиальное действие) распишет, либо изучить самостоятельно (да, вполне можно, по википедии почти полностью), либо как-то получить в ВУЗ-е.
Скромно замечу, кватернионы можно изучить, как и поправить рендеринг жидкостей (слабо понимаю о чем вы конкретно, но думаю о физической «правильности»). Все функции независимо от уровня вашего навыка и знаний следует проверять сразу и постоянно на всем протяжении написания кода (если возможно). К несчастью, без реализации заученного в течение года все знания затираются, искажаются, забываются. К счастью, все гуглится. Во всех остальных случаях лучше нанимать специалистов.
Приведу пример. Скажем, вы хотите научиться чинить компьютеры. Пойдете ли вы в колледж для того, чтобы получить необходимое образование? Нет, скорее всего, вы начнете гуглить и обучаться в онлайне. В итоге вы поймете, для чего нужны все элементы вашего ПК, и сможете научиться собирать компьютер своими силами.

«Конечно и зайца можно научить курить...».
То о чем говорит автор — это дрессировка, как в армии. «Вынь блок А, вставь блок Б, нажми тумблер 5...» При этом связист мог вообще не отличать резистор от транзистора.
Да, колледж может и не самый лучший способ обучения ремонту компов, но все равно минимальные теоретические представления иметь о том что делаешь иметь надо.

Из своего личного.
У меня на каком-то околокомпьютерном форуме была подпись «Хочу быть пользователем. не получается». Приходится понемногу и компы собирать и программы ставить и сетки-роутеры настраивать. С каждым разом понимаю, что знаний не хватает все больше и больше… Вставить проц в матплату ума много не надо. А вот собрать стабильный комп — тут подумать надо.
А уж ковырять это чудо, потому что не хочет работать — так вообще. Но порой так достанут, что реально пользователем быть хочется…
Очень спорная статья, и что-то мне подсказывает, что автор предвзято относится к теме :)

Хороший вуз обучает быстрее и качественней любых курсов. Например, у меня сейчас есть модуль по Java в университет. Каждую неделю у нас: лекции, групповые задания, практические лекции и само собой дз с дедлайном в одну неделю. Совершенно не понятно для меня, как заменить это все через онлайн курсы

И это боольшое заблуждение, что на 8000$ можно поехать на митапы и получить тот же нетворкинг. Когда ты находишься 24\7 в среде людей, которые горят своей профессией, когда у вас общие задания, общие проблемы — ну это совсем другой уровень нетворкинга, чем посещать конференции! Вуз дает погружение в информатику, а не просто навык писания кода
Сейчас есть весьма отвратительная тенденция, когда продажники курсов и разных сомнительных мероприятий подменяют «Мистер Х любит и способен самостоятельно обучаться, поэтому он неплох в своей профессии, ему университет не столь нужен» на «Почти любому университет не нужен, ведь он может совмещать самоообразование и курсы, он станет неплох в профессии». Первое утверждение весьма разумное, второе — весьма опасное.

Кроме того, не очень хорошо понимаю смысл перевода статьи о ситуации с курсами/универами в другой стране без комментариев о том, чем она отличается от ситуации в странах СНГ. Потенциально тоже неплохая ловушка.
Польза от высшего образования сильно зависит от доступных университетов. Я на свое высшее забил на 5м курсе (фактически перестал учиться еще на 3м), и тут нет ничего удивительного: люди, которые должны в дипломе числиться инженерами-программистами получали 1 (один) профильный предмет в семестр. Остальное история, политология, культурология и прочая дичь. Ассемблер и базы данных нам читали с бумажки люди, которые понимали в этом еще меньше студентов. Толку мне с такого высшего?
Помаленьку в силу интереса разбирался в программировании, поработал и продаваном, и ремонтером компов, потом таки устроился программистом. Было были у человека стремление и способности, а остальное приложится и без бумажки.
Добавлю и я свои пять копеек, при чем все в основном пишут про всякие сложные формулы, а я напишу о том, что видел сам своими глазами, итак заметил что разработчики без профильного образования, плавают по крайней мере молодежь во многих элементарных вещах. Например некоторые путают http и https, кто то не имеет понятия что такое DNS и для чего он нужен, не знают различии между ЛВС и ГВС, я понимаю они не сетевики, но основы то надо знать особенно в веб разработке, при чем при работе с образованными коллегами даже пускай и после колледжа, я таких проблем не замечал, особо меня сразил один молодой человек спросивший «а вы можете порты открыть на DNS». Я не шучу это реально было. Поэтому считаю что профильное образование желательно, оно все таки даёт какую то базу.

Вы считаете, что описанные вами знания нельзя (или сложно) получить без профильного образования?

Разве я это говорю?) Просто те кто учится сам по видео или по учебникам типа «С++ за 21 день» рискует получить поверхностные знания или не знать какие то базовых знаний

Вы говорите "разработчики без профильного образования, плавают [...] во многих элементарных вещах". С моей же точки зрения, есть разработчики, которые плавают в элементарных вещах, но вот с профильным образованием это коррелирует не очень.


(не очень у нас хорошо с профильным образованием на software engineering)

Вопрос на самом деле не имеет однозначного ответа.
Если будущий ИТ спец собирается быть просто ремесленником, просто выполняющим свой участок работы (трансляция исчерпывающего ТЗ в код, поддержание инфраструктуры), то ему вышка не нужна. Он научится на курсах/сам.


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


Ну и еще категория будущих ИТ спецов, которым необходима вышка, это те, кому нужен зримый внешний мотиватор для получения знаний в виде образовательного учреждения, принимающего экзамены и следящего за прохождением процесса обучения вплоть до контроля посещаемости. Но это уже совсем другая история. И работать такие ИТшники будут тоже только при наличии постоянно мотивирующего надзирателя, поскольку размера зарплаты раз в месяц им будет недостаточно для мотивации.

Если будущему ИТ спецу предстоит участвовать в создании ТЗ, заниматься экспериментальной разработкой для естественных наук

Вы же понимаете, что первым занимаются тимлиды и архитекты, т.е. люди с профессиональным опытом порядка 10 лет, а вторым — очень узкая ниша специалистов, которые сознательно выбрали свою специализацию?
В любом случае, это совсем не подходит под описание среднего разработчика. И при этом пренебрежительным термином «формошлеп и CRUDодел» среднего разработчика тоже нельзя адекватно описать. Между этими двумя крайностями лежит огромное количество компетенций, знаний, навыков, умений и должностных обязанностей которыми он должен обладать. Которые очень слабо пересекаются с «высшим образованием».
>> Модель «Учись, а потом работай у нас» может быть применима в отношении ко многим
>> сферам. Все это стало бы чрезвычайно полезным для огромного количества компаний.

Да-да. Давайте отнимем самые счастливые годы человека в пользу «огромного количества компаний» — пусть все начиная со старшей школы вкалывают в Сименсе, Боше и десятках других гигантов.

Когда я заканчивал школу в начале девяностых, и учился в их середине, для меня что 10-11 класс, что первые три курса института, были самым счастливым, самым отвязным, самым безрассудным, крышесносящем, беспорядочным и коммуникативным периодом жизни. Баланс между life / work (study) колебался ± 10% между 50/50.
И это было прекрасно. Внезапно сорваться в Питер на электричках. Или ночь напролёт в преферанс. Или лекции переписывать двое суток подряд. Или лабу сдавать сходу, и сдать.

Да, на четвертом-пятом курсе или уже наелся свободы-безалаберности, или просто за ум взялся, и там началась и реальная учёба, и реально серьезная работа. Но вот те пять лет между 16 и 21 годами — это то, что помню всю жизнь и буду помнить до самой смерти.

Давайте их отнимем у подрастающего поколения. Пусть вкалывают, черт возьми, на пользу себе, семье, корпорациям. Нефига им лоботрясничать учиться, по ходу дела, на производстве научатся.
Sign up to leave a comment.