Pull to refresh

Comments 109

Мы договорились с руководством о проведении бесплатного курса веб-разработки
Ок. Фабрика программистов. (или все же веб-дизайнеров?)
В силу обстоятельств они вынуждены учить школьников Турбо Паскалю и другим новомодным технологиям – но большинство понимает абсурдность ситуации
Ну да, зачем программистам Турбо Паскаль или, боже упаси, Дельфи?
проверяет код прикрепленных к нему учеников
Роботы среди нас!

P.S. Чему же все-таки вы их учите, так и не сказали. Делать визитки на HTML? Магазины на Битрикс?
Ок. Фабрика программистов. (или все же веб-дизайнеров?)
Простите, при чем тут дизайн вообще? В статье ни слова нет ни про дизайн, ни про дизайнеров. На всякий случай: веб-дизайн и веб-разработка – два совершенно разных понятия.
P.S. Чему же все-таки вы их учите, так и не сказали. Делать визитки на HTML? Магазины на Битрикс?
Мы учим стеку разработки React/Node.js. Подробнее программа курса описана на сайте –
www.coderfactory.ru/curriculum
Конечно, зачем же в статье писать, чему вы учите.
Переходите все по ссылке, там все написано.
В статье упомянут стек – React / Node.js. А более подробная информация – конечно, на сайте.
Судя по курсу, ученик уже должен знать азы программирования, даже больше
Знание азов, конечно, поможет. Но и неподготовленный человек может справиться с курсом, убедились в этом в летнем лагере. В то же время, школьники до 9 класса, как правило дальше html/css не проходят, это правда. Поэтому мы в основном ориентируемся на возраст после 9 класса.
проект заглох? ссылки не открываются
Ну да, зачем программистам Турбо Паскаль или, боже упаси, Дельфи?

Простите, может быть глупый вопрос, но действительно, зачем? Зачем учить мертвые языки ради абстрактных скиллов в программировании, если можно учить сразу живой используемый язык, за который людям платят деньги?
Всё циклично, всё спирально.
Одно поколение тому назад была мода на юридическое образование.
Между юридическим образованием и обучением программированию есть одна очень большая разница. Юристы обслуживают существующий рынок, но не создают новых продуктов и ниш на рынке. То есть, пока на рынке был дефицит и юристов не хватало – конечно, был прямой смысл идти учиться. Но программирование – создает новые продукты и увеличивает рынок сам по себе. Поэтому специальности, связанные с разработкой, будут в обозримом будущем расти и вряд ли этот рост остановится.
Только вот большенство программистов вопреки вашему утверждению обслуживает существующий бизнес, а не создают новый.
А те «программисты» что «создают новый продукт», как правило создают очередной «лучший курс по программированию».
Спорное утверждение. Обобщение слишком мощное вышло.
Откройте, например, Аппстор или Гугл-плэй и посмотрите, там как — ВСЕ «обслуживают существующий бизнес»?

Не стоит забывать, что часть этих же программистов будут создать новые продукты, которые будут сокращать работу программистам. Такую работу, как верстка, простые сайты — уже в скором будущем можно будет отдать делать машине или дизайнерам.
Также не стоит забывать, что минимальная планка устройства программиста на позицию джуниора за 10 лет сильно выросла. Спрос уже больше на сильных программистов, а в будущем в эту сторону будет только перевешивать.
Такие вот курсы и школы в лучшем случае из 50 программистов сделают одного хорошего. Остальные же попадут под "сокращение", т.к. не смогут этим профессионально владеть. Не скажу, что это какая-та особенная профессия, но она не для всех. Сейчас же пытаются программированию обучить всех, и мы теперь имеем огромное количество людей, с поверхностными знаниями программирования. Даже не программирования, а верстки и немного скриптов на js. Взгляните на тостер, с каждым месяцем вопросы все тупее и тупее.
Учить школьников информатике хорошо, алгоритмам хорошо, логике хорошо, но не такой специфичной штуке, как JS + ReactJS. Куда они дальше с таким багажом пойдут? Пока они закончат школу и универ, этого стека уже может и не существовать.

