Как стать автором
Обновить

Нафига козе баян? (Мне не сдались такие программисты)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров58K
Всего голосов 125: ↑91 и ↓34+84
Комментарии296

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

ЗакрепленныеЗакреплённые комментарии

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

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

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

Учился я с 2003 по 2008 годы на ДКО в МЭСИ. (Может здесь кто ещё остался?) ДКО означало Дневной, Компьютерный, Очный. Инженер-программист, математик-программист, специалист по обслуживанию и настройке программных систем. Что-то в этом роде.

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

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

На факультет я пришёл с толстой пачкой журналов @XakepRU (за что был так и прозван, и исправно покупал эти журналы до 2005-го года). У меня за плечами было несколько незавершённых проектов, написанных на Паскале, умение запускать Delphi, а так же недурное понимание языка Assembler для 486 процессора.

Сам процесс обучения был 50 на 50. Некоторые учителя вызывали дикую скуку и ужас. Была одна тётя, которая в 2005 году рассказывала нам про то, как работает SQL, на примере базы данных Informix 1989 года выпуска, которая была запущена на SCO Unix, под которым работал один из серверов универа. С другой стороны у нас было несколько отличных преподавателей, которые были молоды, веселы, и давали зубодробительные, но интересный задания. Был, например, Сева - @ceba Это - вообще отдельный кадр. Помимо того, что давал неимоверно сложные, но полезные и интересные задания, переманивал нас, студентов, в свой личный блог https://blog.stanis.ru (только аккуратнее, там NSFW может быть) Этот блог работает с незапамятных времён.

Но, как бы то ни было, основной упор не в этом.

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

В итоге я пошёл работать в ОСПМУПИПСМГЭУЭСИ. Я уже с трудом воспроизведу смысл всех этих букв. Это был отдел обеспечения процесса образования. Короче, мы занимались тем, чтобы у всех было расписание, оно работало красиво и показывалось на сайте.

Казалось-бы, просто расписание, что может быть проще? Всё было очень непросто. Для начала давайте сыграем в игру по комбинаторике. У нас есть 6 разных зданий, 200 преподавателей, и 3000 студентов. Каждая пара должна учитывать несколько параметров:

  1. Где эта пара будет проходить.

  2. Доступен-ли учитель для этой пары. (Некоторые преподы могли ездить только в ограниченное количество пар)

  3. Расписание учителя (некоторые - преподавали только с утра)

  4. Сколько часов каких пар по ГОСТу должен отработать ученик.

  5. Верхняя или нижняя неделя. Недели были разными, прям как на кораблях бывают разные вахты.

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

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

И тут - понеслось. Я думал, что мне придётся перебирать этот эксельчик за 15000 рублей в месяц. Ха!

Начали мы с того, что создали свои классы DALC. Data Access Logic Component. Тогда только-только вышел C# 2.0 в котором появились Generic, и на основе этого мы писали подобие Hibernate для .NET. На основе этих DALC мы писали BL - Business Logic. Всё это прикручивалось к базе данных SQL Server 2003. По тем временам - просто невероятное новшество.

Но, надо понимать, что такой проект набрал популярность, и к нему начали прикручивать новый функционал. В итоге, за 4 года проект разросся до 150 связанных таблиц в базе данных. Сама таблица расписания содержала в себе более 20 различных связей.

Ко всему этому весь код выгружался в TFS - Team Foundation Server, и его приходилось администрировать на сервере Windows 2003. Это надо было запускать на IIS, настраивать и пилить. Более того, в те времена была Вторая Война Браузеров. Когда я только-только пришёл на работу, сайты должны были работать просто на IE6, но в очень скором времени к нему прибавились Firefox и Google Chrome. Посему код для вэба должен был быть кроссплатфореным. Сайт с расписанием усложнялся каждый месяц. Плюс, новые функции и фитчи, типа “карточки преподавателя” и так далее.

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

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

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

Может быть мне просто повезло?

НЛО прилетело и опубликовало эту надпись здесь

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

Там еще и о том что у него еще долг в 130к долларов за обучение.

Вы в детстве делали фанерный самолет из набора? Сколько времени потратили на работу напильником, шкуркой, замену брака ? А что было на картинке коробки?

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

Школа, физика, 7 класс, модуль Гука - его податливость под внешним усилием говорит о хорошей перспективе для него, и для Вас.

Школа, НВП, практика стрельбы из боевого орудия, 10 класс - плотно уприте приклад в плечо, чтобы отдачей не набить синяк. В Вашем случае отдачи нет - есть только движение вперед. Радуйтесь.

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

НЛО прилетело и опубликовало эту надпись здесь

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

Дизельный? 15 рублей стоил, как щас помню!

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

Это у которого один из компонентов топлива был эфир? Который даже можно было купить?

Да, эфир и касторовое масло для смазки.

А еще были калильные, но они дороже стоили, больше 20 рублей.

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

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

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

Вот же. Век живи, век учись! Впервые слышу.

Селитра продается и сейчас... а вот целлулоидных расчесок (фотокинопленок, и т.д.) уже не делают...

Линейка офицера - последнее изделие из целлулоида, что нам досталось

А как же шарики для настольного тенниса? Их же вроде бы до середины 2010-х из целлулоида делали.

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

модуль Гука

Модуль был у Юнга, а у Гука был закон. Модуль Юнга если и проходят в школе, то уже в старших классах.

НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

ситуация - на вас какая-нибудь условная Арс Арма Сканда (не реклама) + рейдовый рюкзак литров на 150 с широкими лямками. Любопытно посмотреть на вкладку вашу волшебную. Мне в низкопрофильном AVS бывает сложновато довольно компактный ПТ-3 между дельтой и грудной пристроить, но вам виднее, полагаю. Ладно, это всё лирика, нравится вам по методичкам советским работать - ради бога

НЛО прилетело и опубликовало эту надпись здесь

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

вики

В обычном, не анатомическом словоупотреблении под плечом понимается не «верхняя часть руки», а часть туловища от шеи до руки. Анатомически эта часть соответствует плечевому суставу и надплечью, то есть — поясу верхних конечностей

По рейнджерским? MBAV на месте?

НЛО прилетело и опубликовало эту надпись здесь

последние шесть букв тогда уж

Рейдовый рюкзак на 150 литров? Вы точно ничего не напутали?)

а что смущает вас?)

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

Школа, НВП, практика стрельбы из боевого орудия

Орудие - разновидность коллективного огнестрельного ствольного оружия калибром более 20 мм.

Интересная школа...

Школа астартес, штурмовые болтеры. Изи!

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

Согласен абсолютно и полностью.

Как-то взял девушку в саппорт чисто эникеем, юзерам помогать. Почти нулевая, ни Active Directory, ни GPO, ни с чем раньше не сталкивалась, не работала. Сразу сходу плотно подсадил ее на PowerShell: "Get-ADUser, Get-ADComputer, Export to CSV, username * properties и т.д.", в двух словах как все устроено, как оно работает кратко объяснил. Накидал задач и дал указание -> гугли на английском. Вот как хочешь, но ищи инфу в Google своими запросами исключительно на английском языке, старайся.

Через два месяца уже и в Invoke-Command (ScriptBlock) разобралась и WinRM через командную строку траблшутила юзеров и вплоть до изи инсталл MSI пакетов продвинулась, скрипты пишет по 200 строк.

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

Я бы сказал - тут смотря кого обучать. На вашей визави можно и жениться :)

Это до первого лично опыта с... давайте назовём так, не самым усердным и мотивированным учеником. Вера в то, что "всё в руках преподавателя" - такая же ложная, как и "всё в руках ученика".

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

Но ведь гит — это и правда про большей части плагин для {name_your_IDE}. Зачем знать что-либо ещё о нём, если ты не настаиваешь свой приватный гит-сервис? Чтобы что? Чтобы перед детишками хвастаться, как дед-пердед правит историю (привет, rebase-воины) и форспушит, умудряясь не развалить бошку мастера?

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

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

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

Можно поинтересоваться, на каких методологиях выстроены монорепы (GitFlow, TBD)? Были ли в процессе вашего наблюдения смена методологии в командах? Стек тоже, получается, у всех общий?

Ненене, вопрос был про пример ситуации, в которой плагин не вывозит. У нас плагин вывозит, причем, независимо от методологии, может, ее и нет вовсе. Зачем уводить в сторону про какие-то методологии? Если так принципиально, пусть это будет методология «максимально просто работать».

Ок, если кратко - плагина не хватает там, где нет GUI.

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

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

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

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

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

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

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

нужно оставить за скобками и не рассматривать

  • различных непонятных sre dba (db-писателей хранимок) и 1с с неудобным плагином

  • пользователей компьютеров без графического интерфейса

  • граждан, которые сегодня js в vscode пишут, завтра до обеда в goland 2021.x версии баги правят, а после обеда java код в vim или emac херачат

  • ситуации, когда вы зашли на прод, сделали черипик из ветки с фиксом, потом поправили багу, закоммитили и запушили в ветку master-fix и прочую вот такую вот

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

расскажите, что это были за проблемы и как решались

Я же их описал. Все четыре приходилось решать.

не нужно про методологии спрашивать - возьмите свою

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

нужно оставить за скобками и не рассматривать

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

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

классно, если бы ответ был похож на:
(не обязательно)я работаю в [мегатехнологичная компания], где мы тут не жсоны перекидываем, а прям вот так вот шо аж уж (реальное описание, если это вообще важно и мы просто не понимаем)
у нас в команде сто тыщ синьоров и еще мильон джунов на подходе, все мы херачим в ветку main (используем gitflow etc)
вот буквально на прошлой неделе какой-то индивид (суть проблемы) запушил в main кривой кусок, а другой индивид откатил этот коммит, сделал еще один и зафорспушил, а я уже успел залить свою ветку локально и пытался сделать пуш, но тут бабахшайтанама (описание реального кейса).
пытался поправить через интерфейс, зеленый кнопка биль, биль все пробиль (описание попытки через плагин, не обязательно)
поэтому пошел в консоль, набрал команду раз, команду два, потом команду фикс и все пофиксилось, слилось и корректно запушилось (решение без плагина)

сможете так описать проблему?

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

tbd совместимая.
main -> feature -> (не обязательный сквош коммитов тут или после принятия merge request, за почти чистую историю никто не переживает) -> ревью -> main

