Учить нельзя пропустить: Нужен ли IT-специалисту вуз



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

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

Skillbox рекомендует: двухлетний практический курс «Я — веб-разработчик PRO».

Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».

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

Это достаточно разумный ход со стороны университета, поскольку программирование — сфера, которая очень быстро меняется. Во времена, когда фреймворки JavaScript обновляются каждый месяц, если не еженедельно, как быть уверенным, что университет предлагает современные образовательные материалы? Видео — это, конечно, хорошо. Но ведь образовательные материалы я могу найти и сам, так ли важна мне бумажка, подтверждающая завершение университетского курса? Стоит ли все это того, чтобы тратить мое время?

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

Однажды я заинтересовался курсом программирования, который предлагал мне местный университет, причем весьма уважаемый. Речь идет о boot camp, я запросил материалы о лагере, и получил на свой e-mail все необходимое. После этого представитель университета спросил, во сколько бы я оценил boot camp. Я подсчитал, что годичная подписка на онлайн-курсы одного из известных ресурсов обойдутся мне примерно в $1000. Другие курсы, которые стоило бы пройти после завершения первых, стоили на тот момент $1200. Далее мое время, усилия и тому подобное. Я приложил к этому возможный профит университета, плюс затраты учебного заведения на ресурсы, которые тратят студенты. У меня получилось около $4000–5000.

Эту сумму я и назвал. Но оказалось, что реальная цена куда выше — около $12000. На мой вопрос почему ответ был: потому что ну, мы предлагаем нетворкинг с другими студентами, плюс наш университет весьма уважаем.

Но ведь я сам могу посетить сколько угодно конференций на те самые оставшиеся $8000. После этого я задумался над тем, зачем вообще нужны эти boot camp и прочие программы обучения.

Почему обучение такое дорогое?


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

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

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

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



Если посмотреть на статистику по разработчикам со Stack Overflow (здесь, здесь и здесь) то мы увидим, что лишь у половины из них есть степень бакалавра.

Здесь есть еще два момента, которые необходимо учитывать. 80% того, что вы изучите в колледже (университете), вам не пригодится. Кроме того, если говорить про образование в США, то студенты, чтобы обучиться, влезают в огромные долги.

Немецкая модель обучения


Здесь я вспомнил о модели обучения в Германии. Дети в школе могут фокусироваться на знаниях и опыте, который пригодится им в заранее избранном профессиональном пути (речь о старших классах). Около двух третей учеников старших классов заранее выбирает свой личный путь в профессию. При этом в Германии уровень безработицы среди молодежи ниже, чем в США.

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

Мне бы хотелось, чтобы больше технических компаний открывали такие программы обучения. Так, компания, которой нужны программисты, могла бы запустить собственный boot camp, предлагая затем работу лучшим из лучшим. Будут ли студенты такого курса покидать его время от времени? Да, но это не должно вызывать беспокойство. Куда более проблемной является ситуация, когда в компании работает человек, которого не интересует работа, которую он (или она) выполняет.

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

Кстати, похожую систему предлагают военные США. Я четыре года служил в ВВС, став специалистом по военным компьютерным системам. У меня не было опыта для того, чтобы выполнять квалифицированную работу, например, в информационной безопасности. С течением времени я получил необходимые навыки, причем самостоятельно. У военных нет времени (или желания) постоянно помогать вам. На вопрос «Куда воткнуть этот кабель» я получал ответ: «RTFM» («Read the f&%cking Manual»). На вопрос «На каком сервере я устанавливаю гипервизор» ответ был тот же: «RTFM».

Создайте собственные курсы для самого себя


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

Другими словами, учитесь самостоятельно. Например, когда я учился программировать на Python, я постоянно создавал приложения. Я программировал шаблоны и классы для Dungeons & Dragons. Я сделал генератор шуток. Я сделал «оригами-прорицателя» и много других приложений. Многие из них глупые, но, разрабатывая их, я получил необходимые знания.

Одним из вопросов, которые мучают новичков, стремящихся стать IТ-специалистами, является «Что начинать учить? С какой стороны к этому подойти?». Ответ: нет идеальной темы или сферы. Неважно, откуда вы начнете, важно, насколько глубоко вы сможете погрузиться в обучение.

Возможно, вы просто испытываете страх неудачи. Если так, попробуйте убедить себя, что вы лишь начнете, и если не получится, быстро все прекратите. А если все ОК, можно будет продолжить обучение.

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


Skillbox
327,00
Онлайн-университет профессий будущего
Поделиться публикацией