Не стоит забывать, что часть этих же программистов будут создать новые продукты, которые будут сокращать работу программистам.
Также не стоит забывать о том, что часть этих программистов будет создавать продукты, которые будут СОЗДАВАТЬ новую работу другим программистам. Так было со смартфонами (появился рынок мобильной разработки), с соцсетями (появился новый тип приложений и функционала для существующих сервисов), затем с чатботами, и примерно то же самое происходит сейчас с блокчейном.
Также не стоит забывать, что минимальная планка устройства программиста на позицию джуниора за 10 лет сильно выросла.
Она не выросла, а просто изменилась. Сейчас джун должен знать немного другие технологии, вот и все. Зато не надо знать jQuery и как верстать под IE6.
Сейчас же пытаются программированию обучить всех, и мы теперь имеем огромное количество людей, с поверхностными знаниями программирования.
С этим я на 100% согласен. Факт, что обучение турбо паскалю сделали обязательным для всех школьников – это маразм. Считается, что даже если человек не будет разработчиком, это ему пригодится «для общего развития». Как говорят сами учителя, у учеников это вызывает желание сбежать с урока и держаться от этого подальше.

Но наш проект совсем не про это. Мы хотим находить школьников, у которых есть предрасположенность к разработке, и давать им возможность быстро освоить стек современных технологий. Чтобы можно было работать на реальной работе и делать реальные продукты прямо сейчас, а не через пять лет просиживания штанов в универе.
Она не выросла, а просто изменилась. Сейчас джун должен знать немного другие технологии, вот и все. Зато не надо знать jQuery и как верстать под IE6.

Не согласен. Сейчас требований например к front-end разработку гораздо больше, чем тогда (хотя тогда и позиции такой не было почти). jQuery учится за пару вечеров, чего не скажешь о ReactJS+Redux. А еще есть куча сборщиков, препроцессоров, ES6-ES7, и куча периферии. Сейчас хорошим фуллстеком быть почти нереально, а в то время легко.


Мы хотим находить школьников, у которых есть предрасположенность к разработке

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

Ну это хорошее дело. Но если бы не React. Я даже не знаю сценарий, при котором эти знания смогут помочь школьнику.
Подождите, но ведь в статье описываются такие сценарии? Школьники, закончившие старую версию курса, находили нормальную коммерческую работу именно в этом стеке меньше чем через полтора года после начала занятий. Со взрослыми это еще быстрее происходит.
Было бы куда круче — разработка игр. Там и язык можно стандартный взять, и детям интересно. Всякие змейки делать, сапёры.
Согласен, это было бы круче. Но было бы от этого больше конкретной практической пользы? Делать змеек многие учат – но мы решили сфокусироваться на реальных навыках, которые позволят научиться работать в минимальный срок.
Такие вот курсы и школы в лучшем случае из 50 программистов сделают одного хорошего.

Действительно, это большая проблема. Сам, являясь студентом, преподаю программирование на курсах при универе. 9-11 классы. Так как курсы бесплатные и входное тестирование скорее распределяет учащихся по уровню знаний, чем отсеивает, то часто имеется ситуация, когда из группы ( ~ 8-12 человек ) домашнее задание делают 2-3 человека. Остальные даже не пытаются. Им, видимо это просто не интересно.

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

Думаю, что сейчас, возможно, самое лучшее — сфокусироваться на онлайн образовании. Сейчас очень много хороших ресурсов для получения знаний, в том числе и бесплатно. Те, кому надо, знания получат, а кому нет — сами отсеются. А фидбек по специфическим вопросом можно искать в тематических чатах в том же telegram'е.
когда из группы ( ~ 8-12 человек ) домашнее задание делают 2-3 человека. Остальные даже не пытаются. Им, видимо это просто не интересно.

Но ведь они ходят зачем то? Может быть в какой-то момент перестали понимать материал, отстали и плывут по течению? Зачем они записывались?
Не каждый взрослый человек способен самоорганизоваться так, чтобы выполнять домашнюю работу. У вас же вообще школьники. В 9-11 классе ЕГЭ надвигается, в связи с чем еще и в школе нагрузка высокая.
2-3 добросовестных из 8-12 это довольно таки неплохо.


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


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

… А следовательно и зарплаты будут падать (по факту уже падают) с «развитием» рынка. Лет через этак через 5 такими темпами в сеньёрам, Java-developer-ам или DevOps-инжеренам будут относиться, как сейчас к сисадмину, т.е. как к сатнехнику/электрику/уборщице. «Типа ИТ всё просто — любой вчерашний студент „сделает“ твою работу за 5 минут».С такой тенденцией в ИТ делать нечего будет лет через 10 — прибыльнее будет переквалифицироваться на того же юриста/врача/аналитЕГа/клерка/таксиста/дальнобоя.