gitflow был и сплыл

Спасибо за ответ! Тогда к обещанным примерам.

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

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

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

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

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

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

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

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

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

По поводу sre, девопсов, админов и прочего - не знаю, не встречал чего-то сложнее git clone / checkout. Но даже если и что-то пишут, то это не знание git, это просто еще один бинарник, к которому им нужно знать параметры.

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

по остальным вашим проблемам - хотелось бы видеть

  1. конкретную проблему или действие, которое вы хотите выполнить и зачем (если это что-то прям экзотическое) 2 можно ли решить эту проблему или выполнить действие без использования cli в вашей ide / программе или эти действия объективно сложнее без cli (но при этом это действие нельзя автоматизировать запуском скрипта "сделай нужное сам". тот же gitflow автоматизируется, насколько я помню, и через консоль и плагином для ide и по сути ты сами операции не выполняешь 3 как это решить в командной строке

например,
я пушу промежуточные итоги работы в отдельной ветке виде пачки коммитов для тестирования на тестовом окружении. после завершения задачи я хочу слить все коммиты в один и установить ему сегодняшнюю дату/время. jetbrainsовская ide со стандартным плагином не позволяет выполнить подобную операцию для коммитов, которые уже запушил. для не запушенных засквошенных коммитов время устанавливается = времени самого раннего коммита. операции изменения времени через ide не нашел (при этом изменение описания коммита есть)
обе эти операции можно сделать в консоли через интерактивный rebase и пуш с форсом (ага) и git ammend

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

Я не смогу привести примеры именно в том формате, в котором вы хотите.

При этом, моя позиция уже достаточно аргументирована. Уходим на линукс - привет, консоль. Плагина нет, потому что нет GUI и среды нет. Вы упомянули Gitkraken - это не плагин. То есть, плагина уже недостаточно, раз используется внешний продукт. Написать в скрипте гитлаба if: $CI_COMMIT_BRANCH = $CI_DEFAULT_BRANCH плагин тоже не поможет полностью. Может подсветить синтаксис и сделать автодополнение, но саму строчку и понимание, как она работает, надо будет брать из гугла. Итого есть 3 страйка, чтобы формально опровергнуть исходное утверждение автора коммента.

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

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

с 1с и прочими радостями - это все местная специфика

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

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

В PyCharm Pro версии недавно появился режим Remote Development, которому нужен только SSH. На Linux грузится backend, а frontend - на вашем компьютере. Все вполне себе живое даже при пинге 250 ms.

Хорошая новость! Концепция знакомая, пользовался ssh в VS Code, он тоже сначала был плагином, потом стал частью поставки редактора.

Просто в примере с уходом в линукс я в который раз хочу сказать, что существуют не только задачи разработки. Есть не менее комплексная и сложная деятельность смежных отделов, где все, кроме собственно кода, надо хранить как код. Docs as Code, DevOps as Code, Infrastructure as a Code. Необходимость обслужить компонент, систему или инфраструктуру целиком может возникнуть и у обычного разработчика, и это не какая-то невозможная ситуация, где среда с плагином в этом случае даст отказ.

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

в данном сообщении git.exe означает консольную "версию" гита под любую ось

Я не смогу привести примеры именно в том формате, в котором вы хотите.

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

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

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

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

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

Нет. С каких пор линукс синоним консоли? Для разработчика с вскодом или штормом - все равно винда там или десктопный линукс. Если вы работаете в vim - ваше право, см. следующий пункт по 1с

Ну да, одинэсники - не настоящие программисты)

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

Написать в скрипте гитлаба if: $CI_COMMIT_BRANCH = $CI_DEFAULT_BRANCH плагин тоже не поможет полностью.

Да, уверен, что плагин ГИТА тут не поможет.. а причем тут гит? где в гите $CI_COMMIT_BRANCH? это случаем не переменные gitlab ci?

В реальном мире прибегают 4 всадника апокалипсиса, отрывают у вас руки и ими же разыгрывают флеш-рояль

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

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

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

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

P.S. gitlab-ci тут при чем?)

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

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

gitlab-ci тут при чем

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

Какой-то вы совсем трэш описали.

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

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

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

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

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

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

Так это ограничение самого git'а. Расшарили свои исправление - все, теперь все живут с этим.

Я правильно понимаю, что если у меня есть отпочкованные от main две ветки branch1 и branch2. В каждой ветке я делаю несколько произвольных коммитов, после чего пушу одну из веток branch1. Теперь я могу объединить два верхних коммита (git rebase -i HEAD~2) в ветке branch2, но при выполнении той же последовательности действий над branch1 возникнет ошибка? А какая?

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

Вдогонку. Для других разработчиков объединение коммитов видно не будет.

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

Изначально речи об этом не было. На force еще нужно право иметь. Ну а если есть, и сделаете, испортите другим жизнь.

Ну вот прям в изначальном же сообщении, на которое вы изначально отвечали написано -

обе эти операции можно сделать в консоли через интерактивный rebase и пуш с форсом

и вопрос совершенно не в "правах доступа на force", вопрос в возможностях (точнее искусственных ограничениях) ide

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

и вопрос совершенно не в "правах доступа на force", вопрос в возможностях (точнее искусственных ограничениях) ide

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

Так, у вас тут последнее "не" не лишнее? Иначе я не понимаю, где, по вашему, искуственное ограничение IDE? А если лишнее, то на картинке ниже:

Вы в правой части кнопки Push стрелкку вниз "V" видите? Нажмите, там Force Push будет :) Все как в консоли.

И merge request - это совсем не force push, В первом случае история на сервере не портится, его можно безопасно для всех не принять, а во втором - еще как. У других разработчиков история может пропасть. Сделал человек push в ветку, стер проект с локального диска. Потом вы делаете force, человек делает clone, и опс - его работа не видна - вы ветку подрезали, у него parents пропали.

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

После одного своего эксперимента хотелось бы уточнить свой предыдущий ответ - по умолчанию для веток, которые считаются защищенными. В settings/git и это отключается. После этого force push становится доступным. Естественно, чтобы он сработал, надо еще в репозитории соответствующие настройки поменять. Хотите ходить по граблям - пожалуйста.

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

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

наверняка есть девопсы/SRE. Если вы наблюдали за их работой

Да, наблюдал. На прошлой работе. Чуть менее кровавый, но всё ещё энтерпрайз. Он открывает вскод, чтобы поправить терраформ скрипт, жмет гит плагин, копирует оттуда название ветки, жмет кнопку «консоль» и херачит там что-то вроде гит чекаут и пастит название ветки. На то же самое в гуи ему оставалось пару кликов мышью. Коммит, кстати, так же нелепо делал, хотя в гуи вот оно готовое поле для message и кнопочка под ним.

пишут скрипты для CI/CD

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

Если контура многогранные и процессы поставки сложные

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

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

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

А вот если плагины в разных средах, пусть это будет например, IntelliJ + Studio + VSCode + еще что-нибудь, то для человека в кросс-командной роли

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

вроде как

Да, как я и говорил, понтов за край, а уверенности нет.

Такие люди в компаниях есть, обычно это

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

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

Потому что лузикс «literally hitler» тролварц — мудак тупой, когда дело касается интерфейсов. Вместо того, чтобы сделать интерфейс гита от «какую задачу хочет выполнить пользователь», он сделал убогонько от «какие биты в репозитории поменяются, когда пользователь выполнит свою задачу». К тому же, как я уже говорил, потребности самых кровавых энтерпрайзов покрываются весьма незатейливым сабсетом фич гита, реализуемых плагинами популярных IDE.

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

... пока не обленились и не перевалили это на нас

... передай своим девопсам

Наши девопсы не переваливают свои задачи на нас)

Незначительные особенности выучиваются за месяц

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

понтов за край, а уверенности нет

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

У нас как-то не принято для каждой фичи хреначить пару сотен серверов

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

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

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

Я до сих пор не вижу конкретного примера

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

Наши девопсы не переваливают свои задачи на нас)

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

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

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

Вы по причине кажущейся вам неуважительности от понтов переходите на личности и агрессию?

Верну вопрос.

А по TBD принято

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

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

О, все, прямо без исключения, с кем я в текущей компании пересекался — бесценный кладезь опыта и информации каждый в отдельности. Особенно те, кто 20 с лишним лет в компании. И вот ни один не бегает «консольный гит! Ребейз! Черифорсмержпушресет!!!» Как-то люди всё больше «закоммитилось? Норм! Го ревью»

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

Не получится. Сказал А, говори Б. Потом уже будет, что обсудить.

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

почему у вас настолько безапелляционная позиция

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

В линкедине, кстати, численность указана в 50-200 сотрудников. На порядок отличается от "тысяч сотрудников в монорепозиториях" и очень далеко от "кровавого энтерпрайза".

Ты посмотри, какой! В лучших традициях гомеопатии погадал на кофейной гуще, ни разу не угадал, и ещё указывает мне, можно ли мне комментировать на сайте, который не в российской юрисдикции даже

Habr Blockchain Publishing Ltd. Diagorou 4 Kermia Building, 6th floor flat/office 601 1097 Nicosia Cyprus

Береги репутацию, молодой человек, скорее удаляй аккаунт на этом буржуинском сайте. Ты же не как эти, которые, как я, да?

методология «максимально просто работать»

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

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

Все баги были решены. Последний клик по клавиатуре поставил жирную точку в этом модуле. Я снял палец с левой кнопки мыши - все было закоммичено. Напоследок системные часы в трее судорожно моргнули. Биения кварцевого кристалла передавались счетчику секунд и походили на удары сердца, складываясь в слоги: во-сем-над-цать-ноль-ноль. Люблю круглые числа, пора идти домой. Я накинул куртку... "ги-и-ит", - послышался голос на краю сознания. "Мой любимый плагин...", - вяло откликнулся я, погруженный в свои мысли. "Гии-и-и-и-иит", - уже громче и протяженнее прозвучал голос. "ГИТ!", - он резко превратился в крик и грянул как окрестр, составленный целиком из одних медных труб.

Я очнулся и взглянул на экран с окном видеоконференции. Часы снова моргнули и показали 14:48. Собеседование шло уже 15 минут, если не считать тех трех, на которые опоздал мой наниматель. Какая вопиющая непунктуальность.

