Pull to refresh

Comments 603

А я не ожидала, что наhabre можно такие простыни выкладывать, даже не извинившись.. но автор супер, сработало "заблеван", может лучше от запоев кодировать ему?

простите, а за что извиняться?

А что Вы ожидали? Хвалебных опусов? Всё правильно написано. И то по верхам. Если углубиться, то можно ещё многое дописать))

Я сам учусь сейчас в подобном заведении. Там сразу декларируется, что в Дата Саенс математика не нужна, английский не нужен, техническое образование не нужно и т.д. Ну да, ну да. И кого чему мы научим?) Почему я учусь? Да потому, что у меня нужный бекграунд и мне нужен старт в нужном мне темпе (работу никто не отменял). Остальное - сам сам сам))

Я это к тому, что Вы весьма благородно и сдержанно написали)) Может и запилю по окончанию, если злой буду :)

А что тогда нужно-то?) какой-то суп из топора наоборот получается.

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

Осталось нераскрытым: кого в итоге на стажировку пригласили-то?

тех, кто успешно прошёл техническое интервью - вопросы по основам + решение задач. были и ребята-выпускники курсов.

А есть какая-нибудь статистика с каких курсов прошли, а с каких от ворот поворот? Понятно, что дело не только в курсах, но и в системности мышления претендентов и их желания копать глубже, но всё же.

Блин, я уже оплатил 2/3 онлайн-курса }8-(

Мне кажется, что ключевой момент (для вас на данный момент) из статьи - что научиться можно только самому.

Поэтому возьмите себе для примера любой pet-project (придумайте, присоеденитесь на github, подсмотрите на хабре....) и идите по нему, самостоятельно решая в процессе возникающие задачи.
А курс - воспринимайте как помощь (ну и если можно будет половину вопросов переадресовывать преподу - это хорошо, главное, чтобы 50% не превратилось в 100%)

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

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

Курсы, как и книги - некая альтернатива менторству. Грамотно составленный курс обучения творит чудеса. Собственно этим в свое время и славились вузы - программой обучения, где всё разложено по полочкам. Проблема с курсами/книгами сейчас - их много, а хороших среди них мало, у людей не хватает опыта для разумного выбора.

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

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

Всё, что я пытался изучать по книгам, я так и не освоил, потому что данные выдавались тогда, когда они не нужны и не интересны. Лучший способ изучать по-моему, это начинать делать что-то своё. Будут появляться вопросы и проблемы, в ходе их решения и придётся освоить всё, что нужно. Уже потом полезно пробежаться по какому-то полному описанию языка или библиотеки, чтобы закрыть пробелы и узнать новые возможности, уже понимая, где бы их применил.

UFO just landed and posted this here
Блуждание в двух соснах это ведь крайне полезный процесс. Даёт яркий и запоминающийся опыт, сильный стимул найти решение и после его нахождения появляется огромное чувство самоуверенности и понимание того, какие методы использовать в дальнейшем

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

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

Делать свое этого крайне мало, чтобы получить должность стажёра. Ну то есть ты будешь писать свой проект только для того, чтобы указать в резюме ссылку на него, потому что пользоваться им сам не будешь, все уже давно есть в Гугл плей, гораздо качественней твоей поделки. Но кодить, ты, конечно, научишься, без применения архитектуры, тестов, со скопированный со стаковерфлоу устаревшими решениями. Твой код будет работать, и ты будешь считать, что умеешь программировать, и даже сможешь сделать новый проект, пожалуй даже, любой проект, когда возникнет необходимость (только она не возникнет...) И вот, на первом собеседовании тебя попросят на время порешать задачки, а ты их и не тренировал даже, решить сможешь, но за недельку, а не 20 минут, как требуется, на втором, после успешного входного теста, тебя спросят о теории реляционных баз, а ты ее ни разу и не читал, хотя умеешь практически работать с базой в своем проекте, на третьем тебя попросят писать в прямом эфире код в блокноте, а ты на листочке кодил тысячу лет назад на Паскале ещё, а проект свой ты делал в Идее, и уже забыл как выглядят листочек с ручкой) Причем в вакансиях заявлялись минимальные требования, по которым, ты вроде бы проходил)) Это такой мой весёлый опыт собеседований;)

Спасибо, это лучшая формулировка связанных с «самообучением» проблем.

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

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

Это уже следующий этап, проверить свой код. А первое шокирующее открытие, это осознать, что язык ты не знаешь, его знает IDE, а ты мыслишь псевдокодом. А вот школьный Паскаль, которым тебя мучили на листочках, ты помнишь до сих пор, а в самоизученном «современном» языке ты допускаешь ошибки чуть ли не в каждом слове.

Я и в Паскале уже ошибки допускаю:) Более того если у тебя в работе используется больше одного ЯП, то в какой-то момент ты начинаешь путать синтаксис и/или написание отдельных названий.


То есть я однозначно "мыслю псевдокодом" и без IDE совершаю кучу "опечаток" которые компилятор не скушает. Но на мой взгляд в контексте тесктового задания это не особо то и важно. То есть если кто-то во время тестового/собеседования начинает ситнаксис языка проверять, то с такими лучше не связываться :)

и именно поэтому я всем новичкам советую для начала писать всё вообще в терминале или блокноте)

Как по мне, основное блуждание в двух соснах происходит в самом начале обучения, когда ты вообще ничего не знаешь. Но этому проблемы можно облегчить каким-нибудь бесплатным популярным курсом на Stepik'e.

Хороший курс можно кстати пройти по программе персональных цифровых сертификатов

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

Блуждание в двух соснах - это только одна из проблем. Ещё бывает проскакиваешь мимо какого-нибудь простого, но неочевидного паттерна/приёма/библиотеки/ets, и годами ездишь на самодельном деревянном велосипеде, а потом выясняешь, что в кустах за углом всё это время стоял отличный автомобиль.

От этого легко поможет понимание того факта, что всё уже придумали до вас.
Для людей с опытом работы программистом меньше 10 лет, это можно принять за аксиому. Просто ищете хорошо, тренируйте навык поиска.

Эта проблема обычно закрывается чтением чужого кода (в сложных случаях) или правильными запросами в поисковик (в простых). Для новичка очень важно научиться читать, а не только писать.
Тут, имхо, скрывается одно большое допущение: это все так, если цели ментора совпадают с обучающимся (сюда же отнесу достаточность времени на каждого обучающегося). А вот с вычислением этого фактора до покупки курса — большие проблемы.
Да, все правда. Жалко я не знал об этом раньше и заплатил в Skillbox 60 Круб.
Программы нет, обратной связи практически нет, уровень…
Отрицательные отзывы об этих курсах ловко забиты «положительными», отрицательные не проходят рецензию на отзовике и хабре.
Но недавно мелькнуло сообщение, что на базе этого лохотрона создадут еще больший лохотрон.
UFO just landed and posted this here

Уже есть площадка UDEMY, где за денюжку клиент покупает авторские курсы. Иногда очень хорошие, иногда плохие. Но, это авторские курсы, там разные люди и огромный выбор, конкуренция. Это не то, что бы надежный гарант качества, но хоть какой-то.
Вот эти площадки типа гикбрейнса, скиллбокса существуют за счёт лохов. И дело не полностью в мейле, а в том, что авторские, узкоспециализированные курсы единственный полезный и отнсительно честный формат. Но подозреваю, что площадка не так много с них зарабатывает, как могут заработать какие-нибудь скиллбоксы(в том числе из-за того, что на русском курсов купят меньше и авторов будет меньше).
На юдеми нужно прикладывать усилия к самообучению, а в лохотронах типа гикбрейнса или скиллбокса основной упор делается на то, что в тебя будто бы кладут инфу с ложечки + обещания золотых гор.

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

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

покупатель не может оценить реальное качество покупаемого, а только качество обложки или маркетинга

На Юдеми-то?

  1. Сразу смотрим количество студентов, записавшихся на курс.

  2. Смотрим среднюю оценку от студентов. Если она 4.5 или выше при большом количестве студентов, поставивших оценку (начиная хотя бы с тысячи, но есть курсы с сотнями тысяч студентов), то переходим к следующему пункту.

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

  4. Читаем и оцениваем содержание курса. Если выглядит удовлетворительно, то:

  5. Смотрим доступные для свободного просмотра лекции, оценивая способ подачи материала, качество материала, акцент лектора/ов (мне, например, некоторые разновидности акцента слушать очень неприятно). Если ОК, то:

  6. Если есть скидка, позволяющая приобрести курс за 15-20 долларов - берём. Если нет, добавляем в wishlist. На Юдеми очень часто делают массовые скидки, так что долго ждать не придётся.

Там можно вернуть деньги за курс в течение 30 дней. У меня там куплено несколько курсов (4 или 5) и примерно столько же я возвращал, потому что не оправдали надежд. Так что вопроса о том как узнать о качестве не стоит. Юдеми — прекраснейшая площадка. Я там даже пару курсов по рисованию нашёл для жены :)

Отличная площадка! Очень выручает, когда нужен годный курс по какому-то инструменту. Сейчас изучаю Эластик. Там не курс - а сокровище!

Сейчас изучаю Эластик
Зачем может понадобиться проходить курс по отдельному сервису? Не, я понимаю книжки про внутреннее устройство и техники для Advanced+ DBA или теория баз данных, но лекции для начинающих пользователей, как понимаю?

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

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

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

"Вот эти площадки типа гикбрейнса, скиллбокса существуют за счёт лохов", поэтому вот новая площадка UDEMY

GO-разработчик. Знаю людей, которые говорят, что на Go-разраьотчик pro и других то-же самое.

На Coursera есть отличный бесплатный курс по Golang от МФТИ

к слову от MAIL и МФТИ целый пак крутых курсов по WEB и DS, сам прошёл и сейчас к видосам возвращаюсь иногда, как к справочным материалам даже, если что-то запамятовал)

Где найти можно курсы? Спасибо заранее

посмотрите на Coursera по запросу погружение в Python например. отличный курс!

Подтверждаю. Отличный. Я окончил первую. А вот вторую не смог понять первого задания. Просто смысла того что делать…

+1

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

Простите, а есть ссылка именно на этот курс? Другое вижу, а именно этого- нет.

С нуля и сразу в Go? o_O

Ну, из предположения, что если бы не с нуля, то дело бы ограничилось тем, что тут https://golang.org/doc/, ну и может книжкой Кернигана и Донована.

Интересно, что мотивировало к покупке курса?

Ну-ну. Для того что бы этого хватило нужен довольно мощный бэкграунд. А если вы просто пишите на js и решили ознакомится с GO. Реализовали кое что, поняли, что как-то кривовато и решили, что вам могут помочь курсы, где у вас появится критик (ментор), где как надо расскажут профи в этом деле. Ну что они врут про трудоустройство и заработки это ежу понятно… Огорчило, что они врут про квалификацию лекторов… Знаний больше, чем от чтения книг не становится…

Ну да, если раньше не было опыта со статически типизированными компилируемыми ЯП, то сложности могут возникнуть. Я всё время забываю, что теперь начинающие пропускают Pascal/Delphi или на худой конец C++, на которых раньше объясняли информатику повсюду.

Дефицит профессионалов интересного мне профиля на моем месте работы. По книжке стать профи не получится, «Я так думаю...»
UFO just landed and posted this here

У них, мягко говоря, не получилось.

Достаточно почитать 50 shades of Go, чтобы понять насколько он неподходящий вариант для неопытного программиста. И отдельно стоит упомянуть подталкивание разработчика к постоянному велосипедостроительству из-за скудности стандартной библиотеки.

UFO just landed and posted this here
Ну не нравится Вам GO, не пишите на нем. Заставляют писать на нем, перейдите на другую работу. Зачем все поливать грязью. Назовите язык к которому нельзя предъявить претензии. И не успеете отправить коммент, как получите кучу доводов против. Смотрю ниже это уже прокомментировали. Здесь о другом говорят.

А где вы увидели поливание грязью? Просто для новичка это не очень подходящий ЯП. А его best practices расходятся со всей остальной индустрией.

Отвечайте нам, а то,
Если вы не отзовётесь,
Мы напишем… в «Спортлото»!


Выскажусь насчёт отзывов, которые «не проходят рецензию» на Хабре.

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

  1. Объективная аналитическая статья всегда пройдёт модерацию и её автор получит инвайт — мы неоднократно выпускали такие статьи о крупнейших игроках рынка.
  2. Модераторы Хабра руководствуются правилами сайта, которые доступы и даже просты.

Если у вас конкретно есть пример несправедливо отклонённой статьи по теме, пишите мне в личку, будем разбираться. А я вам расскажу, почему статья была отклонена.
У меня только одна цель. Дать серьезный отпор людям, которые делают бизнес на обмане. Явление описанное в статье захватило область IT образования и надо положить этому конец. Почему про финансовые пирамиды пишут, а вот про эти мошеннические курсы никуда не напишешь? Видимо потому, что эти же люди и рулят площадками, на которых можно оставить отзыв. Получается замкнутый круг. И Ваша ссылка на правила прямо указывает на это. Ведь что есть жалоба, а что есть факт решит «нло», которое может пригласить странных личностей, которые разведут холивар по поводу вакцинации и это входит в тематику хабра, а вот отвратительные курсы по IT критиковать нельзя… Ведь по договору все материалы курса собственность курса. И если я репну кусок феерической лекции, то на меня подадут в суд… А если я напишу что лекция феерическая мне скажут это не факт.
UFO just landed and posted this here
Что то великодушный цензор не хочет вступать в дискуссию о демократичности правил?

Так я же вам сказала: приведите конкретные примеры таких публикаций и мы будем говорить предметно. Вы свои публикации тоже не предлагали, поэтому мы с вами говорим о какой-то "цензуре" и каких-то "цензорах", которых на Хабре не было и нет :-)

И ещё раз: жалоба и объективный анализ качества онлайн-школы (курса, пирамиды, хостера, программы, компании...) отличаются. Вот пример: эмоционально, но объективно - не жалоба, а хороший разбор.

Вы как желаете, привести тайминги лекций в которой порят чушь, привести имена тех кто порит чушь, озвучить ответы руководителей. Так они среди вас. Они уважаемые авторы статей. Они вам деньги дают
UFO just landed and posted this here
В каком месте вы это увидели? Тут как раз наоборот: человек пишет что ему, как не имеющему профильного образования, не хватает «айтишных знаний» по сравнению с теми кто имеет это самое профильное образование.
UFO just landed and posted this here

>AcidVemon: Даю советы как не надо было делать.
Иронично, да :)

Много лет вспоминаю вот этот вот комментарий как прекрасную иллюстрацию о том, как реально народ «интересуется» новыми знаниями: vk.com/wall-120439707_43?reply=44
UFO just landed and posted this here

Хочу добавить, что подобная ситуация не только в ИТ, я например попал когда купил раскрученные куры английского.

С раскрученными курсами английского разная статистика. Четверо моих знакомых в одно время пошли на одинаковые курсы, от одной компании, но с разными преподами. Начальный уровень у всех примерно одинаковый. Двое продолжают заниматься уже год и неплохо подтянулись, двое ушли после 8-10 занятий жутко недовольными. Хорошо, что занятия оплачивать можно было пошутчно и даже вернуть деньги за оставшееся.

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

А в чем проблема заниматься английским самостоятельно?

Это в советские времена был томик Бонка и больше ничего. (На самом деле было кое чего, но как и всегда тогда, надо было приложить усилия чтобы добыть) А сейчас вообще не проблема - все решает чтение, смотрение фильмов/сериалов/ютуб каналов на английском.

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

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

Вот прям на больной мозоль наступили :).

Читаю почти без проблем, кино смотрю, но с субтитрами, потому что читаю. Говорить не могу от слова совсем. вот такой вот синдром щенка. Причем удивляюсь сам себе - все исключительно в одну сторону... Ну т.е. спросите меня как по английски `стол` - скажу, что не помню; спросите как переводится table - отвечу, конечно же стол.

Думал, что поможет с проблемой разобраться препод, купил индивидуальный курс очень раскрученной тетки, но блин, все ее обучение свелось к `учебник там, читай, что не понятно - спросишь`.

В результате зря потраченные (ощутимые для меня) деньги и сильная демотивация в стиле `наверное мне это не дано`. :(

Эта проблема очень хорошо решается карточным изучением английских слов (на одной стороне слово- на другом перевод), при котором надо прогонять слова не только с англ на русский, но и наоборот.

+ советую еще послушать англ подкасты без субтитров. начните с простых.

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

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

Я тоже кстати работал репетитором по английскому какое то время. Не факт что при развернутом ответе на этот вопрос они не упомянули бы словарные карточки.


Ну не знать 300-400 базовых слов после школы это вообще надо умудриться.

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

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

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

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

Гм, довольно свободно читаю техническую литературу, более менее без особых проблем листаю реддит. Видео на ютубе на какую то простую тему тоже более менее. Но песни… Песни это ад какой то. Хорошо если получается разобрать пару фраз из текста на слух. А бывает иногда что только несколько отдельных слов удается выцепить, не больше.
Но вообще грамматика важна. Если понимание английского какое то интуитивное у меня есть за счет набранного словарного запаса в 3-4к слов, то писать и говорить вообще не могу. Потому как грамматикой никогда не занимался. В школе английский считал бесполезным. На первых курсах вуза так же. А когда понимание пришло — уже английский не преподавали нам. Да и толку не было бы учить какие то темы когда никакой базы нет. Для меня до сих пор даже банальный present simple проблема великая. А названия других времен даже не помню, не говоря уж о правилах употребления и образования.
Имею опыт полугода курсов японского очных в группе из двух учеников, где последовательно нам давали как слова так и грамматику — абсолютно другие ощущения. Пусть и простые фразы и предложения, но мог кое как писать и говорить. Да и на слух как то лучше восприятие шло (правда тут нельзя исключать влияние 5к часов насмотренного аниме в оригинальной озвучке с русскими субтитрами).
Песни это ад
После нескольких лет практики разговорного способность понимать песни само приходит. Конечно, смотря какие песни. Некоторые песни (в том числе, попсу) и на родном языке сложно бывает понять. Имхо, по песням способность понимать на слух нельзя однозначно оценить, так как некоторые меломаны в детстве до дыр заслушивают и заучивают любимые песни (заодно учатся вычленять голос из какофонии звуков), а другие дети не особенно интересуются песнями (даже на родном).
на слух как то лучше восприятие шло
Японский фонетически более простой. Английский посложнее, тем более, что накладывается проблема использования множества схожезвучащих слов и несостыковка написания с произношением.
Ради интереса, еще можете сравнить с латиноамериканским испанским, в нем тоже поначалу довольно легко рускоязычным.
А вообще-то, сложно сравнивать два случая, когда «В школе английский считал бесполезным» и «5к часов насмотренного аниме в оригинальной озвучке с русскими субтитрами»). Наверное, если вам дать любимые аниме на английском, без субтитров, вы за 5к часов научитесь и песни понимать и говорить на английском :).
Самый простой вариант это на мой взгляд компьютерные игрушки. Во первых вполне себе есть и с озвучкой/субтитрами. Во вторых есть для любых возрастов, то есть можно найти и подходящие по уровню языка.

А разговорная практика великолпено получается в ММО в каких-нибудь интернациональных гильдиях :)

Карточки сокращают время на просмотры фильмов и чтение книг. Без знания слов время будет теряться на словарь. Нужно по карточкам ДО автоматизма выучить около 10000 слов и около 500 фразовых глаголов и их звучание. Подробнее объясняет Ягодкин. Я купил у него курс за $200 и не жалею

Ягодкины пусть идут лесом. Это как раз очень явный пример курсов-разводов. На хабре один уже утверждал, что после Ягодкина c «мнемотехникой» за три месяца выучит язык на C2.

Карточки — по сути дополнительный метод подкрепления и никак не может заменять полноценного обучения. Простым заучиванием 10к слов и 500 фразовых не дадут хорошего уровня, это типичный развод.

Я и писал, что это ЛИШЬ поможет чтению книг и просмотру фильмов. Я кардинально увеличил с помощью мнемотехники и по карточкам свой словарный запас. Купил "новый" словарь Мюллера на Озоне, стал просматривать - почти все слова я знаю. А написано - 40 000 слов! Я в шоке

писал, что это ЛИШЬ поможет чтению книг и просмотру фильмов
Так я вам и не противоречил, карточки вполне помогают, как дополнительный метод. Мой пойнт был в том, что обман Ягодкиных курсов состоит в подмене реального изучения языка — слепым заучиванием какого-то набора слов, при этом заувалировано все это под «мнемотехники» (хотя карточки — это обычное заучивание и повторение).
То что вы понимаете, что одних только заученных слов недостаточно и нужна практика (книги и медиа) — это ваша заслуга, а не условных курсов Ягодкина.