Разница в продукте. У програмииста он может быть.

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

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

Ну и что? Это хороший толчок для молодых специалистов, только толчок, большую часть материала придется освоить самим. Как показывает практика «случайные пассажиры» долго не живут, тебе или нравится кодить или нет, если нет — долго оставаться в нашей профессии очень тяжело. Как правило, те кто работает прекрасно умеют пользоваться ресурсами сети, умеют извлекать нужную им инфу, иначе просто не выжить, все меняется каждый день, если ты не можешь учится самостоятельно — результат очевиден. А качество софта не от этого зависит, ты либо делаешь качественный продукт, либо делаешь его быстро, время просто такое.
а программированию можно научиться самому не выходя из дома, было бы желание.
Это безусловно так. Но когда человек не из профессии вводит что-то вроде «как стать программистом», он как правило получает ссылки на нереальное количество материалов по разным технологиям. Самому сориентироваться в этом океане – конечно, можно, но на это уйдет на порядок больше времени, чем с помощью курса или наставника, который проведет по конкретному стеку разработки.
только ещё больше случайных пассажиров в профессии, которым интересны только деньги. А качество софта упадет ещё ниже.
Вы делаете очень странный вывод. С вашей точки зрения, все люди, которые используют хоть какой-то обучающий сервис – «пассажиры». Раз они не могут научиться самостоятельно, им не место в профессии. На самом деле они МОГУТ научиться самостоятельно. Просто используя сервисы, они сделают это быстрее и эффективнее. А стремление к эффективности – это очень хорошая черта для разработчика.
Да-да, а те, кто не может сам обучиться не выходя из дома, те недостойны быть «илитой». Все люди одинаковые, поэтому если одному не нужна поддержка ментора хотя бы в выстраивании курса обучения, то и всем остальным тоже можно без нее обойтись.

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

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

Из 20 человек только 2 дошли до конца. Почему вы не считаете эти 90%, которые удлинили поиск себя, потратив массу времени и сил впустую?

Ну так мы с вами быстро скатимся в неисчислимые категории. Много ли они времени потратили, если отвалились после третьего-пятого занятия? Что если отвалившиеся все равно применят знания для самоопределения? Кажется, что выбор все равно между расширением перспективы/взгляда на мир и отсутствием такого расширения.
Попробовать и выяснить, что это не твое != потратить время впустую. Да и расширение кругозора еще никому не причиняло вреда.
Нельзя начать изучать то о чём ты даже не знаешь. Нужна прикормка, человеку надо как-то узнать про программирование, как-то натолкнуться на него.
А сейчас сколько процентов от общего числа учащихся заканчивает курсы? Если конверсия увеличилась, то что этому способствовало?
У нас аналогичная проблема — компания проводит бесплатные полугодичные курсы по программированию. К концу курса из двадцати человек остается примерно пять. Что с этим делать — непонятно.
Разве это плохо? С оставшимися и работать
Да нет, не плохо. Остаются только те, кому это действительно надо. Но мне кажется, что эти ребята и так бы пробили себе дорогу в программировании — с нашим курсом или без него.
Со стороны преподавателя — только делать курс понятнее. В Фабрике мы постоянно ищем места, на которые у студентов уходит больше всего времени, или после которых мы видим, что студенты не справляются и уходят. Такие места нужно расшивать — тратить больше времени на объяснение, добавлять примеры. И так до бесконечности :)
Дело не в этом. Курс у нас достаточно понятный и простой, с большим количеством примеров.
По-моему, некоторым людям просто лень учиться. Они вроде бы и хотят стать программистами, но когда узнают, что знания не вкладываются в голову преподавателем, а приобретаются собственным трудом — быстро сдуваются.
Всем интересно послушать лекции. Повторить пример на компьютере за преподавателем — уже желающих меньше. Сделать домашнюю работу готовы единицы.
Причем у тех, кто самостоятельно не работает, одни и те же отговорки: «Мне некогда» и «У меня не получается».
Те, кому некогда, не могут найти 30-60 минут в неделю, чтобы сделать задание.
Когда спрашиваешь тех, у кого не получается, что они вообще сделали, оказывается, что ничего. Даже не создали проект в IDE.
Может и правы в комментариях выше и зря я беспокоюсь о конверсии — таким пассажирам не место в индустрии.
одни и те же отговорки: «Мне некогда» и «У меня не получается».

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