Комментарии 120

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

    facepalm

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

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

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

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

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

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

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

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

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

                      +1

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


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

                        0

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


                        Хотя если в JS фреймворк к фреймворку прикостыливать, то это все и не нужно, наверное.

                          0

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

                            0

                            Прям так дают, что вы потом рекурсию от индукции отличаете и понимаете, когда их можно применять, а когда — нет, или понимаете, как выразить в коде ложность (или как там bottom по-русски)?


                            Или оно ближе к древним грекам с натуральной дедукцией?

                              0

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

                                0
                                Ну, мне тоже хватало, а потом я упоролся вот этим вот всем, и понял, как много я упускал.
                                  0

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

                                    0

                                    Чуваки вообще без всякой связи с математикой тоже не факт что жалеют.


                                    А вот статистику я не люблю почему-то, но то такое. Говорят, кстати, Casella & Berger хорош для статов обычным технарям.

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

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


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

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

                              Я только себе объясняю :(


                              Мне ясно, что требовать от кастомного оператора сравнения, чтобы сортировка или мапа не сломались. Более того, мне сразу ясно, что за новый operator spaceship в C++20, и зачем там столько много порядков.


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


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


                              Знакомство с теоркатом позволяет лучше понимать линзы.


                              Знакомство с теорией типов вообще и CoC в частности упрощает написание кода на современном хаскеле, особенно тайп-левел-кода.


                              Да много чего.


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

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

                                0

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

                                  +2
                                  Ну, можно начать с:
                                  1. Первые два тома лекций по матлогике и теории алгоритмов 1, 2.
                                  2. Computational category theory.
                                  3. Маклейн, конечно, с category theory for the working mathematician.
                                  4. Types and programming languages, если вы компьютер сайентист.
                                  5. Type theory and formal proof, если вы логик.

                                  Ещё я себе отобрал (и пока не читал) Algebra: Chapter 0 и Categorical Logic and Type Theory, но там совсем хардкор.
                            –2
                            а то и больше, общего с гуманитарным знанием, нежели с точными науками

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

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

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


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

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

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

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

                                Но ведь ваше:

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

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

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


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

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

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


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

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

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

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


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


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

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

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

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

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

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

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

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


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

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


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

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


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

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

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


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

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


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


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

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

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

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


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

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

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

                                                                    Как видишь.

                                                          0

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

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

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


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

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

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


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

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

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


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

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

                                              0

                                              Приведите пример непроизвольного критерия.


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


                                              Либо я смогу подвести упомянутые вами критерии и под (пусть и достаточно сложную) модель человека.

                                                0
                                                Приведите пример непроизвольного критерия.

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


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

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

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

                                                  Требуемое кем?


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

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

                                                    0
                                                    Требуемое кем?

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


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

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

                                                      0
                                                      которая вытекает из необходимого времени реакции при управлении устройством

                                                      Необходимого кому?


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


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

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

                                                        0
                                                        Так можно очень долго продолжать, конечно, но в итоге окажется, что нет объективных критериев.

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

                                                          0

                                                          В контексте практик — да, конечно, и я об этом написал два комментария выше. В контексте нижележащей обоснованности методов и теории — вполне имеет.

                                                            0
                                                            В контексте практик — да, конечно, и я об этом написал два комментария выше.

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

                                                              0

                                                              А, я думал, вы об объективном (гы) смысле.

                                                                0

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

                                                                  0

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

                                                                    0

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

                                                                      0

                                                                      Кроме тождественно ложных.

                                                                        0

                                                                        Вы, наверное, имеете в виду какое-то свое понятие модели.

                                                                          0

                                                                          Да не, обычное для матлогики.

                                                                            0

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

                                                                              0
                                                                              Как и ты.

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

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

                                                                  0

                                                                  del

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                        … Фиг, с ним, с Навье-Стокса. Вот что мне делать, если у меня в коде баг с реализацией кодов коррекции ошибок, базирующемся на расширениях Галлуа?
                                          –2
                                          Учить физику и математику?
                                          В том смысле, что конечно, программирование основано на некоторых разделах математики (довольно базовых в большинстве своем), и есть некоторые области программирования, в которых требуется знание некоторых продвинутых разделов математики. Но это именно пересечение, а не знак равенства.
                                            –1
                                            довольно базовых в большинстве своем

                                            Вы, конечно же, имеете в виду основания математики?

                                              0
                                              Я имею в виду арифметику и булеву алгебру. Да и из последней в 99% случаев используется только равенство, отрицание, И и ИЛИ.
                                                +1
                                                Программирование основано не на арифметике и не на булевой алгебре.
                                            0
                                            Такое простое различие по-вашему: Учился в университете — программист, не учился — кодер?

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

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

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

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

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


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

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

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


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

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

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

                                                  FTFY

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

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


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

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

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


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


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

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

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

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

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

                                                        Но опять же, ведь можно избрать, например, другое направление и заниматся архитектурой сложных систем, всякими UI/UX дизайнами или же начать реально упарыватся по методологиям программирования и правильной огранизации кода. И честно говоря, мне кажется, что вуз не особо поможет в этих начинаниях, но потолок можно и повыше поставить.
                                                        0
                                                        >Если говорить предметно, то вам очень повезет, если в вашем банке таки будут автоматизировать расчет рисков.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

                                                              +1

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


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


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

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

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

                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                              Самое читаемое