Я еще раз перечитал ветку и про карточки обсуждение началось с этого комментария:
Говорить не могу от слова совсем. вот такой вот синдром щенка.


Где в ответе предложили карточки как решение. Но в том случае, как раз человек пишет, что слова знает, но не может использовать в реальной жизни. И предлагать ему только карточное шаблонно-заучиваемое решение — не вариант, нужны другие подходы, поэтому последующее обсуждение эффективности/неэффективности карточек самих по себе, в отрыве от описанной проблемы, по сути, нелогично. То, что писал SaM1808 это весьма известная проблема и не решается простым заучиванием карточек. Да, повторение перевода на иностранный поможет, да карточки помогут, но совет слушать подкасты без субтитров, имхо, намного лучше.
В остальном, я с вами согласен, если заниматься с реальными материалами, карточки способны ускорить понимание текстов и медиа.

У Ягодкина кстати курс ооочень классный, сам проходил по запоминанию, огонь. Мой рекорд - 100 новых испанских слов за час.Через 2 месяца тренировок

100 новых испанских слов за час.Через 2 месяца тренировок
Что же в этом классного? Ягодкин в своих рекламках, как минимум обещает обучить разговорному с нуля за три месяца (sic!), а вы только все еще одни слова учите. Классность курсов ягодкина и подобных дельцов — явное заблуждение, реальным уровнем языка там и не пахнет. Курсы ягодкина — развод чистой воды, в них пытаются бессмысленное количество заученного выдать за качество.
Я вот тоже на java свободно пишу и читаю, а говорить не могу :)

Вам надо больше общаться с Java native. Лучше всего с JVM ведь для нее Java родной язык.

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

Рекомендую попробовать общение в нативами. Просто один приятный преподаватель, которые знает только английский, и общение с ним только на нем. Очень эффективно. А то ваш мозг натренирован на связи 'слово->перевод' и совсем не привык к обратной связи 'перевод->слово' (у меня была точно такая же проблема). И уж тем более без общения не будет связи 'смысл->готовая фраза'. За пару десятков часовых занятий ощутимый эффект понимания речи с учётом британского акцента. То есть примерно как стоимость небольшого курса. Никакого индивидуального "супер" курса, просто общение на любые темы и корректировка грамматики, если попросить. Причем какого было мое удивление, когда натив долго не мог проверить на соответствие моей фразы конкретному времени, потому что эти времена есть только в учебниках не для нейтовов, зато очень грамотно объяснял, как это звучит для англоговорящего и как фразу упростить или сказать по-другому. И все без страдания от заучивания.

Рекомендую попробовать общение в нативами. Просто один приятный преподаватель, которые знает только английский, и общение с ним только на нем. Очень эффективно.
Это очень эффективно только для уже сносно владеющих языком. Для начинающих преподаватель должен хорошо знать Ваш родной язык, чтобы уметь привести адекватные примеры и отличия. Заниматься сразу с носителем будет дороже и менее эффективно.
Русскоязычные курсы языков не нужны.

Можно начать на Duolingo (там вообще с ложечки кормят) до A1-A2, и после идти общаться на нормальные курсы. Необязательно с нативами. Можно с индусами или арабами. Или даже с русскими, но с оговорками. Основное условие — преподаватель «не умеет» говорить по-русски, ну и группа старается его не употреблять.

+1 к невозможности говорить по-русски, хочешь не хочешь, а как-то изъясняться придется.

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

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

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

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

Больше слушайте и пересказывайте.

Слушанье очень быстро научит вас воспринимать на слух то, что вы умеете воспринимать читая.

А пересказывание развяжет язык. Лучше пересказывать то, что прослушали на слух - тогда не будете каверкать слова. Если каждый день практиковаться в пересказывании по 20-30 минут то уже через 2 недели, почувствуете что вам стало легче говорить.

Общение с нэйтивами это конечно вообще круто, но оно доступно не только лишь всем.

Ну и общение с нэйтивами очень сильно выматывает ментально. Пересказы более щадащий режим обучения, и по моему опыту на пересказах учишься говорить ничуть не хуже чем от живого общения. А может даже и лучше, потому что когда общаешься, говоришь так, как можешь односложно - yes, no, ok, i don't know, thank you... А когда пересказываешь учишься говорить более целостные предложения. И стрессуешь гораздо меньше.

>>Слушанье очень быстро научит вас воспринимать на слух то, что вы умеете воспринимать читая.

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

Нудно, но помогает, читать книгу, и слушать аудиокнигу паралельно. При это послушал - стараешься прочитать так же. Но всё же произношение стоит отдельно ставить. Так как если ты всегда произносишь слово неверно, то гораздо сложнее потом его распознать на слух.

Очень спорно, слушать набор звуков не зная ни как он пишется ничего - ни к чему не приведет.

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

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

П.С. А вот сами по себе дети сначала учатся жестикулировать. И вот это они делают действительно сами по себе и даже вполне себе сами придумывают себе жесты для определённых вещей.

У детей сензитивный период, который закрывается после подросткового возраста. Поэтому взрослым учиться "как дети" совершенно бесполезно.

А как не бесполезно учиться взрослым?

Я после школы и института был на уровне pre intermediate. Не ходил ни на какие курсы, не занимался по учебникам. Только читал и смотрел видео. В словарь заглядывал редко, значение по большей части догадывался по контексту. А потом узнал, что существуют англо-ангийские словари, которые объясняют значение слова более простыми словами, и стал пользоваться только ими. Я и сейчас знаю кучу слов, значение которых понимаю, но перевод на русский вызовет затруднение, надо будет подумать, а какой же русский аналог у этого слова. Сейчас все тесты показывают либо upper intermediate либо advanced. Хотя учил я именно детским способом - не изучая язык, а просто пользуясь им.

Я был уверен, что если у детей получается изучить язык просто пользуясь им, то и у меня получится. Поэтому на мне этот метод и сработал. Просто мне повезло - я не знал, что у взрослых сенситивный период закрыт, иначе не стал бы так делать, ведь был бы уверен, что бесполезно.

А как не бесполезно учиться взрослым?

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

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

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

Устная речь - активная и пассивная.

Письменная речь - активная и пассивная.

UFO just landed and posted this here

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

Те, кто не занимается специально, обычно осваивают на уровне "сколько стоит" и "хеллоу". Пример Брайтон-Бич весьма показателен.

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

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

Не нужен вам настоящий педагог. Вам нужно инвертировать словарный запас. Для этого подойдет ЛЮБОЙ человек, который говорит на английском. И он должен делать то что вы ему скажете: обсуждать на английском интересные темы (о вас, о политике, о вашей работе, о ваших предпочтениях, об интересных фильмах - все что угодно, что вам нравится излагать).

У меня была та же ситуация. Мы с женой нашли купили репититора в маленькой фирме на двоих. Это были как обычно школьные училки. Первая была хороша - половину времени она таки заставляла нас заниматься учебным процессом, но не меньше половины мы беседовали на английском. Отпала по состоянию здоровья. Вторая не понравилась, отказались. Третья была неплоха, можно было нормально потрепаться, но уволилась. Четвертая сразу сбежала как только мы ей поставили ультиматум - никакого школярства, никаких учебников, главное - беседы. Потом нам фирма вообще выдала натива - бывшего канадского сталевара, который женился на белорусской девушке и жил здесь. Тому вообще было все равно о чем говорить - о машинах, о Канаде, о еде, о космосе и так далее.

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

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

Если все же хотите попробовать без репититора обратить словарный запас, есть еще один способ:

  1. Берете интересную книгу на английсокм.

  2. Копируете предложение в яндекс или гугл переводчик, переводите на русский.

  3. Не глядя в исходный английский текст пытаетесь произнести эту переведенную гуглом русскую фразу на английском.

  4. Смотрите исходный вариант - насколько он красивее и проще чем ваше убожество!

  5. Переходите к следующему предложению.

  6. Профит...

Причем удивляюсь сам себе - все исключительно в одну сторону...

Разве это плохо? Мозг отбрасывает ненужны наработки, так как голова не чердак. Даже если выучите, без практики всё забудется и в сухом остатке только потеря времени. Если будет потребность в обратном переводе, например, когда будете жить среди носителей языка, выучите понимание речи на слух и навык разговора. Вам, на данный момент, требуется только чтение текстов и прекрасно, прокачивайте навык.

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

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

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

Чтобы научиться самому писать и говорить, надо, как ни странно, самому писать и говорить. Сперва, конечно, писать. Можно вести что-то вроде блога на изучаемом языке, и вот тут если найти репетитора, который будет править ошибки — он будет очень полезен. Далее можно пойти сраться в чаты и форумы… вернее, что там у нынешней молодежи вместо чатов и форумов… «паблики в инстаграмме» какие-нибудь.

Это так не работает. Эти конкретные 5 сек могут быть просто неразборчивыми, которые и носитель языка узнаёт только по контексту.

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

Это так работает, я так учился, мне помогло. Разумеется, интервал в 5 сек. взят условно — речь о некоем минимальном смысловом сегменте, от запятой до запятой. Этот интервал будет расти по мере наработки скилла. Разумеется, если там попались такие 5 сек., что их нельзя разобрать, а можно только угадать — допустим, десять раз переслушал — нет, никак — то такое лучше пропустить и идти дальше.

Тексты типа «мама мыла раму» можно найти в аудио-курсах. Тут проблема разве что в том, чтобы найти курс достаточной длины, чтобы успеть дойти от простого до сложного.

Свинка Пеппа это самое простое и с идеальным Оксфордским произношем.

И дохренища серий - пока все просмотришь с beginner до upper intermediate прокачаешься.

Уберите субтитры. Для развития слуха хорошо подходит Дуолингво, особенно если все проговаривать.

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

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

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

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

Порнорассказы тоже неплохо заходят. Интересно и слова быстро начинают повторяться.

Это все из-за сильного перекоса в сторону восприятия английского по сравнению с воспроизведением. Решается только практикой говорения и перевода на английский. Можно использовать такой прием — прочитали фразу на английском, перевели, закрыли глаза, и переведенную фразу на русском стараться перевести на английский.

С месяц назад на Хабре была очень классная статья про то "как выучить английский".
//habr.com/ru/post/556696/

Почти со всем согласен.

UFO just landed and posted this here

«Всегда есть два, не больше, не меньше. Мастер и ученик».

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

Мне помогло , но я прибавил к этому решение задач на codewars, несколько пет-проектов плюс у меня был хороший бекграунд с С++. В итоге все получилось и я уже три года как джава-разработчик, но вклад онлайн курсов в успехе всего 5-10%

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

За свой 16+летний опыт в ИТ могу сказать вот что: если вы приобрели/пошли/купили курсы, то в 99.99999% из Вас ничего не выйдет. Сорян, но это именно так работает. Из тысячи "курсовиков" только один не отравлен стереотипом "программисты получают 100500к/сек" и реально хочет программировать, остальные идет на курсы потому, что "я работал сварщиком, щя схожу на курсы и через полгода буду получать 200к/день программируя на яве"(это прямая цитата кстати). Я видел таких десятки, буквально. Я за свою карьеру ни разу не встретил успешных "курсовых" программистов, ну то есть да, я встречал ребят которые что-то после курсов умели, но практически никто из них не остался в ИТ.

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

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

Но да — есть бэкграунд — к.ф.-м.н.

Ага и после этого кто-то заявляет, что математика для программиста не нужна.

Подавляющая часть математики не нужна, а та, что нужна, нужна узко в узких областях

"Математику уже затем учить надо, что она ум в порядок приводит." (М.В. Ломоносов)

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

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

Ну, об этом ещё Козьма Прутков писал: "Специалист подобен флюсу: полнота его одностороння"

Интересно, сколько людей, слышащих эту фразу, знало, что за флюс подразумевался. Материал для пайки? Болезнь ротовой полости?

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

UFO just landed and posted this here

Да уж. Баночки с водой для заряжания Чумаком ставили не только крестьяне, но и доктора наук.

"высшая математика убивает креативность" (Министр образования Фурсенко) irony

В Data Science только математика и нужна) Причем на высоком уровне. Умение программировать в DS - опционально. Оно необходимо если речь идет о позициях Data Engineer, но многие путают эти 2 разные роли.

UFO just landed and posted this here

Согласен с комментарием, но и Вы правы. Будем честными и признаем типовые задачи DS - это ни разу не rocket science. И лишь избранные допиливают условный GPT 3 или решают аналогичные по сложности задач.

Кудаж в DS без математики…
UFO just landed and posted this here

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

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

UFO just landed and posted this here

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

Когда я N лет назад занимался машинным обучением, мне нужна была одна математика. Если бы я занимался 3D-графикой, мне нужна была бы немного другая математика (немного пересекающаяся, конечно, но всё же).

Ну-ка, ну-ка. Какие именно разделы математики?

UFO just landed and posted this here

Аналитическая геометрия, вариационное исчисление были в наборе обучения вашего ВУЗа ?
Напомните еще ВУЗ и годы обучения.

UFO just landed and posted this here
давайте скажем, что для программирования нужно образование. Чем более серьезное программирование тем фундаментальней образование.

Вообще нет. Я не знаю как это правильно сформулировать, но у кучи людей в головах огромные проблемы уже на уровне базовых логических конструкций. Т.е. вот перед тобой класс, 30 человек. Из них объяснение простейших вещей сходу поймет 1-2, еще пятерым можно втолковать, показывая примеры на пальцах. Остальные — безнадежны. Т.е. да, их можно натаскать используя дрессировку, но и результат такого обучения — я думаю, понятен и не может быть использован в профессии программиста.


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


Ну а дальше эти вот 90% неспособных идут на курсы...

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

После такого опыта релаьно сложно воспринимать кандитатов "после курсов". Человек вроде даже что-то знает, вроде пишет, но логика в действиях часто отсутствует. База нужна и это очень много жопочасов.

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


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


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

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

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

Работает, почему нет. Хорошие исполнители везде нужны. Рынок такой, что джунов после курсов сметают, а тут человек, который в теме. Если он еще и обучаем - это же золото, а не работник.

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

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

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

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

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

В физике достаточно математики. И физикам и математикам дают степени физ-мат наук без разделения.

Я мог там написать вместо математики - физика и смысл бы не поменялся, но точно так же набежали бы "пту-шники" и начали бы доказывать, что физика не нужна.

Это в общем-то извечная проблема. Почти любой выпускник физ-мат класса скажет, что биология, география, литература и химия бесполезные предметы. Студни, к счастью, уже чуть менее категоричны. Хотя достаточно открыть стандарт университетского образования где будет написано, что в вузе человек получает универсальное образование (далее раскрывается что это).

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

… мой небольшой поток сознания...
Я мог там написать вместо математики — физика и смысл бы не поменялся,

В математике отсутствует наполнение — потому-то Data Science как направление и существует — пофиг что анализировать — покупателей билетов в кино или количество воробьев на ветках. А на практике (случай из жизни) может оказаться, что датчик чего-нибудь грубый/медленный/случается зашкал, поэтому данные которые прислал заказчик никуда не годятся, и надо вначале им переделать всю систему, и тогда только будет иметь смысл какая-то обработка. Это скорее инженерные вещи, но в физическом эксперименте с таким сталкиваешься постоянно.
У меня есть знакомая (математик) которая искренне не любит физику — типа презренная материя… фу.
Почти любой выпускник физ-мат класса скажет, что биология, география, литература и химия бесполезные предметы

К счастью почти. Я вот так не скажу. )
Насчет биологии — в школе она преподаются в очень упрощенном виде, я бы сказал, а дальше (увы!) физики/математики оказываются оторванными от биологов/медиков. А там очень сложно и интересно. Это я по опыту общения с МГУ-шными биологами.

Биология в школе преподаётся в постулативной форме, почти без попыток разобраться в сути изучаемых явлений. Ну конечно, нужно быстро пройти упрощенное строение 100500 видов организмов, а время ограничено. Плюс, зацикленность на программе приводит уже к деградации знаний некоторых учителей до такой степени, что они не в состоянии объяснить, например, что такое осмотическое давление (просто называют термин).

Не, не 99.99999% , но 95% - точно. 50% отваливаются еще на этапе изучения конструкций языка. И да, - классика: "Мне обещали, что курсы с нуля, а я все еще ничего не понимаю.", "Ниабъесняют(sic!). Нипанятна"(C), "Машелники, а не курсы!"(С). Откуда это? Из группы в Слаке кое-каких курсов. По Джаве, кстати. Фактически, у людей было ожидание - "Вот сейчас я забашляю, и меня внесут в ОйТи. Раз я деньги плачу, значит, думать почти не надо." Я видел студентов, которые к середине курсов, набирая код уже в Идее, не могли найти не в том месте поставленные скобки, прося разобраться в коде типа такого:

public static void main(String args){}

System.out.println();

итд

И это через три месяца изучения чисто синтаксиса!

В итоге, из группы в 45 человек до финала дошли что-то то около 3-4. На момент окончания курсов они уже работали джунами или стажерами. У них у всех был достаточно серьезный бэк. Кто-то на 1с что-то пилил, кто-то на JS. Т.е. люди в основном, просто переучивались в такой вот форме.

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

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

А чтобы за чтобы за месяц такой навык с нуля приобрести, желательно весь месяц только этим заниматься

К примеру, видя конструкции вида «левые (которые не правые (центристов тоже надо исключить)» мне прямо кричать хочется про отсутствие второй закрывающей скобки, а для гуманитария всё норм.
Мне кажется, это уже «слишком гуманитарий» (в плохом смысле), обычные останавливаются на поглощении вложенных кавычек в конце названий (говорят, для вложенных лучше использовать другой вид кавычек).
А особо занудным гуманитариям может не понравиться как раз ваше предложение: «видя..., мне кричать хочется» (деепричастный оборот в безличном предложении), хотя даже у писателей такое вполне встречается (и, вероятно, скоро уже сделают нормой, если не будут зубами держаться прескриптивизма).
UFO just landed and posted this here
UFO just landed and posted this here

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

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

Если Вы владея одним ЯП не в состоянии прочитать первые 10-15 страниц документации другого ЯП без помощи курсов/учителя/ментора, то у меня для Вас очень плохие новости.

Прочитать - да легко. Вопрос именно в восприятии. Тем более, когда переходишь с ПОП в ООП. + хороший курс поможет сократить в разы то время, которое понадобится на то, чтобы "врубиться" в основы.

И сильно вам поможет знание условного Паскаля в освоении Форта или Лиспа?

На форте или лиспе пишут иероглифами? Других причин не вижу.

Освоение любого ЯП - это формирование нового образа мышления. Если оно есть, конкретный синтаксис, операторы, даже парадигма языка - не препятствие.

Если ты научился рисовать красками и кистью, сможешь рисовать карандашами, фломастерами, мышкой в редакторе и пальцем на планшете.

UFO just landed and posted this here

Очередной перелицованный Алгол

Программирование микроконтроллеров очень сильно будет отличаться от веб-программирования. А переход с Python на Haskel предварительно требует кардинальной перестройки мышления!
Дайте классическому художнику тату машинку и посмотрите что он там натворит без серьезной специализированной подготовки.

Образ мышления при ПОП и ООП одинаковый?
Мышкой в редакторе рисовать - совсем не то, что карандашами и фломастерами, там даже движения руки другие для рисования одного и того же. Поэтому, чтобы РИСОВАТЬ мышкой - надо потратить время на переучивание, на создание новых "рефлексов". Специальные планшеты поэтому и сделали, которые "имитируют" рисование, потому что разница коллосальная.

Если речь о каком нибудь 1с и java — то хватит пары книжек чтобы переучиться. Мне вот помог такой переход макконел совершить, хотя он в своем совершенном коде не очень то о java писал, скорее об общих принципах. Ну еще дядушка боб с его чистым кодом/чистой архитектурой. А дальше ознакомился с синтаксисом, sdk, библиотеками и вперед на новую работу, клепать на java/kotlin.

Конечно, сильно.

Даже знающему 1С человеку легче будет изучить JavaScript, чем не знающему.

Все же разница между Паскалем и ЛИСПом качественно иная, нежели между JS и 1C.

Примерно наполовину. Это ведь все императивные языки и большинство конструкций у них одинаковые.

UFO just landed and posted this here
Agda, Idris и Coq — не языки для промышленной разработки.
Они больше представляют исследовательский интерес.

Мне всё понятно, но у меня Haskell бэкграунд.
Функциональщина — не сакральное знание, ее можно понять, например, по этой книжке с картинками.
UFO just landed and posted this here

Вот прошёл курс хаскеля на степике и теперь вот уже с виду стало гораздо понятнее, что там написано. И на это меньше месяца потребовалось, а уж за год, если необходимо, можно довольно глубоко в теме разобраться, если просто планомерно все это изучать.

UFO just landed and posted this here

Давайте ограничимся "топ 10(20?) языков по популярности гитхаб" и тогда вопрос будет снят. Обычно подобные вещи выводятся из контекста квантора универсальности, но если буквоедствовать то можно и дописать)