"Не получается" это ведь простор для работы преподавателя. 3-5 типичных вопросов и все у них получается. Осталось научить этих людей задавать эти вопросы себе самостоятельно.

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

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

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

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

Да, если идти по пути упрощения, все так и будет. В конечном счете это выродится в кнопку «Я понял», которую нужно нажать, чтобы пройти какой-то таск. Но есть много других путей, как увеличить «проходимость» какого-то сложного места. Например, более подробные объяснения, дробление задания на несколько мелких, примеры решения аналогичных задач. Ну и один из самых важных – увеличивать мотивацию студента – что тоже можно считать зоной ответственности обучающей системы.
UFO just landed and posted this here
Практически в каждой обучающей системе есть дополнительные средства мотивации, кроме естественной (получения знаний). В той же школе это геймификация в виде оценок, боссы в виде экзаменов и т.п. Так что речь не идет о том, чтобы сделать что-то принципиально новое – а просто сделать часть системы чуть более эффективной.
И как результат, перенасыщеность рынка и мизерные зп
Мне кажется, перенасыщенности рынка разработчиков в ближайшие лет двадцать можно не опасаться.
UFO just landed and posted this here
Никому не нужны? moikrug.ru/vacancies?q=junior&type=all
К тому же хороших джунов обычно берут в крупные корпорации вроде яндекса и мыла – а они на сайтах с вакансиями редко публикуются.
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
А можно посмотреть отзывы? Интересно мнение самих учеников. Как они оценивают курс. Что вынесли из проекты, в плане знаний.
Дайте школьникам учить Турбо Паскаль. Это святое!
Окей, начинаем делать новый курс «Современная веб-разработка на Турбо Паскале». Мне кажется, произведет фурор :)
Круто. А форум там, похоже, как раз на Турбо Паскале написан :)
image
А в чём рофл?
Достаточно турбо Паскаль заменить на Лазарус/Дельфи, вполне себе «современная», и вполне себе «разработка».
Все курсы «буду веб прогомиздом», не учат главному — программированию. Учат собрать вебпаком, учат делать красивые кнопочки с анимациями, и т.д., но по итогу мы имеем codemonkey, не способных написать элементарные вещи без использования stackoverflow, и кучу тормознутых лендингпейджей.
Достаточно турбо Паскаль заменить на Лазарус/Дельфи, вполне себе «современная», и вполне себе «разработка».
Нет, не будет. Достаточно зайти на moikrug.ru, вписать в поиске Delphi, и внимательно подсчитать количество найденных вакансий.
но по итогу мы имеем codemonkey, не способных написать элементарные вещи без использования stackoverflow, и кучу тормознутых лендингпейджей.

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

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

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


Тоже не понимаю этого отношения к паскалю и семейству Модула-Оберон.

И в чем же смысл делать это в два приема, если можно сразу взять golang?

Pascal проще. Значительно.
Как учебный язык, он и должен быть таким.


Сразу брать гошку — придется понять ее рантайм, gc, что такое deadlock, livelock, интерфейсы (а у гошных есть серьезные отличия от обшепринятых).
Вполне разумно может быть взять паскал, где некуда по сторонам смотреть, а после мощный уже язык.

Так в сумме на эти два языка уйдет времени гораздо больше, чем на изучение сразу нормального языка. Задумайтесь habr.com/post/264643

Ну мне чего задумываться? 5й год рабоиы на гошке идет.


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

UFO just landed and posted this here

Думаю многие тут видели негативный опыт, где первым языком был Паскаль, js, c#, c++, php или java. Почему ваше свидетельство существенно?
На любом из них можно найти упоротые примеры кода . Чужой код в целом может быть бесполезен и вреден при обучении.
Все сводится к тому, как преподаватель готовит свой материал.

А почему существенно обратное?


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


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


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


Более того, выскажу свое мнение, переход pascal-golang будет проще, чем js-golang например. Явная, статическая типизация, только один способ организации кода, очень быстрая компиляция, понятие байткода, которое теперь используется самым широким образом.
С паскаля можно переходить хоть в java, хоть в golang, php, python. Это как хороший промежуточный код на пути к чему-то более современному и сложному.

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