– Простите, что вы сказали? – неожиданно произнес мой собственный голос.
– Вы когда–нибудь использовали гит? – спросил интервьювер.
– Вы имеете ввиду плагин в студии? – уточнил я.
– Нет, я имею ввиду чистый гит. Давайте так, опишите своими словами, как сами понимаете, что происходит, например, во время операции коммита.
– Ну, я обычно нажимаю кнопку, а плагин делает все сам, – обрадовал его я. "Кто в современном мире вообще учит чистый гит, – промелькнула мысль, – опять попался какой–то идиот, который спрашивает по анкете из интернета".
– Хм. Понятно... А какие вообще команды знаете? – не отставал собеседник.
– Вам надо настроить свой приватный гит–сервис? – я попытался перехватить инициативу.
– Нет, у нас используется GitLab, пока его возможностей хватает.
– А тогда зачем команды? – почти искренне удивился я.
– Хорошо, принято... Давайте перейдем к следующему вопросу.

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

Это гениально! Жаль нет кармы плюсик поставить

Поставил за тебя.

Вообще не в тему.

Я спросил новичка-механика: «Что такое мотор?» он мне ответил «эта такая штука, соединяет бензобак и трансмиссию».

Я не спрашивал команд.

Я не просил ребейзить.

Я не узнавал, как менять стратегию ребейза.

Я не узнавал, что делать с detached head.

Я не спрашивал вообще ничего, кроме одной вещи. Что такое git?

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

Тут можно написать ещё сколько угодно комментов на тему «да сколько-же можно мучать новичков?»

Но это всё будут отписки.

Вопрос был: «что такое git?»

Правильный ответ: «система контроля версий»

Так же правильный ответ: «программа для синхронизации кода»

Ещё один правильный ответ: «приблуда, чтобы много программистов писали код вместе»

Неправильный ответ: «плагин в VSCode»

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

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

@andyblasterтам, кстати, по первой ссылке написано, что ртуть лучше дружит с виндой. А по второй, внезапно, что CI/CD там тоже есть. Самое то для твоих виндовых одинэсок. Там и команды проще учить, можешь не сомневаться.

Дядь, ты совсем дурак?)

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

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

Ну и вы на VS2022 разве не в винде кодите? На маке, что ли? Это тогда вообще эклектика какая-то нездоровая.

Ну а чем не мост...вполне себе мост...жаль по нему ток не пойдет

Проблема в том, что в какой-то момент диодный мост ему-таки устроит КЗ. И придётся менять либо мост, либо плату, либо пробки.

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

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

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

Для прикола пройди квест по заводу в США УАЗа(хантера)... если сможешь завести, то расскажи сколько в результате бумаг собрал(а это время/деньги), сколько пошлины заплатил, сколько согласований прошёл.

Ну и для прикола глянь сколько стоит Уаз Патриот в США. Он там продавался чуть ранее от vw(вроде). Сейчас не знаю. Сравни с ценой тут в РФ.

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

США вроде собирались ввести пошлины на электромобили из Китая, или это другое?

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

Какие электромобили из Китая в США продаются? От чего эти пошлины должны защитить?

Хороший вопрос.

Тут с Теслами проблема. Их щас столько, что кажется что играешь в GTA 3, и у тебя побились скины на машинах. Каждый третий автомобиль - Тесла. Есть ещё Hyndai Ioniq (Корея) и Polestar (Швеция). Ну, есть конечно Форды и Доджи, но их электриков ооочень мало.

Больше я электричек здесь не видел. Есть какие-то Тойоты, но они - редкость. Так что от кого санкции - это вопрос.

Если я не ошибаюсь, то ряд "не китайских" производителей собирают свои машины в Китае и потом везут их в США.

Например Volvo так делает. Гугл говорит что как минимум ещё Buick и Lincoln.

И ещё есть какой-то Polestar. Который вроде как бы принадлежит Volvo, но сидит в Китае.

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

Лучше что-то делать хорошо, лучше других. чем делать всё, но плохо.

Там прикол в том что условный американский Lincoln собирает машины в Китае и везёт их продавать в США.

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

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

Ну коль думать влом и сразу давай ругать рашку, а на довод "так делают все страны" - минусим.

https://www.bremach.us/SUV.html

В это же время(2021/2022) в РФ эта машина стоила 1лям рублей+/-, что по тому курсу 3.9тысячи долларов.

Что там про пошлины в угоду АвтоВАЗу и за конкуренцию? Все страны защищают свой рынок и производителей. Все страны пошлины вводят. Все страны вбухивают в своих производителей(погугли, как в автопроизводителей на протяжении нескольких десятилетий США вбухивало, лишь бы не закрылись заводы)

Вы вроде как повторяетесь, на ваш коментарий про патриота уже был ответ, https://habr.com/ru/articles/858386/comments/#comment_27555424

Ну и если уж так хочется именно патриот, то сейчас в России он стоит 20К+ долларов, год назад стоил больше 30К.

В 21 году он не стоил 1М, а стоил больше, но ладно пусть будет 1М, но все равно это не 3900, что дало бы нам курс 250 рублей за доллар, а где то ближе 15К.

Хотите сравнить цену в 21 году на форд мустанг в штатах и в России?

А 130000 баксов долга после четырёх лет колледжа вас не смутили? 😁

А заголовок при чем? Вам не нужно обучать новичков?

Добавьте к этому 25,000 долларов, пожертвованных на благотворительность в этом году.

И вычтенных из налогов, FTGJ.

Не-а. Из налогов вычитается только первые 40-60%. За остальное - платишь по полной. И по бракетам тебя всё равно не протаскивает.

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

вычтенных из налогов

Это не значит, что вы заплатите на 25000 меньше налогов. Вы не заплатите налоги с этих 25000. Т.е. заплатите вы налогов меньше на 30-60% от 25к.

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

Все еще хуже: у IRS лимит $600 (на семью, 300 индивидуально) в год на вычитание пожертвований из дохода. Все остальное - это вполне посленалоговые деньги.

А, ну или файлить itemized tax return.

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

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

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

Заголовок "(Мне не сдались такие программисты)" - какие такие?

Теги C#* - это тут зачем? Кода 0, только упоминание.

Эта статья случаем не перевод или фантазия ИИ?

P.S. нынче если кандидат может связать 2 слова и что то осмысленное сказать, да еще и немного логики он уже подходит )))

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

Если бы

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

но если что-то понимает то не подходит, конкуренты не нужны.

Вы реально, после трёх лет работы с генераторами не в состоянии отличить человеческий текст от ИИ?

А вот по поводу кандидата - так в этом-то и вопрос. Кажется, что тут с вами можно только согласиться. Есть логика и умеет учиться? Гуд. Берём.

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

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

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

Слава богу, я не один ничего в этом комментарии не понял.

Работодатели: жалуются на то, что высшее образование бесполезно.

Те же работодатели: без диплома о высшем образовании даже не смотрят в резюме.

Да и это логично. ВО это тест на то в целом человек обучаем или нет. Попадает он в в принципе в круг кандидатов на работу в нужной области. Это как очень большой IQ тест на несколько лет. А в работе задачки из тестов конечно не пригодятся. Учиться надо снова уже на боевых данных.

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

В США по моему всем приходится брать sudent loan , это какая то ловушка на человеков. Не то что Сбербанк с его 2% кредитом на образование.

Нет, не всем, есть множество факторов, вплоть до того, что ВУЗ все будет оплачивать сам, включая проживание и питание.

Обычный лоан для МЕСТНОГО студента ИТ - около 40тыс в каком-то UT Dallas(реальные цифры). Для зарплаты со старта - 70-80.

Но справедливости ради - проживание студента за то же время стоит больше и не входит в лоан.

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

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

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

С таким опытом есть ещё люди, которые подаются на O-1. Там проще будет. Если интересно - стучите в личку, у меня знакомый открыл контору, занимается пробиванием виз.

НЛО прилетело и опубликовало эту надпись здесь

Хм. А я ведь могу нанимать... Интефесно... Надо почитать.

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

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

НЛО прилетело и опубликовало эту надпись здесь

Прикольно, хотя 12 лет опыта за бакалавриат, кажется не у всех кандидатов будет. :)

Да, по L1 сильно проще приехать, но эта виза не всем доступна. Например, у компании, в которой я работал удаленно по контракту и которые в итоге привезли меня по H-1B, не было официального представительства в России и L1 виза мне была не доступна.

НЛО прилетело и опубликовало эту надпись здесь

Ну да, ну да, бесполезная теория множеств и матанализ/матмоделирование... И кому это нахрен сдалось!

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

Неплохо, учитывая то, что это было бесплатно.

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

Это как очень большой IQ тест на несколько лет.

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

Типа как пройти тест на выносливость не напрягаясь?

Все бы вам попроще! А мы в школу зимой... через лес, пешком... Волки, медведи, ,метель!

И все время в гору! Что в школу, что из школы.

...и против ветра!

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

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

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

Госдурма к вам почти прислушалась. "Две полоски" - не джун, но +баллы на поступление в ВУЗ.

А самостоятельная работа, в таком случае, тест с самым строгим экзаменатором — опять ВО переоценено, на поверку.

Я работал на галере которая сдавала программистов банкам за почасовую оплату. И там вовсю искали студентов 4-5 курсов местных ВУЗов на оплачиваемые стажировки. Понятно что за 4 часа в день много студент не заработает, но он в моменту выпуска с ВУЗа знает и стек, и гит, и что такое UDP и его после сдачи диплома сразу берут в мидлы или сеньоры с соответствующей зарплатой.

Я считаю это самый разумный подход. А без диплома ему даже визу не дадут если он релоцироваться соберётся.

Вы уверены что те же?

Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мне пришлось изучать другие технологии: C, C++, Ассемблер, JavaScript, чистый PHP, ASP и множество других фреймворков. Это всё было в университете. Да, я пережил эпоху перехода от IE6 к более современным браузерам, а также знаю, как JQuery сначала был стандартом, а потом утратил свою актуальность. Всё это произошло за пять лет учебы в университете.

Суть статьи: наняли человека с неподходящими навыками и опытом, приходится всему его учить, кто виноват?