у меня для Вас очень плохие новости

Никаких новостей. Программирование это прежде всего практика. Нормальный курс это кусочек теории и задачи, много задач. Следующий кусочек, много задач. Книги/доки читать бессмысленно. Не влезет в голову всё сразу. Надо практиковаться. Глаза учатся читать код, руки - писать. Голова понимает как это работает.

Уже знаешь циклы - хорошо! Сделай по паре задач по каждому виду и иди дальше. Испытываешь затруднения - долби пока не вникнешь. Здесь курс с дозированной теорией и правильно подобранный набор задач очень помогает. Книги хороши, но там нет задач или их мало и нет валидатора, который укажет на ошибки, и нет сообщества, которое поможет преодолеть тупняк. Документация по языку - это вообще формальное описание, справочник. Она полезна когда уже всё знаешь. На стадии обучения она практически бессмысленна.

 первые 10-15 страниц документации другого ЯП

На этих страницах уже есть фреймворки (основа любой коммерческой разработки). Шаблоны? Лучшие практики? Взаимосвязь с другими языками? Есть? Ну тогда да, 10-15 страниц достаточно.

Поэтому учиться нужно с утра, пока "мыслетопливо" еще есть.

Кому как. У меня вот голова обычно, наоборот, ближе к вечеру более эффективно работает

Сова? У меня так было в университете. С утра борешься со сном на парах, зато вечером допоздна за компом )))

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

Имхо, ЯП (как синтаксис) вообще самая простая вещь, которую только можно выучить в ИТ.

Так вопрос не в синтаксисе...

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

Машинное обучение в медицине. Плодотворная и полезная тема.

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

Главный навык — учиться учиться. Соответственно как челвоек выше написал, если понадобился курс -> проиграл.


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


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

Давайте познакомимся - я сам грежу о том, чтобы когда-то когда я вырасту стать медико-айтишной звездой) В своё время взахлёб прочитал книгу Стэнтон-Гланц Медико-биологическая статистика, но уже всё забыл(( Как же это круто то, о чём вы говорите! Сам думаю об этом постоянно - совместить карьеру из прошлого с нынешней.

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

Понимание определенной предметной области даёт Вам фору в несколько порядков. Оптимальное развитие - искать в ее рамках новые подходы, решения, инструменты и развиваться соотв. Биолог - слишком широкий термин, не могу сказать что Вам конкретно подходит, но попробую сказать пример, может натолкнет на мысль. Например, если Вы занимаетесь биомедициной то можно попробовать "моделирование", например femlab, в котором смоделировать воздействие лазера на биоткань (какую-то понятную Вам задачу), анализ данных есть в нем же, тут больше вопрос к смыслу анализа данных и какие они, если "плоские" то можно вообще тупо отдельно поиграться с Питоном и его возможностями, для начала хватит и видео с Ютуба. Можно конечно и на курсы сходить, но сдается мне, что с имеющимся опытом по анализу данных Вам на них нужен будет только синтаксис, ну и возможно узнать про конкретные библиотеки, а с этим проще самому разобраться.

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

Соглашусь со всем вышесказанным.

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

А научить человека невозможно. Ему можно помочь научится при условии что он четко знает чему именно он хочет научиться.

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

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

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

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

Спасибо! Подписываюсь под каждым словом! Проверено на себе - когда уходил с нелюбимой работы, поступило предложение на зп в 2 раза выше той, с которой уходил и я даже не думал соблазняться. Потому что знал, что работа только лишь ради денег - временное средство. А потом опять будут страдания.

 если вы приобрели/пошли/купили курсы, то в 99.99999% из Вас ничего не выйдет

Аха-аха, а программисты - они прямо из вакуума конденсируются, в готовом виде и сразу с 2^4 лет опыта.

Соглашусь с вами. В программировании без навыка самообучения делать нечего.
Бесплатных и недорогих (типа книг) материалов полным полно.
Для ускорения можно найти ментора, за консультацию с которым вы будете платить 2-3 тыс/час, и тогда там будут действительно вопросы, которые сложно решить самому)

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

В чём-то согласен. В чём-то нет. Автор не ссылается на законы?.. Он их знает хоть как-то?

Государство не успевает регулировать самые новые вещи.

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

Инфошум и инфоцыгане есть. Это не чьи-то галлюцинации.

Коммерческая тайна есть во многих странах.

http://www.consultant.ru/document/cons_doc_LAW_48699

В РФ есть лицензирование и статья в УК РФ

http://www.consultant.ru/document/cons_doc_LAW_113658/6a4a5b5468ba8b99831699f7d048d2a5d7710610

http://www.consultant.ru/document/cons_doc_LAW_10699/cc12ef68af6f5296cb8a9dad10ca87865d02f12f

не успевает. да и не может и не должно успевать на самом деле. и это отдельная боль. именно поэтому у нас онлайн-школы готовят по таким направлениям, которых ещё нет в вузах. и это паршиво.

Давайте государство не будет лезть в не-жизненноважные отрасли, его и так слишком много везде.

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

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

Конечно тешить своё ЧСВ тем что преподаватель называет себя Синьёр-Помидор - это приятно. Но практического смысла в этом нет никакого.

Сейчас каждый второй называет себя сеньером)
Автор в 2015 начал изучать программирование. Год ничего не получалось, потом он начал изучать питон. Предположу, что только к 2017 он стал джуниор разработчиком. Считаю, что для обучения 500 человек нужно минимум года 2-3 года. То есть получается автор с годом-двумя уже начал преподавать. При этом автор говорит много о том, что другие преподаватели не компетентны.
Мне кажется это неправильно.

Можете конкретизировать, что именно вам кажется неправильным? Я не говорю о том, что вот в этом конкретном месте преподаватели некомпетентны. Я предположил, что есть определённая ситуация с ними, а так же расписал воронку отбора "идеального преподавателя" и сопоставить её с реальностью, когда, судя по тому, что я слышу от знакомых HR, сложно найти просто толкового разраба в штат

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

мне нечего вам на это ответить. с одной стороны - вы правы и я это в какой-то степени принимаю. с другой - подождите-ка, а где вы видите то, что я написал, что начал изучать программирование в 2015?)) Лично я вижу вот что:

Сам я начинал свой путь в IT в 2015 году, когда начал кошмарить себя по Java

ну то есть я начал изучать именно инструмент. А именно - язык программирования Java. если по-существу, то:

во-первых преподавательский опыт у меня имелся ещё до прихода в IT.

во-вторых я преподаю всё-таки не программирование, а вполне конкретный инструмент.

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

моё образование - техническое. если человек преподаёт математику, имея при этом образование радиоэлектронщика это почему-то мало кого смущает. аналогично как мой друг с ИТ образованием преподаёт в частном порядке физику детям и они потом ЕГЭ сдают успешно, хотя он не физик.

отсюда имеем "в-третьих" потому что важно ещё ЧТО преподавать и КАК преподавать. если мы говорим о криптографии каких-то высоких и узких порядков, тогда да, наверное вам нужен будет мегаспец из этой отрасли со знанием тонких моментов. но если речь идёт о базе (а именно на этом в том числе я делаю акцент в данной статье), то преподавать её может тот, кто а) знает её. б) имеет преподавательский скилл. в) хочет преподавать то, что знает

в хороший я преподаватель или нет - судить не мне. на это есть отзывы моих студентов прежде всего.

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

подождите-ка, а где вы видите то, что я написал, что начал изучать программирование в 2015?

Это однозначно следует из фразы "я начинал свой путь в IT в 2015 году". Если вы начали изучать программирование раньше, то поставьте соответствующий год. Но по факту это всё не очень важно. Важно сколько у вас за плечами лет коммерческой разработки. Вы же планируете обучать людей не сдавать ЕГЭ, а работе программиста?

я преподаю всё-таки не программирование, а вполне конкретный инструмент

Нифигасе поворот. Курсов по сферической Java в вакууме я ещё не видел)
Я надеюсь, вы хотя бы понимаете, что знать какой-то ЯП, не умея программировать, - это довольно бесполезное знание.

речь идёт о базе 

Проблема в том, что границы базы - вещь расплывчатая. Для кого-то база - это Кнут, для кого-то SICP. Одно очевидно - чтобы устроиться даже джуниором одной базы маловато будет. Да и на курсах базу обычно не дают, там скорее синтаксис какого-то ЯП и пару библиотек.

P.S. Преподавательский опыт - это хорошо. Уметь и преподавать - действительно 2 разных навыка. Но в идеале должны присутствовать оба.

Вы сейчас, как бы это сказать, "пристаёте к столбу") При всём уважении. Однозначное следование из фразы - это вопрос восприятия моих слов конкретным человеком и только. В данном случае - вами, что же тут поделать) Да, в 2015 году я решил, что брошу работу и уйду в IT - это была моя отправная точка, а не то время, когда я в первый раз открыл учебник по информатике.

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

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

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

Обучать работе программиста и обучать работе программиста на вверенном мне куске ответственности - не одно и то же. Не я придумал эту систему.

У нас с вами нет противоречий так-то, именно об этом и была моя статья в том числе.

Курсов по сферической Java в вакууме я ещё не видел

А вы попробуйте купить отдельно курс по Java в какой-нибудь онлайн-школе, а не целым пакетом, вот удивитесь-то методическим пособиям)

Я пришёл и поделился своим опытом, который переосмыслил и превратил в статью. Выводы из всего этого я для себя уже сделал давно.

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

p.s. будьте спокойны - у многих моих друзей и знакомых овер10 лет опыта коммерческой разработки :D, так что они всегда дадут по рукам такому малограмотному, как я если что :D

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

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

Это как обучаться арифметике и при этом нанимать себе доктора математических наук. 

Погодите. Арифметика в данном случае - это школьный учебник по информатике. Его можно за условные 300 рублей купить и читать сколько влезет. Если мы говорим о трудоустройстве, то это минимум введение в матанализ в вашей терминологии.

А вы попробуйте купить отдельно курс по Java в какой-нибудь онлайн-школе, а не целым пакетом, вот удивитесь-то методическим пособиям)

Спасибо, обойдусь.. Уж как-то без курсов около 20 ЯП освоил, на 8 из которых уже программировал на коммерческой основе. Так что их курсы я буду смотреть, только если они мне заплатят за их критику))

будьте спокойны - у многих моих друзей и знакомых овер10 лет опыта коммерческой разработки :D

Ну ok. Значит есть шанс, что это не превратится в очередную ветреную мельницу против которых вы боролись :D

Спасибо! Я не подведу))

По вышеописанному - со всем согласен)

Меня несколько раз приглашали преподавателем на iOS-курсы (опыт, к слову, только в iOS 12 лет). Там платят копейки (около +$300 в месяц) за кучу геморроя и постоянную связь со студентами, соответственно и идут туда вчерашние студенты, которым сильно хочется почувствовать себя по другую сторону кафедры.

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

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

Такие вот курсы.

Я работал преподом в школе программирования для детей и считался одним из лучших преподов. На тот момент у меня было 3 месяца опыта (правда по 8 часов в день).

пришлось даже репетитора нанимать

ИМХО репетитор это очень хорошо — это называется ИНДИВИДУАЛЬНОЕ обучение.

Основной посыл статьи: у автора подгорает, потому, что конвейер выпускает некомпетентных специалистов.

Однако альтернативы предложено не было, а те самые специалисты-мастодонты, которые в отрасли уже много лет и знают всю базу и владеют огромной экспертизой, наверняка приобретали ее еще в те времена, когда IT не было так перегрето, как в последние лет 5.

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

Однако альтернативы предложено не было, а те самые специалисты-мастодонты, которые в отрасли уже много лет и знают всю базу и владеют огромной экспертизой, наверняка приобретали ее еще в те времена, когда IT не было так перегрето, как в последние лет 5.

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

Это каждый должен решать для себя. У нас на потоке и 30-летние были и 40-летние и даже один «дедушка» ходил. И никто ни на кого вроде бы косо не смотрел.
Могу личные ощущения описать, если вам интересно — когда мне было 19, то да, косо посматривал на ребят 22-23 лет, которые к нам после техникума и работы на заводе пришли доучиваться.
Но сейчас мне 37, и абсолютно побоку, как на меня 19-летние посмотрят.

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

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

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

И я бы сказал что если вы где-то и найдёте нормальные курсы по «войти в ИТ», то скорее всего окажется что они тоже требуют много времени и стоят кучу денег.

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

И вроде бы никто не мешает и сейчас пойти в более-менее адекватный ВУЗ и получить ровно то же

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

Ну значит проблема нерешаема. Хотя тогда я не особо понимаю что теперь делать с людьми которые всё-таки умудряются получить второе высшее.

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

Один мой друг закончил МФТИ, решил что ему мало, пошел на мехмат МГУ.

Во-первых: я, например, с трудом представляю, как я буду учиться на дневном отделении, имея семью и работу.

Во-вторых: профильная вышка - это 4 года до диплома, да и после выпуска ты еще не готовый специалист. Тратить 4-5 лет и дофига денег (минимум полмиллиона на 4 года обучения) на то, чтобы просто войти в профессию? На джуновскую зарплату? В возрасте 35+ лет? Да еще с учетом множества курсов, которые предлагают то же самое за кратно меньшие деньги и время? Нет, спасибо.

В-третьих: профильная вышка, как ни странно, нифига не профильная, она не даёт никакой специализации, а область знаний избыточно широка: там тебе и мат. анализ, и всякое "в нагрузку" (у меня, скажем, были и психология с философией, и физика, и органическая химия... зачем это всё молодому будущему специалисту - я понимаю, а вот человеку в возрасте - уже не очень), а вот именно профессиональным навыкам уделяется преступно мало внимания, что означает, что после вуза ты максимум сможешь пойти работать стажером за 20к/месяц.

Решение я вижу в курсах профессиональной переподготовки при вузах, где, скажем, за 1-2 годичный курс уже работающий специалист с высшим или средним профессиональным сможет получить необходимые профильные знания. Чтобы побольше теории, чем на курсах (но только самой необходимой - типа CS), и поменьше практики - её потом добрать можно на дополнительных курсах или уже на работе.

Во-первых: я, например, с трудом представляю, как я буду учиться на дневном отделении, имея семью и работу.

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

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

Более того сейчас стало гораздо проще и учить и практиковаться. Ну по сравнение с теми «старыми-добрыми временами» когда это делали «мастодонты».

те самые «специалисты-мастодонты, которые знают всю базу и владеют огромной экспертизой» стали таковыми потому что они много учили и много практиковались

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

И да, то что хорошо выпускнику школы/армии, совершенно не годится для 40-летнего свитчера.

Они учили и практиковали то что им не преподавали в ВУЗе (веб и прочую джаву например).

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


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


Помог ли им ВУЗ? Да, конечно. Стал ли он определяющим в их становлении? Конечно нет!

Ещё раз вернёмся к комментарию, которому я возразил:


а те самые специалисты-мастодонты, которые в отрасли уже много лет и знают всю базу и владеют огромной экспертизой, наверняка приобретали ее еще в те времена, когда IT не было так перегрето, как в последние лет 5.

Так вот "в те времена" база приобреталась в ВУЗах. И это спокойно можно делать и сейчас. Если есть более оптимальные способы это сделать, то значит это стало ещё проще. Но в любом случае ВУЗы никуда не делись.


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


То есть на мой взгляд "мастодонтам" не было проще в "те времена, когда IT не было так перегрето, как в последние лет 5". Если уж, то пожалуй даже им было сложнее.

Я не против того чтобы люди учились в ВУЗах на ИТ-специальностях. Я против того чтобы отказывать в профессии всем остальным. И курсы здесь - единственный путь переучивания на новую профессию. Так же как в других областях. Если человек работал водителем, а захотел стать швеёй - глупо отправлять его в швейное ПТУ. Среднее образование у него уже есть. Ему достаточно освоить швейную технологию, а для этого не надо 3 года учиться.

Ещё раз: курсы - единственный путь. По книгам учиться - не вариант. В книгах нет практики (в том виде в каком она есть на хороших курсах). Книги нужны, но потом - для заполнения пробелов. Когда ты читаешь уже понимая практически всё и выясняя для себя подробности, то что было упущено ранее.

Кто будет организовывать курсы? Ну тут я, конечно за ВУЗы. Они профессионально занимаются обучением и лучше любого синьора знают как донести знания до среднего васи. И говорят что они что-то такое устраивают, но я ничего интересного для себя не нашёл. А на степике - нашёл, и в жавараш нашёл. Допускаю что я всё сделал неправильно и мне надо было потратить 5 лет вместо 1. Но моя цель достигнута: база есть, работаю, пилю проект. Можете презирать, мне deep purple :)

Я против того чтобы отказывать в профессии всем остальным.

В каком месте я предлагаю это делать? Сейчас в ИТ действительно есть место почти всем и с абсолютно разными уровнями подготовки.


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


Ещё раз: курсы — единственный путь.

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


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

если кто-то хочет стать "как мастодонты" ... то скорее всего ему придётся как минимум потратить на всё это столько же времени как они

Конечно придётся. Вопрос как он это время будет распределять. Будет он учить философию/политэкономию/научный коммунизм/матан/паскаль, а потом переучиваться на вэб-разработчика или относительно быстро освоит основы сразу на примере Java/SQL/JavaScript и потом много лет, так же как они, будет качать профессию, учить лучшие практики, слушать семинары лидеров профессии, пилить проекты и т.д.

Ещё раз. Мастодонты вынесли из ВУЗа лишь малую часть профессии, а всё что к ней не относится выкинули и забыли. А большую часть они освоили сами. Поэтому если "Три источника..." ты и так уже знаешь, то нет смысла проходить весь их путь, надо сразу начинать упарываться по Java.

Конечно придётся. Вопрос как он это время будет распределять. Будет он учить философию/политэкономию/научный коммунизм/матан/паскаль

Скажем так: я пережил это в 90-х и "качество" тогдашнего ИТ-образования в доступных мне российских ВУЗах была одной из причин уехать получать ВО зарубежом. Но как-то хотелось верить что в какой-то момент профильное айтишное ВО в России избавилось от вещей вроде "философия/политэкономия/научный коммунизм".


Проблем в матане и паскале я особо не вижу.


То есть на мой взгляд матан на определённом уровне совсем не мешает и без него не понять алгоритмики/теоретической информатики. А они на мой взгляд в свою очередь нужны если твоя цель не просто копипастить формочки в вебе.


Паскаль для изучения основ ничем не хуже и не лучше других языков.

и без него не понять алгоритмики/теоретической информатики

всё без него понять, это не обязательное требование.
Тут 'два путя' или ты понимаешь всё (и матан будет простым дополнением) или нифига не понимаешь (и с матаном будут проблемы и программингом)
сам по себе матан ничего не даст и не даёт (как мечтают многие вайтишники, типа пройдёшь курсы, закончишь ВУЗ — и сразу и сразу!!)

Это некая ошибка этого нового каргокульта с курсами и образованием, типа если пройти побольше предметов — станешь погромистом.
Я вообще ушел с первого курса универа, в т.ч. из-за того что матан не потянул (это не основной причиной было но всёже)… школа у меня 9 классов, в колледже было всё очень и очень неочень в плане матана, ну и что? проблем с работой не было, на работе не только формочки клепаю, зарплата как в мечтах у вайтишников.

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


То есть вам нужны хотя бы "базовое" понимание логарифмов, производных, интегралов и так далее. И именно это в общем-то и давалось на матанализе у меня в ВУЗе.


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

Я очень слабо представляю себе как вы например поймёте банальную оптимальность алгоритмов сортировки

За всю свою карьеру (с 2003г в ИТ, и коммерческим программером с 14 года), я реализовывал алгоритмы сортировки только в качестве учебных задач.
Я работал в совершенно разных сферах и вопросов по логарифмам, сложнее чем 'ааа… ну тот сложность log от n… а тут' не возникало никогда, вообще… ну прям совсем.
А я работал не только рядовым кодером и не только писал код по ТЗ (за всю свою карьеру, рядовым кодером по ТЗ без включения мозга я проработал меньше года и гдето в начале 2000х)