Дайте школьникам учить Турбо Паскаль. Это святое!
Ага, давайте тогда сначала изучать латынь и древнегреческий, вместо того чтобы сразу учить английский…
Если филолог не умеет в латынь, это, наверное, неправильный филолог.
Если программист не умеет в паскаль… И в никакой язык, кроме JS… И в математику, не выше школьной… И курс теории алгоритмов ему не рассказывали… Ну, программисты всякие нужны.
UFO just landed and posted this here
Если это кружок по интересам — то все замечательно. Дети под присмотром, и зананяты чем-то недеструктивным.
Если это подготовка программиста… Тоже ок. Я далёк от преподавания, и понятия не имею, смогут ли слушатели этих курсов реализовать себя как программисты.
Идея хорошая, но на мой взгляд, самая большая проблема в обучении учителей: время, мотивация и обучаемость самих учителей не стали камнем преткновения?
Учителя бывают разные. Да, отклик пока не очень большой – например, среди примерно 20 гарантированно проинформированных учителей Слободского района к занятиям присоединилось только шесть. Но у тех, которые присоединились – никаких проблем с мотивацией и обучаемостью. Именно на таких людей мы и ориентируемся – и рассчитываем, что по стране найдется несколько десятков действительно заинтересованных людей.

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

А чем обусловлен выбор такого стека? Он же устареет к тому моменту, когда школьники смогут работать официально
Официально можно работать с 14 лет (с согласия родителей). Со школьниками у нас есть результат в виде срока в полтора года между началом обучения и первой работой. Вы серьезно считаете, что бурно развивающийся стек React/Node устареет к этому времени?
Есть хорошо себя зарекомендовавший набор учебных языков (да, тот самый Паскаль)
Хотелось бы понять, что вы имеете в виду под словами «Хорошо себя зарекомендовавший». В чем именно Паскаль себя хорошо зарекомендовал?
Почему вы решили учить детей программировать на фреймворке?
Курс предполагает выполнение всех задач сначала на низком уровне, средствами официального API, и только потом на фреймворках. Низкий уровень нужен для понимания основ технологии – это пригодится, когда студент столкнется с неординарной задачей. Уровень фреймворка нужен для того, чтобы студент привыкал не изобретать велосипед, а пользоваться готовыми решениями – как принято в современном мире разработки.
Да и сам по себе JS не лучший язык для начала изучения программирования, как уже много раз писалось.
Это, мягко говоря, спорный вопрос. Допустим даже, что это так. В отличие от Турбо Паскаля (или учебных языков вроде Scratch), JS — реальный язык, и вдобавок один из лучших языков для поиска работы в начале карьеры. Освоив его, студент может довольно быстро получить бесплатную практику на каком-нибудь реальном проекте. А освоив Pascal, у студента какой дальше план? Идти учить реальный востребованный язык? Так почему бы, черт побери, не сделать этого в самом начале?
  1. Насколько я знаю, в 14 лет нельзя работать с ПК. Официально. И да, скорее всего, он устареет уже через три-четыре года, именно потому что он бурно развивается.


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


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



Вот это предложения я совсем не понял:


Курс предполагает выполнение всех задач сначала на низком уровне, средствами официального API, и только потом на фреймворках

Ведь node/react — это сами по себе фреймворки. При чем тут API я тоже не понимаю, можете как-то объяснить, как вы учите программировать на API?


А освоив Pascal, у студента какой дальше план? Идти учить реальный востребованный язык?

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