У меня меньше ненависти к современным нанимателям. Когда я в 2008 году пришёл работать на свою первую работу, меня спросили написать SQL-скрипты, C# код и JavaScript. Интервью продлилось 30 минут, и меня взяли на следующий же день. Но, судя по всему, я уже превзошёл большинство современных джунов, которые очень просятся на работу.

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

Нет. Речь о том что за четыре года и $130k человек по сути ничего не умеет и его приходится многому учить с нуля.

НЛО прилетело и опубликовало эту надпись здесь

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

MS Access при правильном преподавании отлично теорию RDBMS иллюстрирует. А потом "для галочки", простите, роняют базу, игнорируют индексы и зас...т память в запросах.

ИИ отправит вас всех по помойкам шукать! Можете скринить.

Интересно в статье вышло, что пацан учился в ПТУ, которым является колледж, но долг у него висит за институт (перевод корявый?), а спрашивают с него на работе, как с закончившего университет!

Создаётся впечатление, что автор вообще не в курсе про разницу между колледжем в странах бСССР и college в США. Туда же разница между университетом / институтом (подсказка: в США на месте института обычно как раз college). И в чём разница между associate's degree, который как раз ближе к нашему колледжу, и bachelor's degree. И в чём разница между BA и BSci. И в чём разница между community college и обычным college. И что такое curriculum, credits и prerequisites. И major / minor. И как в некоторых колледжах в США можно самому себе собрать учебный план изучения влияния пения на трение и выйти с долгом, дипломом специалиста по изучению какой-нибудь чуши и без специальных знаний.

И т.п.

Мне кажется, что если изучить нашего героя поближе, то выяснится, что он либо учился в каком-то не очень самом хорошем колледже на кого-то другого (major), а дополнительно выбрал программирование (minor). Или учился в community college на двухлетней программе, после которой выдают associate's degree, но т.к. он учился по вечерам, то для получения необходимого количества часов / credits учился в два раза дольше, т.е. четыре года.

А дальше включается типичная уловка "говори только правду, но не договаривай".

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

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

Комьюнити колледжи бесплатные (ну или около бесплатные, стоимость курса в районе 100 баксов, плюс степени получить легко)

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

а тут у человека долги на 130тыс

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

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

Ещё есть вариант, что он растянул обучение, тогда ЕМНИП тоже дорого получается, т.к. ты будешь платить не за 8, а за 12 семестров, например. Я не помню схему расчёта, будучи иностранцем очень трудно подсчитать сколько с кого возьмут и за что, но точно помню статьи, что за 4 года выпускаются далеко не все студенты и даже в гос. статистике учитывается, сколько бакалавров окончит 4-летнюю программу за 6 лет. А за каждый год надо ещё доплатить, хотя что за 4, что за 6 лет надо пройти предметов на 120 что ли credits.

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

в US примерно 6К колледжей, можно было бы удивляться если человек из top 20 к примеру, найти работу сейчас супер легко, вероятно из ivy league в то место где работает автор найти человека не реально

И в чём разница между BA и BSci.

А вот в чём? Я в своё время целенаправленно пытался вникнуть и пришёл к выводу, что она какая-то довольно эзотерическая.

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

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

Да, обучение в колледже в США длится 4 года. Я думал, что, поскЯ думал, что так как на пятом курсе универа мы всё равно полгода били баклуши, а полгода писали диплом (били баклуши с умным видом), то разницы между колледжем и универом должно быть ровно нисколько. Но на самом деле, всё оказалось совсем не так.

Потому что статья - байт, сгенерированный ChatGPT. Посмотрите на эту опечатку. Она появляется, когда у интерфейса ГПТ кончаются токены вывода. Тогда оператор нажимает enter на пустой промпт и ГПТ продолжает с того же места. Но иногда мысль меняется и продолжение переформулировывается.

Очень интересно, а есть ещё явные признаки работы сетей?

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

Не, не так дело было.

Вот полный оригинал, из Юлизиса

Что делать с образованием?

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

И так, представь себе компанию, которая занимается разработкой для Netuiste. Это такая Американская версия 1Ски. Старая, хреновая, но бухгалтера её любят. Проекты, написанные в 2016 году, отлично работают под Netsuite, потому что самые свежие апдейты примерно того-же года. Всем всё хорошо. Нововведения считаются дурным тоном, и народ спокойно себе работает на всём этом.

И вот, ко мне в комнату заходит новый программист. С пылу, с жару. Ему 22 года, и он только что закончил колледж по профессии “программист”. Отлично, говорю я, давай приведём тебя в порядок, и как следует подучим, чтобы ты мог нормально работать.

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

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

Проблема

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

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

Лекции в современном колледже в США длятся по 2.5 часа в день. Всего. Это - максимальная нагрузка. И только с понедельника по пятницу. Если и бывают домашние задания, то они занимают не больше одного часа в неделю. Проектных работ не бывает. Курсовых не бывает.

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

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

Реальная проблема

Первый красный флаг я заметил, когда новоприбывший спросил “А можно ли мне подключиться удалённо к этому компьютеру?” Ему приходилось работать по удалённому рабочему столу, подключаясь к одному из ноутбуков в сети. Я спросил его: “Нет, а ты пробовал?” на что получил утвердительный ответ. Он сказал, что пытался подключиться к компьютеру с адресом 192.168.252.11 из дома, и это не сработало.

На что я его спросил, знает ли он, что такое маска подсети. Он честно признался, что нет, не знает. После, я спросил в чём разница между TCP и UDP. Он ответил, что это им как-то говорили на лекции, но препод сказал, что не надо обращать на это внимание.

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

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

Копаем глубже.

Следующий флажок запустили над кораблём под фанфары. Вопрос был прост “Ты же знаешь javascript?” Да, он мне сказал, что его учили писать на C#. Я тоже в универе писал на C#. Моя первая статья на Хабре, которая принесла мне тогда немалый успех, была про ADO.NET. Но даже в универе мне пришлось выучить: Шарпы, СИ, Плюсы, Ассемблер, Яваскрипт, чистый PHP, ASP и ещё кучу различных фреймворков с кучей различных технологий. Ладно, да, я видел вторую войну браузеров. Я видел как погибал IE6 и как JQuery сначала был неубиваемым стандартом, а после превратился в бесполезную приблуду. И это всё произошло за пять лет пока я был в универе. Ладно, IE6 и JQuery были за пределами универа. Но всё остальное было в универе.

Чувак реально ни разу в жизни ничего не писал ничего ни на чём, кроме C#. Но, погодите, подумал я. C# это-же ASP.NET, это же куча вэба. “Ты же писал для web?” Нет, он не писал для Web.

Так, подумал я. Что же это за фигня получается. Как так, за четыре года ни разу не писать для web? А на чём-же ты писал? XAML. Так, а на каком фреймворке ты писал? 4.5

Стоп, 4.5 в 2023 году? А как-же .net Core? Ну, это такая вещь, это же .net для Linux, мы на нём по этому не писали. Писец.

Хотите глубже?

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

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

Ну хорошо, а что такое git? Git - это плагин для VSCode, который позволяет скачивать код с github.com.

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

Сегодня начинается его третья неделя жизни в этой компании. Он сидит и разбирается со старым Vue2 проектом. Вопрос сбора проекта из сорцов - это проблема на два дня. Для начала надо было установить Node.JS и заставить ChatGPT переписать bash скрипты в PowerShell скрипты. Потом сама установка и настройка среды. Java на его компьютере нашлась, просто потому что он её сам изучал во внеурочное время. Так что все приблуды для Netsuite (которую пилит Oracle, и которая сама Java-зависима) более менее за день запустились.

Архитектура? Ой, не смешите меня, у меня и так губа треснута. Распределённые приложения? Нет. IPC? Даже не думайте.

А хочешь ещё глубже? Нет? А я тебя туда отправлю.

Что же в итоге? Человек реально сказал, что в гробу он видал этот колледж. Человек реально из кожи вон лезет, чтобы остаться в компании, и ещё ни разу не сказал “Я не буду этого делать”. За это он заработал своё место в компании. Я буду его учить, деваться некуда. Хорошие разработчики - это полезные люди, и их надо воспитывать.

Но, у него за институт висит долг в $130000. Сто тридцать тысяч долларов. Ему двадцать два. Мне в свои 38 лет до такого долга ещё далековато. И это учитывая то, что я только что умудрился импульсно купить себе Toyota Corolla 2024, с финтифлюшками, потому что мне цвет понравился, поназадолжать налоговой службе и сменить свой технологический стек с линукса и андроида на топовые макбуки. Плюс переехать, купить новой мебели, и техники в дом, заменить машинку и переделать кучу вещей в доме. Добавьте к этому 25000 долларов, пожертвованных на благотворительность в ЭТОМ году. Всё это, вместо взятое, поставило меня в долговую яму, намного меньшую чем у этого парня.

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

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

  1. Открыть гит

  2. Склонировать репу

  3. Изменить код

  4. Дописать скрипты в базу данных

  5. Закоммитить это обратно в гит

  6. Протестировать

У меня меньше ненависти к современным нанимателям. Когда я в 2008 году пришёл работать на свою первую работу, меня спросили написать SQL скрипты, C# код и JavaScript. Интервью продлилось 30 минут, и меня взяли на следующий-же день. Но, судя по всему, я уже превзошёл большинство современных джунов, которые очень просятся на работу.

Вопрос к клубу:

Что делать и где учить детей? Ладно, моему сейчас пять лет. Он ходит в школу, в которой ему надо разукрашивать квадратики и учить английский. Он это делает хорошо и получает неплохие результаты. Школа мне обходится в смешные 70 долларов в неделю, при учёте того, что штат Флорида спонсирует 450 долларов на образование в месяц.

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

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

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

Посему, решил запихнуть всё это в ГПТшку, и поросил его переписать все ТЫ на ВЫ. Пока вычитывал статью на Хабре, то понял, что ГПТшка помимо ТЫ и ВЫ, порезала кучу шуток. Посему, этот конкретный абзац поменял взад, но неправильно вставил.

Собственно говоря, вот линка на сам ГПТ чат, в котором я эту статью правил. https://chatgpt.com/share/673662a0-5850-800d-b981-31621f16b45c Там видно, что текст для Хабра получился слишком сухой.

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

Но отличает ГПТ статьи не то, что вы думаете.