я вот читаю пафосные строки о том как 'стать сеньором' и что надо и ВУЗ профильный и матан учить и сложнейшие алгоритмы и литкод наизусть.
блин, вот с моей точки зрения один только вопрос — а чё вы реально все так упарываетесь? я за 5 лет из хобби-программера без коммерческого опыта в 'нормальных языках', дорос до сеньора и по моим наблюдениям знаю всякого побольше других сеньоров которые и ВУЗ заканчивали и вообще регалиями увешаны как ёлки… и по образованию я железнодорожник…
p.s. серьезно чтоли у меня ошибка выжившего?
Я работал в совершенно разных сферах и вопросов по логарифмам, сложнее чем 'ааа… ну тот сложность log от n… а тут' не возникало никогда, вообще… ну прям совсем.

Ну то есть вы просто заучили для себя что есть "log от n" и что это что-то хорошее и не понимаете смысла? И потом что-то говорите про карго культ? Или вы всё-таки понимаете что такое логарифм?


я вот читаю пафосные строки о том как 'стать сеньором' и что надо и ВУЗ профильный и матан учить и сложнейшие алгоритмы и литкод наизусть.

Я не знаю где вы это читаете. Но точно не у меня.


я за 5 лет из хобби-программера без коммерческого опыта в 'нормальных языках', дорос до сеньора и по моим наблюдениям знаю всякого побольше других сеньоров которые и ВУЗ заканчивали и вообще регалиями увешаны как ёлки… и по образованию я железнодорожник…

Ну вот а я например не знаю ни одного человека, который "за пять лет дорос до сениора". Вне зависиммости от того заканчивал он ВУЗ или нет… Но возможно у нас просто разная "градация" в фирмах используется...


p.s. серьезно чтоли у меня ошибка выжившего?

Тоже не исключено.

Или вы всё-таки понимаете что такое логарифм?

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

Я не знаю где вы это читаете. Но точно не у меня.

Это общий настрой многих ИТшников, фраза об 'обязательности ВУЗа' очень часто звучит, даже в контексте 'не обязательно техническое, главное ВУЗ!'

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

Ну я собственно и не с полного нуля дорос (и вообще я не вайтишник, несмотря что первая работа у меня была в РЖД), так что тут не совсем 'корректная фраза'

всётаки опыт в отрасли у меня около 20 лет суммарный, а 5 лет, это начиная с перехода с должности 1С-ника на java-junior до тимлида и просто сеньора… и нескольких контор со словами senior в вакансии… не знаю как правильно градации считать… вот я в мейлру работал сеньором, считается?
но мне в жизни это было не нужно от слова вооюще и никогда и времени подтянуть самостоятельно я на это пока не нашел

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


Это общий настрой многих ИТшников, фраза об 'обязательности ВУЗа' очень часто звучит, даже в контексте 'не обязаьельно техническое, главное ВУЗ!'

Это точно не про меня. Всё время что я работаю от половины до двух третей моих коллег не имели ВО. 10-20% не имели вообще никакого профильного. На фоне этого глупо делать какие-то заявления о обязательной необходимости высшего и/или профильного образования.


Но с другой стороны наличие профильного ВО это однозначно "фора". И знание математики это тоже "фора". Что в финансовом плане, что в плане карьерного роста. И потратить на эту фору 3-5 лет на мой взгляд вполне себя окупает.


всётаки опыт в отрасли у меня около 20 лет суммарный, а 5 лет, это начиная с перехода с должности 1С-ника на java-junior до тимлида

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

Вуз конечно много даёт, но вот то, что 3-5 лет вуза дают больше, чем 3-5 лет стажерства-джунства для меня не догма.
Ну и лид (даже тех, а тем более тим) это далеко не то, чему учат в тех вузе.
Мне теория ограничений при формализации ТЗ помогает гораздо больше, чем логарифмы, а она опять же на нашей прикладной математике, кафедра программирования не давалась.

Вуз конечно много даёт, но вот то, что 3-5 лет вуза дают больше, чем 3-5 лет стажерства-джунства для меня не догма.

Я бы сказал что как минимум вместе они дают больше чем 6-10 лет только ВУЗа или только стажёрства :)


Плюс стажёрство и ВУЗ часто можно комбинировать. Я например большую часть своего обучения в ВУЗе работал 10-20 часов в неделю как "стажёр-айтишник".

UFO just landed and posted this here
То есть вам нужны хотя бы «базовое» понимание логарифмов, производных, интегралов и так далее. И именно это в общем-то и давалось на матанализе у меня в ВУЗе.

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

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

И что у вас такого сложного было в ВУЗе на матанализе? То есть у нас точно так же были эти самые базовые вещи. И особых проблем именно матанализ ни у кого не вызывал. Как впрочем и вся математика которая была.
UFO just landed and posted this here
Я бы сказал что у нас халявными были первые страниц 400.

Плюс у нас практически всё было на примерах. По большей части на примерах из информатики. Поэтому было интересно. Ну и как бы на экзаменах можно было пользоваться чем угодно. То есть если хоть примерно понимаешь/помнишь о чём речь, то можно было посмотреть в конспектах.
UFO just landed and posted this here
Не понял, как это? Что у вас тогда в учебнике было?

У нас не было учебника. У нас в принципе не было учебников. Были конспекты от кафедр/профессоров и опционально рекомендованные книжки.


650 страниц выше — это, считайте, одна теория, без особых примеров, задач и так далее.

Я в курсе.  Наверное даже можно выучить это всё наизусть. Вопрос только зачем.


А что на экзаменах спрашивали?

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


а устном доказывали теоремы и обсуждали прочие теоретические вопросы, например, «а что сломается и почему именно, если вот здесь перестать требовать вон то»

И зачем это айтишнику?

UFO just landed and posted this here
А в конспектах что было? Примеры всякие, и всё?

Немного теории, немного примеров, иногда какие-то исторические факты.


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

И какой процент способен понять это всё на таком уровне чтобы построить это самое эквивалентное доказательство? Да ещё и на экзамене?


То есть у нас где-то 20-25% надо было набирать непрофильными предметами. То есть грубо говоря та предметная область в которой ты хотел бы работать. Экономика, медицинская информатика, электротехника, лингвистика и так далее. Как вариант было и углублённое изучение математики. Кто-то даже это выбирал. Наверное у них что-то такое тоже было.


Типа, в каких ситуациях надо взять производную, а в каких — интеграл?

Скорее вещи вроде того как преобразование Фурье можно использовать для сжатия изображений или видео.


И нет, я уже не помню что я там точно отвечал, но помню что именно это было у меня на экзамене :)


Вы начинаете понимать :]

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

UFO just landed and posted this here
Просто то, о чём вы пишете — это чуть глубже уровня, вполне доступного в школе. Набор рецептов, можно сказать.

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


Как раз тот уровень которй на мой взгляд совсем не помешает айтишнику.


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

Проблем в матане и паскале я особо не вижу

Проблем в них нет, есть вопрос приоритетов. Что сначала, что потом. Если уже есть техническое ВО, то дискретку/алгоритмы можно ботать параллельно с формошлёпством и за счёт работодателя, а не за свой.

Паскаль для изучения основ ничем не хуже и не лучше других языков

Основы учатся инженером за месяц даже если он видел только Бейсик 30 лет назад. А вот дальше... Если собираешься пилить ООП - надо сразу учить ООП, просто мыслить сразу объектами. Если фронт, то надо навалиться на фреймворки и лучшие практики. Поэтому нет, Паскаль (и Дельфи) это плохо для первичного обучения. Слишком много времени уйдёт на обучение/переобучение.

Если собираешься пилить ООП — надо сразу учить ООП, просто мыслить сразу объектами. Если фронт, то надо навалиться на фреймворки и лучшие практики.

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


Но вот только по моему опыту не работает это так в реальной жизни. И вам всё равно нужно хотя бы примерное понимание как работают не ООП языки или там SQL или CSS или XAML или…


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


Поэтому нет, Паскаль (и Дельфи) это плохо для первичного обучения. Слишком много времени уйдёт на обучение/переобучение.

Для того чтобы понять что такое if/else, циклы, классы, интерфейсы и так далее пойдёт и Паскаль. И ничего особо переучиваться не придётся. Потому что эти вещи во всех языках примерно одинаково работают.

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

Я здесь рассуждаю только и исключительно про свитчеров. Если человек решил освоить новую профессию то он обычно предполагает как он будет использовать новые знания. А значит озаботился выбором инструмента под свои нужды. Но даже если человек решил просто потыкаться в свободное время без конкретной цели, пусть лучше Java Script учит чем Паскаль. Толку больше будет (ИМХО).

Для того чтобы понять что такое if/else, циклы, классы, интерфейсы и так далее пойдёт и Паскаль. И ничего особо переучиваться не придётся. Потому что эти вещи во всех языках примерно одинаково работают.

Тут возникает вопрос: а где остановиться? Где понять что основа уже пройдена и можно начинать забывать Паскаль и переучиваться на "правильный" язык?

Тут возникает вопрос: а где остановиться? Где понять что основа уже пройдена и можно начинать забывать Паскаль и переучиваться на «правильный» язык?

Не потребуется переучиваться, суть та же. Ну вот учил я ООП на основе Паскаля еще в ВУЗе, это не помешало мне в ВУЗе же на следующем курсе перейти на С++.

А если бы ты в первом семестре сразу зашёл на Ц++, а во втором уже учил бы фреймворки какие-нить - было бы лучше или так же?

И ещё раз: я здесь рассуждаю только про свитчеров. Вот проработал ты 10 лет оператором АЭС, по выходным лабая какие-то поделки на Ардуино. И вдруг осознал - а программирование-то мне заходит! Пойду-ка я его учить по-настоящему. И? Ты пойдёшь по пути Паскаль - С++ - Java.... Или сразу сядешь за Python потому что в той области, которая тебе интересна все прогают именно на Python?

С++ давать первым языком (или даже вторым) — это преступление против человечности, ящитаю.
Можно учить на примере любого ООП-языка, там разница вообще непринципиальная — что делфи, что C#, что Java, что Python. Всё равно изучать конкретные фреймворки и библиотеки в вузе не надо, ведь он должен базу давать, верно? Ведь из вуза должен выходить обученный инженер с фундаментальной базой, а не со знанием конкретных технологий, верно? Верно ведь?

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

Я больше скажу - человек, приходящий учиться на программиста, базу должен пройти ещё в школе: хоть на Python, хоть на JavaScript. Ведь математику дают сразу с лимитов/интегралов, почему с программированием должно быть по-другому?

Если специальность не программистская, то надо давать те языки, которые активно используются в данной индустрии. И фреймворки тоже. Ведь электронщики изучают Альтиум какой-нить, а конструкторы - Компас, а строители ... ну у них свои игрушки. Так почему тогда не давать фреймворки?

UFO just landed and posted this here

Я о том что в ВУЗе математика начинается далеко не с таблицы умножения. А гражданин выше утверждает что давать на первом курсе плюсы - зверство. Я собственно этому утверждению оппонирую :)

Первым языком по фану пытался учить C по книге K&R. Самостоятельно, с телефона, только читая и набирая исходный текст на том же телефоне, ибо компа тогда не было. И считаю что это было хорошо, ибо дало неплохое понимание некоторых вещей. А, еще какой то курс по ассемблеру на интуите в то же время прочитал. Тоже полезно было. Потом уже работая 1сником на это отлично наложилась книга Петцольда «Код. Тайный язык информатики.» Маст рид для любого начинающего программиста, имхо. Окончательно убрало «магию» из программирования для меня.
Ведь из вуза должен выходить обученный инженер с фундаментальной базой, а не со знанием конкретных технологий, верно? Верно ведь?

Конкретные технологии не помещают, но и не являются обязательными. Я сейчас преимущественно работаю с языками, технологиями и фреймворками которых просто не существовало когда я поступал в ВУЗ.


Но при этом фундаментальная база всё ещё актуальна.

Ещё раз: курсы - единственный путь. По книгам учиться - не вариант.

Как же учились, когда ещё курсов не было?

Курсы по массовым и востребованным профессиям были всегда. Второе образование: вечёрка/заочка/курсы на предприятиях/обучение в процессе работы. Чтобы работать трактористом знать как устроен трактор до винта хорошо, но не обязатально. Поэтому вот тебе курс взлёт/посадка и впрерёд, на поля!

Если профессия редкая/сверхсложная/суперновая, то да, сам: научные труды, классические учебники, семинары, отдельные лекции, конференции, симпозиумы, курение зарубежных источников.

Всё как и сейчас. Онлайн даёт новые возможности, но сама идея - как и ранее: напитаться целевыми знаниями, потратив минимум времени.

В 99-м, когда я начал, в Иркутске не были ничего хоть отдалённо похожего на курсы. Учился я самостоятельно по учебнику. Ответственно заявляю, что это очень даже вариант.

Ада Лавлейс в 1850 прогала не имея компьютера.
С.А. Лебедев в 1950 пилил компьютер не имея компьютера.
Ты в 1999 ботал программирование не имея курсов.

Вы трое очень круты, нихт сомнений! Но, положа руку на сердце, кто-то из вас сколько бы времени потратил чтобы пролезть в сегодняшние джуниоры? Сейчас не 1999, сейчас другие требования. И другие инструменты для обучения.

Уверен, что потратил бы времени не больше, а может и меньше, учитывая насколько доступнее сейчас информация и насколько проще найти помощь. Технологии тогда проще не были, а требования были ещё больше. На своё первое собеседование я пришёл с собственноручно написанной на ассемблере операционной системой, а 9 из 10 соискателей джунского уровня, которых мне сейчас приходится собеседовать, не способны без IDE программу запустить.

профильная вышка — это 4 года до диплома
Уже имеющееся непрофильное В/О закроет часть предметов и получится 1-2-3 года (в зависимости от уровня непрофильности). Если пройденные предметы признают, впрочем, любопытно, как это может сработать, второе высшее вроде так и работает.
UFO just landed and posted this here
  1. Мотивация не нужна, все просто: ты либо хочешь, либо нет. (с) Карлин.

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

  3. Уже давно пора понять что все что выходит из мейл.ру, будь то гикбрейнс или скиллбокс - нужно обходить стороной. Ничего отвратнее и низкосортнее я не видел. Знакомый по глупости тоже купил их курс какой-то за 60к, просто подарил им деньги.

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

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

Речь идет именно о преподавателях читателей лекций. Я видел минимум 3-4 курса с указанных сайтов и подача материала и его качество были просто отвратительны.

От курсом хочется критерия, отбора инфы. Нагуглить можно такое… И если ты не профи то понять не сможешь. От курсов хочется «школы». Как подходить к задаче, как оформить код. И если тебе это вбивают при каждой сдаче. Это отличается от языка к языку. Ну и неплохо немного практики в решении реальных задач, без оговорок типа для «простоты выкинем как это надо делать в продакшене» и сляпаем «уродца».
Проблема ещё и в том, что в IT знания устаревают катастрофически быстро. Скажем, если вы загуглите даже свежие обучающие статьи по нейронным сетям, то там классификация объектов, авторезюмирование и даже генерация текста для чат-ботов будут на рекуррентных сетях. Тогда как в реальности RNN/LSTM давно сдохли, и все уже сидят на трансформерах.
И такое происходит практически в любой области IT.
Поэтому даже если организаторам курсов удастся сманить в преподы крутого разработчика, занимавшегося решением реальных проблем где-нибудь в «Яндексе», то годика через два преподавания он уже мало что сможет дать студентам, поскольку на проде уже всё будут делать по-другому.
Знания устаревают везде. В науке например может даже быстрее чем в IT. Надо учиться постоянно. Но если вы круто меняете курс, то нужны некие начальные шаги в правильном направлении. А дальше сам. Нет можно сразу сам, только дольше и непонятно по качеству результата. Если вы не знаете ничего про нейронки, то вам все равно с чего начать изучать, а вот выход на передовой рубеж это только самому.

Это не проблема. Человек, который научился решать NLP задачи с помощью LSTM, легко и быстро освоит и трансформеры, и сверточные сети, и любой близкий инструмент.

Обучение нейронных сетей не меняется лет 30, SQL синтаксис тоже вечен, объекты, потоки, компиляция, оптимизуия, отладка везде одинаковы.

на проде уже всё будут делать по-другому

Разработчики получаются могут обновить знания и перенести наработки на новый стек, а преподаватель застрял в прошлом? Преподавателю как-раз проще. У меня обратный пример, наработки в SAP не позволяют обновить систему и приходится работать в среде 15-летней давности и Oracle 11. Примерно как в США финансисты сидят на Cobol, так и у нас билинг в старой системе и слезть затруднительно.

Разработчики получаются могут обновить знания и перенести наработки на новый стек, а преподаватель застрял в прошлом?
Для этого ему нужно совмещать преподавательскую деятельность с работой в крупной компании, чтобы быть в курсе, как там и что меняется со временем. Иначе где ему брать реальный опыт?
Примерно по той же причине школьные учителя, даже зарабатывая репетиторством приличные деньги, не могут себе позволить просто уволиться из школы (которая представляет собой реальную потогонку с копеечной оплатой), потому что тогда их репетиторские услуги быстро станут никому не нужны. Им надо постоянно вращаться в этой «кухне», чтобы быть в курсе всех нововведений и изменений программы.

Школа - это Code Complete Макконнелла и Refactoring Фаулера. Читайте на здоровье.

Это отличается от языка к языку.

Не отличается. Да, вспоминаемые выше Haskell, Lisp и прочие имеют свою специфику. Но очевидно, что новичок начнёт с одного из императивных языков с ООП в придачу.
А среди этих языков вышеупомянутые книги подходят абсолютно к любому из них.

P.S. И да, гуглить на нулевом этапе надо не инфу, а список книг. Просто читайте классику + какую-то базовую книжку по выбранному языку. Их никто не скрывает.

Макконелл и Фаулер, конечно, большие молодцы, и книги у них хорошие, но чтобы их понять надо пописать хотя бы годик на уровне "законченные пет-проекты" произвольной сложности. Тогда становится понятно, что и зачем советуют дядьки в умных книгах. В большинстве случаев их советы просто делают написание, чтение и поддержку кода удобнее, сейчас или потом, но до многого надо дойти самостоятельно, чтобы понять приёмы и границы их применимости.

Это подходит только тем, кто уже овладел синтаксисом языка. Т.е. надо иметь базу, которую потом можно улучшить. Поэтому приоритеты надо переставить. Читайте базовую книжку по выбранному языку, пишите код (не только упражнения из книги), читайте чужой код (тюториалы, гитхаб, исходники используемых библиотек), изучите сетевые протоколы ну и переходите к классике типа Макконела и Фаулера. Обратный порядок действий ведет в никуда…
А где здесь курсы? Ну все что они могут дать это выигрыш по времени, за счет того, что уплачены деньги, есть жесткий дедлайн и есть четкая методология подачи знаний вовремя. Ну и самое главное, курсы должны дать обратную связь. Нужен профессиональный взгляд на ваш код.
Из выдающихся самоучек мне известен только академик Зельдович. А кто-нибудь может привести пример Программиста (не кодера) самоучки? Человека, который не имея за плечами профильного ( или перепрофилированного) образования пишет код на уровне выше джуниора.
Ну и с учетом скорости изменения идеологии в программировании в целом и изменений в языке, общение с действующими программистами позволит опередить печатные издания по степени актуальности…

Я - самоучка. Начинал с того, что абсолютно ничего не понимал на лекциях по информатике на первом курсе физ-теха. Пишу код на Ruby на уровне Top-1% в мире по версии http://git-awards.com/ :-)

Базовая книжка по языку само собой нужна. Я про неё тоже написал. Для тех, кто торопится, придётся читать в параллель. Я мог бы подробно рассказать, как изучить программирование самостоятельно, но это ж никому не интересно под статьёй о курсах. Потому что жёсткая правда состоит в том, что для этого надо 2-3 года занятий с полной самоотдачей (до уровня джуниора). И никакие курсы не помогут вам ускорить этот процесс. Разве что помогут загнать вас на пик глупости по Даннингу-Крюгеру.

А какой факультет, если не секрет? Я так понимаю, что не ФИВТ/ФУПМ

Речь не про Мск. Факультет как раз физико-технический. Специальность ФКСВ. Никакого отношения к информатике не имеет.

По пункту (2) категорически не согласен: информации в интернете слишком много, а нередко она уже давно устарела. Грамотный курс (или учебник) фильтрует информацию.

Все что они делают - это аккумулируют воедино всю информацию, что есть в интернете

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

Школы/ПТУ/ВУЗы не нужны! Родители буквам научат, а дальше сам! Все библиотеки в твоём распоряжении, и совершенно бесплатно!