Насколько я знаю, в 14 лет нельзя работать с ПК. Официально. И да, скорее всего, он устареет уже через три-четыре года, именно потому что он бурно развивается.
Кто устареет? ПК? Если вы про React, то вряд ли. Устаревают как раз технологии, которые перестают развиваться. Реакту это пока не грозит. Но даже если это произойдет – в мире останется множество продуктов, написанных на реакте, которые будут требовать дальнейшего развития – и, соответственно, разработчиков.
Паскаль себя зарекомендовал хорошо в обучении программированию. Пониманию алгоритмов, типов данных, структуры программ. Ну и хотя б тем, что процентов 80 хороших программистов начинали в школе с Паскаля.
Интересно, откуда цифра в 80%? Если я скажу, что не 80%, а только 20%, это будет убедительным аргументом? Да, какая-то часть профессиональных разработчиков начинала учиться на Паскале. В основном потому, что выбора как бы не было – что в институте сказали, то и учим. Утверждать на этом основании, что он себя «зарекомендовал» – необоснованно.
Вот это самое странное. Вы учите школьников (а не студентов) «не изобретать велосипед, а пользоваться готовыми решениями». Это же равносильно тому, чтобы учить людей умножать на калькуляторе и решать уравнения в гугле.
Все верно! Рутинные операции должен делать калькулятор и гугл. У современного разработчика первой мыслью при решении типовой задачи должен быть поиск готовых решений в opensource, а не изобретание велосипеда.Это касается не только разработки. Вы представляете себе бухгалтера, который для суммирования колонки чисел использует абак, а не Excel? Он конечно может быть круче, чем лохи, которые пользуются калькулятором, но на работу такой не нужен. У хорошего разработчика должен быть НАВЫК сначала искать стандартное решение. И только если нет или стандартные не подходят – уметь писать свое.
Вот это предложения я совсем не понял. Ведь node/react — это сами по себе фреймворки.
Извините, я правильно понял, что вы node только что назвали фреймворком? Это сильно. Что касается низкого уровня – программа курса выложена в открытый доступ www.coderfactory.ru/curriculum – там видно, что все задачи сначала решаются на низком уровне (для клиентской части – js и DOM, для серверной – Node и ручной роутинг), затем на высоком (React и Express соответственно).
Все верно! Рутинные операции должен делать калькулятор и гугл. У современного разработчика первой мыслью при решении типовой задачи должен быть поиск готовых решений в opensource, а не изобретание велосипеда.Это касается не только разработки.

Тогда это будет не разработчик а слесарь-сборщик.
Гугл… вот и имеем что имеем, простой сайт в пару страниц но тянущий за собой «пол интернета». И да, зачем думать, ведь гугел за нас уже подумал.
М-да. Давайте попробую объяснить на примере, раз так понять не можете. Возникает, к примеру задача – проверять на валидность поступающие данные.

Вариант первый. Разработчик, который привык искать готовые решения, находит JSON Schema, описывает данные в соответствии с требованиями формата и подключает любой имеющийся валидатор вроде AJV. Уходит пара часов. Проект растет, нанимают нового разработчика. Тот видит, что используется JSON Schema – трендовое решение, с которым он имел дело раньше. Легко вносит модификации в схемы данных и настраивает валидатор, когда возникает потребность.

Вариант второй. Разработчик, который привык делать велосипеды – начинает изобретать свой формат, документирует его. Натягивает на него реальные данные, постоянно чего-то не хватает. На ходу меняет формат, документацию кое-где не апдейтит. Потом тратит неделю на валидатор. Менеджеры уже нервничают, так что тестами валидатор успевает покрыть кое-как. Вроде работает. Приходит новый разработчик, смотрит на чудо-формат, день читает документацию, чтобы внести минимальное изменение. Оно не работает, потому что доку не успели проапдейтить. Наконец разбирается, добавляет изменение. Валидатор в 10% случаев начинает падать, потому что самописный, тестами не покрыт, к изменениям в формате готов не был.

Вы как работодатель какого разработчика предпочтете? «Велосипедиста», или, как вы выраджаетесь, «слесаря-сборщика»?
Да я-то, как раз, все понимаю, и объяснять мне не требуется.
Вам выше пытаются донести мысль, что обучать в школе нужно основам: алгоритмам, работе с информацией, основам построения интерфейсов и т.д. А не конкретной модной технологии.
Хотя я в этом ничего плохого не вижу, как это Вам показалось )
Похоже, что требуется. Раз вы только что назвали всех разработчиков, предпочитающих применять готовые open-source решения «слесарем-сборщиком»
Ой-ли, вот прям всех?
Да я и сам применяю, эти самые открытые и свободные, и все что набыдлокодил, тоже под GPL выкладываю. Тут речь не о том совсем.

Вы реально не понимаете разницы между «делать велосипеды» и «уметь делать велосипеды»? Что сделает ваш разработчик, если готовое решение не будет работать для его задачи?
Мне кажется, вы путаете программирование с npm install.

Похоже, это вы не понимаете разницы :) Или делаете вид, что не понимаете. В моем комментарии было сказано, что у нормального разработчика ПЕРВОЙ мыслью должен быть поиск существующего решения, а не изобретение велосипеда. И только если решений нет, или ни одно не подходит – нужно разрабатывать свое. Уважаемый svk28 назвал такого разработчика слесарем-сборщиком, что, конечно, крайне странно.
А ничего странного. Вам термин «вэб-макаки» знаком? Так вот он не на пустом месте родился.
Поймите, Вы делаете правильное дело, но на мой взгляд слегка не в том направлении. Хотя это просто брюзжание, можете внимания не обращать )

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