Это как-бы от меня, человека, который задрал половину Хабра тем, что открыто охотится на людей, которые пихают нагенерированный ГПТшкой бред в статьи. https://habr.com/ru/posts/771158/ - вот тут мой пост, где я собираю маркетинговые перлы.

Первое правило - я никогда не генерю ответы ГПТшками. Ни на что. Все мои овтеты написаны мною. Можете пойти и почитать комменты.

ГПТ не умеет делать следующих вещей:

  1. Постоянно и хорошо держать нить повествования на протяжении более 250 слов.

  2. Держать стиль повествования.

  3. Хорошо и к месту шутить или вставлять правильные каламбуры.

  4. Делать easter eggs.

  5. Иметь своё мнение.

  6. Говорить, что другие люди - плохие. Он этого не будет делать, если специально не инструктировать.

  7. Выдавать какие-то замудрёные фразы, которые являются слиянием двух разных устоявшихся выражений, таких как "Следующий флажок запустили над кораблём под фанфары."

  8. В тексте, сгенерированом на ГПТ не будет бастардизации названия технологий. Он не будет писать Шарпы вместо C Sharp.

Статьи на ГПТ - обычно меньше 500 слов и в них много форматирования и выделения жирным. Они очень сухи.

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

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

Качество такой переподготовки будет ниже плинтуса, зато отчеты красивые: Страна выковала миллион айтишников за год! Догоним и перегоним Запад!

У нас с образованием тоже всё печально.
Я сам поступал в универ на вечерку. Первый семестр нас даже к компу не подпускали, но объясняли, что такое интернет и как пользоваться поиском. Но я нашел неплохую работу и бросил учёбу. Через пару лет встретился с сокурсниками. Выяснил, что за пол-года на работе я узнал больше, чем они за 4 года учёбы... Такие дела...

С тех пор прошло 10+ лет. Иногда мне приходиться общаться с новыми сотрудниками, набираемыми в другие отделы... Это ужас... Больше половины вообще не могут в логику. Даже в рамках изученного языка (Чаще всего это адски устаревший турбо паскаль!). Про что-то более современное вообще молчу. Зато да, у всех дипломы универов и прочих "высших образований".
А потом пришел парнишка, вроде меня - со средним образованием, без дипломов. Но, внезапно, знающего и умеющего писать на нескольких языках, способный в веб-разработку и даже десктоп. Через год он уже руководил соседним отделом. А все эти "дипломированные специалисты" попросту не вывозили и либо сами уходили, либо их увольняли за проф. непригодность.

Выяснил, что за пол-года на работе я узнал больше, чем они за 4 года учёбы... Такие дела...

Не удивительно. Один месяц работы это уже 160 часов работы с реальным кодом на реальных задачах, с опытными менторами и т.д. и т.п.. Это и количественно и качественно превосходит учебные часы программирования за семестр ВУЗа.

Фишка в том, что это без ментора. Вообще. Только гугл, немного легаси кода и много страданий 😁

за пол-года на работе я узнал больше, чем они за 4 года учёбы

Как Вы это посчитали?

Верно ли, что за пол года на работе Вы узнали больше, чем за 11 лет учёбы в школе?

Сравнил свои знания и знания сокурсников, разумеется. Учились на одно и тоже, только я учился, получается, самостоятельно плюс куча практики, а они только теорию с минимумом практики и тонной лишних знаний, которые только отвлекали (Всякие тригонометрии, истории и прочий гуманитарий). Показал им над чем работаю, попытался объяснить разные механики (даже не код, а лиш его логику). Это вогнало их в ступор (Кое-кто даже немного испугался, что такой объём знаний реально нужен на работе).
В общих чертах их знания ограниченны одним языком и одним фреймворком, да и то только азы. Как оно внутри работает - вообще ноль понимания. Многие даже про лямбда-функции ниразу не слышали, а кто слышал - не понимают, как они работают. Про регулярные выражения таже беда. Что-то слышали, но было это на 1-2 занятия и всё. Без закрепления практикой.

А из 8 лет учёбы в школе я только читать/писать/считать научился (да, я учился до 9го класса, потом пошел в училище, а потом пробовал институт). Через 10+ лет многие вещи из школьной программы пришлось изучать заново, посколько банально забылось за ненадобностью.

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

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

А из 8 лет учёбы в школе я только читать/писать/считать научился

То есть, если бы на Вашу позицию взяли человека из условного Сомали, который не учился в школе, а закончил годичный курс по ликвидации безграмотности (читать/писать/считать научился), то его успехи после полугода работы были бы сравнимы с Вашими?

Сравнил свои знания и знания сокурсников, разумеется.

Как сравнивали? Если взять учебную программу университета за первые 4 курса и выкинуть оттуда всё, что не является частью информатики ("Всякие тригонометрии, истории и прочий гуманитарий") , Вы всё это изучили за полгода на работе? (Всякие операционные системы, численные методы, формальные грамматики, архитектура ЭВМ и прочее).

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

Учились на одно и тоже

Предположу, что Вы учились не программирование (в широком смысле), а то, что требуется для конкретной позиции. Если Вас перевести условно с C# на Java, то тоже выяснится, что Вы ни одного фреймворка не знаете.

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

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

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

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

Тогда я спросил его, знает ли он, что такое маска подсети. Он честно признался, что не знает. Затем я спросил, в чём разница между TCP и UDP. Он сказал, что это упоминалось на лекциях, но преподаватель сказал, что на это можно не обращать внимания.

Чуваку просто не интересно то, чем он занимается. Он не заинтересован в собственном развитии в рамках профы.

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

Физкультуру, физкультуру-то забыли!
У меня в дипломе (очный колледж) максимальное количество часов за все время обучения - физкультура :)

Так предметы менялись. Физкультура - вечна

Вы в каком вузе и на какой специальности учились, что у вас две трети времени занимала литература античности (я сознаю, что это условное обозначение для непрофильных предметов, а не буквальное название)? По опыту учебы на физфаке: в первые два года был семестр истории России, семестр философии, семестр экономической теории и семестр странного предмета, какой-то смеси социологии и основ права. А, прошу прощения, еще семестр была история мировой художественной культуры (кстати, вел прикольнейший человек, известный в городе деятель искусств, очень интересно рассказывал). Ну и физкультура. С третьего курса вообще остались только профильные предметы. В сумме, возможно, процентов 10 наберется непрофильного. В сторону замечу, что университетское образование как бы подразумевает некий уровень общей культуры, а не только знание гидродинамики. И гидродинамику (условную, опять же) люди не знают на выходе не потому, что драгоценное время было потеряно на проклятую историю средневековья, а потому что преподавание гидродинамики поставлено плохо и часы, отведенные на нее, используются бездарно плюс очень низкая мотивация среднего обучающегося.

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

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

Углубляться в BGP и правда нет смысла, но вот серый адрес отличать от белого уметь надо.

Для этого медкомиссии есть. Что мы, дальтоников что ли не отличим?

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

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

В результате какой-нибудь специалист по гидродинамике отличает Моне от Мане, Шуберта от Моцарта на слух

А что в этом плохого? Ремесло — не коромысло.

но в своей профе плавает как оно в проруби...

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

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

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

и халявным зачётом в конце

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

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

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

Философию и античную литературу по моему вообще нельзя было выбрать. И даже если, то это было совсем не обязательно.

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

Контора по типу «Рога и копыта» по американски.

Жить в США и покупать самый унылый авто на свете после приуса, не удивлюсь если ещё по месячным платежам на 15 лет, при этом разово отдавать стоимость Короллы на благотворительность в кэше? Успешный успех по Сан-Францисковски что ли. До кучи парнишка ещё, которого в интернет видимо не пускает Великий Фаервол Трампа, чтоб понять что гит это не только плагин для vscode. Я как-то упустил момент с каких пор самообразование стало чем-то удивительным и даже маргинальным, с другой стороны, ну а вот что ещё ждать от соискателей на кровавый просроченный бухгалтерский энтерпрайз? Не курит мет в обеденный перерыв, уже достойный кандидат, ещё бы вопросы адресовал свои в chatgpt, а не автору, и этой статьи глядишь бы не было

покупать самый унылый авто на свете после приуса

Там же написано с "финтифлюшками и цвет понравился", не надо так. :)

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

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

Так что если ты - полный бомж, то ты можешь в рассрочку взять себе Авалон 2004 года выпуска за $4000 у местного дилера, и выплачивать за него 30 долларов в месяц.

Нормальная подержанная машина стоит от 10 до 20 тыщ долларов.

Машина с финтифлюшками идёт от 30 до 50-ти. Но на такие деньги можно уже и Теслу брать.

Но факт в том, что вообще без машины - ну в принципе никуда. У нас к дому нет пешеходной дорожки. Просто вообще тротуара нет. Зато, парковочных мест - 4 штуки.

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

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

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

У меня просто нежная любовь к Короллам. Катался на 2007 до 2023 года. В конце прошлого года купил новенькую 2024 Корову. По ощущениям - абсолютно та же машина. Так же ездит, так же звучит. Но у неё есть поты USB-C для зарядки всего, и батарейка в попе, для движения меньше 20 миль в час на электричестве. Шеффс кисс. Привык я к Короллам.

вполне понятно, have fun :)

У нас к дому нет пешеходной дорожки. Просто вообще тротуара нет.

Ну такое и у нас в РФ есть, так что не показатель)

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

И ОТ местами (например в моем городе) убивают. У меня был маршрут на работу, куда ходил автобус. А потом его изменили, так что приходилось мне с пересадками ездить. Это и двойная оплата, и вообще геморрой. Машину взял, и проезжая мимо остановок зимой на которых по 100 человек скопилось - понял что без машины никуда. Вы думаете сейчас приедут несколько автобусов из пробки и заберут всех 100 чел? Хаха, придет один и уже забитый как кильки. Уедет с остановки человек 5. Так и живем. Следующий через полчаса, удачи всем остальным в написании обьяснительных "почему опоздал". Не, машина в этом плане намного лучше, даже если и пробки.

Мы как-то на Вастрике разговаривали по поводу ОТ и автобусов. И однозначным выводом было следующее:

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

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

Всем хороша машина - только в метро с машиной не пускают ;-) А по Москве в будний день, если хочешь куда-нибудь приехать более-менее вовремя, лучше ездить на метро.

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

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