Школы/ПТУ/ВУЗы не нужны! Родители буквам научат, а дальше сам! Все библиотеки в твоём распоряжении, и совершенно бесплатно!

Это, кстати, недалеко от правды. Только помимо навыка чтения надо ещё несколько: навык поиска информации, критическое мышление, анализ и синтез. Дальше официальное образование нужно только в тех сферах, где реально требуется диплом, и там где без спец.условий невозможно практиковаться.

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

Зверство по нынешним понятиям, но тогда была бы объективная надежда на рывок человечества. А так - нет, будет медленное топтание на месте.

Ну, т.е. вы по сути подтверждаете, что для ваших соседей школы/ПТУ/ВУЗы оказались бесполезны, раз они даже базовыми навыками не обзавелись?

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

Можно конечно предъявить претензии по размеру групп, качеству преподавателей, но ровно это же можно предъявить и вузам

Что в итоге? Предложите лучшу альтернативу, люди пойдут туда. Не так уж много курсов
А курсы нужны, чтобы дать знания системно, а не так, чтобы человек не знал с чего начать, где скачать (идэ) и тд и тп. Это Вам, прогерам от бога, все понятно и сразу и питон впитан с молоком матери. а вчерашнему сварщику? Он «сам входить в IT» будет годы.

Что делать - уже 100_000_000 статей написано. Цель моей статьи - чтобы человек, который будет впрягаться в айтишный блудняк на старте уже формировал правильные ожидания

Будет вам альтернатива от меня авторская, наберитесь терпения ;)

Никакого питона в молоке матери не было. И никаких "от бога" тоже. Была заинтересованность, потраченное время и усилия. И умение в логику.

Написано же, «вам, прогерам от бога». Если Вы «не от бога», то это не к Вам обращение

Я не знаю от кого я, но я пришел в профессию после 35, подготовка и поиск работы (сразу на ремоут) у меня заняли месяц. Но я инженер с нормальным бэкграундом во всех этих компьютерах. Просто потому что это интересно

Считать, что некоторые люди рождаются сразу лучше других - это фашизм.

Люди рождаются разными, это нормально. Кто-то лучше в одном, кто-то в другом.

Или вы поддерживаете "Дэнни ДеВито в роли Майкла Джордана"?

Разными, но каждый из них тем не менее способен на всё то же, что и другие, а фраза "от бога" звучит так, будто некоторым просто не дано сравниться с другими во врождённом таланте перекладывания json'ов.

Т. е. Дэнни ДеВито вполне мог бы играть в НБА и стать чемпионом?

UFO just landed and posted this here

Вы из тех, видимо, кто свою работу считает чемпионатом NBA, а себя Майклом Джорданом, и поэтому высокомерно относитесь к новичкам.

1. Где в моих словах такое можно прочитать?
2. Не устали ещё бороться с ветряными мельницами?

Изначальный тезис vtal007 я воспринимаю как «Есть люди, которым программирование легко даётся, а есть те, кому приходится тратить значительно больше усилий для достижения результата».
А вы почему-то с этим спорите, и считаете, что на самом деле все люди одинаковые, он просто недостаточно старается…

Вы же не будете утверждать, что необходимо запретить играть в баскетбол Дэнни ДеВито из-за того, что он не может стать чемпионом?

Да вроде бы никто и не предлагает никому ничего запрещать. С другой стороны глупо обещать Дэнни ДеВито что после каких-то там курсов он сможет зарабатывать себе на жизнь играя в баскетбол....

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

Это Вам, прогерам от бога, все понятно и сразу и питон впитан с молоком матери. а вчерашнему сварщику?

Если вы об "ошибке выжившего": а не стоят ли за каждым "от бога" мегатонны труда в тортилловом эквиваленте и умения разогнать психику до состояния сверхтекучести разума?

Матан, теорвер, ассемблер и 5 лет МФТИ - это, конечно, хорошо, если не учитывать, что вакансий для rocket scientist-ов в мейнстримовом IT не так уж много. А для типичных вакансий писателя интернет магазинов и сайтов-визиток типичные курсы - в самый раз.

И смешно, когда такие конторы, начитавшись про практики найма в Google, внедряют у себя многоступенчатые собеседования, чтобы выпускник курсов вдруг случайно к ним не прошёл.

Тогда я предлагаю вам собесить пару сотен человек лично, не вводить никаких воронок. Потом расскажете, как ощущения. Чтобы вам было спокойнее - у нас на стажировку попадают ребята с курсов и мы не относимся предвзято к ним. Вся беда в том, что люди идя на курсы грезят не сайтами-одностраничниками, а хайлоадом и прочими прелестями, которые есть в нашей, как вы выражаетесь "конторе". Только вот посыпавшись на самой базе потом удивляются "как же так, но я ведь знаю Джангу?". Даже внятно про декоратор ответить не получается, хотя в Джанге он повсеместно используется

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

«У нас только хардкор, даже кнопочки и валидации делают CS PhD»

Нафига вам гонять джуна или стажёра по архитектурный паттернам? Он че будет вам проектировать сервисы? Нафиг ему эти декораторы? Ему опыт нужен и задачи на i/o, ETL.

А я учился 6 лет. Что теперь сократили до 5?

Нет. Раньше было 5 лет, а теперь 4+2

А еще раньше было просто 6 лет. Правда это было другая страна…

В МФТИ всегда было 6 лет, до 4+2 тоже.

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

А есть ли переизбыток? В Европе доля занятых в IT составляет порядка 3% - 4%, в России - 1.5%. С таким underinvestment в человеческие ресурсы и на фоне оттока спецов забугор российское IT может быстро растерять свои преимущества и скатиться туда же, где сейчас космонавтика, автомобилестроение и тд.

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

Экономика России и Европы сильно разная, так что в лоб сравнивать не очень.
UFO just landed and posted this here

Низкоквалифицированных (интернов, джунов) -- переизбыток

А есть какая-то статистика по джунам - помимо рассказов HR-ов о сотнях откликов?

UFO just landed and posted this here
Айтишникам платят много в том числе и потому, что многим остальным платят мало (ну или наоборот, неважно). Экономика она такая — чтобы где-то прибыло, должно где-то убыть.
UFO just landed and posted this here

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

Экономика она такая — чтобы где-то прибыло, должно где-то убыть.

Ну да, ну да… Объем же экономики со времен трилобитов не менялся…

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

От хорошего джуника на собеседовании слышал рекомендацию в адрес https://en.hexlet.io/. В целом опыт собеседования вайтишников такой же как у автора.

UFO just landed and posted this here

Я искренне желаю вам успехов! Очень здорово, если после окончания курсов вы будете круто ориентироваться в тематике и попадёте в крутую команду!

По мне автор намеренно смешивает теплое с мягким, делая из курсов "соломенное чучело".


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


сначала вышколил меня по всяким системам счисления, разрядности системы и прочим базовым информатическим вещам,

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


Да и вышка в программировании не необходима. Принять http запрос, провалидировать его и положить в базу можно и без 5 лет в специализированном ВУЗе, где актуальным технологиям все равно не научат. Да, для анализа данных и каких-нибудь искусственных интеллектов нужна серьезная математическая база. Но в большинстве задач это не требуется.

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

Джуна вам все равно придется учить. И написать при code review, что html регуляркой валидировать не надо — по мне, совсем не худшая ситуация. Другой вопрос, если джун не обучаем. Но это уже личностная проблема.

Но ведь это будет просто рецепт, а не знание. Мы же его хотим когда-нибудь до архитектора дорастить, а там уже рецептами не обойтись.

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

Зачем всех джунов доращивать до архитекторов, если есть куча-куча-куча типично миддлских задач, и их кто-то должен делать от рассвета до заката (и пусть этот человек спокойно себе при выходе за дверь работы полностью забывает что такое ПК вообще)?

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

Возраст скорее 65+ бы сказал что. В США на Cobol пенсионеры подрабатывают до сих пор по инерции в пенсионерских командах ))

К 40 всем стоит идти в менеджеры/лиды/архитекторы/на пенсию.

Прекратите уже распространять этот бред, пожалуйста

Я знаю приличное количество людей, которые сидели/сидят на позициях сениора или даже миддла до самой пенсии и никуда не собираются.

Просто в ИТ с каждым годом идёт всё больше и больше народа(где-то даже была инфа что число айтишников до недавнего времени удваивалось каждые пять лет) и поэтому айтишников в возрасте самих по себе относительно мало. И поэтому кажется что и сениоров/миддлов 40+ мало или что все они ушли в менеджеры/лиды/архитекторы/на пенсию.
UFO just landed and posted this here

Потому что РВ не могут разбирать вложенные выражения.

Ок, системы счисления, допустим, я помню еще со школы. Но на практике они фактически не нужны.

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

Да и вышка в программировании не необходима. Принять http запрос, провалидировать его и положить в базу можно и без 5 лет в специализированном ВУЗе, где актуальным технологиям все равно не научат.

Ну как сказать.

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

А технологии они сегодня актуальные, а завтра - нет. Нет особого смысла на них фокусироваться.

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


Я не говорю, что ВУЗовское образование лишнее. Но для того, чтобы написать


def createPost(self, request):
    self.validate(request)
    post = self.getPost(request)
    self.save(post)
    return response.success()

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

В вебе джуну асимптотический анализ и матричное счисление знать необязательно.

Вот у вас джун напишет какой-нибудь алгоритм для подсчета статистики пользователей на сайте, к примеру. На 1000 пользователей он отрабатывает за 10 секунд и требует 100 Мб памяти. А как его поведение изменится, если число пользователей вырастет до 10000? А до 1000000? Умение прикинуть сложность алгоритма - это одно из самых важных умений для разработчика. Или другой пример - выбрать правильную структуру данных в зависимости от условий использования. А как это сделать, если не понимаешь что такое O(log n)? Или, например, потребуется отзумить/повернуть svg-картинку - вот тут вам и матрицы понадобятся. Это вполне себе задачи уровня джуна.

Я не говорю, что ВУЗовское образование лишнее. Но для того, чтобы написать

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

Если на вашем сервисе 1000000 пользователей, то хорошее понимание сложности алгоритмов — это must-have. Даже для джунов. Недаром всякие гуглы в основном по алгоритмическим задачам к себе нанимают. Но для среднего сайта это не проблема. Как-то ведь 10 сек алгоритм ваше код ревью ведь прошел, и все остались довольны? Значит это не критичный вопрос.


Это вполне себе задачи уровня джуна.

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

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

Для меня джун — это новичок в промышленной разработке, который более-менее разбирается в стеке проекта и может сам выполнить простую задачу. Но глубоко в теме не разбирается и, шагнув чуть в сторону, сталкивается с трудностями, которые самостоятельно преодолеть не может. Плюс его код в среднем хуже, чем по проекту. Как по архитектуре, так по читаемости и производительности. Его всему этому, да, надо учить. В т.ч. отправлять читать умные книжки. Но проблема алгоритмической сложности, на мой взгляд, тут стоит далеко не на первом месте. Если вы не google, конечно же.

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

А что тогда на первом месте?

И кстати, это не только компании уровня FANG - на любом собеседовании, где есть этап практического программирования, этот вопрос обязательно всплывет в той или иной форме.

А что тогда на первом месте?

Правильность -> читаемость -> архитектурность -> повышенная производительность. У вас может быть другой порядок.


И кстати, это не только компании уровня FANG — на любом собеседовании, где есть этап практического программирования, этот вопрос обязательно всплывет в той или иной форме.

Хм, несколько десятков интервью прошел, такой вопрос практически не поднимался. Так что точно "не обязательно".

Правильность -> читаемость -> архитектурность -> повышенная производительность. У вас может быть другой порядок.

Это не знания, а характеристики кода.

Хм, несколько десятков интервью прошел, такой вопрос практически не поднимался. Так что точно "не обязательно".

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

Это не знания, а характеристики кода.

Да, основная работа программиста — писать код. И если код соответствует этим характеристикам, то больше от программиста, по сути, ничего и не нужно.


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

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


На позицию php %framework_name% разработчика проверяют в основном знание фреймворка, архитектурных принципов, sql, индексы, explain и пр. по БД, работа с сетью, http, rest и т.п., очереди NoSQL базы, микросервисы, интересуются опытом работы с библиотеками, тестированием. В последнее время стали чаще спрашивать о внутреннем устройстве и тонкостях работы ЯП. В общем то о том, с чем ты будешь взаимодействовать каждый день. И по чему компания поймет, закроешь ли ты ее потребности или нет.

Да, основная работа программиста — писать код. И если код соответствует этим характеристикам, то больше от программиста, по сути, ничего и не нужно.

Так вопрос как раз в том и состоит: какими знаниями и навыками нужно обладать, чтобы писать код, отвечающий таким требованиям?

На позицию php %framework_name% разработчика проверяют в основном знание фреймворка, архитектурных принципов, sql, индексы, explain и пр. по БД, работа с сетью, http, rest и т.п., очереди NoSQL базы, микросервисы, интересуются опытом работы с библиотеками, тестированием. В последнее время стали чаще спрашивать о внутреннем устройстве и тонкостях работы ЯП.

Это не очень правильный подход с моей точки зрения. Хотя, если позволяет им решать их задачи, то почему нет.

С моей точки зрения, хороший разработчик должен знать 2-3 языка на приличном уровне, да и в принципе, должен быть способен освоить новый язык или фреймворк в короткие сроки. Поэтому на собеседованиях в крупные компании обычно фокусируются на навыках и знаниях, которые не привязаны к конкретной технологии. Опыт работы с конкретными технологиями считается плюсом, но если вы слишком сосредоточены на конкретном языке, к примеру, то это скорее минус.

хороший разработчик должен знать 2-3 языка на приличном уровне

Вообще дискуссия изначально шла вокруг требований к джунам, я рассказал свой опыт в миддл части. А знание 2-3 ЯП со всей инфраструктурой на хорошем уровне и умение быстро переходить между ними, по мне, это уже к синьорам с серьезным опытом. Да и ему может быть более интересно глубоко работать в одной области, нежели постоянно переключаться между ними.

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

Или, например, потребуется отзумить/повернуть svg-картинку - вот тут вам и матрицы понадобятся.

Понадобится ровно один вызов библиотеки работы с изображениями.

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

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

Во-вторых, библиотека может и не поддерживать того, что вам нужно

Вот специально же уточнил.

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

Не надо писать свой велосипед.

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

Ну такое себе.

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

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

Надо различать ситуации.

Если у вас сотрудник вместо того, чтобы использовать стандартную библиотеку, сидит и заново изобретает std::vector (который еще и работает хуже стандартного) - вот это велосипед и за него следует бить по рукам.

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

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

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

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

Только не надо говорить о том, что, мол, надо отличать, когда дополнительные фичи понадобятся, а когда - нет. Если бы я был пророком, который знает будущее, я бы давно был миллиардером, торгуя опционами на бирже :)

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

Только не надо говорить о том, что, мол, надо отличать, когда дополнительные фичи понадобятся, а когда - нет. Если бы я был пророком, который знает будущее, я бы давно был миллиардером, торгуя опционами на бирже :)

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

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

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

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

Когда-то я начинал с того, что даже не знал про существование переменных и все данные хранил в невидым элементах управления на WinForms, сейчас так не делаю - на бекенде нет WinForms

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

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

Короче, пока "a-ha! moment" не поймаешь, вплоть до реального просветления, задачу там решённой считать не стоит.

Для меня этот способ более рабочий, чем снабжение методичкой, оказался.

Если даже и пробовать проходить эти пропиаренные курсы от онлайн-школ, то лучше их пиратить

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

Такой бы подход, как у вас, был у 50% айтишников - работать в нашей области было бы не так тошнотворно.

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

Если бы была толпа грамотных специалистов, пусть даже грамотных вайтишников, то, во-первых, Вас бы, возможно, и не искали бы, а во-вторых, давали бы не 100 рублей, а 20. Но зато работать приятно, да)

Помню, в 95-м году, получив диплом по специальности 2204 приехал гордый из Таганрога домой, и увидел по телевизору бегущей строкой рекламу "производится приём желающих на курсы бухгалтеров, парикмахеров и программистов"....

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

Смысл вообще в 2021 идти с нуля код писать ? Сейчас на каждом углу необходим клауд инженер , который будет деплоить вам no-code (low-code) вебочки. У основых клаудов есть экзамены\литература\курсы по подготовке и сдаче - очень понятный путь входа в специальность. А дальше уже так или иначе придется в коде разбираться - сначала писать, а потом читать. AWS Certified Practitioner + Certified K8s Admin - сейчас можно наверное выбить за теже 60к рублей . Ну либо в сухаря лит код стращать, это конечно кому что по душе.

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

Раз вы так много всего учили, может посоветуете какие-нибудь онлайн-курсы?))

Автор, количество предметов, которые нужно сдать, по любой ит-специальности в МГТУ им. Н.Э.Баумана, если рассматривать полный срок обучения (бакалавр+магистр) вместе с курсовиками и диплом проектом, кажется равно в районе 55 шт. (!) Время, в течение которого, вы будете осваивать все_это = 6 годам вашей жизни. Количество часов, потраченных на обучение (лекции, семинары, лабы), будет измеряться тысячами. Обучение адски тяжелое, по некоторым предметам, часто сложно понять как оно соотносится с вашей будущей ит-специальностью. Количество отчисленных за все время обучения с одной группы с первого семестра и по последний, скорее всего будет больше половины первого состава первого семестра. Да, и чтобы поступить, вам нужно набрать баллов по ЕГЭ, прям совсем выше среднего. Количество платных мест не очень большое + обучение по стоимости не текущий момент за год уже перевалило за 300 тысяч рублей в год. Вот зачем я все это описал? :) Этим словоблудством, я хотел сказать, что учиться "правильно, классически" в ит - это во-первых, совсем не массовая история. Прям совсем. Во-вторых, те кто способен и в мат.плане, и в физическом выдержать такой напряг на дистанции 6 лет, часто переоценивают свои силы и сливаются, выпилившись сначала в академ, а потом и вообще. В-третьих, для тех кто решил, вкатиться в ит, в возрасте 30+, проблематично выделять ресурсы на классическое, даже вечернее второе высшее. Ну т.е. это сильно, сильно прям уже напряжно, если когда-то в прошлом, не смог поступить из школы. Для таких людей, курсы, - это один из возможных и относительно быстрых способов вкатиться. Без курсов, только самообразование или лютейший джун на каком-то дошике в конторе, которая еще и согласится тебя чему-то учить. Сами-то курсы не зло. Зло - агрессивный маркетинг, враки, ну и общий ареол "легкости" вкатки. Но с другой стороны, кто вкатывается, должен какую-то ситуационную осведомленность проявлять, прежде чем принимать решение о возможности обучения. Т.е. человек, все таки, должен какое-то исследование провести, как-то погуглить, почитать, пообщаться даже с тем, кто окончил все_эти_курсы, благо мы в 2021 и с этим особых проблем быть не должно. Если он просто верит на слово, а потом, попадает и разочаровывается - тут, конечно, можно только по сочувствовать. И посоветовать в следующий раз быть более осмотрительными при выборе подобного контента.

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

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

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

Но например, реально, надо ли заучивать тупо алгоритмы сортировки? Или достаточно их понимания?

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

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

Не грустите! Самое главное, что у вас теперь есть список! Я скажу, что если вы будете крепко ориентироваться в базе, решать классические алгоритмические задачки + знать основы некоторых популярных инструментов (например Docker, Postgresql, RabbitMQ) то успех вам обеспечен весьма быстро.

Я считаю, что заучивать ничего не надо вообще, кроме синтаксиса. Если есть понимание алгоритма, то формализовать его в виде кода не составит труда

Знать основы некоторых популярных инструментов (например Docker, Postgresql, RabbitMQ) то успех вам обеспечен весьма быстро.


А чем «основы Postgresql» отличаются от понимания того что такое SQL? ;)
A «основы RabbitMQ» от понимания концепта message brokеr'ов как таковых? :)

Да, слона-то я и не приметил :D SQL маст хэв конечно же, JOINs всякие, понимание индексов (хотя бы что это и зачем)

Понимание - это здорово) Но потыкаться тоже было бы неплохо и понимать для чего оно нужно в целом) Тем более, что это по времени вопрос пары вечеров)

Спасибо. Но на собеседование надо еще попасть. Есть подозрение что HR тупо кидают в мусор резюме на джуна с возрастом соискателей 30+. Эйджизм в самом его прямом проявлении. Как пройти фильтр HR в таком случае?

А зачем вам идти в компанию, где на кандидата 30+ уже на этапе отбора смотрят, как на мусор? Лично я к таким компаниям отношусь негативно. Среди моих знакомых HR нет таких "эйджистов". И мы тоже на возраст не смотрим, кстати. Меня гораздо больше волнует понимает ли человек, как работает менеджер контекста, чем его годы :D

А зачем вам идти в компанию, где на кандидата 30+ уже на этапе отбора смотрят, как на мусор?

А что, на сайте компании всегда написано что мы - да, кондомы конченые?

Но например, реально, надо ли заучивать тупо алгоритмы сортировки? Или достаточно их понимания?

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

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

Так то вообще неплохой способ проверить, что человек хотя бы что-то понимает. Алгоритм в qsort или merge sort ничем особенно не сложнее пузырька за одним важным отличием, они рекурсивные.

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

Почему не sprintf или еще какую библиотечную функцию?

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

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

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

На алгоритмах сортировки можно изучить миллион полезных вещей:

  • понятие O(N) и виды сложности,

  • понимание того, какие операции генерируют сложность (например, рекурсивная обработка половин вносит логарифмическую сложность, for (...) - линейную, а заведение переменной - константную),

  • рекурсию

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

и я ещё наверняка что-то забыл

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

Вопрос в том, кто проводит собеседование: технический специалист, с которым можно побеседовать о специальности и который в принципе согласен, что десяток строк можно сортировать и пузырьком, потому как у nlog(n) функций обычно выше накладные расходы и они могут проигрывать n^2 для малых n, или HR с квадратно-нездовым опросником, который ещё может быть неверен. Но это уже несколько другая тема, чем поднятая в статье, да ещё и изжеванная на Хабре в кашу.

Раньше был ресурс, вроде назывался: javarush - где можно было пройти, если память не изменяет 10 уровней бесплатно, очень здорово можно было набить руки и получить опыт)

В статье (умышленно или нет — не знаю) перепутаны две проблемы.
Первая проблема — существование бесполезных инфоцыган, которые выжимают из дураков деньги на бесполезные курсы. Это очень верно для IT, но точно также верно и для английского, и для ряда некоторых неочевидных курсов типа вождения, вязания или «искусства самопрезентации». Здесь, конечно, автор прав, такие курсы не дают никакой пользы, а только вытягивают деньги.

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

Здесь есть два подпункта.

Первый подпункт — вопрос об успехе, как таковом. Я много раз уже писал, что успех есть результат чистого рандома, усилия оказывают некоторое влияние, но несущественное. И, коль скоро IT становится для людей одной из форм успеха, к нему применим тот же самый подход. Везде, где конкуренция крайне высока, а приз очень ценен — усилия почти не играют роли. Эта мысль контринтуитивна, потому что большинству людей промыли мозг «идеологией достижения успеха» и «пользой рыночной конкуренции» (которые имеют крайне ограниченную применимость). Но в большинстве случаев высокая конкуренция резко повышает роль случайных событий в выигрыше. Хороший пример — спортивные состязания и разница в 1-2 десятых секунды между победителем и не-победителем.
Именно из-за этого механизма толпа «вайтишников» действительно ухитряется занимать рабочие должности, продвигаться по карьерной лестнице и т.д. Старый анекдот про «зачем нам неудачники» — из этой же оперы.
Здесь мы можем сделать неожиданный вывод о том, что «некомпетентные стажёры» для автора только те, чью некомпетентность ему повезло распознать. При том, вполне вероятно, что он нанял других стажеров, которых другой автор назвал бы «некомпетентными» и нанимать бы не стал.

Второй подпункт — вопрос о реальной необходимости тех или иных знаний. Этому посвящено уже много статей на хабре, причём постоянные жалобы, что «человек не знает азов» натыкаются на ироничные вопросы о том, давно ли жалующийся накалывал перфокарты или хотя бы писал на ассемблере. Дело в том, что нет реальной границы «азов», это строго субъективная линия, которую один проводит по алгоритмам, другой по типам данных, третий по машинным кодам. Но самое смешное здесь в том, что это всё не имеет никакого отношения к реальности — потому что если бизнесу нужен недорогой человек, который будет лепить одинаковые вещи на фреймворке, то такого человека и наймут. А все ошибки этого человека будут исправлять такие люди, как автор. Выгоднее нанять одного автора дорого и десять выпускников курсов дёшево, чем нанимать одиннадцать авторов, которые «знают азы».
Здесь мы делаем вполне очевидный вывод о том, что «изучать азы» с материальной точки зрения оказывается не нужно ни бизнесу, ни «вайтишникам», и единственный, кто от этого страдает — автор или такие как автор, в основном по экзистенциальным причинам («в наше время такого не было!») или по причинам личного свойства («А я за ними всё исправлять должен!»).

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

Отлично сказано! Не желаете ли продолжить дискуссию в личке или можем организовать стрим в Ютубе и обсудить эти моменты?

Хорошо сказано!

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

И этому даже есть логичное объяснение - стартует 20 бизнесов, все хотят быстрее и дешевле, 19 умирает и никто об их архитектурах более не думает, 1 выживает и приносит реальные деньги - и тут уже у бизнеса есть деньги на дорогих девов.

Но нам, настоящим сеньорам, от этого не легче.

Для себя я сделал только один вывод - я прихожу, решаю определенный круг urgent asap проблем клиента (это и будет для меня trial-ом), и дальше занимаюсь чем-то новым. Нет нового - не моя вакансия, вечно сидеть на поддержке кривого вайтишного кода - так за любые деньги мозги отсохнут, закончишь в дурке :)

успех есть результат чистого рандома

С чего такой вывод? Ну не с того ж, что вы писали?

усилия оказывают некоторое влияние, но несущественное.

А что тогда мешает снова и снова играть в лотерею, не шибко напрягаясь?

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

Но в большинстве случаев высокая конкуренция резко повышает роль случайных событий в выигрыше. Хороший пример — спортивные состязания и разница в 1-2 десятых секунды между победителем и не-победителем.

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

Сами себе противоречите.

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

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

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

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

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

Вам не кажется, что это обесценивание труда?

Случайность определяет радикальный успех (вот тут ещё зависит от определения успеха) лишь «при прочих равных». А вот прочие равные нужно в том числе добиваться и своими усилиями.
Выгоднее нанять одного автора дорого и десять выпускников курсов дёшево, чем нанимать одиннадцать авторов, которые «знают азы».
Нет, бизнесу выгодно нанять лучших из имеющихся, потому что лучший работник будет, очевидно, лучше другого. Он более гибок и качественнее работает. А вот кто есть на рынке — это имеет ключевое значение. Ещё имеют значения такие скучные метрики бизнеса, как «возврат на инвестиции» и т.п.

Нет, бизнесу выгодно нанять лучших из имеющихся

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

Неточная формулировка «лучшие из имеющихся», я имею ввиду, лучшие из доступных на бюджет. Условно говоря, есть 100% разработчиков, и бизнесы выбирают наивысший персентиль, который им принесёт наибольшую выгоду. При этом чем выше персентиль, тем ниже организационные и продуктовые издержки (почему бизнесы и хотят самых лучших из тех, что могут себе позволить).

Поэтому говорить считать всех, кто может закрывать таски, нет смысла. Если на рынке труда X прибыльных мест для разработчиков (я не говорю «вакансий», потому что это нерыночная формальность), и X+Y разработчиков, то Y разработчиков останется не у дел, даже если они могут тоже закрывать эти таски и дешевле стоят. Если Y >> X, то шлёпать вебформы будут алгоритмисты с ML бэкграундом.
Неточная формулировка «лучшие из имеющихся», я имею ввиду, лучшие из доступных на бюджет. Условно говоря, есть 100% разработчиков, и бизнесы выбирают наивысший персентиль, который им принесёт наибольшую выгоду.

Не факт. Кто-то собирает лучших ремесленников — да, их стратегия лучшие на бюджет, пусть всего 5.


Кто-то строит конвейер. Возможно их выбор — 2 топа и один надсмотрщик на одни деньги + 5 джунов на оставшиеся.


Больше бюджет — больше гибкость в конвейерном производстве.

Очень хороший комментарий, но с этим не согласен:

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

Если всё так, тогда откуда, к примеру, в мировом турнире по покеру (WSOP) взялся Стю Ангер, который победил там 3 раза? А уж в обычных областях человеческой деятельности, вроде работы программистом, практически всегда сеньору платят гораздо больше чем джуну. Где тут рандом - не слишком понятно.

>Хороший пример — спортивные состязания и разница в 1-2 десятых секунды между победителем и не-победителем.

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

Знаю кейс, где онлайн курсы очень помогли (правда бесплатные). Мой младший брат, кандидат хим. наук, начал изучать python для автоматизации своих рутинных задач. Буквально через несколько месяцев он уже мог писать код который значительно ускорил его исследования. Этому коду не место в коммерческом продукте, потому что он не поддерживаемый и практически не читаемый, но ему он сильно облегчает работу. Можно это сравнить со сваркой по металлу. Есть много видео, где показывают и рассказывают как это делать. И думаю они вполне применимы, если нужно исправить сломавшуюся на даче качель. Но если после этого человек решает, что способен работать на трубопроводе, то я бы очень не хотел чтобы он этим занимался

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

Браво!

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

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

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

Но это же совершенно не так!

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

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

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

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

Но в конечном счете, "на продакшене", это всё равно будет сварка двух деталей. Да, зачастую более сложная, что-то будет ржавое, что-то будет перед этим неверно сварено, но тем не менее это та же самая сварка.

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

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

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

Давным-давно, когда я был немного связан с кондитерским делом, я видел, как проходят собеседования на кондитеров, которые должны будут по работе изготавливать торты на заказ - всякие фигурные, свадебные и тд. Приходит кондитер такой в цех, ему говорят - сделай вот этот торт, у тебя Х часов. Или там, вылепи фигурку из мастики. Если справляется, его берут на работу, где он делает ровно то, что делал на собесе. Это был просто идеальный способ проверки умений человека, на тему того, справится ли он с работой.

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

На собеседованиях спрашивают, как будто им надо будет компилятор написать с нуля — все эти алгоритмы, внутреннее устройство словаря, и так далее
Тут аналогия будет с тем, как если бы у сварщика спрашивали, как работает сварочный аппарат. Довольно необходимое ему знание, как мне кажется, даже если кажется, что нет.
в которых нужны именно олимпиадники — люди, которые число алгоритмы фигачат
Есть небольшой опыт олимпиад (ICPC) и собеседований, достаточно разные задачи. На собеседованиях сильно проще, но напирают больше на «индустриальные» структуры данных.

Да, реализовывать их чаще всего не надо (но если надо что-то сделать по аналогии, всё равно будете в перебор с полиномиальным временем и пространством или костылить, насколько сами догадаетесь?), но использовать надо регулярно. Не будет ли человек более эффективно их использовать, если он знает, как они работают?
олимпиадник, который офигенно пишет алгоритмы, но вообще никак не умеет писать нормальный структурированный код
Олимпиадниками они были скорее всего во времена университета, а с тех пор поработали в индустриальной разработке и научились вот этому всему. Это соломенное чучело.
не знают, сколько битов в байте, зато джейсоны перекладывать мастера
Вы слишком утрируете, между перекладыванием джейсонов данные в них вполне обрабатываются. Алгоритмические задания литкодов уровня easy-median (которые и спрашивают на собесах) — это просто описание задачи получения, обработки и вывода данных и ничего там ракетного нет. Они будут неплохо коррелировать с тем, как человек пишет код: чем меньше на это затраты ресурсов, тем больше ресурсов на остальное.
Кодинговая часть — это благо для разработчика, это понятная и предсказуемая часть интервью, которая не зависит от навыка красноречия почти никак. Вот пройти части soft skills и system design может быть сложнее.

Возможно, порой задания неоправданно сложнее, чем могли бы быть. Готовиться в FAANG полгода мне кажется абсурдом, хотя сложность их кодинговых задач для меня ещё не доказана. Но конкретная компания сама выбирает тот персентиль разработчиков (и их мотивации в ней работать!), которого она может себе позволить.

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


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

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

Это ваш практический опыт, или "на хабре в комментариях писали"?
Почитайте уже комментарии https://habr.com/ru/users/wataru/ - он регулярно пишет, какие задачки он задаёт как собеседующий в Гугле.

UFO just landed and posted this here

Вопрос не в том, какие задачи будет решать разработчик, ведь наброс был про задачи на собесе. Или вы считаете, что при поступлении в ООО "Рога и Копыта" дозволительно не осилить Leetcode Easy, но продолжать считаться разработчиком?

UFO just landed and posted this here

Так вам шашечки или ехать? Лейбл "программист" он такой, им очень любят хвастаться, и обвинять тех у кого опыт немного иной недостойными ему. Я глянул литкод — я вот не очень понимаю как задачки вроде этой могут считаться обязательными для "Рога и Копыта" — спокойно без них жил и живу, до сих пор не знаю метода нахождения корня. Знаю, что метод ещё в Аль Хорезми описывал больше тыщи лет назад, но вот так и не изучил его. За 11 лет разработки так и не пригодился.

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

Нет, нельзя заметить. Во-первых всегда поражался с этого "Очевидно, что..," — кому очевидно? Мне вот нет. Мне очевидно обратное — корень из 4 это 2 (не отличаются они в 2 раза), корень из 625 это 25, тоже не отличается в 2 раза. Давайте теперь уточнять, что мы должны округлять вверх, но не менее чем…


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

Бинарный поиск — это по массиву. А у нас тут нет никакого массива, только одно число (ну ладно, два — ещё нижняя граница). Возможно имелся в виду метод дихотомии, но с каких пор знание методов численной оптимизации является обязательным для разработки? Без него не получится кнопку сверстать или в постгрес сходить?


Неоптимально, но вполне себе работает, и на собеседовании это гораздо лучше, чем просто сложить ручки и сказать «Я не знаю»

Речь не о том, чтобы на собеседовании ответить "Не знаю", речь о том, что если у человека чуть-чуть другой опыт то небрежно бросить "пфф, дилетант" и свалить в туман — не сильно правильное поведение. Забавный факт в тему: на собеседовании хреновые руководители спрашивают то, что сами недавно узнали. Что весьма показательно.

Возможно имелся в виду метод дихотомии, но с каких пор знание методов численной оптимизации является обязательным для разработки?

Ну по сути то интервал интов ничем не отличается от массива интов в этом интервале если абстрагироваться. Так что хоть я впервые про метод дихотомии услышал, но писал бы основываясь на логике бинарного поиска именно то что надо. Нижняя граница 0, верхняя само число, даже бы не заморачивался с тем чтобы как то еще интервал сужать. O(lg N) и так даст нормальную производительность.
Давайте теперь уточнять, что мы должны округлять вверх, но не менее чем…

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

Возможно имелся в виду метод дихотомии, но с каких пор знание методов численной оптимизации является обязательным для разработки? Без него не получится кнопку сверстать или в постгрес сходить?

Во-первых, бинарный поиск — это моё предложение. Эту задачу в принципе можно решить тупым перебором в лоб, 2^32 — вполне доступный объем для перебора, всё остальное — оптимизации. Если вы не в состоянии написать цикл for от A до B — то я хз, о чем тут вообще говорить.
Во-вторых, раз уж вы заговорили про постгресс — так в нем индексы это B-tree, и поиск по ним идёт бинарный, за log N. Человек мастерски работает с инструментом, но не понимает базовых принципов работы? Не верю.

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

Нет, эти граничные случая которые руинят самое предположение "Легко заметить, что" — нет, не легко. А очень трудно. Большинство — не заметит. Перебирать все варианты от числа до i*i можно, по заветам гугла, но если это решение не улучшить до чего-то более приемлимого то я не думаю, что задача будет считаться решенной.


Во-вторых, раз уж вы заговорили про постгресс — так в нем индексы это B-tree, и поиск по ним идёт бинарный, за log N. Человек мастерски работает с инструментом, но не понимает базовых принципов работы? Не верю.

Можно не знать, что там дерево, и прекрасно работать, да. Достаточно знать пару правил:


  1. индексы должны иметь много различающихся значений, по true/false индекс строить не стоит
  2. с индексом запросы быстрые, а без индекса — медленные.

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


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

Что если человек думает "так, вот очевидное тупое решение полным перебором, но должно же быть что-то лучше… Щас подумаем..." Это щас я почитав книжечки про собесы в гугл знаю, что там собеседующие как раз хотят тупое решение а потом будут ожидать улучшения, и что решенная "тупо" задача считается лучше, чем вообще не решенная. Но лет 5 назад я был бы уверен, что кандидат который не додумался до нормального решения лучше, чем тот который написал O(N^5) и такой "ну вот решение, лучше чет не придумалось ничего". Сейчас я без проблем напишу тупое решение и буду потом улучшать, а раньше мне было бы стыдно просто писать такую ерунду. И судя по тому, что я наблюдаю вокруг, подобный подход совсем не редкость.


И никто бтв не говорил про "мастерское владение", достаточно вполне посредственного. Речь про то что ты типа "недопрограммист" если не умеешь в 100500 непересекающихся полей: знание фреймворков, знание ООП, знание солида, знание паттернов, знание алгоритмов, знание структур данных окромя массива и хэшмапы, умение оценивать алгоритмическую сложность, численные методы, сетевые протоколы,… Про каждый найдется человек, который скажет что "это же БАЗА, знать нужно!". Это просто банальное высокомерие.

Я еще раз процитирую, с чего началась эта ветка
я вот не очень понимаю как задачки вроде этой могут считаться обязательными для «Рога и Копыта»

Для решения этой задачи в общем случае нужно суметь написать один цикл и один if. Думаю, даже «Рогам и Копытам» позволительно поставить такую планку по отношению к кандидатам.

Прошёл по ссылке, там:

Hint 1

Try exploring all integers. (Credits: @annujoshi)

Hint 2

Use the sorted property of integers to reduced the search space. (Credits: @annujoshi)

Серьёзно, надо брать кандидата, который не сможет написать даже такой код?

Try exploring all integers

Коровья лепёшка! Я попробовал перебор. Тайм лимит не алё :) Это было бы слишком просто :)

Можно константу подвигать туда-сюда, думаю. Например, посыпать всё nullable-типами, которые в JVM превратятся в объекты вместо примитивов. Тогда каждая операция будет сопровождаться аллокацией, плюс может получиться вызвать GC. В общем, тоже интересный вопрос)

Но тут конечно всё портит тот факт, что у leetcode сильная погрешность измерения. Брутфорс и дихотомия отличаются на пару десятков процентов, хотя кажется, что разница должна быть чуть ли не на порядки.
Тайм лимит не алё :) Это было бы слишком просто :)
Ну не знаю. У меня тупое решение на Python3 вполне сработало:

Runtime: 2352 ms, faster than 12.60% of Python3 online submissions for Sqrt(x). Memory Usage: 14.3 MB, less than 7.81% of Python3 online submissions for Sqrt(x).
        for i in range(x+1):
            if (square := i * i) == x:
                return i
            if square > x:
                return i - 1
      


Даже максимально тупое всё равно оказалось не самым медленным:
Runtime: 2664 ms, faster than 8.96% of Python3 online submissions for Sqrt(x). Memory Usage: 14.2 MB, less than 70.82% of Python3 online submissions for Sqrt(x).
        for i in range(x+1):
            if i * i == x:
                return i
            if i * i > x:
                return i - 1

Не знаю тогда. Может они просто ненавидят Java? Вот мой котт:

class Solution {
    public int mySqrt(int x) {
        
        int res = 1;
        
        while (res*res < x){
            res++;
        }
        
        return res*res == x ? res : --res;
        
    }
}
You fell victim to one of the classic blunders. При достаточно больших значениях res при вычислении res*res происходит переполнение, и условие в while будет всегда истинным.

Заменил int на long и заработало! Но не понял. На входе int, значит корень гарантировано влезет в int. Да и на выходе с меня просят int!

Так... хорошо что они пишут на каком тесте всё валится. И это число 2_147_483_647. Правильный ответ 46340. И 46340 * 46340 тоже естественно лезет в int. Но! На последней итерации у меня будет 46341! А 46341 * 46341 уже в int не лезет!

Мораль: (как обычно) проверяем краевые условия! :)

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

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

А что в IT? На каком основании можно сказать, что человек "умеет программировать", "знает C++" и так далее? По какой метрике, кроме неформальной системы стажёр-синьор, мерять? Где я могу получить документ о том, что я являюсь миддл-разработчиком, чтобы меня брали на вакансию "миддл-разработчик" по этому документу, а не по двум-трём собеседованиям и тестовым заданиям? Почему выпускника авиационного, юридического или медицинского вуза берут на работу немедленно и по факту аттестата, максимум проведя одно собеседование на общую адекватность и рассказ о работодателе, а выпускника IT-вуза будут гонять на общих основаниях с вайтишниками?

В общем, нам нужны образовательные учреждения (школы, вузы, курсы, кружки - любого уровня), после которых выпускник получает сертификат о том, что он знает предмет изучения. Курсы вайтишников можно сравнить с автошколой по длительности и стоимости обучения: невозможно получить права, не научившись водить, и ни одна курьерская служба, беря на работу обладателя прав, не проводит для него экзамена по вождению. А ещё нам нужна система квалификационных разрядов, чтобы работодатель мог указывать в вакансии чёткое требование к профессиональной квалификации, а соискатель - знать, куда он может устроиться, а куда нет. При этом, кстати, самоликвидируется дискриминация женщин/геев/нацменов при трудоустройстве: невозможно отказать под формальным предлогом, если в вакансии написано "нужен программист JS не ниже III разряда со знанием веб-дизайна", а соискатель принёс квалификационную книжку, где это прописано.

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

Сейчас диплом о ВО часто означает что у тебя есть диплом.
А в айти границы ещё сильнее размыты. Так что это превратится в очередное вытягивание денег. Как это стало с водительскими правами.

А что в IT? На каком основании можно сказать, что человек "умеет программировать", "знает C++" и так далее? По какой метрике, кроме неформальной системы стажёр-синьор, мерять?

Так высшее It-образование не про "знает С++" или любой другой яп. Предполагается, что язык - это инструмент, и для выпускника не будет являться проблемой его освоить, даже с нуля, если понадобится. Фундаментальная классическая софтверная it-вышка, это в принципе про алгоритмы, матанщину, подходы, паттерны проектирования вообще, и софтверные в частности, т.е. в целом то, что называют "инженерный базис". А на каком конкретном языке вы будете реализовывать конкретную прикладную задачу, - это явно не та история. Кроме того, даже если допустить, что все это не правильно и не должно такого быть, можно подумать на тему - знание какой конкретно технологии, языка должно проверяться на выходе у выпускника, если грубо говоря - между его поступление и выпуском - минимум 6 лет. А может быть и вполне 8. В 2000 был мега-популярен дельфи, и его преподавали на 1-ом курсе, а в 2006 он уже "типа помер", ну и в целом, таких примеров, при желании можно еще написать.

а выпускника IT-вуза будут гонять на общих основаниях с вайтишниками?

Потому что сейчас наблюдается дефляция высшего It-образования. В подавляющем большинстве случаев, для того, чтобы начать работать "здесь и сейчас", вам не нужны все эти десятки вузовских технических предметов, которые вы будете осваивать минимум лет 6. Работодатель будет от вас ждать не знание классических алгоритмов, паттернов и всего прочего, т.к. у него нет таких задач. а просто умение использовать условный Angular, React и т.д. Если бы условий комитет/вендор сделал бы экзамены, подтверждающие факт того, что человек "знает " Angular, то вряд ли это бы как-то изменило ситуацию, просто формально с вас бы спрашивали наличие этого сертификата, перед допуском к тем же решениям тех самых тестовых заданий :)

Значит, надо в явном виде разделить программиста-"инженера", для которого язык только инструмент, и программиста-"рабочего", бодро клепающего формочки и несколько теряющегося при смене IDE, тем более что программистов выпускают как колледжи, так и вузы, но на приёме шкала общая для обоих.

В 2000 был мега-популярен дельфи, и его преподавали на 1-ом курсе, а в 2006 он уже "типа помер"

Если мышкой формочки собирать, в этом плане помер и знания не потребуются. А если понял работу потоков, указателей, ООП, GUI ОС, сокеты, то знания целиком применимы на любом другом языке программирования.

Да и не помер, развивается, есть компилятор для других ОС и бесплатен стал для личного использования и небольших проектов. В рейтинге свое 50е какое-то там место заслуживает ))

Одна из проблем заключается в том, что у этих курсов, да и вообще по отрасли, нет внятных критериев получения образования.
Какие-то критерии есть, если устраиваться на госслужбу, но они не нужны бизнесу. Бизнесу нужны люди под свои задачи, а не с корочками.

в авиации: 4 года оттрубил в лётном училище и успешно сдал экзамены - значит, выучился и к управлению указанным в дипломе классом воздушных судов годен, на работу по специальности возьмут немедленно.

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

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

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

Сказывается кадровый голод. Так же и в медицине. В хороших местах блат. Тотальный протекционизм в свое время немало повредил престижу ЦКБ.

выпускника IT-вуза будут гонять на общих основаниях с вайтишниками?

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

Навряд ли. Сертификат превратится в такой же фетиш, как вузовский диплом.

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

Удивительно, но отсутствие поставленного рекрутинга хронически не замечается директорами, правящими своей рукой заявки на 50 пунктов - и "швец, и жнец, и на дуде игрец" за гроши. О сколько раз бывал я в бешенстве! Конкуренцию кадрам составлял юротдел (к вашей посылке о том, что юриста раз и взяли - взять то взяли, тока сразу надо хорошего адвоката присматривать).

Но это я по своему. Вам, опять же, виднее.

Почему ... выпускника IT-вуза будут гонять на общих основаниях с вайтишниками?

Патамушта диодный мост! :)

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

Если говорить о выпускниках медицинского вуза, то в большинстве стран мира их могут взять на работу только резидентом/интерном/ординатором – по сути, подмастерьем, и работать с пациентами они могут только под надзором более опытных коллег. То, что в России с 2016 года была ликвидирована интернатура и выпускникам без реального опыта медицинской практики разрешили сразу работать в первичном звене в поликлиниках – это не показатель качества подготовки студентов в российских медицинских вузах, а попытка решить острую проблему с заполнением ставок терапевтов/педиатров в государственных поликлиниках во многих регионах, особенно в сельской местности. При этом многие выпускники сами открыто говорят, что им не хватает опыта для самостоятельной работы сразу после выпуска. Кому интересно, на эту тему есть развернутая статья Медузы (путинским режимом признана иностранным агентом).

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

Привет! Прочитай для начала М.Лутца.

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

Что поделать. Воду может и льёт, только лучше что-то сверху не особо-то придумали. Альтернативы есть, но мне они кажутся менее удачными. Упражнения там есть. Моё мнение, если нужен именно задачник, то надо брать задачник.

Очередная 100500-ая статья про то, что полугодовые курсы не сделают из охранника инженера. Пока будут глупые люди, верящие что можно чего-то добиться иначе чем своим трудом, будут и такие курсы, а так же финансовые пирамиды и все остальные 400 сравнительно честных способов отъёма денег у населения. Плохо это или хорошо? Это просто жизнь.

Такая-же фигня с любой другой профессией. Даже годовые курсы не сделают из охранника, например, переводчика.

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

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

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

в ИТ надо приходить смолоду

Не получится смолоду. Буквально давеча в дуроскопе демонстрировали отрока, каковой отрок подал свои ЕГЭ аж в 10 ВУЗов и в итоге не поступил никуда. Причём говорилось что явление сие довольно массовое - многие так поступают. Возможно они думают что так они читят и хакают систему, но в итоге пополняют стройные ряды хозяйства где директором т-щ Шойгу.

Почему? Ну, я думаю что просто утрачен первоначальный смысл сего действия. Идея "подачи документов" в выборе ВУЗа. Идея выбора ВУЗа - в выборе будущей специальности. Я так думаю. Вместо этого - некое спонтанное действие и закономерный случайный результат.

Возможен и другой вариант. Допустим, человек хорошо подумал, подготовился и поступил на ракетостроительный. И отучился. И пошёл работать. Но со временем понял что ракеточки что-то не клеятся. Что-то не то. Не то что хотел. Или то что хотел, но уже перехотел. Причин 10^6. И что? Надо что-то другое. А что? Мозги вроде на месте. Уверенный пользователь ПК. И чего бы не войти? А давайте войду! Нормальная идея, ящитаю. И совершенно нормальный путь.

Глупо отказывать людям в возможности сменить профессию. не бывает так. И не будет.

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

Зачем отказывать? И ВУЗ при чем здесь? ВУЗ хорошо уже на базис. А базис что?

Себя слышать. Процесс. Глубокое погружение уже потом. Что пользы мне пытаться описать мой утренний поход в поликлинику и безуспешную попытку сдать ИФА? Когда у меня отвращение спустя 15 мин писательской работы. Какой из меня писатель?

А рассказать могу, и в лицах, и по-простому, и с претензией.

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

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

Вот это то, мне кажется, что не меняется, и что можно понять уже в ранней юности.

Ракеты и программирование с этой точки зрения - очень близкие примеры.

У меня 15 лет опыта работы в разработке и профильное образование.

Так вот, я с высоты всего этого ответственно заявляю автору, что это все нахрен не нужно в 2021 году чтобы работать.

Не потому, что знания - это плохо, а потому, что 95 процентов работадателей нанимают людей чтобы было и для хайпа. Все эти никому не нужные блокчейны, ML и AI. Не потому что технологии плохие, а потому, что в кор бизнесе они не нужны на самом деле. Но если компания лидер рынка заявил, что у нас 200 человек датасаентистов, то как мы можем быть хуже? Если модно писать на ГО, это не важно, что язык и инфраструктура херовая. Главное, его сам ГУГЛ создал.

Вот и получается, что отрасль и неучей переварит

На правильном ли я пути, если не проходил никакие курсы, не изучал основы языка(js), а просто начал писать и набивать шишки. Из моих успехов, это создание api сервера на node js, который проксирует запросы из другого сервиса, манипулирует с форматом и представлением данных и отдает их по запросу с этого сервера.

Если вам это нравится, то на правильном. Но иногда можно просто неформально беседовать с профессионалами, чтобы узнать что-то неочевидное.

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

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

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

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

А есть ссылка на историю?

Это старая шутка из КВН, на самом деле такого не было.
В интернете есть еще другая байка, что в СССР вместо английского преподавался мингрельский auvasilev.livejournal.com/617876.html, но я не в курсе есть ли у такой версии основания.

Кореш мой мне как-то говорил. Не учи языки (программирования), чтобы устроится на работу. Устраивайся, и учи то, что им надо. Заранее, не делай лишнюю работу.

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

На самом деле, как я это вижу, предназначение интенсив курса "в IT - с нуля" - это нечто вроде того, что устраивают аутсорс галеры типа Епам.

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

А все это standalone без обязательств - ну такое... ни ученик особо ничем не замотивирован (кроме своего стремления к знаниям), ни преподу особо не важно, что там студенты будут уметь по итогу.

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

Недавно проходил скрининг в компанию где я сейчас работаю (это тот самый короткий опросник - тут было порядка 10 вопросов).

Первый вопрос про максимальное число, которое можно сохранить в одном байте - просто обескуражил меня на столько, что я ответил 256.. потом поправившись что 256 - разных значений, а так то: от 0 до 255, но это если формат без знака... Дальше было тоже весело и порой помогало, то что я недавно своим детям помогал по информатике в школе разобрать отдельные темы...

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

Но оказалось, что тот самый скрининг (с вопросами из уроков информатики) не проходят около 90% соискателей.
____
А еще я до сих пор в шоке от одного из наших админов с прошлой работы. Там он настраивал триггеры в забиксе и и все не мог понять что за значения ему приходят в одном поле. Так я ему и объясняю - там статусы не 1,2,3,4,5.., а битовое поле и каждый бит - свой статус. Если ему нужен конкретный статус, то нужно битовую маску наложить..... он спрашивает что такое битовая маска.... я отвечаю что это по сути степени двойки... его "1,2,4,6,12 так?" заставило меня биться в реальной истерике головой об стол.... Это АДМИН!!! и он не знает степени двойки.....

Первый вопрос про максимальное число, которое можно сохранить в одном байте — просто обескуражил меня на столько, что я ответил 256… потом поправившись что 256 — разных значений, а так то: от 0 до 255, но это если формат без знака...
При развитых «софт-скиллз» можно убедить, что первый ответ тоже был правильным.
При разной интерпретации вопроса можно найти ещё несколько «правильных ответов».
(9, 15, 35 (байт — 1 ASCII символ, число из одного символа — цифра (десятичная, шестнадцатеричная, «тридцатишестеричная» (от 0 до Z))),
любое число (значение собственно байта — индекс в массиве или код, означающий заранее заданные значения),
любое число, можно побайтно (только) записать
)

Вопрос звучал : какое максимальное число ... в одном байте.

Результат (максимальное число) зависит от интерпретации условий (как в задаче про сравнение веса килограммов ваты/пуха и железа).
Это я ещё про размер байта ничего не говорил (6, 7, 8, 9 бит ^_^).

Ну и бит (минимальная единица в слове/байте) не всегда был с двумя значениями....

Можно было сказать, что это какой-нибудь старый-добрый TMS320VC5510, в котором char 16 бит

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

вопрос про максимальное число, которое можно сохранить в одном байте

Ёлки зелёные! Где ж такие козырные работодатели?! Когда я начал собеседоваться, меня постоянно пытались склонить к разговору про Спринг, нагрузостойкость и прочую бигдату. Хотя у меня чётенько было написано что опыта нет, Java Core худо-бедно осилил, плюс немножно баз данных, а к изучению фреймворков только приступаю и спрашивать меня по ним немного бессмысленно, и вообще - опыта нет (!), будьте милосердны!

А у вас я бы сразу стал любимой женой лучшим претендентом (я даже про "исключающее ИЛИ" знаю, ага)!

Не понимаю, почему все вкатываются программистом. Вкатываться проще всего тестировщиком (ручным). Знания никакие особо не нужны, сидишь, тыкаешь кнопки как макака, придумываешь тесты копипастя из тз или по готовой системе и получаешь свои 100к, всяко лучше чем в пятерочке 25-30 на кассе

Кстати, а можете посоветовать курсы по ручному тестированию? Родственнику помочь хочется.

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

ибо навыки для этой работы не нужны 

Очень даже нужны. Но это те навыки, которые действительно реально за 2-3 месяца приобрести. Получать с такой подготовкой выше 30-40 т.р., конечно, вряд ли получится, не уподобляйтесь авторам курсов с обещаниями 100к. Но это реально быстрый старт.

У нас взяли человека (даже двух) с по сути "нулевыми" знаниями на 60. Поработав год он сейчас уходит на ту самую "сотку". Так что вполне реально.

Ну, где-то может и 60. Но я всё-таки думаю, что медиана ближе к 40.
А за год можно очень глубоко вникнуть в проект, дойти до приличного уровня тестирования и даже начать что-то автоматизировать. Там уже от человека зависит. Я верю в возможность x2 на этом этапе.

Да я сам наблюдаю регулярно как приходит очередной нулевой тестировщик на 50-70 и через полгода, а то и раньше имеет 100. Не все выдерживают такую однообразную работу (особенно ручные регрессы) и уходят.

А если ещё и с заказчиком нормально коммуницирует и может даже демки какие-то проводить, то тут и до разработческих з/п недалеко

Тестирование dot com пусть прочитает и задания из книги поделает. А потом на стажировку в учебный центр какого-нибудь Epam или Accenture.

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

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

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

Недавно (ну, в этом году) была статейка тут поливающая яндекс практикум субстанцией.

Они ещё и бесплатные. Иногда даже "стипендию" со второго месяца платят.

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

Соглашусь т.к. должного регулирования нет (проблема есть).

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

Не соглашусь т.к. в смежных отраслях есть ого-го-го регулирование (сети и телеком).

Все так. Но в статье можно заменить "онлайн курсы" на "высшее образование" и все останется верным. Те же проблемы (за исключением топовых и узкоспециализированных вузов): низкая квалификация педсостава, учеба для корочки - тотальное списывание, экзамены за взятки, малый процент выходит работать по специальности. Но масштаб на порядки больше - миллионы людей, 4-6 лет потраченной жизни, куча гос. и родительского бабла. На этом фоне онлайн курсы выглядят быстрым и недорогим способом попробовать и понять, что это не твое.

При всем при этом даже те, кто повально списывал и проходил экзамены за взятки, выходят в жизнь с вполне себе прикладным опытом.

UFO just landed and posted this here

Соглашусь.

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

А лет через 7 встретился с ним на новом месте работы в довольно приличном месте..... Он там эникеил на приличного размера заводе. Ну слово за слово, оказывается я был еще терпелив - в остальных местах он и 3-4-х месяцев не задерживался... Но вот на заводе, где я с ним пересекся, он работал уже почти год.... секрет оказался прост - отдел персонала обслуживался им и обихаживался как небожители, а почти все остальные на большом предприятии просили его не присылать.... Поэтому любые попытки его уволить натыкались на полное непонимание со стороны (довольно властного на заводе) руководителя кадрами.

В ВУЗе тебе не обещают дать опыт работы за 3 месяца. И в процессе учёбы вполне можно выучить условный C++ или Java на довольно хорошем уровне тупо по времени.

В идеальном мире курсы должны были написать в рекламе нечто вроде:

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

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

Лучший комментарий к этой статье! :)

Спасибо! Сохранил себе!)

вам придется пойти на рынок труда и победить в конкуренции с этими людьми.

Этих людей на весь рынок не хватает. Так что вам там места, скорее всего, тоже хватит. Хоть таких высот и низин, как они, вы, вероятно, не достигнете.

Это уже будет обман. Людей, которым не нужны никакие курсы, чтобы научиться тому что дают на курсах на самом деле очень много и далеко не все они IT-шники. Половина из них работает чуть ли не автослесарями.

Я например как IT-специалист серьезное формальное собеседование не особо пройду. Если пойду на условные галеры, скорее всего завалят. Но я вообще не помню, чтобы учился программированию, как не помню чтобы учился говорить. Помню только что читал статьи в "Юном технике". В 13 лет когда в СССР я сумел в первый раз в жизни пробиться к компу в Дворце пионеров мне уже было не интересно то чему там учили - циклам, массивам, условиям. По какой-то причине мне это все было очевидно и я хотел писать настоящие большие программы. Пришлось ждать времени, когда компы начали продаваться в магазинах. И это была довольно типичная ситуация среди моих знакомых.

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

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

далеко не все они IT-шники. Половина из них работает чуть ли не автослесарями.

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


рядом со мной будут тестить несчастного, который на курсах в 25 лет с трудом усваивал то что я в 12 мог "из коробки".

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


Если человеку нужны курсы, его дело уже плохо.

Я уважаю ваш опыт, но не надо его генерализировать. У меня, например, он другой. Если хотите, то можете сами ознакомиться.

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

...............никакие IT-шники и после этого есть еще свитчеры

Э, посоны! Нам сейчас вот совсем отказали в наличии мозга! Видели, да?!

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

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

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

Никто не верит, но по сути программирование устроено точно так же.

То что у разных людей разные способности это очевидно и обсуждать это бессмысленно.

Но ты налил ведро воды, но не ответил на вопрос чем статья в ЮТ лучше статьи на Javarush. И почему читая ЮТ можно стать программистом, а решая задачи на Stepik нельзя.

Потому, что статья в ЮТ много хуже, чем степик. И человек, который может стать по статье в ЮТ программистом в тетрадке, а потом настоящим не нуждается в степике. А человек, которому нужен степик, чтобы стать программистом не станет таким же крутым, как тот, кому достаточно статьи в ЮТ.
У Талеба был ГУЛАГ в качестве более жесткого примера. Типа "почему люди прошедшие ГУЛАГ такие крутые, неужели он закаляет?". И ответ — нихрена он не закаляет. Просто крутые могут его пройти, а не крутые не могут.

Не понимаю. Человек что-то узнал про типы данных, циклы, условия. Понял что железка тупая и ей надо абсолютно точно объяснять что считать, в какой последовательности и куда складывать данные. Т.е. получил базовые знания об алгоритмах. Собственно это вся школьная информатика того времени когда был ЮТ.

Всё? Он программист? Ну тогда я до фига программист! У меня по инфе пятёрка была и даже отдельно на факультативы ходил, и с товарищем на его Микроше что-то там ваяли. Всё? Могу подаваться на синьора?

ООП, ФП, фреймворки, шаблоны - это всё автоматом залетит? Не надо мучиться изучать? Увижу работу и сразу сделаю? Так что ли?

Конечно залетит. Только ФП в одних, а ООП в других. Ключевое в том, что одним надо мучится, а другим не надо. Изучать (= прочитать один раз, что там люди выдумали) вторым тоже надо.

ООП, ФП, фреймворки, шаблоны - это всё автоматом залетит? Не надо мучиться изучать? Увижу работу и сразу сделаю? Так что ли?

Программисты не изучают фреймворки, они их пишут. Но потом и готовые тоже используют, потому что кто заплатит за свои фреймворки?

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

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

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

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

Почему Вы считаете, что сравнивать надо с музыкантами, а не с, скажем, адвокатами?

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

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

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

Курсы обманывают - говорят что дело в знании этих самых инструментов разработки (знании нотной записи, условно говоря). Но на самом деле дело не в знании а в наработке этой самой способности мозга. Одаренный в программировании ребенок может зная три базовые конструкции какого-то языка решить вообще любую задачу. А свитчер может напихать в голову кучу знаний про технологии и может только собрать как из кубиков то чему его подучили. Дальше они оба придут на собеседование. Как вы думаете, кого предпочтет наниматель?

в комментариях много людей купивших курсы…
интересно, что ими двигало при живой курсере, stepik, openedu.ru?
да, возможно презентация и реклама у них лучше, но в предложенном выше отвечает университет, который сделал курс.
да и там есть платные курсы, но вопрос качества все таки более-менее проработан
Калькулятор зарплаты, «гарантированное» трудоустройство, истории успеха, и т.д. на сайтах платных курсов
UFO just landed and posted this here

Хочу внести маленькое дополнение и слегка побуду капитаном Очевидностью. Многие увлеченные и продвинутые в чем-то люди погружались в контекст своего дела с детства или юности. Это такой невидимый но фундаментальный базис до учебы в ВУЗе или самообучения.

И еще, когда человек замотивирован и у него есть наставник, то получается взлёт умений как у ракеты. Потому что наставничество очень серьезно позволяет экономить время на выходы из тупиков. Я как-то помогал знакомому изучать работу в "блендере", так он за тройку месяцев стал уверенным пользователем программы. Причем, он обращался только когда сам утыкался в неразрешимые проблемы и буксовал.

При этом странное дело имеется: мало кто хочет учиться бесплатно. То есть или платно вот в таких онлайн-школах, или не учиться вообще (типа бесплатное хорошим не может быть).

Вот я специалист с 14-летним стажем, и я меня тоже люблю делиться опытом. В связи с этим я развиваю свой собственный обучающий проект: https://freecode.academy/

Идея в том, чтобы пользователи бесплатно могли не только учиться, но и общаться с другими специалистами. Но вот как-то очереди не выстраиваются... Видимо не хватает лозунгов "Гарантированное трудоустройство", "Освой за N дней" и т.п. :)

UFO just landed and posted this here

Продолжайте клепать, тестировщикам нужна работа!

Нет, не хватит! Эй, братва, навались! Дави очкариков! :))

UFO just landed and posted this here

Для дата-саенса действительно не нужно знать хорошо математику и программирование. Гораздо важнее понимание бизнес процессов. Дата-саентист - аналитик у которого данные не помещаются в эксель.

Да и для прогеров потребности бизнеса и клиентов должны быть важнее дискретной математики (если не занимаются какими-нибудь низуровневыми штуками).

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

Может кто рассказать про учебу в университете заочно?
О себе: закончил 9 класс, начинаю думать об университете, но в другой город не отпустят, начал изучать python, вроде идет нормально,сегодня прикалывался с черепашкой и л-системами.

Пойди в военкомат. Очень помогает решить проблему с "не отпустят в универ другого города".

Тут раз на раз не приходится. Среди поколения старших иногда встречаются те, кто уверен, что "не служил - не мужик". Так что такой способ не всем поможет.

А самому z0tedd могу сказать, что на постсоветском пространстве даже при очной учебе далеко не все гладко. На целый курс выпускников даже "серьезных" специальностей дай бог хотя бы 10% уйдет не только с бумажкой об успешном окончании, а еще и с реальными знаниями. На заочке же ты не научишься вообще ничему, если только не готов вкладывать столько усилия и внимания в учебу, что справился бы и без универа вовсе.

Касательно курсов - сам вкатился в айти ещё когда курсы не стали мейнстримом и имею даже профильное образование. Однако я знаю людей, которые имели иной путь, в том числе с курсами.

И могу разделить этих людей на две группы:

  • Готовы работать, но в силу неуверенности в себе, возможно, каких-то проблем с мотивацией и организованностью, не могут научиться программированию самостоятельно. Им важно, чтобы (во всяком случае на начальном этапе) им сказали "копать вот отсюда и до забора", но после этого они приложат реально много усилий, чтобы это сделать и ещё перевыполнят план (разумеется, даже мысли взять чьё-то готовое решение у них не возникнет). Они никогда не жалуются, что курс плохой, потому что "непонятный" - любые проблемы с пониманием они рассматривают как проблему в себе и, соответственно, решают её гуглингом. Единственная жалоба, которая у них может быть - наоборот "блин, ну это как-то слишком легко получилось, я не чувствую, что достаточно разобрался в теме". Таким людям курсы вполне могут быть полезны.

  • Работать не готовы. Вот такие могут очень долго ныть о том, что курс плохой, потому что какую-то тему плохо объяснили и они застряли на каком-то задании. При этом по факту они даже на занятиях могут слушать в пол-уха, я уж молчу про домашнюю работу, которая просто не делается.

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

Второе следствие - стоящие курсы обычно не такие уж и дорогие, потому что в силу большого количества фрустрации "сложна!!!!111" на них идёт меньше людей и слишком большой ценник поставить просто не получится.

Как было сказано в бессмертной классике: ничего личного, просто бизнес. Далее будет режим КЭПа

  • имеем массу не-ИТ народа, которая читает о уровне оплаты в ИТ. Причем уровни джуна и мидла пропускаются, а в голове остается оплата преимущественно на уровне сеньора

  • имеем массу народа, которая читает о дефиците кадров в ИТ

  • вышеупомянутый народ складывает два + два, и начинает искать способы тоже стать ИТ-шником с такими же суммами оплаты.

Далее приходит КЭП и начинает рассказывать, что если есть рынок спроса, то мгновенно образуется рынок предложения. Что заработать хотят многие, а квалификацию для этого имеют единицы (причины такого весьма подробно описаны автором), и что задача курсов (тут КЭП окончательно входит в раж) - не научить чему-нибудь, а продать курсы.
Побочным эффектом, стимулирующим все вышеописанное, является весьма плачевное у многих знание английского языка, что не позволяет использовать огромный объем существующих англоязычных видео- и текстовых обучающих материалов, по которым можно научиться вообще без курсов.
Поэтому результат другим быть не может по определению: человек приходит на курсы с представлениями о оплате на уровне сеньора после обучения за пару месяцев, и ему именно это там и рассказывают, т.к. именно это он хочет слышать, иначе он не пойдет курсы. Точнее пойдет но на другие, где ему расскажут то, что он хочет слышать.

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

-- А вот скажите, вы преподаете Unity. Как Unity поможет мне в программировании дополненной реальности?
-- Этого я вам сказать не могу, я не знаю, вам это расскажет на курсах преподаватель.
-- На каком занятии?
-- Минуточку, посмотрю план... на 12-ом.

собственно, но мне уже все стало ясно, но я попробовал еще раз:

-- Я так понял, для обучения на ваших курсах макбук обязателен?
-- Да, разумеется.
-- А обычного линукса недостаточно?
-- Нет.
-- Хм. У меня нет макбука. Что же делать?
-- Купить? Хотя подождите... (неплотно зажимает трубку рукой и куда-то в сторону кричит: Вась, ты почем свой макбук продаешь?). Ответ Васи разобрать можно: "60". Оператор возвращается ко мне и сообщает: "Мы можем продать вам макбук 2015 года всего за 90 тысяч рублей".

Я сказал "спасибо" и повесил трубку.

И это были очень популярные курсы, которые спамят своей рекламой вовсю.

Имхо самый черный маркетинг у курсов типа гикбрейнса даже не в том, что они обещают трудоустройство, вкатиться за три месяца и прочее, а в том что у них круглый год «скидки» на все курсы под 50%. Сколько ни слышал историй о том, как люди обожглись на них, все они начинались с «ну там под новый год\день погромиста\8 марта были скидки почти 50к, я и не удержался». Мне кажется сама реклама которая идет постоянно, и обещает «только сегодня» огромную скидку должна насторожить вменяемого человека.
UFO just landed and posted this here
Я краем глаза посмотрел, там все же другой порядок цен. А не как в гикбрейнс, по промокоду от каждого второго видео на ютубе невероятная скидка, курс за 120 000 руб. по цене всего 60 000.
Вы меня не поймите неправильно, я ничего не имею против всяких промоакций и временных скидок, но у них скидки ВСЕГДА, и всегда одни и те же, и выдаются как суперпредложения, хотя по сути это и есть реальная цена, которую они хотят получить за курс.

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

Проходил курсы от гикбрейнс по вебразработке в порядке смены направления (15 лет на 1С): из группы в 40 человек вышло и трудоустроилось 3, причём далеко не на 100500 денег, все успешно закончившие были с айтишным бэкграундом.

По поводу того, что трудно найти хорошего преподавателя.

Друг (как раз из разряда «действительно очень неплохих преподавателей» некоторое время преподавал в этом году в одной очень известной и упоминавшейся здесь выше онлайн-школе. Порядка там никакого, как казалось. Контактные лица со стороны школы у него несколько раз менялись, на орг.вопросы либо жал ответа порою неделями, никто ничего не знает - перепосылают друг к другу, юридически оформили договор уже когда он 50% лекций первого потока провёл. Актов выполненных работ ждёт до сих пор, хотя все оплаты уже проведены были в начале лета (что радует конечно же, но как он из смогли провести по своей бухгалтерии оплаты без актов — вопрос интересный)... Друг отвёл объём, на который договаривались изначально, а дальше, естественно, не стал продолжать с ними сотрудничать.

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

Если по делу, то тут разгорелся спор что лучше. Самообразование, или институт. Все дружно сошлись на том что курсы отстой. Думаю что все сложнее. Тут вот затрагивались курсы по Английскому. После института я мог читать, переводить техническую литературу (уровень был неплохой), но вот читать художественную литературу и говорить не мог. Не было тогда курсов, но были, как теперь говорят, фрилансеры. Так вот через неделю занятий с этим фрилансером я прочел первую художественную книжку, и начал говорить… Мораль, дело не в форме, а в содержании.
Институт может ничего не дать, самообразование может ничего не дать, курсы могут ничего не дать. Но возможны варианты, когда «не» уйдет. И в институте и на курсах и в самообразовании можно достичь результатов.
А вот задача найти стоящий институт, стоящие курсы оказывается сложной. Отлично работавшее в прошлом веке сарафанное радио забили мощными информационными потоками наполненными ложью. Даже если вы являетесь носителем четкого понимания что в рекламе ложь, у вас нет шансов сообщить это человеку который задумался стоит ли приобретать это. Зайдите на отзовик. Там много положительных отзывов о Skillbox. А вот отрицательных один два. Мой так и не опубликовали:). Самый простой пример это реклама кредитов. «Кредит от 5%!!!!, но ведь реально под 15% а то и 30%»…

Отлично работавшее в прошлом веке сарафанное радио забили мощными информационными потоками наполненными ложью.

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

Мммм, старая добрая ссылка на ютуб с окончанием gXcQ…

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

Комментарии будут?

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

Значение N значения не имеет (pun intended). Это просто вопрос чистоплотности, примерно как помыть руки после туалета, вне зависимости от того сильно они запачкались или не сильно.

Спорно на самом деле. Я конечно тоже избегать стараюсь запросов в цикле, но если по каким то причинам запрос это усложнит заметно для понимания и дебага, или он и без того достаточно сложный и древний настолько что никто в него не лезет из боязни сломать, а N я знаю гарантированно небольшой (2-3) и не вырастет никогда, то страшного ничего не вижу. Ну, если еще и время выполнения запроса адекватное. Если он и так долго выполняется — то конечно придется сам запрос допиливать.
Я конечно тоже избегать стараюсь запросов в цикле, но если по каким то причинам запрос это усложнит заметно для понимания и дебага, или он и без того достаточно сложный и древний настолько что никто в него не лезет из боязни сломать

Так там обычно трансформация тривиальна.


foreach(var x in foos) { 
  await BarAsync(x) 
}

преобразуется в


var tasks = foos.Select(BarAsync);
await Task.WhenAll(tasks);

Про легаси — ну разве что там.

Увы, не всегда все тривиально. В простых случаях глупо не через запрос делать, да.
UFO just landed and posted this here

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

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

Очень интересно, что из себя представляло тестовое задание, как определить уровень своей компетенции человеку с комплексом неполноценности, и постоянной неуверенности в себе? Где найти ментора? Куда сыпать вопросами?)

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

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

только надо понимать что 3 месяца курс по вечерам это грубо 72 часа. это минимум сколько нужно для получения удостоверения повышения квалификации.


Чему то научить можно, но эффективней в рамках курса под конкретную организацию. И и то- это будет довольно простая работа (вроде техподдержки) по решению некого круга типовых задач. чуть шаг в лево в права возникает проблема- широкой базы (которую даёт ВУЗ и опыт работы) нет и двигаться вперед без неё очень сложно.

Как то лет 10 назад забеседовался я в крупный учебный центр. Мне они сказали буквально следующее "мы читаем книги вслух для тех кто не способен читать их сам".

С другой стороны- у меня у самого опыт репетиторства.
И могу сказать- как способ увеличения эффективности учебы это работает. Если у человека доходы позволяют -для него может вполне эффективно взять наставника (это индивидуальная учеба а не 200 человек на потоке). он может и сам- но затраты времени будут выше существенно. Хотя некоторые не могут. если столкнулся человек с проблемой, не работает, 4 минут потыкал и остановился.

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

Насчёт часов хорошо подметили. В принципе, есть хороший ориентир в этом плане:
1_000 часов осознанной практики - уровень профессионала (можно начинать брать деньги за свою работу без сделок с совестью)
10_000 часов осознанной практики - уровень профессионала мирового уровня (можно рассчитывать на топовые зарплаты, 90-й перцентиль и выше)

Работает, кстати, абсолютно в любой области, не только в IT.

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

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

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

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

Ну и последнее - преподаватели с самого начала говорят: "Мы вам разжуём и в рот положим, но проглотить надо самостоятельно".

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

Агрессивный маркетинг - двигатель торговли :))
Я тоже свою, видимо, недостаточно хорошо свою точку зрения выразил. Я учился на курсах от Яндекса, за другие ничего не скажу.
Обещали помощь в трудоустройстве - понятное дело, что за руку водить и звонить знакомым, чтобы пристроить недоросля, никто не стал, но в цену входил и отдельный курс по трудоустройству, где наставники проводили собеседования - поболтать за жизнь и технические. Были и домашние задания - как правильно составлять резюме. Всё это действительно помогло.
По подаче материала - наставники и кураторы не давали зелёный свет лентяям, отправляли на доработку, если что-то не нравилось. Теорию давали хорошо, и помню один случай, когда куратор, чтобы в ответ на вопрос "как сделать такое-то задание?" ужом вертелась, чтобы дать максимум намёков, но не решать самой за студента задачу. Хотя подошла к этому ОЧЕНЬ близко.
А дальше зависит от качества материала - кто-то хочет и получит знания, кто-то нет.
И ещё два примера:
Один человек, пошёл на курсы QA, чтобы лучше понимать коллег QA-шников. Совершенно при этом был доволен своей работой и не собирался её менять.
Знакомая сейчас учится на Data Analyst, и опять же не для того, чтобы стать айтишником, а для повышения своей квалификации на своей работе.

почему мой репетитор кошмарил меня по всяким моментам, связанным с оптимальным решением задачи, и перед тем, как допустить меня хоть к какому-то написанию кода даже не в IDE, а в терминале, сначала вышколил меня по всяким системам счисления, разрядности системы и прочим базовым информатическим вещам

Лол, в современной школе на уроках информатики это не проходят?
В советское время системы счисления изучались обычно на первом же уроке, а в старших классах ученики уже писали код на Бейсике.
Или данные занятия были, скажем так, для отстающих?

С тем что тебя не могут научить, а ты можешь только научиться согласен на 100%.

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

Онлайн школе в силу это больще подходит вариант сверху вниз. Примерно так же работают профтехучилища.

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

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

UFO just landed and posted this here

Дело в системности образования. Из статей на Хабре (даже хороших) будет фрагментарное, а не общая картина.

Так устроена жизнь во всех сферах. Мотивации и ума хватает у очень немногих. И курсы это или специализированное высшее, разницы нету практически никакой. Только в высшем человек 70% времени просто тратит в пустую, а на курсах полтора года отучился и в бой. Ну да, 90% будут сомнительными специалистами (как собственно и во всех остальных областях) или вообще забросят IT, но 10% мотивированных и умных станут отличными профессионалами.

И не стоит забывать, что дефицит кадров огромный в IT. Что вы предлагаете взамен? Резко увеличить прием студентов в наши убогие вузы? Чтобы они там пять лет теряли время?

Курсы, по-крайней мере существуют в конкурентной среде и со временем совершенствуются, а вузы тухнут на госфинансировании.

Видно, что автор не глупый человек, но по большей части эта статья просто бессысленное нытье.

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

Спасибо большое что прочитали! Я постараюсь переварить всё, что вы написали. Думаю это не последняя моя статья на эту тему.

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

Статья показывает уровень современного подхода к получению плюшечек от жизни: желательно, погорячее, повкуснее и, главное, ничего не делая. Ни один онлайн-курс не заменит базового, желательно высшего образования (не корочки о нём), причём в том, что касается IT, как правило, лучше бы всё-таки немного технического, хотя в определённых областях, причём на топ-позициях (не кодировании), гуманитарии тоже могут оказаться незаменимы. ВУЗ даёт человеку способ получения нужных ему знаний самостоятельно, в отличие от школы. И не важно в какой узкой области знаний вы специалист - никогда не знаешь что выстрелит, но если вас научили получать знания, причём постоянно - вы справитесь в любой области. Недаром на госэкзамены по специальности разрешали раньше приносить любые учебники и справочники, даже писать ответы в институтской библиотеке - если ты не учился - всё равно не справишься и поплывёшь на вопросах. А если человек может не зная точной формулы (не проходил на вечёрке, а год терять неохота) решить задачу, да хоть из закона сохранения энергии (реальная история), то понятно, что он всегда сможет наверстать свои знания и "доучить" точную формулу. Если ты понимаешь, что задачу, которую вроде бы надо реализовать на Python, быстрее, проще и "дешевле" решить на другом известном тебе языке - почему бы и нет? Только один он-лайн курс по Python тебе в этом никак не поможет.

К сожалению вынужден с вами согласиться. В плане плюшек - так уж точно. Зачем делать много, если можно делать мало (потому что мне так сказали)

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

Но, простите, фронтэндеру нужно учить именно Реакт, а не системы счисление и прочую анахроничную "базу".
Отрасли знания усложняются многократно и вместе с ними растёт уровень разделения труда.
Тот кому нужно знать регистры и системы исчисления и тот, кому нужно знать Реакт - это просто разные люди с разными специальностями.
Программирование повторяет развитие любой новой технологии. Пример с Фордом - до него были высокооплачиваемые редкие мастера в кузовных мастерских с огромным опытом. После - конвейер и тысячи узкопрофильных рабочих вдоль него.
Программирование стало конвейером - до этого доросли языки программирования, до этого доросли компании, проекты и рынок.
Поэтому - да можно стать программистом за год по онлайн-курсам и да - на работу возьмут, если ты выучил что-то востребованное рынком.

С другой стороны, я понимаю из чего родилась статья Николая. Из окружающего идиотизма. Большинство не может двух мыслей связать в предложение, а учёба для них - это "списать и получить диплом". И они сотнями приходят на собеседования (что и описал Николай). И да, высшее образование хоть как-то прсеивает и ограняет эту массу.

Поэтому каждому решившему стать программистом нужно прежде всего честно себе признаться - не идиот ли он. И если нет, то всё получится. =)

Спасибо большое! Про узость специалитета - отличная мысль, обдумаю её

Диплом можно выбросить в мусорку. У меня есть диплом как он мне помог. А курсы - смотря какие. Вполне себе могут помочь. Я знаю и системы счисления и САУ - системы автоматизации управления и много ещё какой мути было. Только это всё можно выбросить. Единственное чему учат ВУЗ - усидчивость и поиск информации. Пихают совершенно не нужную информацию, которую 99% выпускников не помнят. Помнит только 1% генеев и заучек.

Так что на курсы не надо гнать, смотря какие курсы и как проходить собеседования. После ВУЗа не учат как устраиваться на работу, это проблема.

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

После ВУЗа не учат как устраиваться на работу, это проблема.

и
Единственное чему учат ВУЗ — усидчивость и поиск информации.


взаимоисключающие параграфы ;))