Я просто не совсем понимаю, что у вас в связке node/react — язык программирования?
Я даже немного в растерянности. Вы хотите, чтобы я разъяснил, что node – язык для серверной части, а react – фреймворк для клиентской?
Судя по программе, вы готовите говнокодеров, простите, а не разработчиков.
Извините, но вывод просто высосан из пальца. Как это вы смогли его сделать, просто посмотрев на программу? Мы готовим разработчиков уровня Junior. Совершенно очевидно, что программа не может включать в себя несколько десятков технологий и решений, которые знает опытный разработчик. При этом шкала «хороший разработчик/говнокодер» вообще никак не связано со шкалой «Senior/Junior» и с набором технологий. Я лично знаю разработчиков, которые при всей своей эрудиции, куче освоенных технологий, большом боевом опыте и глубокой алгоритмической базе были отъявленными говнокодерами. И знаю несколько наших студентов, у которых после окончания было отлично развито чутье и здравый смысл, и которые, несмотря на недостаток опыта, умели принимать действительно качественные технические решения.

Но ведь Node — не язык, это, если не хотите называть фреймворком, платформа. А язык тут Java Script. И учите вы не программированию, а использованию готовых решений. Потому я и говорю, что вы готовите кодеров. Просто посмотрев программу и не увидев там никакой теории.
Это не разработчик уровня Junior. Разработчик Junior как раз обладает базовыми знаниями и ему не достает лишь знаний практических, которые он получит в деле. Если же учить людей по вашей программе, то процесс их роста до Senior займет в разы больше времени и с меньшей вероятностью успеха. Просто потому, что им самим придется учится базовым знаниям на основании собственного опыта.

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

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

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

Как говорят: «Как понять что это стоящий специалист? — Если он переехал в Москву, то это был стоящий специалист»)
Объем подобных трудовых рынков, вроде Кирова, не даст постоянного спроса на квалифицированную веб-разработку. Большинство задач закроют вордпрессники и верстальщики. Так что единственный способ вообще сохранить в городе мощных специалистов, к которым при необходимости сможет обратиться и местный бизнес — дать им удаленную работу.
Я 2 года проработал по удалёнке, а потом сделали хорошее предложение и я уехал. И в итоге ты понимаешь что в Кирове то делать нечего и возвращаться нет смысла.

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

В моём случае деньги на удалёнке и в офисе далеко не те же. Иначе бы не уехал.
UFO just landed and posted this here
А как же коледжи? школа не тот уровень. В коледж идут молодые люди которе уже «выросли» из школ.

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

Менторы работают с нами в штате и участвуют в разработке. Один из менторов — я.

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

UFO just landed and posted this here
А вот зря насчет Турбо Паскаля. Я в свое время очень хорошо его изучил и применил, включая TurboVision. Потом на Delphi написал один комплекс для рекламного агентства, где было все, включая верстку. Работники, которые успели потом поработать в других местах, уверяли что ничего подобного по функционалу и удобству нигде не встречали.

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

Я это к чему — если учителя не могу научить создавать хорошие программные продукты на обычном Турбо Паскале — то попытка применить промышленный язык разработки превратится в профанацию.
Я в университете вел лабораторные по С++ на Visual Studio (курс не мой и лабораторные не мои были, поэтому сильно не вмешивался в процесс), по окончании курса студенты с трудом запоминали в каком порядке надо нажимать мышкой чтобы создать простейшие события, и таки научились отличать fabs от просто abs, в среднем конечно. А просто потому что для более-менее детального обучения надо тратить не одно занятие в 45 минут раз в две недели, а 2-4 часа ежедневно.
В школе та же проблема. Объем материала промышленного уровня требует очень много времени и учит не программированию как таковому, а скорее правильному оформлению процесса разработки, не важно на каком языке.

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

А так я могу согласиться на перемены, но тогда надо начинать с чего-то стоящего и широко применяемого, например явы, и эти знания могу еще не раз пригодиться.
Но — вопрос где брать учителей, зарплаты явистов хорошо известны, как их убедить идти в школу и учить там, где большая половина вообще не хочет что-либо изучать — большой вопрос.
Слово фабрика какое-то… противное что-ли. По типу штампуем джунов на ваш завод по производству софта.
Если учителя информатики будут хорошо знать промышленные языки, то боюсь половина из них скоро будет работать уже не в школе.
Sign up to leave a comment.