Не знаю на чьём примере это доказано. Но машина у меня есть и я всё равно часто предпочитаю ездить на ОТ. Например на работу я на ОТ езжу. По времени разница минимальная, но зато в ОТ можно читать.

но зато в ОТ можно читать

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

Ну во первых я на работу не на поезде езжу. Мне не так далеко.

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

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

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

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

В центре города - самокат лучше всех! ^__^

На самокате пожалуй сложновато с сумками или маленьким ребёнком.

То есть я бы сказал что скорее всё-таки велосипед или ebike.

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

Я могу себе позволить купить себе с десяток машин — однако я по-прежнему пользуюсь ОТ. И машины у меня нет.

(А я предупреждал, что поломаю.)

Проблема отсутствия ОТ в том, что эти же 100 человек ждали не на остановке, а в пробке, каждый в своей машине. И от этого вряд-ли кому-то было бы лучше.

Toyota Corolla в кузове XP210. 300 л/с на ручке при снаряженой массе 1475 кг. Не сказал бы что это унылый автомобиль ))

Я отучившись в Казахстане в колледже и недоучившись в ТУСУР до получения диплома поделюсь своим опытом. Про маски подсетки нам в колледже не объясняли (2001-2004 год), но как-то случайно прочиталось само собой. Универ бросил, хотя в нескольких попробовал пучится, ничего не запомнилась, кроме Зиты Эммануиловны, преподавателя высшей математики, ну и в Казахстане нет Истории России, поэтому препод понравился, очень интересно рассказывал. На тот момент у меня уже был какой-то опыт работы что-то типа сборщиком компьютеров. Колледж дал более реальную практику на заводе, где я потом и работал, но как стало тесно - ушел в другую компанию, сменил кучу стеков, но основным себе оставил .NET. Хотя и Vue попробовал и Java c flutter, даже когда-то на php приходилось (иногда и сейчас приходиться, но очень редко). На заводе поработал на низком уровне на C/С++, что тоже периодически пригождается. По Казахстанскому опыту скажу, что выпускники даже именитых ВУЗов выходят не лучше вышеозвученного, поэтому ищешь хорошего кандидата, который просто учится может, а там он сам во всем разберется, материала вокруг куча. Как-то пришел парень, хороший слаботочник, но ни разу не писал ни одной строчки кода - через 3 месяца самостоятельно закрывал проекты. Тут у кого какая мотивация будет. Ну и с моей группы, на сколько я знаю, могу ошибаться, по своей специальности кроме меня, может еще человека 2 работает, а остальные даже не в смежных областях.

Джун должен знать минимум 3 языка? Автор, что по твоему "знать"? Хоть раз увидеть код или мочь участвовать в проекте? Код то писать можно за день научиться с подглядыванием в синтаксис, а вот сложности возникают в инфре, ее джун должен знать?

В Европе тоже самое, в университете дают тебе базу и куча страдательной математической теории. Максимально хорошо в итоге знаешь только один язык. Всего много но по чуть чуть с разных направлений информатики. Один плюс имея такую базу легко учатся новые языки, так как знаешь, что с чего начинать. Все остальное учится на онбордингах и менторах на фирмах под конкретные технологии. Невозможно все выучить, что есть на рынке. И слово Джун это понятие, которое каждая фирма по разному интерпретирует . Например мы делаем расширения для Dynamics365 Finance and Operations на внутреннем языке Майкрософт X++ и любой кто к нам придет, не зная эту технологию и даже имея многолетний опыт в ИТ, будет Джуном и должен пройти обязательное внутреннее обучение и экзамен на сертификат у Майкрософт. Как человек из вне должен иметь столько денег на дорогие экзамены. Плюс Вы перечисляете технологии, которые нужны в веб разработке, а на рынке существует много чего другого и может быть что старый сеньор работал все 20 лет не в этом и есть такие которые, которые только слышали про git, а в практике редко сталкивались, а использовали VS teams с "прикруткой" на Ms devops . И кого выгодно взять по деньгам Джуна и обучить его или сеньора который сеньор в том что он делал 20 лет, а ЗП требует очень высокую? Фирмы которые не имеют внутреннего облучения и менторства или не берут практикантов с вузов рискуют столкнутся с дефицитом кадров и перерасходами. Чтобы стать хороших программистом нужны не вузы, а хорошие наставники на фирмах, которую понимают ответственность за весь бизнес. Ценные практические знания и навыки можно получить, только от опытных коллег, особенно которые наработаны внутри конкретной фирмы. По другому у сожалению никак. Вузы показывают только разные направления, навыки идут уже через практику. И нужно понимать меняя работу, ты всегда снова можешь стать Джуном, если все во круг поменяется и то что ты делал 10 лет уже не нужно.

Например мы делаем расширения для Dynamics365 Finance and Operations на внутреннем языке Майкрософт X++ и любой кто к нам придет, не зная эту технологию и даже имея многолетний опыт в ИТ, будет Джуном и должен пройти обязательное внутреннее обучение и экзамен

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

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

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

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

Учился я с 2003 по 2008 годы на ДКО в МЭСИ. (Может здесь кто ещё остался?) ДКО означало Дневной, Компьютерный, Очный. Инженер-программист, математик-программист, специалист по обслуживанию и настройке программных систем. Что-то в этом роде.

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

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

На факультет я пришёл с толстой пачкой журналов @XakepRU (за что был так и прозван, и исправно покупал эти журналы до 2005-го года). У меня за плечами было несколько незавершённых проектов, написанных на Паскале, умение запускать Delphi, а так же недурное понимание языка Assembler для 486 процессора.

Сам процесс обучения был 50 на 50. Некоторые учителя вызывали дикую скуку и ужас. Была одна тётя, которая в 2005 году рассказывала нам про то, как работает SQL, на примере базы данных Informix 1989 года выпуска, которая была запущена на SCO Unix, под которым работал один из серверов универа. С другой стороны у нас было несколько отличных преподавателей, которые были молоды, веселы, и давали зубодробительные, но интересный задания. Был, например, Сева - @ceba Это - вообще отдельный кадр. Помимо того, что давал неимоверно сложные, но полезные и интересные задания, переманивал нас, студентов, в свой личный блог https://blog.stanis.ru (только аккуратнее, там NSFW может быть) Этот блог работает с незапамятных времён.

Но, как бы то ни было, основной упор не в этом.

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

В итоге я пошёл работать в ОСПМУПИПСМГЭУЭСИ. Я уже с трудом воспроизведу смысл всех этих букв. Это был отдел обеспечения процесса образования. Короче, мы занимались тем, чтобы у всех было расписание, оно работало красиво и показывалось на сайте.

Казалось-бы, просто расписание, что может быть проще? Всё было очень непросто. Для начала давайте сыграем в игру по комбинаторике. У нас есть 6 разных зданий, 200 преподавателей, и 3000 студентов. Каждая пара должна учитывать несколько параметров:

  1. Где эта пара будет проходить.

  2. Доступен-ли учитель для этой пары. (Некоторые преподы могли ездить только в ограниченное количество пар)

  3. Расписание учителя (некоторые - преподавали только с утра)

  4. Сколько часов каких пар по ГОСТу должен отработать ученик.

  5. Верхняя или нижняя неделя. Недели были разными, прям как на кораблях бывают разные вахты.

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

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

И тут - понеслось. Я думал, что мне придётся перебирать этот эксельчик за 15000 рублей в месяц. Ха!

Начали мы с того, что создали свои классы DALC. Data Access Logic Component. Тогда только-только вышел C# 2.0 в котором появились Generic, и на основе этого мы писали подобие Hibernate для .NET. На основе этих DALC мы писали BL - Business Logic. Всё это прикручивалось к базе данных SQL Server 2003. По тем временам - просто невероятное новшество.

Но, надо понимать, что такой проект набрал популярность, и к нему начали прикручивать новый функционал. В итоге, за 4 года проект разросся до 150 связанных таблиц в базе данных. Сама таблица расписания содержала в себе более 20 различных связей.

Ко всему этому весь код выгружался в TFS - Team Foundation Server, и его приходилось администрировать на сервере Windows 2003. Это надо было запускать на IIS, настраивать и пилить. Более того, в те времена была Вторая Война Браузеров. Когда я только-только пришёл на работу, сайты должны были работать просто на IE6, но в очень скором времени к нему прибавились Firefox и Google Chrome. Посему код для вэба должен был быть кроссплатфореным. Сайт с расписанием усложнялся каждый месяц. Плюс, новые функции и фитчи, типа “карточки преподавателя” и так далее.

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

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

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

Может быть мне просто повезло?

Как бывший проф математик из академии наук - по опыту работы в IT практически всю жизнь с окончания мехмата в 84г, могу заметить что ваш опыт вкатывания ничем непримечателен - бей беги на уровне шустрого неглупого ремесленика. Бизнес програмирование за деньги с годами становится крайне малоинтересной профессией. Во первых реально примитивна - поэтому проходной двор для неглупых и шустрых любого возраста. Во вторых стиль каботажного плавания или стиль контенеровоза - надоедает до оскомины. Эпоха Дикого запада и освоения Америки ущла в прошлое достаточно быстро, до фига шустряков перемолов при этом. Так и с IT - стремительно приходим к устаканиванию. Сегодняшнее поколение молодых ITшников будет вынуждено уйти из профессии массово после 50+. Так что временно радуйтесь мальчуганы сегодняшним возморжностям

Теплое место, но улицы ждут

Отпечатков наших ног.

Звездная пыль - на сапогах.

Мягкое кресло, клетчатый плед,

Не нажатый вовремя курок.

Пожелай мне удачи в бою, пожелай мне:

Не остаться в этой траве,

Не остаться в этой траве.

Пожелай мне удачи, пожелай мне удачи!

Кстати еще продолжаю работать в IT (менеджмент).

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

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

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

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

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

Хотел было возразить, что эта статья появилась в СССР позже и стала широко доступна уже благодаря FIDO, но с удивлением обнаружил, что оригинал 1983 года.

Эх, а может быть в вас сохранилась еще одна шуточная статья про сравнение OS/360-370 и VM/SP с коммунальными и отдельными квартирами? Тоже, видимо, перевод.

Статью читал лично ещё студентом осенью 1983 в здании института на стенде, перевод, правда был другой.

Статья, которая вас интересует (Л.Бунич, "Грустная притча") - например, вот Только прямо в браузере ее прочесть сложно: там ДОСовская кодировка (CP866).

Ай, порадовали!

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

"Брутфорсом его можно было взять за час."

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

Мы эту задачу решали в конце 70х на СМ-1. Пришлось придумывать очень хитрый алгоритм. Даже не так: пришлось придумывать очень хитрую постановку задачи, чтобы составить расписание для вуза. А потом для цеха. А потом для Центра подготовки космонавтов. И еще для управления полетами в зоне аэропорта.

А потом все это было сдано в утиль вместе с "устаревшей вычислительной техникой".

Ну, честное слово. Диплом высасывался из пальца. Мне пришлось всё замедлить, и сделать сложнее, потому что нам сказали, что эффективность не может превышать 98%, иначе диплом не примут.

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

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

Ну так это стандартная задача планирования (составления расписания).
При этом существует две основных постановки задачи:
1. Удовлетворить все ограничения
2. Удовлетворить все ограничения и при этом минимизировать целевую функцию (например минимизировать число поездок преподов в универ или минимизировать число "окон" у профессоров или ...).

При этом "истоинно экспоненциальная" - вторая часть.

Первая часть - решается через "перебор с возвратом" "a-b-отсечение" и итоговая сложность может быть хоть линейной (в вырожденном или почти вырожденном случае).

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

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

Ну тогда из "пожеланий" делаете целевую функцию и goto п.2.

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

Оказалось проще всего заставить пользователя расставить пожелания строго по ранжиру.

Если среди пожеланий к сменному расписанию для цеха есть:1_выпустить пару дополнительных деталей А24117; 2_выделить время на профилактику оборудования STO-4; 3_отпустить Михалыча на полчаса раньше, то пусть начальник определит, в каком порядке будем их отбрасывать. Это и ему понятнее и алгоритм получается быстрым.

Может быть мне просто повезло?

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

И что вас тогда бы ожидало на вашей первой работе после университета?

Ну, повезло.

В итоге, после четырёх лет в этом проекте

Почему вы сравниваете человека который только закончил ВУЗ с человеком который закончил ВУЗ + имеет 4 года опыта работы по специальности? Очевидно, что второй не будет джуном, скорее всего, а если после 4 лет работы будет-таки джуном, то лучше такого вообще не нанимать.

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

Некоторые работают на техсаппорте, другие - вообще в других специальностях. Начинали больше 30 человек. Половина - отсеялись, и даже три группы объединили в 2 в конце-концов.

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

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

Привет выпускнику МЭСИ 2008 от выпускника МЭСИ 2001.
1. Как я помню, у нас после 3го курса на лекции ходили только "профессиональные отличницы" - все остальные уже работали и позволить себе такой роскоши как "лекция" не особо могли. Как результат - профессиональные отличницы остались в вечных "зам глав бух". Мне кажется, что это справедливо и к США - тут есть и те кто "ходит на лекции" и те, кто вкалывает. И стоит признать, что если бы чувак не тусил в коледже, а припахивал, то выхлоп был бы иной
2. Кстати с современной молодежью тут происходят странные метаморфозы - текущие выпускиники весьма собразительны в плане "как потратить свое веремя" Мой сын (10 класс по местным меркам) задал вопрос - "ну вот нафига идти в колледж и оставаться должным 150к, потом кланятся в ноги за место в условном офисе и соревноваться с "вагоном китайцо-индусов" если можно потратить это время на более эффективное обучение "на производстве" и через 4 года уже иметь и опыт и связи и отсутвие долгов" В принципе, если мы не говорим про такие вещи как "теоретическая физика" и прочие биологии - это возможно и звучит здраво

Хехе. Точняк.

Кстати, а у вас Тея Янновна Данелян преподавала?

Если это приличный ВУЗ (за 150к вроде приличный) - то это ещё и networking и возможность получить хорошую первую строчку в резюме (вроде пройти алго-часть в FAANG).

Какова реальная обстановка на рынке труда джунов?

Вопрос прямо ко мне по адресу, т.к. буквально в этом месяце оказался в очень необычном качестве при поиске работы: крепкий мидл на Java и джун+ на Go. С Java все понятно: кадровики сами приходят и зовут на собеc. С Go складывается впечатление, что на рынке нет такого понятия, как джун. Без 3+ лет опыта рассматривать тупо никто не будет (даже галеры). Я, т.к. человек довольно опытный, пусть и на Java стеке, несколько раз попал на мидловый Goшный собес в российский крупняк. Что я вам скажу: спрашивают жестко, не готовы прощать неточностей (уж про скидку на не родной стек я вообще молчу); если решаешь задачи не на уровне "спинного мозга", то не пройдешь точно. Помнится мне, некоторое время назад были вакансии с переходом опытных разрабов на Go. Так вот сейчас такого явления практически нет. Заявляют прямо: нужен middle+ минимум на конкретном стеке.

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

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

Программирование - это не особо сложно. Особенно сейчас. Просто бери - и изучай глубже, рано или поздно поймёшь. Это в наши времена МСДН был на дисках, и всё надо было переводить с английского на русский. Сейчас русских материалов даже больше, чем английских местами. И они неплохого качества.

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

Я как бы выбрал простой путь - берём чувака, я его учу. Ему ещё сеть колбасить надо, а он маски не знает. Хорошо, будем учить. Главное, что чувак нормальный. Но это - я. А другим - что?

Это в наши времена МСДН был на дисках, и всё надо было переводить с английского на русский.

Это вам повезло ещё. А в мои времена аспирантские была документация для ОС ЕС ЭВМ. Да, по русски, и да, на бумаге. Только вот читать ее было не всегда просто, если понять чьто-нибудь требовалось . Я для себя нашел способ: дословно перевести на английский, после чего чего попробовать понять, что там было написано в оригинале. Помогало.

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

PS А ещё я в очередной раз убедился, что в Америке маркетинг на голову выше российского: нашим местным инфоцыганам поднять $130K (ну ладно, пусть $50K, если с учетом ППС) с одного слушателя и не снилось ;-)

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

Кому надо? Что значит создавать? Ситуация на рынке такая: есть M вакансий и N соискателей. N >> M (сильно больше). Создавать для "невошедших" буллшит рабочие места, чтобы просто трудоустроить? Зачем? Суть в том, что рынку надо M человек, а не N и не M + 5.

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


Программирование - это не особо сложно. Особенно сейчас. Просто бери - и изучай глубже, рано или поздно поймёшь.

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


P.S.
По моим наблюдениям средний уровень джунов вырос за последние лет 5. Причем вырос ощутимо. Если раньше считалось, что про докер нет смысла спрашивать у джунов, то щас докер - обязательный атрибут любого джуна (этот список можно продолжать и далее). Более того, сильно улучшилось университетское образование (по крайней мере в центральных вузах). Улучшилось оно за счет прихода в универы компаний и открытия своих кафедр. Многим компаниям из-за этого особо нет смысла брать джуна с рынка.

Ну, тут согласен. Но если смотреть не на рынок сейчас, а взяться за вопрос "Что будет через 25, 50 и 100 лет?" Это - сложный вопрос. Но, как показывает история, никто, кто вкладывал серьёзные усилия в хорошее образование не проиграл.

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

Но как-то же их создавать надо?

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

Мне ещё кажется, что на рынке РФ "вкатуны" с 2016 года постепенно поламали доверие при найме и сам найм.

Как был устроен найм раньше - приходит человек наниматься (условно) года на 3. За 6 месяцев ты его научишь (за это время для тебя по деньгам это будет чистый минус), за оставшиеся 2.5 года от своё отработает.

Как это выглядит сейчас - приходит к тебе человек после курсов "войти-в-айти". И у него план на тебя:
1. Устроиться на ЗП 50к.
2. Пол-года ты его будешь дообучать и иметь чистый убыток по деньгам.
3. Через пол-года уйти на 150 на миддл-вакансию.

Ну найм в РФ к такому повороту рынка приспособился и джунов вообще не рассматривает.

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

Веня Д'ркин
Я так понял, что речь в статье идет о выпускнике американского колледжа. Я расскажу о подмосковных. Четвертый год пытаюсь сотрудничать. Три раза приглашали быть председателем выпускной комиссии по специальности 09.02.07 «ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ПРОГРАММИРОВАНИЕ». Наверно больше не пойду - стремно ставить свою подпись в дипломах за такие знания. 90% выпускников не знают что такое SQL (в т.ч. и те, кому выдают красные дипломы). Через экзамены прошли ~ 75 выпускников. На первом году сотрудничества взял в штат 1(одного) выпускника (в рамках дипломной работы представил реализованный на фрилансе заказ - устройство на arduino для поливки комнатных растений с управлением через Интернет). Проводил несколько собраний со студентами - звал к себе на стажировку. Завел специальный для этого проект (полагаю тематика ностальгична). Помнится на одно из таких собраний пришло человек 100. Я даже поначалу испугался. Что мне с ними со всеми делать если все придут на мою стажировку? Из 100 на призыв откликнулось 7. Из них до выдачи хоть каких то результатов "дожило" 0 (ноль) студентов. Пытался привлечь к своему учебному проекту студентов из МИИТ (у одного сотрудника сын учится на втором курсе). Этим студентам поставили учебную задачу - создать стартап. Ну я и предложил через своего знакомого свой проект для группы заинтересованных студентов. Студенты были согласны, но комиссия на кафедре проект отклонила. Стартап должен быть рентабельным. В общем на этом сотрудничество и закончилось.
Про прохождение и результаты одной из стажировок студента-"программиста" я уже писал раньше. Если буду брать студентов на вакансии программистов, то только после успешного прохождения неоплачиваемой полугодовой стажировки.
Было б совсем тоскливо, вместе с тем... Потенциально есть очень много людей которые хотят попасть в IT, но не знают как. Этой зимой приобщился к интенсиву школы 21 (франшиза школы 42). Универ однозначно не заменит, однако ... Первый раз одновременно видел в одном месте так много людей страстно желающих программировать (набор на 26 дневный интенсив около 600 человек). И у нах получалось. Базовая подготовка кандидатов - "с нуля". GIT и код - с первого дня. Кстати, ограничений по возрасту в этой школе в настоящее время нет. Думал встретить там в основном молодежь, но по моим наблюдениям средний возраст абитуриентов 30-35. Понял, что еще "не вмерла" IT в РФ... Надежда умирает последней...


"Упс! Сайт недоступен Возможно, у вас включен VPN или вы находитесь за территорией работы нашего сайта. "

👆 Интенсив школы 21 вот это вот характеризует прекрасно.

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

Это перевод или автор не владеет языком?

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

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

1. Открыть git
2. Склонировать репозиторий
3. Изменить код
4. Дописать скрипты в базу данных
5. Закоммитить это обратно в git
6. Протестировать

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

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

Автор уже как 14 лет в России не живёт, посему пишет как может.

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

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

Вместо того чтобы просто настроить человеку RDP он три дня объяснял что такое TCP. А еще на благотворительность заносит. Ясно всё. Глупый хваснутишка. Все делается напоказ. Объяснял ненужные человеку вещи - напоказ. На благотворительность заносит не потому что ему детишек, условных, жалко, а чтобы написать про это. Машину купил 2024 года тоже, напоказ.

Касается она нового человека, которого в 2024 наняли свеженьким, из колледжа.

Тут было бы неплохо уточнить, где территориально дело-то происходило? А то непонятно, что за "колледж" - наше ПТУ, ихний ВУЗ? Я-то прочитал уже в комментах про "два бизнеса в США", но автор уверен, что читатели следят за его трудовой биографией и поэтому можно переходить к завязке, не дав экспозиции?

а полгода писали диплом (били баклуши с умным видом)

Странно. Я учился в ВУЗе не сильно илитном, да и по учёбе не сказать чтоб угорал, но "битьём баклуш" написание диплома не назвал бы.

Он ответил, что пытался подключиться к компьютеру с адресом 192.168.252.11 из дома

Даже не помню, откуда я в своё время выхватил кусок знаний про 192.168, но точно не в ВУЗе рассказали.

Этот молодой человек не писал на чём-то, кроме C#. Я подумал: «Как это возможно, что он за 4 года не писал для Web?» Он ответил, что писал только на XAML.

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

Дак вот хрен его знает, как у него так получилось. Он щупал сам, но не то, что всем надо.

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

https://floridapoly.edu/index.php

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

Если открыть и посмотреть - шарашкиной конторой не видится. Открыт в 2014 году. Выглядит эпично.

Хотя, извините. index.php уже выдаёт всё. Это писец. Это я ссылку в браузере скопировал. Занавес.

Так а что ж он "щупал"-то, если "не писал ни на чём, кроме C#"?

При виде адреса floridapoly.edu по моему первому вопросу становится всё понятно, хотя спрашивал я не про название конкретного заведения. В России в 90-е каждую вторую среднюю школу переименовали в "лицей", а каждое первое ПТУ в "колледж" или ещё какую-нибудь "джедайскую академию", и сходу вот так вот непонятно, кого мысленно визуализировать по промпту "программист после колледжа".

В России в 90-е каждую вторую среднюю школу переименовали в "лицей"

"Когда трудовик и физрук бросают пить - школа автоматически становится гимназией!"©

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

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

Когда меня спрашивают, сколько языков (программирования) я знаю:

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

Это что, сейчас на рынках у всех такие проблемы?

Нет, далеко не у всех синдром спасателя 😀

А зачем учебному заведению вообще чему-то учить? За это на него в суд никто не подаст. Главное делать видимость что чему-то учишь. Когда вам какой-нибудь преподаватель байки травил вместо лекции вы его перебивали? Вот интересно. "А давайте нас учите, да посильней!"

Еще есть доля вины самой отрасли. Наплодили кучу технологий. В каждом конкретном месте используется рандомный набор. Нет никаких стандартов. Вот если было бы специальность "Программист Python, уровень 2" должен знать пункт1, пункт2.. Размещаешь вакансию на стандартную специальность и приходит стандартно обученный работник. Эволюционное развитие это хорошо, но очень многое умирает в конкурентной борьбе. Нужны какие-то границы.

А зачем учебному заведению вообще чему-то учить?

Если учебное заведение ничему не учит, то зачем туда идти учиться? И самое главное зачем платить за это 130к$?

Когда вам какой-нибудь преподаватель байки травил вместо лекции вы его перебивали?

Вполне себе. Даже несмотря на то, что 130к$ я не платил. Хотя возможно это связано с тем, что я получал ВО не в 17 и имел определённые ожидания.

Вот если было бы специальность "Программист Python, уровень 2" должен знать пункт1, пункт2.. Размещаешь вакансию на стандартную специальность и приходит стандартно обученный работник

И определение этой специальности нужно было бы переписывать каждый год? :)

Если учебное заведение ничему не учит, то зачем туда идти учиться? И самое главное зачем платить за это 130к$?

Нет понимания уровня заведения. Вроде чему-то учат. Ну не могут же они плохо учить?

И определение этой специальности нужно было бы переписывать каждый год? :)

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

Нет понимания уровня заведения. Вроде чему-то учат. Ну не могут же они плохо учить?

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

Можно фиксировать каждый 10 лет.

Это такая штука? В куче стеков десять лет назад требования к людям были заметно другие.

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

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

Вроде чему-то учат.

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

Автор обобщает единичный случай не имея на то никаких оснований. Сам автор вышел из ВУЗа уже крепким средним инженером. Потому что он имел (и надеюсь до сих пор имеет) интерес к профессии и удачно воспользовался подвернувшимися возможностями. Возможно, среди однокашников не было лентяев и случайных людей (во что верится с трудом). Но вообще-то такие личности обычно составляют значительную долю студентов. Особенно в престижных профессиях.

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

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

Хм. Скорее всего вы правы. У меня про мой ВУЗ коммент закреплён, но из трёх групп дошло к концу только две. И из 30 людей, только шестеро занимаются именно что программированием.

Так что вы неплохо суммировали эту точку зрения.

Я после 5 лет российского вуза программерского факультета (2006-2011) понятия не имел что такое git, а тут хоть что то ответил, молодец 😂.

Git стал более-менее популярным только в конце 2000-х. Так что если студент не знал о нём в 2011 это было не то чтобы странно.

Я не знал и что такое система управления версиями в принципе. Из языков - Delphi и Pascal, на тот момент уже никому не нужные. И совсем немного Matlab, VBA и C++.

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

Ну мы в те времена пользовались Team Foundation Server а ещё в те времена на некоторых проектах была tortoiseSVN. Хотя, в те времена и то и другое - было относительной новостью

Но давно уже были как минимум CVS и SourceSafe. И даже если далеко не все фирмы использовали такие вещи, то университет должен был про них знать и рассказать.

TFS-то получше CVS и SourceSafe будет...

Ну так он и позже их появился.

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

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

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

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

Да и как студентам обучаться самим какой то технологии, если они не в курсе ее существования?

ВУЗ должен давать какие-никакие фундаментальные знания. В MIT вон ещё в начале 2000-х программирование на Лиспе преподавали (и правильно делали).

А крайне важные технологии в виде git - это, скорее, культура разработки. Рассказать, что оно существует, в ВУЗе, наверное, можно, но учить там чему? "Ой, диффчонки, я тут такое слышала! git commit!"

Я конечно не знаю как оно там устроено обучение в том же MIT. Но студентам информатики всё равно как-то надо скачивать какой-то код от универа и соответственно сдавать какой-то свой код. Не на дискетах же это делать.

Ну то есть у нас в универе в конце 90-х - начале 2000-х это через CVS делалось. Почему сейчас для этого git не взять? И удобно и студенты заодно чему-то полезному начаться.

У них (MIT) есть в интернетах бесплатно видео-курс SICP, старинный, 1986 года, фиг знает, как в то время обстояло со скачиванием и сдачей кода - вполне может быть, что и на дискетах. Язык Scheme (диалект Lisp), на котором этот курс преподавался, конечно, сам по себе в наше время на хер не нужен, но дофига прост и концептуален, потому что не засоряет башку всякими специфичными, допустим, сишными мулечками, фишечками и фенечками.

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

Хм, вы вообще прочитали мой комментарий? Причём здесь какие-то студенческие работы? Причём здесь курс по Scheme?

Да-да, извините, запамятовал, кто вы есть.

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

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

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

С другой стороны, можно и самостоятельно гуглить. Но т.к. энторнэты™ - большая свалка, где есть и крупицы золота, и залежи дерьма - встает вопрос доверия к найденной информации.

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

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

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

Как говорили великие, дураков статистически — немного, но расставлены они так грамотно, что встречаются на каждом шагу…

«Хороших людей больше, но плохие лучше организованы» ©

Я не знал и что такое система управления версиями в принципе

«В моё время этим не гордились!» ©

Ох, а какие красавцы с курсов вываливаются. Ммм...

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

У меня есть сильное ощущение, что вы не сталкивались с выпускниками разных колледжей. Описанный персонаж явно учился в колледже среднего звена. В серьезных колледжах с именем и программа намного серьёзнее. Долг в 130К это явно не IV league (там и четверть миллиона не предел), но и не совсем community колледж - великоват долг для такого. Что-то типа городского, государственного? Либо этот студент учился на что-то другое, а не IT. Если IT у него и было, то как minor или вообще elective courses.

Ну а говоря о собственном опыте - вы описываете собственные проекты, а вовсе не обучение. Это ... не совсем честно, по отношению к студентам. Если во время обучения студент только учился тому чему его учили - он и останется "обученным". Так что даже если он и получил диплом какого-нибудь IV league универа, он всё равно может быть, по факту, студентом. Которому дали возможность изучить несколько технологий под руководством истинных корефеев, но... Редко кто получает во время обучения возможность стать research assistant у профессора или получить профильную работу вне колледжа. Такие студенты обычно идут на мастера или вообще на доктора. А бакалавры почти никогда, они если и работают во время учебы, то только в качестве барист или подобного.

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

Какова реальная обстановка на рынке труда джунов?

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

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

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

Тоже при найме молодёжи сталкивался с тем, что Git - это либо "такой плагин для VScode", либо "такой сайт, где ещё репозитории". Сказать, что был в шоке - ничего не сказать. Людям не преподают идею системы контроля версий

 Мне казалось, что три языка и SQL - это джунство.

Вы абсолютно правы. Middle начинается от сборки процессора в гараже бати, знания 10 ЯП, 30 фреймворков, 7 СУБД и 15 лет работы в Роскомнадзоре.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации