Комментарии 894
А что сразу АСТА?
Зы. Вообще не понял о чем статья. Формально — о том, как люди обманывают работодателя, делая себе фальшивый опыт. Хотя, по существу — человек либо умеет работать — либо не умеет.
Если человек не умеет работать — то это видно сразу. Буквально за несколько минут общения — смотришь, как он считает, что он говорит, как отвечает на вопросы — и вуаля. И совершенно не важно — придумал он себе опыт или нет.
Если бы это так работало — отрасль была бы в шоколаде, регулярно покатываясь под столом от попыток очередных Остапов Бендеров, ну, или просто наивных ниасиляторов («я-не-трачу-время-на-муть-типа-Кнута-я-просмотрел-стопицот-видеоуроков») зайти в. Но это не так — я лично неоднократно наблюдал, как в компании на работу принимают по признаку «знает модные термины и определения наизусть» и «готов работать в команде и разделяет ценности компании». Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали. В результате реальную работу делают одни, а остальные нужны для того, чтобы у менеджеров и тимлидов, имитирующих бурный скрам было количество юнитов, потребное для имитации этого самого скрама.
Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали.
Да, в компании действительно нужны РАЗНЫЕ работники. Умные и не очень — для разных целей.
Приведу пример со стройки — мы отдаем штукатурку на аутсорс — приезжает машина, рабочие разворачивают штукатурную станцию, ставят направляющие, подают раствор шлангом — и за пару дней объект готов. Но заказчику это не нравится — не видно, куда идут его деньги. И поэтому, после штукатурной станции — идут дамы, которые медленно и уныло оштукатуривают углы, откосы и прочее — они часами сидят над узлом, перекрикиваясь через весь объект — и наполняют сердце заказчика гордостью — он не зря платит деньги, тут трудится легион.
Так что не надо кивать на энчаров — современный бизнес имеет много гитик.
Главное это грамотно поставленная цель и ее решение
и за пару дней объект готов.
Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.
И именно часть от этих 20% машина и может сэкономить (если не будет отключений света :), когда в машине и шланге пропадёт несколько мешков смеси )
Если результат с машиной получается кратно быстрее, то скорее всего халтура проявляется в других местах (точность маяков, прямота углов, незатёртая поверхность, неровные откосы, неизвлечение маяков, отсутсвие предварительных работ (грунтование, сетки, бетонконтакт, покраска металлических частей выступающая арматура или хвостики от вязальной проволоки ) или неочищенный объект после).
Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.
Очень ошибочное представление. Я бы оценил разницу в скорости примерно в четыре раза* (Между специализирующейся на штукатурке командой и обычными строительными рабочими) Скорость достигается из-за снижения количества маяков — опытный специалист может работать без них. Попутно это ведет к уменьшению намета.
(Между специализирующейся на штукатурке командой и обычными строительными рабочими)
Я сравниваю профессионалов которые 10 лет в штукатурке.
Идентичные команды: одна с машиной, а вторая с ручным миксером с бадьёй. И с идентичным по качеству результатом.
Нельзя сравнивать штукатурщика с машиной и эникейщика с правилом (что является подменой понятий ибо «обычные строительные рабочие» (и что это значит? таких техникумы не выпускают ) сделают халтуру что с машиной, что без неё, что с маяками, что без них).
Второй момент, я сильно сомневаюсь в качестве работ без маяков. Банально даже, что бы сохранить угол в 90 градусов (что бы кафель положить), когда по стене идёт перепад 1-4 см слое например. Я бы с удовольствием посмотрел как происходит штукатурка без маяков, а потом как на эти же самые углы укладывается кафель. Сужу не как профессионал, а как наблюдатель множества строек и как заказчик. Работа очень специфическая, со множеством неочевидных особенностей и требований.
и что это значит? таких техникумы не выпускают...
Какие техникумы, о чем вы вообще? Строительных рабочих с образованием я не вижу на стройке уже лет двадцать — перевелись как класс, с кончиной СССР.
Строительных рабочих с образованием я не вижу на стройке уже лет двадцать — перевелись как класс, с кончиной СССР
В этом и проблема, хожу по соседям, кому ветробарьер с паробарьером перепутают. Комуто вместо СДМ, плёнку крепят. Комуто вместо геотекстиля агроволокном щебень армируют. А вместо агроволокна, брезент стелят. На каждой второй стройке арматуру варят. И спорят что снипы — фигня, ещё деды так делали. А делать работу по госту (как и включать гост в договор работ) — равод для лохов, будет дороже. Геологические изыскания — пустая трата денег. И теодолит — пустая трата денег «глаз вода покажет» :) Обрабатывать древесину антисептиками — слишком долго, да и деды не обрабатывали и дома сто лет стояли (правда купались на речке и воды в доме никогда не было). Когда говоришь «профессионалу» делаем работу согласно «техкарте производителя», узнают для себя много нового. Бетон никто не вибрирует. Часто водой разбавляют. Плиты перекрытия все защемляют, а часто ещё и выпускают консольно итд. Всего не упомнишь.
У меня вся улица строится. Соседи постоянно жалуются на самозванцев, которые ничего не умеют и только материалы портят.
если древесина была в камерной сушке (т.е. вы весь процесс проконтролировали: заготовка, распиловка, сушка, строжка), тогда антисептировать ее не требуется (скорее это уже «перебздеть»). Ну и работать согласно кодам мало кто может (единицы). Даже я сам себе строя косячу подзабивая(подзабивая) на некоторые моменты кодов (например, если ставишь укосину, то она не упираться должна в нижнюю обвязку, а врезаться в нее).
К чему я тут свой коммент вставил? Друзья, на самом деле нам нужно во всех сферах пересмотреть:
1. Подготовку специалистов
2. Обеспечивать практику во время учебы
3. Пересмотреть стандарты работ (не важно, строитель ты или программист)
4. Без единой электронной корочки не допускать к работам
5. Без инспекторов по труду никак (по крайней мере в оффлайновых темах типа стройки)
6. Почасовая оплата во всех отраслях, а не зарплата окладная и премиальная
Курсы по %предметная область% кругом. Да в той же Финляндии за год-полтара любой профессии обучают вполне сносно, выдают корочку и только тогда ты можешь менять лампочки или красить стены. Или допускаешься к огневым работам Tulityökurssi (болгаркой пилить, горелкой плавить рубероид), с карточкой Työturvallisuuskurssi после курсов. И там не отволынишь. Обязан выучить, попрактиковаться, сдать экзамен.
К примеру ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики. Год обучения — уже есть категория, можешь себе купить автобус и себя лично возить на нем, но пассажиров не имеешь права. Пассажиров сможешь возить только после сдачи итогового экзамена (!) очень сложного. Конкурс на место водителя автобуса до 30 человек (!). Набирают группу, из которой больше половины в процессе отсеиваются. Тебе за обучение платит государство, чтобы ты хорошо учился.
Выучился, сдал все экзамены (техника безопасности, первая помощь и экстренные ситуации, ПДД, практика вождения, общение с пассажирами, психология, работа с деньгами и кассой, билатами, иностранные языки (несколько — основные фразы и т.д.и т.п.)). Сравните, как у нас легко получить категорию и сесть за руль любому дурачку ;)
ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики
Конкурс на место водителя автобуса до 30 человек (!).
Что такого хорошего есть в вождении автобуса в Финляндии, что при таких сложностях такой конкурс?
Для реализации этой схемы нужно, чтоб каждый человек понимал, что рано или поздно его (или членов его семьи) повезет тот самый водитель автобуса, по дорогое, на которой в этот момент будет ехать он сам (или члены его семьи), а вокруг будут ходить люди (он сам… ну вы поняли). В противном случае — имеем, что имеем…
платят нормально
Платят сильно по-разному. В некоторых работах(плитка/электрика), разница в цене отличается на порядок. Но в целом (со слов рабочих) они в Украине сейчас зарабатывают больше чем Польше/Чехии.
И часто квалификация исполнителей очень нелинейно зависит от оплаты. Например, бывает что узкоспециализированные оценивают свою работу недорого (за объем), но квалификация позволяет выполнять работу быстро и зарабатывать больше за месяц.
Сильный сезонный фактор. Иногда бывает (ноябрь-декабрь) что кровельщиков не найдешь ни за какие деньги. Ранней весной никому не нужны штукатуры. Зимой не пользуется спросом монолитные работы. А например рынок вентиляции у нас «премиальный», и тонкий, потому и цена работ — стабильно высокая, а подрядчиков — мало.
А в целом, больше х*2 получают люди с доказанным и большим портфолио. Обычно, перед знакомством, высылают пак селфи на фоне фото выполненных работ на вайбер.
Бывает такое, что если без проекта то цена монолитных работ например 800грн за куб бетона. А если по проекту, то те же самые исполнители перемножат опалубку/арматуру/приём (потому что в проекте всё это сведено в таблицу) етц в итоге бюджет вырастает втроё. Всегда больше попросят «по знакомству», «соседи», «Друзья друзей» и подобные шаблоны, почему так — не понятно, да и качество исполнения хуже чем попросить рекомендацию спеца у дистрибьютора.
*а машиной запросто. но это про внутриквартирную работу.
А с другой, прием на работу по принципу «знает умные слова» тоже имеет место. Но не обязательно это совмещается в одном и том же месте.
А вот почему «прокатывает» найм человека по вызубренной терминологии без умения работать головой — так это обратная сторона другого массового безумия: когда опытного, хорошо и грамотно пишущего код программиста «закапывает» некий недоучка-интервьюер тем, что кандидат не может, с академической точностью, ответить на какой-то вопрос из разряда «вопрос двухсекундного гугления», который только что прочитан интервьюером и после неправильного ответа на который интервьюер закатывает глаза (потом объявляя коллегам о кандидате: «омагад, он два плюс два сложить не может!») и прямо перед кандидатом или после ухода кандидата ставит «минус» на резюме.
кандидата могут не взять из-за терминологии при наличии реального опыта, но возьмут вызубрившего азы «тракториста»
На самом деле это реальная проблема. Потому что многие погромисты по натуре — те ещё аутисты.
И собеседование часто является большим стрессом, совсем не помогающим в решении задач и цитировании определений на память.
Да та же задача о шарах может вызвать полнейший ступор, хотя решается в течение минуты размышлений.
И именно поэтому трактористы всегда будут иметь преимущество в таких собеседованиях в таком формате. Они уверены в себе, хорошо подготовлены, и на фоне «ботаников» выглядят куда лучше.
Вот над задачей о шарах я что-то залип. Бинарным поиском только три взвешивания прокатывают (4-4, 2-2, 1-1)
если заранее известно, в какую сторону отклоняется вес неправильного шара — то можно за два
Вот и завалили вы собеседование у этого собеседователя :)
Вот и помер дед Максим, да и хрен бы с ним Ⓒ
Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся. Если они не равны, то взвесить два из более тяжёлой тройки. Либо более тяжелый среди взвешенных, либо тот, что остался на столе.
Беда в том, что во-первых нужно постулировать, в какую сторону отличается шар, как сказал Static_electro, во-вторых, если я код с такой логикой на куче условий залеплю в прод вместо вызова бинарного или другого поиска, и мы при этом не пишем какую-то сверхпроизводительную штуку на ассемблере с требованием выполнения за ≤0.01с — меня коллеги будут пинать ногами за такие приколы :-)
Ну блин и зачем) мне интереснее было бы на собесе помучаться
Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся.
Так уже три взвешивания, а потом ещё взвешивание…
Почему три взвешивания?
Первое — три шара и три шара.
Если вышел ноль, делаем второе — один шар и один шар, из оставшейся двойки.
Иначе берём более тяжёлую тройку и делаем второе, вариант Б — один шар и один шар, третий остался на столе. Если опять вышел ноль, то более тяжёлый на столе, в противном случае — увидим, который более тяжёлый.
А почему вы предлагаете брать именно более тяжёлую тройку? Это срабатывает только если вы знаете в какую сторону отклонение.
var heavyBall = allBalls.Max(b => b.Weight);
И знать ЭТО зачастую важнее.
Лови вайтишника! :D
Если это известно, то — можно.
У вас не «равно», «не равно», а «больше», «меньше», «равно».
Деленное пополам(две чаши).
Соответственно, за два взвешивания можно определенить ,3*3/2 = 4.5 шара.
4 — если нет эталонов веса, 5 — если есть.
За три взевешивания — 3^3/2 = 13.5
13 — без эталонов веса, 14 — с эталоном. Т.е. 14 неизвестных + 1 эталон.
А опыта работы в компании нет, ибо «для первой работы нужен опыт, для опыта нужна первая работа»
Да и резюме по красочнее надо расписать.
Прям в «обо мне» прямо и пиши, мол делаю такие то крутые вещи, на том то и том то.
Главное не пиши всякую лабуду в духе «Трудолюбив, активен и вообще звезда».
С++ — хорошо, питон — еще лучше. Советую обратить внимание на LinkedIn. Там в начале надобавлять людей неделю надо. Чем больше — тем лучше. Добавляй всех кого можешь. Видешь слово Dev или Prog — добавляй. А через них, уже добавляй их HRов, что у них в друзьях.
В идеале бы еще GoF весь знать и все свои програмки на UML описать. Это чисто для практики полезно, не писать сразу код, а в начале расписать всю программу в виде схемы и только потом переносить ее в код. Тоже плюсик хороший будет.
Был в подобной ситуации. Прекратилась, когда стал просить не 30, а 80 или даже 120 (на 2012-13). Потом сказали, что если бы в моём резюме было 30 указано — выкинули бы его.
Знакомый бывший техдир местной компании недавно устроился сеньором на удаленку в Московский филиал международной компании за 4000$. Такие зарплаты в комментах к статье называют, что мне кажется, что 4000$ — это зарплата миддла, а не сеньора.
Конкретная сумма — это слишком абстрактный показатель, чтобы ответить на вопрос однозначно. Всё зависит от сферы, навыков, компании, рынка, умения себя продать. У меня был прецедент (о котором я всё не решусь написать статью, но оно того стоит), где я получал процентов на 30 больше, чем директор филиала, которому я формально подчинялся.
P.S. Я оттуда, правда, ушел, потому что вместо создания команды разработчиков на месте меня направили на управление командой индусов (и сейчас у меня нет ни ЗП, ни должности того уровня, но я не жалею)...
Логика "если он просит так мало, значит в себе не уверен и какой-то ваще стремный. Не будем рисковать на всякий случай"
Интересно, какая логика за этим стоит? То жалуются, что джуны без опыта запрашивают 100, то резюме кандидатов за 30 выкидывают.
Логика тут элементарна:
Если мы находимся в ситуации, когда джун хочет 100, то опытный специалист (мы же об той ситуации, что опытный за 30 не мог устроится? ) в принципе никак 30 желать не может.
Если он это делает, то никакой он не специалист.
Ведь он не вчера в одночасье стал специалистом, он где-то работал (скорее всего даже в нескольких разных местах), где-то профессионально рос и это заняло большое время.
Поэтому для специалиста нормально не только уметь программировать, но и хотя бы приблизительно знать сколько подобный специалист может стоить (хотя бы исходя из предыдущей своей работы и из просмотра вакансий с требованиями к квалификации).
Бывают конечно специфические выверты, когда ты приехал из глухой провинции с маленькими зарплатами в столицу и не знаешь сколько точно.
Но даже в этом случае можно почитать описания вакансий и прикинуть свою квалификацию под те зарплаты, что написаны в вакансиях.
Из моего опыта, если человек с опытом просит слишком мало, то у него какие-то проблемы с головой, — например, в одном случае это был алкоголик запойный. В другом случае, много лет работы по профессии мало что дали его опыту, по факту он был мало квалифицированный. Третий был крайне неуверенный в себе, что отвратительно отражалось на работе. Четвертый был совершенно безответственным и не обязательным.
Исключения бывают.
Но проверять всех подряд, чтобы найти эту золотую крупицу… с учетом того, что и так приходится по 50 человек перебирать, чтобы найти кандидата — не рационально.
Конечно, желать 30 не может. Но могут вынуждать обстоятельства. Еще раз, если пропустили — я МЕНЯЛ СТЕК. Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату? Уверен, что нет.
Т.к. за нормальную ставку не получалось найти работу в стеке, в котором я уже 3 года не работал, мне показалось нормальным на первое время запросить ставку джуна, но с повышением до миддла не через 1,5-2 года, а максимум через полгода. Да и посоветовался со знакомыми программистами. Сказали, что норм на первое время в другом стеке за небольшую ставку пробовать устроиться.
В общем, возвращаюсь к теме дефицита, зачастую это не дефицит, а отсев всех подряд по разным причинам, в том числе рациональным.
с учетом того, что и так приходится по 50 человек перебиратьЯ не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей. Нужно исследовать и пробовать разные способы, чтобы научиться более эффективно ее выполнять. Конечно, если приходится постоянно собеседовать и не хочется тратить кучу рабочего времени на собеседование 50 человек ради найма одного.
Там можно писать на любом языке во время собеседования.
Ну и мне бы все равно понадобилось готовиться месяц-другой к таким собесам. Теории там бы все равно спрашивали, хотя бы общую. Алгоритм на листочке я не напишу во время собеса без тренировки, т.к. непривычная ситуация, мозг сосредоточен на разговоре, а не решении задач. Классе в 10-ом — 11-ом и на первых курсах вуза написал бы, наверное. А на работе мне практически не приходится сталкиваться со сложным кодом в плане алгоритмов. Задачи по реализации/разбору алгоритма за первые 5 лет работы мне встречались раза 3 (одна — оптимизировать какой-то небольшой алгоритм, вторая — сделать генерацию уровней в небольшой игре, третья — выполнить за игрока поиск решения головоломки в той же игре). Я в пет-проектах чаще алгоритмы средней сложности писал, чем на работе.
Я не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей.
Задача интервьювера не находить подходящего, а проверять подходит ли уже найденный кем-то кандидат. Если, например, вакансия составлена так что откликаются на неё только неподходящие кандидаты или фильтр резюме пропускает всех подряд, а то и режет хороших кандидатов, то зачем интервьюверу давать добро на найм неподходящих?
Если кандидатов предоставляет HR, то, думаю, не удивительно, что хорошие кандидаты редкость. Как он их отфильтрует? Совсем неадекватов и сильно много запрашивающих отфильтрует. А дальше — по количеству совпавших навыков в вакансии и в резюме?
А нельзя. Они лучше программистов знают как привлечь хороших программистов. Напишут кучу всего про молодую, динамично развивающуюся компанию, про печеньки в офисе, вычеркнут используемый стек ("тут то же самое, что в требованиях").
Ну поймите, если у вас 10 кандидатов и один из них указывает зарплату в 4 раза меньше — правильное решение — откинуть это резюме как нереальное.
В будущем попробую вообще не говорить ставку. Скажу: «прохожу в несколько компаний собесы, какая лучше условия предложит, туда и пойду».
Просто когда стоит задача отсеять кандидатов(а она почти всегда стоит, если не стоит то приходит тимлид и рассказывает «нафига ты мне этих идиотов на собеседовние посылаешь»), то проще же по явным признакам типа странные хотелки чем анализировать уровень кандидата.
Уверен, что нет.готовы
например в языках Go и Kotlin дикий дефицит, берут с опытом на др язках
Но с понижением.
Kotlin относительно новый язык, c ним все понятно. Насчет Go — не знаю, может не популярный. Ну и сомневаюсь, что, например, senior Python разработчика берут на должность senior Go. На мидла еще поверю. Те, кто понимают, что дать максимум полгода на переобучение и будет этому уровню соответствовать в новом стеке, те возьмут.
У меня было пару случаев, когда говорили про дефицит C# разработчиков и что готовы брать даже разрабов на других языках. Один рассказал, что в их компании дикие переработки и он считает это нормальным. Второй задал пару вопросов по каким-то внутренним механизмам языка, о которых я никогда и не задумывался, на этом собес и закончился.
Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату?У меня было 3 рабочих места и 3 разных стека на них, по сути. Работу я каждый раз менял с повышением зарплаты. Иными словами — да, можно найти работу, где вы устроитесь без знания стека на адекватные условия.
Должность у меня последний раз «упала» при переходе, но то потому, что я был галерным «сеньором» с 2.5 годами стажа, и я искал место, где я буду миддлом.
Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату
Со мной так и было когда менял 1с на разработку под андроид два года назад. Ровно на те же деньги и взяли что и на старом стеке получал.
Третий был крайне неуверенный в себе, что отвратительно отражалось на работе.
Четвёртый окажется старше 30-35-40-скольки-там-нынче-модно, что… (далее по тексту)
Пятый окажется холостяком без привязанностей к фирме, что…
Шестой окажется идейным с горящими глазами именно по этому проекту вотпрямща(на ближайшие полгода до следующей захватившей идеи), что...
А зачем вы указываете желаемую ЗП в резюме? Я может отстал от российских реалий, но в моем пузыре указывание ЗП наоборот является стопором. Почему? Потому что обычно исходно не готовы платить ту сумму, на которой сходимся по итогу.
предложения адекватные стали поступать, когда умножил свою зп в резюме на 2 ровно
Я больше скажу, я несколько раз закапывался на фундаментальных элементарных вопросах. Типа чем отличаются pure компоненты в реакт. Прям щас даже не отвечу, помню, что у них какой-то пункт жизненного цикла упрощен, чтобы они реже дергались при изменениях пропов, но как именно это либо в гугл, либо полчаса вспоминать. Просто два года прошло как на реакте не писал, в голове появилось много понимания написания юнитов и извратов с rxjs, из под этого надо старое выковыривать и не факт что на собесе быстро всплывёт. Вот кусок кода мне дать на том же реакте, все расскажу и может покажу как можно было проще… А про всякие солиды и грины вспоминаю только, когда очень хочу работу поменять и подзубриваю всякую бла бла
И ты называешь это фундаментальным вопросом?
Я как то забыл, как правильно пишется malloc и realloc
А вот без понимания некоторых принципов солид и еще YAGNI, я бы не доверял человеку вести проект. Уже дожились до того, что такая жесть, как redux, считается нормальной архитектурой.
Так redux как раз по SOLID ))
Насчет нарушение первого принципа (SRP) еще можно поспорить — по разному можно понимать ответственность. Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов. То есть количество причин для изменения редьюсера равно количеству экшенов.
Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.
LSP принцип — вроде бы тоже нарушает. У редьюсера в сигнатуре есть базовый абстрактный action. Когда используем конкретный экшен, вместе с ним передается тип события (action.type). Смотрим определение принципа: «Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом». Разве редьюсер может обрабатывать конкретный экшен, пока мы не обновим редьюсер, чтобы он мог работать с конкрентным экшеном? Нет.
YAGNI, о котором я упомянул — он о том, что если скорее всего не понабится, то и делать не нужно. Это не про SOLID, но redux тоже нарушает этот принцип. Зачем для вызова middleware из компонента использовать pub-sub (publisher-subscriber) с помощью dispatch + action, когда можно было бы вызвать middleware из компонента напрямую, как обычную функцию? Аналогично с ситуацией, когда middleware обновляет стор. Может быть в 1-ом из 100 проектов в этом есть необходимость, но в остальных 99 — нет.
Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов.
То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.
Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену
Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.
Не придётся, если активно использовать композицию, а не простыни switch/case
Разве редьюсер может обрабатывать конкретный экшен, пока мы не обновим редьюсер, чтобы он мог работать с конкрентным экшеном? Нет.
Может вполне. Нормальный редьюсер не должен падать, если ему передан неизвестный ему экшен — обычно просто возвращает текущий стейт.
Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену
Ну сомнительно. По такой логике можно сказать, что в функции на 2 тысячи строк в каком-то божественном классе только одна ответственность — вычислить новое состояние стейта по текущему и экшену.
Не придётся, если активно использовать композицию, а не простыни switch/case
А как рекомендуется в офф. документации?
Ну сомнительно. По такой логике можно сказать, что в функции на 2 тысячи строк в каком-то божественном классе только одна ответственность — вычислить новое состояние стейта по текущему и экшену.
Не вычислить, а мутировать стейт на вычисленный тут же :) Тут вопрос, а что конкретно хранится в стейте.
А как рекомендуется в офф. документации?
Последний пример:
const slice = createSlice({
name: 'todos',
initialState: [{ id: 1, title: 'Example todo' }],
reducers: {
addTodo: (state, action) => {
console.log('before', current(state))
state.push(action.payload)
console.log('after', current(state))
},
},
})
В других менеджерах состояний выглядит как-то так:
class TodosStore {
initialState = [{ id: 1, title: 'Example todo' }];
addTodo = (todoData) => {
console.log('before', this.state)
state.push(todoData)
console.log('after', this.state)
};
};
// и пример сохранения в стор из middleware:
const addTodoMiddleWare = () => {
//...
todosStore.addTodo(todoData);
}
Редьюсеры стали похоже на то, что было года за 2-3 до redux-toolkit в других менеджерах состояний. Т.е. Redux изначально развивался неправильным путем.
То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.Нет. Смотря, что подразумевать под ответственностью. Слишком мелкие детали называть ответственностью не стоит, как и сильно общие — вычислить состояния по одному из N входных экшенов.
И даже если функция нарушает SRP, это еще на значит, что это плохо. В первую очередь надо следовать здравому смыслу, а потом уже SOLID, иначе система может получиться слишком раздробленной и сложной.
Может вполне. Нормальный редьюсер не должен падать, если ему передан неизвестный ему экшен — обычно просто возвращает текущий стейт.Суть принципа не в том, будет ошибка или нет, если редьюсер получит неизвестный ему экшен. Нарушение принципа LCP — когда код должен знать о типах всех обрабатываемых им объектов. На примере редьюсера — когда он должен знать о всех типах action, которые он обрабатывает. Т.е. состояние хранилища не будет обновляться для конкретного экшена, пока не напишешь код в редьюсере под этот экшен. Если добавить новый экшен в систему, то придется менять и редьюсер, чтобы система работала с этим экшеном. Это похоже на второй принцип, только относится к наследованию. Как мне кажется, LCP — это частный случай принципа OCP.
Pet-проект это не абстрактный очередной калькулятор в вакууме.
Pet-проект это проект, который человек писал для себя. Для удовольствия / была личная необходимость / для эксперимента. По проекту как правило видно, для чего он писался. Да они и не скрывают — спрашиваешь, для чего писался проект — отвечают, мол для курсов/задачка из учебника/etc.
Лично я отбирал людей, которые писали что-то лично для себя. Потому что это показатель того, насколько человеку интересно программирование само по себе. Я сам гик и в команду мне нужны такие же гики. Если человеку программирование нафиг не упало, то и интересоваться, изучать что-то самостоятельно, творчески подходить к задачам он не будет.
У каждого своё комильфо.
Когда мне очередной джун, неспособный писать хоть сколько то вразумительный код, хвастатся тем, что он игру пишет, выражение моего лица становится профессионально-каменным.
Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает, например, или какую то тривиальную прикладную задачу решил. Слайдер например, реализовал. Под "лучше" я подразумеваю эффективное преобразование времени в профессиональные навыки.
Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает
Это глупость какая-то. Почитать и запомнить теорию — это слишком малая часть. Применение теории на практике — значительно важнее.
мне очередной джун <...> хвастатся тем, что он игру пишет
хм, сравниваете СЕБЯ с джуном :)
а ведь явление по оценке проекта про то, что условно ваш джун с пет-проектом вкуснее этого же джуна, что без пет-проекта…
вы с пет-проектами и OS проектами вкуснее себя же без таковых…
себя с джуном сравнить и на этом строить аргумент — ну вы чего?
Где я себя с джуном сравнивал? оО
Моя история про то что на собесах джунов/испытательных сроках есть вот такой типаж как я описал в противовес тем которых я расцениваю как адекватных. Которые без петпроектов, но зато хорошо знают инструменты с которыми работают и пишут чистый код, прагматики в общем.
Нет, я конкретно для себя пришел к выводу, что если уж программировать по вечерам/выходным, то делать это за деньги. Либо отдыхать, что предпочтительнее, но не получается, к сожалению.
Пример: берём логическую задачу (те же 8 шаров, из которых один иного веса и 2 взвешивания) и меняем её параметры. Смотрим — есть ли понимание в голове или тупо, как стихи, заучена. Если заучена — это станет понятно.
И что вам становится понятно? Расскажите, пожалуйста, насколько такие задачки помогают нанимают хороших программистов
И что вам становится понятно? Расскажите, пожалуйста, насколько такие задачки помогают нанимают хороших программистовОтдельно — особенно ничего. Наверное потому, что я против такого подхода в принципе, вырывать часть из связного текста и задавать вопросы только по этой части. Потому, что текста у меня много и он связан логикой «И». В частности, цитата из моего текста
Как логические, так и конкретные.
Вы же вырвали часть и задали вопрос только по ней. Логические задачи, сами по себе, не могут помочь
«задачки помогают нанимают»хороших программистов, но показать, насколько адекватно человек умеет мыслить, вполне себе могут. Про то, какие неадекваты могут приходить на собеседования, надеюсь, рассказывать не надо? Не хотелось бы негатив тут распространять.
Например, если бы встретил подобный подход у людей, являющихся кандидатами, мне не позволила бы совесть их нанять, если, при решении задачи по программированию, кандидат бы вырвал только условия, удобные ему, а на остальные (ровно также значащие) части не стал бы смотреть. Ведь написание хорошего ПО всегда связано с сочетанием нескольких требований, которые надо уметь совмещать.
пс: пусть кандидат расскажет, что часть фич он сделал, потому что посчитал их главными и обоснует это, а часть не стал (и почему?) или не успел (тут тоже надо смотреть на причины). А потом пусть расскажет, как именно он бы их сделал, в применении к уже реализованному коду. Такой подход, в моём понимании, помог бы сделать более рациональный выбор кандидата, чем только рассмотрение умения решать выделенные вами логические задачи.
хороших программистов, но показать, насколько адекватно человек умеет мыслить, вполне себе могут. Про то, какие неадекваты могут приходить на собеседования, надеюсь, рассказывать не надо? Не хотелось бы негатив тут распространять.
Неадекватов отлично вычисляют "поговорить по душам", в особо запущенных случаях — физзбазз. Задачки имхо не показывают ровно ничего. Вот не смог человек придумать как в 2 взвешивания решать, он знает дихотомию: 8, 4, 2, 1. Значит ли это, что он "недаекват"? Расскажите, как вы в повседневной работе подобный навык применяете. Надеюсь, вы не будете говорить про "общую эрудицию" и "навык находить неожиданные решения" — по моему опыту с навыком решить задачку про горящие верёвки оно имеет мало.
Расскажите, пожалуйста, насколько такие задачки помогают нанимают хороших программистов
Как-как… если решил — гнать в шею. Ибо при подобных условиях задача не имеет решения. Если не решил, но думал, то попросить рассказать ход мыслей.
А кто сказал что среднему разработчику есть польза от Кнута?
А кто сказал, что нет?
Ну это просто: бремя доказательства лежит на постулирующем существование. Так как несуществование доказать невозможно.
У нас научный диспут? )
А так, смотря что нужно доказать. Будет ли польза программисту от изложенных в книге(ах) материало? Будет. Средний программист, я б сказал, имеет мало шансов получить работу, если не знает, что такое, например, поиск или сортировка в принципе, а из книг Кнута он это узнает.
Ну если он даже не пытается притворяться научным или хотя бы осмысленным — то тогда его смысл неочевиден. Мне бы хотелось иметь осмысленный, да.
Я Кнута не читал и вообще не особо умён, но про поиск и сортировку знаю и без Кнута.
Тогда переформулирую тезис "Знания, полученный из книг Кнута будут полезны среднему программисту, но эти книги не единственный возможный источник получения этих знаний"
Вот так и живем, хрюши отсеивают тех, кто годами кодил и не имел возможности развивать SoftSkills, и соответственно набирают тех, кто потратил годы на развитие SoftSkills, а не компетенции, ну а на техническом собеседовании инженеры удивляются низкому уровню кандидатов, но что поделать, брать кого то нужно, вот и берут.
Вы прямо так пишете:
1) будто бы нельзя оба навыка развивать одновременно.
2) будто бы сия должность должна быть автоматически положена любому желающему кодеру.
Нельзя. Часто эти навыки противоположны друг другу. Если на "ехать" можно пролистать профильную книгу или набросать проект за вечер, то на "шашечки" ничем не наберешься за вменяемое время без полной, болезненной и бестолковой смены мышления.
Нельзя. Часто эти навыки противоположны друг другу. Если на «ехать» можно пролистать профильную книгу или набросать проект за вечер, то на «шашечки» ничем не наберешься за вменяемое время без полной, болезненной и бестолковой смены мышления.
Если у конкретного человека эти навыки противоположены — значит ему следует строить свою карьеру с учетом особенностей своей психики.
Только и всего.
Но есть куча людей, у которых эти навыки вполне себе параллельно развивались. Скажем Павел Дуров (ВКонтакте). Ларри Эллисон (Oracle). Или Билл Гейтс (Microsoft).
Перед отправкой Аллен вспомнил, что забыл написать загрузчик, для чтения перфоленты в память. Но, на машинном коде Intel 8080, Аллен смог закончить загрузчик еще до приземления самолета. Позже, они поспорили с Гейтсом, кто мог бы написать более краткий загрузчик. Гейтс выиграл.
ru.wikipedia.org/wiki/Altair_BASIC
Разумеется, спустя годы, мы видим, что эти люди занялись оттачиванием Soft Skill (ибо иначе мы бы о них ничего и не услышали), а не навыка кодирования. Тем не менее, это не мешало им заниматься и разработкой. Скажем, Билл Гейтс программировал понемногу вплоть до 1990-х, когда его фирма была уже довольно большой.
Ну а что уж говорить о программистах, которые удачно продали монетизировали? О программистах-основателях компаний. Тот же Джон Кармак. Причем в отличие от вышеупомянутых Павла Дурова, Ларри Эллисона и Билла Гейтса — Джон Кармак продолжал программировать довольно долго и код его опубликован, можно видеть насколько он хорош. При том Джон Кармак довольно долго лично рулил своей фирмой.
Нельзя. Часто эти навыки противоположны друг другу.
Время не резиновое.
Нельзя успевать и то и то долгое время.
Приходится что то одно выбирать и на этом специализироваться.
Но сами навыки ничуть не противоположены.
Вы привели в пример прекрасно показательных людей. Я одного такого тоже знаю — он сейчас СЕО. И это единственный знакомый мне человек с одинаково подвешенным языком и скиллами в разработке ПО, за мои 14 лет карьеры в ИТ-компаниях.
Остальным каждому в свое время пришлось сделать выбор — либо менеджмент, либо углубленная разработка/архитектура.
Вы привели в пример прекрасно показательных людей. Я одного такого тоже знаю — он сейчас СЕО. И это единственный знакомый мне человек с одинаково подвешенным языком и скиллами в разработке ПО, за мои 14 лет карьеры в ИТ-компаниях.
Ничего удивительного.
Все не могут быть CEO. Столько рабочих мест просто нет.
Вот если бы спустя 14 лет большинство бы людей умирало — тут было бы разумным ожидать что выжившие становятся руководителями.
Но в реальной ситуации, когда люди не так быстро умирают — большинство должны оставаться на рядовых должностях.
Остальным каждому в свое время пришлось сделать выбор — либо менеджмент, либо углубленная разработка/архитектура.
Просто по причине того, что время не резиновое.
Однако внутри одного человека какой-либо принципиальной несовместимости по навыкам нет, что я выше и показал.
К сожалению ваши примеры тянут на "Ошибку Выжившего".
Но вернёмся к нашей проблеме, собеседования мидлов:
Но есть куча людей, у которых эти навыки вполне себе параллельно развивались.
По опыту собеседований скажу, что нету мидлов с хорошими софт скилами и кодинга одновременно. Либо хороший мидл кодер, либо хороший балабол.
Хороший разработчик имеет возможность развивать софт скилы только на уровне сеньора. Большую часть задач, он делает без напряга, значит можно софт скилами мозг по напрягать.
По опыту собеседований скажу, что нету мидлов с хорошими софт скилами и кодинга одновременно. Либо хороший мидл кодер, либо хороший балабол.
К сожалению ваш пример тянет на «Ошибку Выжившего».
Разумеется быть хорошим специалистом в разных сферах — удел немногих.
Люди в массе своей — вовсе не стремятся стать универсалами. Узкая специализация — выгоднее в наше время.
Увы! Чтобы прокачивать soft skills, в рабочее время нужно заниматься разнообразной болтовнёй, что обычно плохо совмещается с типичными служебными обязанностями IT-шника.
Soft Skill прекрасно прокачивается не только на работе, но и в быту.
верно. добавлю, что у некоторых есть хобби — после работы идут не кодить, а, например, в театральный кружок :)
Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв.
Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв
Ну уж в ИТ-то перерабатывать не является жизненно необходимым.
Но если в быту читаешь книжки или пишешь свои пет-проекты, то особо там софт-скиллы не поразрабатываются.
Это ваш собственный осознанный и свободный выбор.
Так определитесь уже — "пет-проджекты и саморазвитие" или же "софтскиллз". А, ну или "выбрось личную жизнь и/или внекомпьютерные хобби фтопку". В сутках всего 24 часа, увы.
Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.
Прокачка софт-скиллов — это сама жизнь. Вы можете их качать на любом своем окружение — на людях в очереди, на продавцах, на соседях по дому, на красивых девушках с улицы и пр. и пр.
Тут не нужно выделять времени отдельно.
Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.
Пет-проджекты пет-проджектам рознь.
Если ваш проджект пилится командой, где у каждого второго как правило своё мнение о будущем проекта;
если вы вошли в состав руководства его (ну или он изначально ваш), если он стал популярен — там есть где и софт-скиллы качать, разруливая мелкие обидки «а почему мой пулл реквест не приняли» или в бурных обсуждения об «issue»
Софт-скиллы окружают нас.
Когда мы их не прокачиваем — мы просто избегаем разруливания любых конфликтных ситуаций в жизни, избегаем любой организаторской деятельности (да хоть с жильцами своего подъезда решить вопрос когда красить стены подъезда, сколько на это нужно денег и в какой цвет) и пр. и пр.
Это наш выбор — избегать прокачки. Но не нужно говорить, что в жизни негде их прокачавать.
Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в "обезьяннике". Ну или, не столь экстремально — на грани развода.
Ну или у нас какие-то очень разные понимания слов "(сознательная?) прокачка софт-скиллов"
Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в «обезьяннике». Ну или, не столь экстремально — на грани развода.
Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.
Про гопников не будут говорить, там поди и алкоголь добавляет непредсказуемости.
А вот с женой — как раз прекрасно прокачивается всю жизнь качаться. Есть даже выражение: «над браком работают всю жизнь».
Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.
Всё таки очень разное понимание слова "прокачка" у нас. Если я могу вывернуть любую ситуацию в свою пользу, то софт-скиллы у меня уже прокачаны, прокачивать их уже не надо, разве что поддерживать. А прокачка — какой-то процесс, действия, которые из состояния "сливаюсь из конфликтов или разрешаю их с большими потерями" приведут меня в состояние "успешно разрешаю конфликты!.
Решение конфликтов — это совсем базовый уровень софт-скиллов, насколько я могу судить. Это, ну, как хелловорлды писать.
Это смотря каких конфликтов.
Если вы умеете решать вообще любые конфликты, то вам впору лекции читать психологам.
Ох нифига это не базовый уровень… Ну то есть он должен идти в базе, когда в период познания собственных границ личности (ЕМНИП между 3 и 5 годом жизни, когда начинается обозванный в советской литературе "праздник непослушания") родители понимают происходящие в ребенке процессы и реагируют на непослушание убеждениями и объяснением, а не ремнем. На практике же в этот период ребенок знакомится с ремнем и истериками родителей вместо осознания границ собственной личности, и в итоге скилл решения конфликтов у него либо отсутствует, либо сублимирован в пассивную агрессию/психические отклонения/депрессию.
Кто сказал, что это осознанный? Вот ни разу не думал "чем бы сейчас заняться — код пописать для души или "Как завоевывать друзей и оказывать влияние на людей" Карнеги перечитать для резюме.
Кто сказал, что это осознанный? Вот ни разу не думал «чем бы сейчас заняться — код пописать для души или „Как завоевывать друзей и оказывать влияние на людей“ Карнеги перечитать для резюме.
Ну это смотря как трактовать слово „осознанный“.
Ходите куда-то вы вполне себе осознанно.
Но при этом не думаете „поставить вперед левую ногу, перенести на нее нагрузку, подтянуть правую ногу, перенести нагрузку на обе ноги....“.
Впрочем, если не употреблять слово „осознанный“, то всё еще проще — прокачка тех или иных скилов осуществляется вообще автоматически. Смотря чем мы занимаемся в данный момент.
Скажем, если мы занимаемся сборкой модельки кораблика в бутылке, то мы прокачиваем скиллы терпения. Но думаем в этот момент не о терпении, а о кораблике.
Ну вот когда мне надо прокачать какой-то хард-скилл я обкладываюсь литературой, документацией, всякими средствами разработки или администрирования и сажусь осознанно прокачивать конкретный навык. Причём обычно процентов на 90 уверен, что прокачаю до уровня, чтобы иметь моральное право упомянуть в резюме. Цена ошибки — только моё время. Фидбэк довольно формальный "работает-не работает", синтаксические и подобные ошибки выявляются часто ещё до попыток запуска.
Как это может работать с софт-скилл не представляю. Ну вот, например, навык деловой переписки. Ну открыл в гугле "как написать деловое письмо", сел и написал по рабочей ситуации, например. Это уже прокачал? Или его отправить надо адресату и посмотреть на реакцию — адресат сделал, что ты хотел — прокачал? А если он обанкротил твою компанию ну или просто тебя уволил — засчитываестя в прокачку? А если оно проигнорировано?
Ходите куда-то вы вполне себе осознанно.
Вовсе не факт. Можно идти, а потом пытаться вспомнить "что делал, что видел? Вроде из точки А в точку Б попал, но как — не помню". Находясь в ясном уме и трезвой памяти.
Скажем, если мы занимаемся сборкой модельки кораблика в бутылке, то мы прокачиваем скиллы терпения
Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.
Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.
Разумеется так.
Не знал какие слова подобрать.
По итогу вы тоже не все перечислили.
В реальности там много чего:
Терпение, выдержку, настойчивость +
Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция
(Кэп XIX века Козьма Прутков).
Если работодателю нужен такой специалист и он решает вопросы бизнеса: почему-бы и нет? Может он с клиентами общается так, что они потом контракты миллионные подписывают, бизнесу это выгодно.
"Чёт я устал, недельку меня не будет" — это плохая организация проекта/процесса и превращение проекта в "звёздный".
По-моему, ровно наоборот. Если любой участник проекта имеет возможность в любой момент времени спонтанно, без составленного за пол-года графика уйти в недельный отпуск и проекту от этого не поплохеет, то это просто офигительная организация проекта/процесса. Что заставляет вас думать иначе?
Манипуляция работодателем.
Одно дело — уйти в запланированный отпуск или даже в отпуск по болезни, и совсем другое "что-то я устал". Во втором случае это каприз. Капризы позволены некоторым незаменимым сотрудникам, которые появляются от плохой организации процесса разработки.
Ну вот запланировано у меня 28 дней отпуска в году. Кому плохо, что я могу начать их тратить завтра? Почему это плохой процесс?
Я так же делаю! Могу уйти в удобное для меня время. А могу не уйти. Отпуска за год меня давно не устраивают, а в мире столько всего происходит, что в корпоративном аду, ты пол жизни пропустишь.
Брат работает руководятлом среднего звена в разработке в банке в центре DefaultCity.
Из 10 приходящих на собеседования не подходит ни один — не то что не умеют производить впечатление или не справляются с решением головоломок для "олимпиадников" на листочках — все просто не в теме, вообще: 10 из 10 — это какие-то левые люди, не погромизды.
Но кадровый голод такой, что приходится одного из них брать.
10 из 10 — это какие-то левые люди, не погромизды.
Это на какой оклад?
В аутсорсе можно легко зарабатывать 3-4к в месяц. При этом проекты есть на любой вкус: биоинформатика, нейроинтерфейсы, HFT, космос, секьюрити всех мастей, геймдэв и банальное формошлёпство. Просто тёплая ламповая разработка, без овертаймов.
На мой скромный взгляд интересно попробовать всё это, тем более офисы есть в радиусе 10 км. В то же время работа с банковским ПО выглядит как довольно таки скучная сфера (даже не поднимая вопрос качества этого ПО). Сфера очень консервативная, winXP — вообще самая современная ос, часто даже видел терминалы на dos + turbo vision.
Кадровая политика — ужас, перспективы сомнительные, технологический стэк — устаревший, ЗП ниже рыночных, исходный код — через расшаренную папку. А в требованиях к кандидатам есть даже полиграф и дресс код.
Что бы начать нанимать достойных кандидатов в банковский сектор, нужно предлагать значительную премию к рыночной ЗП и разрушать стереотипы о нём.
Плотность IT-контор в центре и особенно на юге города — значительно ниже.
А таскаться на другой конец города по 3-4 часа на дорогу каждый день — так себе перспектива.
Удалёнки — довольно мало, но это и не проблема была бы, если бы допускался режим «посещать офис наездами». Раз в пару недель показаться на планёрке, перетереть что-то, что хотят обсудить живьём, а остальное время — работаешь из дома.
Но таких вакансий — раз-два и обчёлся.
Я ведь правильно понимаю что это или твинк короля или очередной аффилированный человек (как тот парень, который перед новым годом работу искал)? Уже в нервную дрожь бросают заголовки "нужно всего лишь..." на хабре
Во-первых, я понятия не имею кто это, а во вторых мои тексты шикарны, и кликбейта в моих заголовках обчыно ровно ноль (если считать кликбейтом введение в заблуждение), хотя читателей, они, конечно, привлекают (за счет нарративности)
если считать кликбейтом введение в заблуждение
А если считать кликбейтом кликбейт — то считаются.
Ну раз не знаете, значит не знаете, но стиль узнаваем абсолютно. Возможно, поклонники?..
Насколько я понимаю, история с кликбейтом именно в ведении в заблуждение. Мои заголовки обычно в короткой форме описывают то же самое, о чем статья. А то что они привлекают много внимания — ну так за этим же и нужны заголовки. В общем, если мне за что и стыдно, так это точно не за заголовки.
Да, наверное поклонники, автор меня даже упомянул в тексте. Хотя сам формат "Мнение о чем-то внутри индустрии" всё-таки не я изобрел
Автор работает в госе. "Системой" госслужащие как правило называют государственно-номенклатурный аппарат (включая госкорпорации) с его правилами.
Поэтому автору кажется что и в частном бизнесе должна быть пресловутая "система" контролирующая людей и их трудоустройство.
Автор в упор не видит что отношения на рынке регулируются исключительно спросом и через голосование рублем, но никак не принудительно по решению кучки начальников. Будет бизнесу выгодно брать подходящих разработчиков для закрытия тасок в джире — будут брать, не взирая на наличие лычек и дипломов.
О своём месте работы и процессах внутри я ни слова не сказал, откуда у Вас в таком случае выводы?
Отсюда, из ваших слов о себе:
Я являюсь обычным .NET разработчиком в рядовой государственной компании, основным способом заработка которой является разработка программного обеспечения. За спиной оконченный с отличием %City%ГТУ где-то за МКАДом, служба в рядах Вооружённых Сил России
А уж как работает "система" гос-компаний, прекрасно знает каждый кто хоть раз работал в ней.
А уж как работает «система» гос-компаний, прекрасно знает каждый кто хоть раз работал в ней.
При всём уважении, не нужно делать обобщающие выводы, будто Вы видели все гос. компании в России и за рубежом. Мы работаем со свежим стеком актуального инструментария, делаем программное обеспечение на совесть, и имеет хорошую репутацию в узких кругах. В нашем молодом коллективе нет «кислотных» коллег, бюрократов и просто случайных людей. Поэтому я не считаю уместным здесь обсуждать подобные вещи.
Но скорее всего у вас есть формальные условия без соблюдения которых на инженерную позицию устроиться или невозможно, или очень сложно. Тот же диплом. Опыт работы, подтверждены в трудовой и т. п.
Лайфцикл запроса, это просто замученная модель оси, на примере одного запроса. Зубрится еще проще чем синтаксис и его подводные камни
Во не представляете сколько людей посыпалось на этом, я спрашиваю от события ввода в браузер url до отображения страницы, без технических подробностей абстрактно и многие сыпались на том что из себя представляет http запрос, а другие где-то на middleware на вопросе как получить контекст запроса.
а другие где-то на middleware на вопросе как получить контекст запроса.
А есть такое понятие в HTTP? Он же типа stateless by design
В нашем мире на уровне middleware с HTTP работают через HttpRequest/HttpResponse объекты/интерфейсы. И контроллеры с ними же. HttpContext — это лет 10 назад было. Я сейчас и не вспомню а зачем собственно оно нужно было.
- Действительно ли этот пузырь лопнет, есть ли предпосылки «лопания»?
- Что может послужить триггером для этого лопания?
- Как будет выглядеть процесс «лопания пузыря»?
- Что будет представлять из себя «лопанье» с точки зрения рынка, т.е. получателей софта?
Здравствуйте, могу рассказать как это происходило у коллеги вначале пандемии (очень крупная и вполне известная компания по разработке софта):
1) да, лопнет за неделю
2) неблагоприятная экономическая обстановка.
3) уволят всех, кроме фуллстек-дядек, которые могут собой заменить всех.
У него из 20 разрабов оставили троих и из 5 девопсов оставили 2.
4) затрудняюсь ответить, вероятно, снижение качества поддержки и удорожание софта.
Насчет проблемы описываемой автором из госконторы — к сожалению решение лежит не в плоскости курсов, а в плоскости «зарабатывать 100 тысяч рублей», и связано это с плохой экономической ситуацией в стране — низкие зарплаты и большие цены с инфляцией, отсутствие легальной работы или МРОТ в регионах, поэтому люди в отчаяньи бегут туда, где можно получать неплохие деньги хоть как-то выучившись, особенно с такими заманиловками вроде курсов.
К самим курсам, кстати, те же претензии можно предъявить
Физкультура 10 лет в школе, а потом сразу двухнедельные онлайн курсы по %ПОПУЛЯРНАЯ_ПРОФЕССИЯ%?Немного не так. 10 лет физкультуры а потом 2 года в армии — углеводороды охранять. А потом «крутись как можешь».
А если серьезно — тоже не понимаю риторики «то не нужно, это не нужно». Вспоминается известный диалог из советского сериала, где Холмс тролит Ватсона «ну допустим, Земля вертится вокруг Солнца, но мне то что с этого?»
Это не из сериала. В книге у Конан Дойла этот диалог тоже был.
Да фиг бы с ней с землей… но когда фронтэнд-разработчик байта от бита не отличает...
… да, я такое видел.
… и решать бизнес-задачи ;)
Не может показать правильно формочку, когда с бэка битовая маска приходит :)
Согласен, причем просто потому, что он сможет ее решить :-)
А потом удивляемся, почему по кончине трафика на мобиле половина приложений работать перестаёт — потому что решение требовали на беке вместо фронта, и в итоге вместо ответа 15
сервер отвечает {"response": {"bit0": true, "bit1": true, "bit2": true, "bit3": true, "bit4": false, "bit5": false, "bit6": false, "bit7": false}}
:-)
но когда фронтэнд-разработчик байта от бита не отличает
Ох, удивили. Я знал синьора, тимлмда по core power management в одной огроменной американской компании- производителе мобильных процессоров. Так он вольты от ваттов не отличал.
Вот мне интересно, если собрать все претензии к образовательной системе
Для начала надо собрать претензии к государственной системе, откуда растут корни проблем в образовательной и прочих системах, хотя зачем, они уже все собраны просто никто не может ничего с этим поделать.
Как пример, если отменить ту же призывную армию, то как минимум половина если не больше перестанет туда поступать только ради отсрочки, а значит качество образования увеличится в несколько раз, также много преподавателей жаловалось на бюрократию, из-за котрой они не успевают иногда подготовиться к лекциям, а если уж выкинуть советские программы обучения и подтянуть их уровень хотя бы до европейского, то вообще все по-другому заиграет, ВУЗы тогда станут гораздо более конкурентными по сравнению с онлайн курсами, которые уже зачастую качественнее и содержат больше материала и знаний чем программы ВУЗов (и без лишнего)
О системе много можно говорить.
Мне после обучения стало ясно одно. Может быть это касается только моего ВУЗа, но обучение не было интенсивным и программа откровенно слабая. 3 первых курса просто гоняли общеобразовательную воду туда-сюда, на 4-м и 5-м пошли уже профильные предметы, но тут внезапно обнаружилось что для понимания некоторых вещей сильно не хватает математических знаний, которые вроде как должны были дать на 1-3 курсах но то ли нужных тем вовсе не было, то ли объем их был недостаточный. Некоторые профильные предметы были в сильно поверхностном виде. Многие вещи узнал уже в процессе работы, и некоторые до сих пор узнаю.
Думаю, что в тех странах, где бакалавра готовят за 3 года, специалисты выходят более сильные чем у нас после 5 лет обучения.
Как пример, если отменить ту же призывную армию, то как минимум половина если не больше перестанет туда поступать только ради отсрочки, а значит качество образования увеличится в несколько раз
А вы в этом уверены? Я не нашёл гендерного состава студентов поступивших в 2019 г., но пройдитесь по гуманитарным кафедрам, 90% обучающихся девушки — хотя в армию им не идти. Мне кажется это миф, что половина или больше поступает из-за армии, ибо так и так служить.
выкинуть советские программы обучения и подтянуть их уровень хотя бы до европейского
Это что имеете ввиду? Что за советские программы и что за европейские?
которые уже зачастую качественнее и содержат больше материала и знаний чем программы ВУЗов
Значит такая специальность, что хватает месяца на освоение, высшее банально не нужно. С врачами, химиками, физиками нет же такой ситуации
но пройдитесь по гуманитарным кафедрам, 90% обучающихся девушки — хотя в армию им не идти. Мне кажется это миф, что половина или больше поступает из-за армии, ибо так и так служить.
В технических ВУЗах, где 90% гендерного состава парни- примерно половина, а иногда даже больше (зависит от «престижности» ВУЗа) в нем только из-за армии. Как минимум из-за того что многие хотят отсрочить неизбежное, кто-то хочет через военную кафедру откосить, кто-то через аспирантуру, кто-то идет работать и зарабатывает на то чтобы потом дать на лапу, я перевидал множество всех этих вариантов.
Это что имеете ввиду? Что за советские программы и что за европейские?
Имею в виду советские программы и европейские. Что еще можно сказать кроме того что написано?
Значит такая специальность, что хватает месяца на освоение, высшее банально не нужно. С врачами, химиками, физиками нет же такой ситуации
В посте, как и в моем комментарии вроде как речь идет про разработчиков, да и свою специальность я сказал, причем тут врачи, химики и физики хз… В них никто и не вкатывается по курсам которые обещают 100к, потому что 100к почти никто из этих профессий и не получает…
Я бы сказал, не инфляция, а девальвация. Но по сути — да.
В США, как я слыхал, на бытовом уровне есть очень сильный мем, что зарабатывают хорошо только люди с ВО. В итоге многие точно так же просто идут получать ВО и платят за счёт кредитов на обучение (иногда влезают в долги на неопределённое время). И пофиг, что хороший работник руками (сантехник, например) может зарабатывать не меньше.
Банкам, выдающим кредиты, поддержание такого мема на плаву, разумеется, выгодно — но это теория заговора.
Думаю, не выгодные кредиты банки просто не стали бы давать — ведь хотя в законе указано, что такие кредиты бывают, заставить банк его выдать любому желающему будет нарушением свободы договора. Ну и банки, в теории, имеют хорошее лобби и при большом желании могли бы добиться послаблений или вообще отмены такой практики — но вроде бы, не пытаются.
Но может тут я тоже не прав.
Losses on student loans are extremely low, even when students default, in part because these loans cannot be discharged in bankruptcy unless repaying the loan would create an "undue hardship" for the student borrower and his or her dependents. In 2005, the bankruptcy laws were changed so that private educational loans also could not be readily discharged
Это наименее рискованные кредиты, их даже банкротство не отменяет.
В США, как я слыхал, на бытовом уровне есть очень сильный мем, что зарабатывают хорошо только люди с ВОНе «бытовой мем», а официальная статистика от bureau of labor statistics. Причем, чем выше образование, тем лучше люди зарабатывают.
И пофиг, что хороший работник руками (сантехник, например) может зарабатывать не меньше.
Глядя на лоеров, докторов и дантистов — понимаешь что таки да, ВО — это первая ступенька к личным миллионам.
Конкретно в случае с докторами помогает ещё искусственное ограничение предложения на рынке труда. Ссылка — из этого следует, что не получится получить либо ВО, либо работу. Личные миллионы — они такие.
antonkrechetov А есть ещё вот такая статистика:
college graduates—defined as ages 22 to 27 years old, holding a bachelor’s degree or higher— are more likely to be unemployed and underemployed compared to overall workers.
— https://www.newyorkfed.org/research/college-labor-market/index.html
www.newyorkfed.org/research/college-labor-market/index.htmlВы уверены, что правильно понимаете статистику, на которую ссылаетесь?
Во-первых, конкретно по приведенной вами ссылке такого текста нет.
Во-вторых, сравнивать нужно людей одного и того же возраста, а не молодых специалистов со средним по популяции.
В-третьих, если открыть страницу с графиками безработицы (https://www.newyorkfed.org/research/college-labor-market/college-labor-market_unemployment.html), видно, что в среднем уровень безработицы у выпускников колледжей в 1.5-2 раза ниже, чем у людей без образования. Более того, у молодых выпускников колледжей уровень безработицы примерно в 2-2.5 раза ниже, чем у людей без образования того же возраста.
если уж выкинуть советские программы обучения
вы про обучение программированию?
там львиная часть — это свежачок, сгенерированный уже спустя годы после прекращения советской власти.
имхо, нужно еще более радикальнее.
редкому программисту нужны вузовские знания.
программистов прекрасно можно готовить в техникумах-пту (или как они сейчас называются).
программистов прекрасно можно готовить в техникумах-пту (или как они сейчас называются).
А потом приходится пользоваться таким тормознутым говном как фронтэнд gmail.
программистов прекрасно можно готовить в техникумах-пту (или как они сейчас называются).
А потом приходится пользоваться таким тормознутым говном как фронтэнд gmail.
Дело в том, что ВУЗовские программисты или ПТУшные — это вам не дает никаких гарантий качества.
Вы можете обучаться в ВУЗе, вы можете получать дофига денег — а делать всё такое же тормозное говно.
То о чем вы говорите — это зависит не от квалификации программиста.
А от требований бизнеса к способу решения задачи.
Считает ли бизнес что нужно выделить на задачу достаточно ресурсов времени и рабочий силы высокого уровня или — нужно быстро-дешево.
Типично: выгоднее сделать быстро-дешево, пока не опередили конкуренты.
Скажем, приведенный вами пример:
Никаких таких сверхсложных фундаментальных вещей, типа знания высшей математики, от создателя gmail не требуется. Качество gmail никак не связано с образованием разработчиков gmail. Гугль может позволить себе достаточно квалифицированных специалистов, у них у всех (или большей части, как минимум) специализированные высшее образование, а не ПТУ.
В двфу хорошо программистов обучают.
Пока моя жена там училась, я офигевал с их программы.
Дифуры, графы, численные методы в перемешку с разными языками программирования, классифицированными по типам и назначениям "интерпретируемые, компилируемы, динамические, статические, строго типизированные...".
В итоге их гоняют по. Js, php, python, c, c++, c#, Perl, asm (основы).
А потом они пишут с нуля компилятор Паскаля на си, спп, шарп или питоне. (Лексер, интерпретатор, компилятор), потом пишут оптимизацию в asm и это просто курсовая, не диплом.
Сам помню, как помогал ей с курсовой. А потом помню помогал с курсовой по машинному обучению, делал ей формочки на qt. и opencv с выводом.
Так что у нас есть хорошее обучение программистов. Просто это не во всех вузах могут применить и народ только из двфу с их факультета на втором курсе, вылетает процентов 60-70 или переводятся в другой факультет на ИБ
И даже солнечные часы не проканают — солнце ведь будет закрыто облаками и пылью.
В общем, надо, того — тренировать школьников вести отсчёт времени без часов. Хотя бы первые пять–шесть лет обучения. А также готовить пищу на костре, поскольку газа и электричества не будет. И ещё ловить эту пищу в лесу.
Потом уже можно переходить к роскошествам цивилизации — письму ручкой по бумаге и счётам.
А на последних курсах вуза уже можно показать подготовленным к выживанию людям сложное: часы, компьютеры и домашнюю бытовую технику.»
lex-kravetski.livejournal.com/679124.html
И я уже молчу про то, что понимания контейнеров и все возможных алгоритмов защищает ее от написания говнокода.
Вот возьми любого C# разработчика. Покажи ему сборщик scons, написанный на питоне, для кросплатформенной, крос-языковой сборки и дай ему собрать твой мега-проект на С++, который должен еще и модули на java для андрой, модули на Objective для ios и osx, а так же нативные либы на .net линковать и заставлять весь этот поровоз работать одним нажатием.
Никакая ide тебе не поможет, без понимания базы тупо слинковать это добро.
А я в gamedev почти каждый день людям разжевываю, как собрать тот или иной модуль для той или иной платформы и присабачить его к игре, прописать api и заставить работать, будучи почти не владея ни java, ни objective. Но фундаментальные знания и многолетний опыт в плюсах помогает изнутри понимать, как это все работает. Да даже при желании, можно какой то супер-тяжелую операцию на asm или векторизовать в AVX.
Да и не в российских та же петрушка
Вас там сколько было? 40 в группе? ну пусть 50, половина купленых, четверть случайных, на выходе 10? 15? Вот столько реальных программистов выпускает ваш вуз в год. И вы никому не нужны со своими заоблачными знаниями и не менее заоблачными технологиями, которые вы способны сообразить походя.
А вообще, складывается стойкое ощущение, что здесь вообще никто не учился в университетах. Причём поголовно, конечно же.
Впрочем, я прекрасно понимаю, что универ универу рознь, но не до такой же степени…
Объяснюсь. Все поголовно «влечивают» про какую-то теоретическую часть, но никто не говорит про практическую, а ведь это самое интересное. И похоже что практическая часть как раз таки чрезвычайно сильно отличается. И я сильно подозреваю то, что все высказавшиеся про какое-то там своё образование — вообще не имели или же имели, но очень слабую практическую часть обучения.
Теперь конкретный пример: программисты тгу на первом семестре теоретически проходят ровно то, про что пишут все, однако же практическая часть в итоге например после первого семестра (да да, первого семестра) — это написание собственной версии фара/нортона на ассемблере. Не написал — отчислен. Точка.
Для тех кто совсем в танке — вы можете изучать любую теорию, но что вы реализуете этой теорией? Вот я таки начинаю понимать, что всё это зависит от ацких пердунов, засевших на кафедрах непонять зачем. Они и подкидывают студентам тривиальные задачьки, практические. Однако же существуют места, где на кафедрах сходу подкидывают крайне сложные задачьки, и это и определяет дальнейшую судьбу студента.
Для тех кто совсем в танке с крайне толстой лобовой бронёй — ровно так же отличаются и школы. Пройти учебник алгебры за 9-ый класс сможет любой дебил. А вот решать весь спектр задач связанных с этим теоретическим знанием может далеко не каждый. Школы тем и отличаются. Теория у всех одна, а решаемые задачки подкидываемые учителем — отличаются как небо и земля.
Исходя из этого теперь про студентов на выходе. Ну приходит такой «умник» в кооператив рога-и-капыта, ему суют какой-то жаваскрипт вгавно тупой и тормозной, грят давай делай на нём всё. Умник просто в шоке. Зачем это гавно? Для каждых задач у умника куча всяких сложных задачек были, и умник прекрасно разбирается в том, что всё фигачить на скриптах — это полнейшая бредятина. Ему говорят — ставь сервак, крути скрипты. Умник в шоке… Ну потому что умник сходу оценил кол-во баз и транзакций, а на это всё хватит самописного кода на джаве в 300 строк и баз в текстовых файлах завёрнутых в рар. Ну потому что умник решал такие задачки, это не то что примитивщина — это более чем примитивщина. Но его тащщут зачем то в монструозный мскюель в 20млн. строк кода, который обрабатывает 50 запросов в день на трёх базах. Умник никогда на такое не подпишется в принципе. Это всё равно что собрать завод на потенциальный выпуск 30к деталей в день, но деталей нужно всего 30. Это же бредятина. По определению. Умник это понимает. Но проблема в том, что это понимание никому не нужно.
Посчитаем. Прогеров с ФУПМ МФТИ вышло 10-15. Реальных прогеров. Специалистов теории информации. Ну пусть в каждом пятом универе подбрасывают реально крутые задачьки студентам, на выходе с них есть толк. Сколько у нас универов с ф.инф.? Ну пусть 50. Итого прогеров выходит на всю страну где то 500-700. Слушайте, да в мире сказочных дебилов никчомных коих сотни тыщ уже — эти 500 реальных программистов просто потеряются и всё. Нынешний мир так называемых «прогеров» — это сказочное зазеркалье с грибами, норами и прочими тяжёлыми веществами. 500 реальных программистов с годных университетов в этом мире не нужны.
Кто будет заказчиком и под какого масштаба проекты?
Разные физические расчёты авиация, космонавтика, металлургия, химический синтез, и так далее.
Это можно сделать и с отдельной наукой.
Ученые, занимающиеся авиацией — дают логику работы программисту из не МФТИ и он эту логику прекрасно реализует.
Это здорово одновременно быть и хорошим программистом и узким ученым в какой то области, но это крайне редко встречается и рассчитывать на такое как на типовую ситуацию не приходится.
Вполне нормально разделять задачу согласно своей узкой специализации.
И даже автоматическая биржевая торговля habr.com/ru/company/iticapital/blog/267403
Там как раз меньше науки и больше техники.
Скажем, оптимизация по скорости и по близкому размещению серверов даст вам больше выхлопа чем мутные экономические наукообразные выкладки.
Если всё было так легко и просто то, учёным не приходилось бы самостоятельно использовать MathLab и MathCad.
Приведенный вами пример это вовсе не «программисты, разбирающиеся в космонавтике и сопромате», а совсем напротив «физики и химики и пр., обладающие базовыми навыками программирования»
Ученые работают со сложными расчетами еще со времен Ньютона и Галилея. А то что считают ученые последние лет 300 — так я вообще удивляюсь как они такие вещи вручную до компьютеров рассчитывали.
То, что сегодня для этого есть удобные инструменты — это только плюс.
Ничего такого сверхествественного в том, что ученый вбивает формулу в некий программный код я не вижу. В некоторых областях науки — это рядовая часть его работы.
И да, разумеется, обладая какими-нибудь плохонькими навыками программирования ученый может куда как быстрее обрабатывать свои результаты, нежели дожидаться пока программист ему накодит качественно.
И, более того, с точки зрения профессионального программиста их программный код довольно убог. Знаю, доводилось во времена работы на кафедре помогать готовить код к защите диссертаций.
Язык программирования Фортран, широко используемый в той же физике десятки лет, не зря уже много лет считается выдающимся по своим вычислительным возможностям. Что не мешает ему быть довольно убогим с точки зрения возможностей по удобству организации кода.
Там из реально ценного только эта сам алгоритм вычисления, грубо говоря «формула».
Повторить это на нормальном техническом уровне для профессионального программиста совсем не сложно.
В реальной же программной системе, эксплуатируемой уже не в научных, а в прикладных целях — «формула» хоть и является ценной частью, но является сравнительно небольшим куском кода. В реальной системе полным-полно кода для другого — логгирования, мониторинга, конфигурирования, обработки исключения, ввода-вывода, взаимодействия с пользователем, кода для unit-тестирования и для интеграционного тестирования, кода, связанного с развертыванием приложения, взаимодействия с СУБД, кода для организации параллельных вычислений и кода для синхронизации подсистем в распределенной вычислительной среде и пр. и пр.
Вот всё это может написать только программист, а не ученый.
Ученый, способный в программном коде зашить «формулу» и программист, способный создать ПО, использующем эту формулу — это сильно разные квалификации.
Я не спорю, что где-то кто-то может быть одновременно и хорошим ученым и хорошим программистом.
Но с учетом сложности современной науки и сложности современного ИТ сомневаюсь что этих людей может быть много.
Сейчас нужно узко специализироваться чтобы быть хорошим профессионалом.
Язык программирования Фортран, широко используемый в той же физике десятки лет, не зря уже много лет считается выдающимся по своим вычислительным возможностям. Что не мешает ему быть довольно убогим с точки зрения возможностей по удобству организации кода.
Чем же, по-вашему, Фортран уступает в части организации кода, например, C и C++? Сам вижу только отсутствие шаблонов как в С++, но за то в Фортране есть модули.
Там из реально ценного только эта сам алгоритм вычисления, грубо говоря «формула».
Повторить это на нормальном техническом уровне для профессионального программиста совсем не сложно.
Профессиональный программист скорее всего не сможет даже осознать постановку решаемой задачи, не говоря о проверке (валидации) сделанного. К примеру, вычислительное ПО на практике используется для задач с неизвестным решением — нет у вас тестов. Были бы — не нужно было бы само ПО. Даже для простого использования такого ПО нужно обладать квалификацией в предметной области.
В реальной же программной системе, эксплуатируемой уже не в научных, а в прикладных целях — «формула» хоть и является ценной частью, но является сравнительно небольшим куском кода.
Здесь вы пишете не про прикладное научное ПО, а про системную разработку, которая, по-видимому, вам намного ближе. Например, алгоритмы математического моделирования реального прикладного научного ПО гораздо сложнее, чем "формула" в любом смысле этого выражения.
Вот для разработки GUI и т.п., если это требуется, просто нанимаются соответствующие программисты, работающие по заданию и под контролем квалифицированных специалистов в предметной области.
Ученый, способный в программном коде зашить «формулу» и программист, способный создать ПО, использующем эту формулу — это сильно разные квалификации.
Сейчас нужно узко специализироваться чтобы быть хорошим профессионалом.
Это все действительно так. Но идея о том, что дайте системным программистам "формулы", и они сделают научное прикладное ПО, может родиться только от неведения.
Можно было бы, действительно, идти заниматься физическими расчётами в каком-нибудь Boeing или Lockheed-Martin.
В подобных компаниях обычно сидят в основном инженеры-конструкторы (создают проект) и инженеры-физики (разрабатывают концепции с использованием мат. моделирования, поддерживая первых). Последние больше физики, чем математики или программисты, и максимум, что они могут делать в рассматриваемом контексте: запускать программу физичекого расчета, писать автоматизации для этого и решать какие-то задачи оптимизации, вручную или с использованием спец. ПО. Короче, все, что касается любой теоретизации, зашито в спец. ПО.
Другое дело — разработка того самого спец. ПО. Там начинает открываться простор для использования методов прикладной математики и программирования для HPC. Вспомнилось это.
Работа кажется зарыванием образования в землю, потому что так оно и есть. Чем выше требования к уровню квалификации, тем меньше соответствующих рабочих мест, и это нормально. Но спрос на такие места тоже меньше, и ценность специалистов, способных занять такие места, выше. Последнее сильно влияет на качество жизни.
Если задаться целью иметь возможность найти работу почти в любой заданной точке земного шара, то нужно выбирать профессию электрика, или, что лучше, дворника, впрочем сделать это потом все еще не будет поздно.
Не знаю, какой способ использовался для определения соотношения зарплат, и даже сомневаюсь, что это вообще возможно в данном случае. Но если принять этот вывод как данность, то возникает желание понять, что удерживает специалистов по формальной верификации от устройства на работу обыкновенными программистами, где зарплаты выше. Неспособность?
1) нежелание в принципе работать "обычными"
2) нежелание временных потерь при переходе с, условно, senior Irdis на junior C++
Выходит, в основной массе специалисты по формальной верификации — высокомерные личности, оказавшиеся в плену своего выбора поля для деятельности. Понял, спасибо.
Неправильно поняли. Просто есть технологии, стэки, с которыми не хочется работать в принципе. Вот для меня, например, такая -Windows. Когда стучатся рекрутёры, то это чуть ли не первый вопрос к ним — "я с Windows буду сталкиваться?". С процедурным программированием не хочу работать, легаси поддерживать и т. п. 40 часов в неделю получать негатив от работы за какие-нибудь 20-30% к зарплате? Спасибо, не надо.
Иметь неприязнь к каким-то видам деятельности естественно. Бывает даже такое (лично знаком), что человек подбирает себе работу исключительно в радиусе 30-и минут ходьбы от дома, будучи согласным даже на переквалификацию при необходимости. Но это все частные случаи.
Маловероятно, что все, кто занимается формальной верификацией, влюблены в свое дело и брезгуют всеми остальными видами деятельности настолько, что довольствуются худшими условиями. Ведь их характерный уровень явно выше, чем у "обыкновенных" программистов.
В комментарии выше я выражаю сомнение в том, что характерные зарплаты специалистов в области формальной верификации ниже, чем у разработчиков C++. Просто узкоспециальные темы по-другому устроены. Одно дело, когда в мире есть пару миллионов специалистов в какой-то теме, а другое — когда всего пару сотен, где все могут буквально знать друг друга.
Это я пишу как человек, который никогда не работал профессиональным программистом, но наслышан об очень "рыночной" природе сферы найма в этой области.
Согласен, порог входа в когорту таких специалистов выше, чем в "рабочие" специальности, и, наверное, сам вход более трудоемок. Но думаю, что преодоление всех этих трудностей вполне можно рассматривать как инвестицию в себя.
Заработок в академической среде в меньшей степени определяется стипендией/зарплатой — того, что указывается в объявлениях об открытых позициях. У деятельного научного работника доход от грантов и договоров с компаниями многократно их превосходит. Но да — этот путь долгий.
Про выпускников аспирантуры. Если речь идет о России, то, в перую очередь, причина здесь может быть в состоянии российской науки. Во вторую очередь — в очень сильно выделяющихся на общем фоне зарплатах в IT в совокупности с готовыми базовыми навыками программирования. Если я не ошибаюсь, например, в США такого дисбаланса нет, равно как нет и перетечки в IT инженеров-конструкторов, автомехаников, филологов, врачей и др.
В целом, успех в научной сфере сильно зависит от способностей и увлеченности — нужно выходить за рамки и делать самому что-то такое, чему никто не научит. Очень мало кто желает этого в силу разных причин.
Мне интересно для понимания: условия в этих 5-10 компаниях хуже, чем у программистов C++ широкого профиля, или же там обязательны ученая степень, бэкграунд, или еще что-то?
Смысл есть идти на инженера-программиста.
Хех, про виды тестирования, вроде бы, и я тебе говорил раньше.
Ещё у нас были предметы типа теории управления, автоматизированных систем, организации ЭВМ, операционных систем, что-то про микроконтроллеры, про какие-то экономические и правовые аспекты разработки ПО, и совсем уж узко-профессиональные предметы типа человеко-машинного взаимодействия (про юзабилити и проектирование интерфейсов) и методологии разработки ПО (про всякие водопады и эджайлы).
Конечно, это всё можно и самому учить, но полезен сам список предметов.
Вычматы
Численные методы не используют матаппарат матана?
Матана там нужно очень мало.
Бесконечно мало?
И считаете вы вполне успешно без изучения аксиоматики Пеано.
Аксиоматика Пеано и 1+1 =
По вашему же получается что что бы утверждать что в работе используется матанализ нужно как минимум публиковаться по теме теории струн.
Если вкратце, то нет. Максимум — для доказательств свойств тех или иных методов, чтобы показать, например, что метод аппроксимирует «идеальный» матанный объект.
Хорошо, как мне понять когда лучше использовать метод Рунге-Куты а когда Рунге-Куты-Нюстрёма(первая попавшаяся в википедии модификация) или то почему тот или иной метод работает, если я знаю матан на школьном уровне?
Но недостаточно, чтобы утверждать, что вам для счёта нужна аксиоматика Пеано вместе с доказательствами всяких её интересных свойств.
Так никто вроде не утверждал подобное, пролистал вверх до коммента преткновения, там наоборот вами утверждалось что «матан не нужен среднему программисту/синьору» а не "${имя теоремы из матанализа} вместе с доказательствами всяких ее интересных свойств не нужны среднему программисту".
Нет, мой тезис немного отличается.
Я запутался, изначальный тезис вроде был таким: среднему программисту матан не нужен, потом — программисту из геймдева(или они уже не средние?) матан нужен чуть-чуть. Эта чуть-чуть дает право говорить что матан программисту нужен или это будет неправда?
Я запутался, изначальный тезис вроде был таким: среднему программисту матан не нужен, потом — программисту из геймдева(или они уже не средние?) матан нужен чуть-чуть. Эта чуть-чуть дает право говорить что матан программисту нужен или это будет неправда?
Для геймдева из математики из четырех лет ВУЗа реально полезную в геймдеве (обратите внимание это будет полезно прежде всего для разработчиков гейм-движков, большинству же и этого не нужно) информацию можно выдать за полгода-год.
Это из опыта моих 5ти (тогда еще так было, а не 4) обучения по прикладной математике.
И напротив: кое чего из полезного в геймдеве — вы в ВУЗе даже и не получите, если только не пойдете специализироваться на кафедру на какое-то направление математики, подходящее для геймдева.
То есть в чистом виде образование и избыточно и недостаточно одновременно.
Замечу, я говорю только о разработчиках базовых-ключевых сложных компонент геймдева — серьезных движков.
А прикладным гейм-программистам, что навороченных движков с физикой и рендерингом и и обработкой звука не пишут, а просто пользуются таковыми движками — хватит и месяца-другого линейной алгебры и т.п. простых преобразований пространства. И еще пару лет чистой практики работы с конкретным навороченным движком.
Прикладным гейм-разработчикам это можно освоить и самостоятельно. Это можно освоить и в школе в математических специализированных классах. Это можно освоить и на коротких курсах.
Прикладным гейм-разработчикам это можно освоить и самостоятельно. Это можно освоить и в школе в математических специализированных классах. Это можно освоить и на коротких курсах.
Рано или поздно может возникнуть ситуация когда прикладной гейм-разработчик, по мере роста амбиций, захочет заняться разработкой движков. Если у него нет университетского бекграунда за плечами сколько по времени займет переобучение? Ну допустим озвученный вами год. А сколько бы заняло если бы он уже имел за плечами матфак?
Лично мне кажется что лучше иметь к 22-23 годам 5 лет хорошего образования и по возможности полгода опыта чем иметь полгода курсов/самообразования и 5 лет рабочего опыта. В 22-23 это будет совсем неочевидно, особенно с финансовой точки зрения, но к 30-35 годам отрыв уже будет нагляден.
Рано или поздно может возникнуть ситуация когда прикладной гейм-разработчик, по мере роста амбиций, захочет заняться разработкой движков. Если у него нет университетского бекграунда за плечами сколько по времени займет переобучение? Ну допустим озвученный вами год. А сколько бы заняло если бы он уже имел за плечами матфак?
По большому счету столько же. Уверяю вас.
Я и игростроением увлекался (свои движки) и матфак за плечами. Никаких сакральных знаний матфак не дает.
Кроме разве что системного мышления и определенного круга общения, но это можно и другими способами достич.
Ну в недели форы разница, из опыта своего скажу.
А скорее всего, вам никогда в жизни этой форой воспользоваться не удастся.
Лично мне кажется что лучше иметь к 22-23 годам 5 лет хорошего образования и по возможности полгода опыта чем иметь полгода курсов/самообразования и 5 лет рабочего опыта. В 22-23 это будет совсем неочевидно, особенно с финансовой точки зрения, но к 30-35 годам отрыв уже будет нагляден.
Отрыв будет, возможно будет, если вы пойдете заниматься разработкой чего-то реально наукоёмкого. Это сколько программистов делает? 1 из 100 000?
Но подавляющее большинство программистов занимаются глубоко прикладными практическими разработками.
То есть если вы знаете чем именно вы планируете заниматься и там нужна наука — то да, учиться этой науки целесообразно. Причем учится именно специализировано. (тут правда вопрос: а сколько людей настолько точно знают, начиная учёбу в ВУЗе — а чем конкретно таким наукоёмким они будут заниматься после ВУЗа)
От того же универсального, а не специализированного образования, что дают на матфаке — особой пользы нет.
Если вы будете учить именно математику в ВУЗе, а не программирование практиковать все эти года, то у вас будет не отрыв, а отставание от того человека, что на 5 лет начал раньше вас работать.
А вот более инженерные вещи, типа распределенной архитектуры и т.п., если они будут даваться в ВУЗе — это реальный плюс. Но это не матфак, не математика, а скорее всего какая-то специальность, которой учат в политехнических ВУЗах.
Но и там 4 года учить особо нечего.
Другое дело, что те практики (в моём представлении обычно работающие со сложными физическими моделями) которым нужны нестандартные методы для решения УРЧП и интегральных уравнений, часто используют их как чёрный ящик — математика же нужна, чтобы обосновать их эффективность, лучше обрисовать границы применимости и нащупать новые подходы.
Понятно, что всем такую книгу точно читать не нужно, но всё-таки разумный уровень математической грамотности в этой сфере редко нулевой — я бы сказал, что он сильно зависит от конкретной задачи. Бездумное использование численных методов может привести к тому, скажем, что численный артефакт примут за реальный эффект — системное понимание границ применимости даёт шанс ошибаться реже и находить такие ошибки вовремя.
PS а работодателю при выборе сеньора как быть?
Ну в госконторах смотрят на наличие диплома, да.
Им нужно иметь отмазку «почему мы выбрали А на эту должность», чтобы прикрыть свою задницу.
А до сеньора вырасти программист никогда не должен?
Должен всю карьеру оставаться «вечным подмастерье»-формошлёпом?
Скажите, а что даст знание матана (анализ бесконечно малых) сеньору?
В каких то отдельных редких специализация знание матана (анализ бесконечно малых) может быть полезно. Если вы разрабатываете некий научный софт, видимо.
Прочие математически вещи позволяю грамотнее делать какие-то очень специфические вещи для игрового движка, тут рядом подсказывают про моделирование физики (однако большинство просто воспользуется готовыми библиотеками), то же быстрое преобразование Фурье вручную в наше время смысла делать нет, полно готовых отлаженных оптимизированных библиотек.
Если если забыть, что для большинства подавляющего сеньоров — даже знание о том, что быстрое преобразование Фурье вообще существует — не пригодится вообще никогда.
Программирование — это про практику. А не про теорию.
Это набивать руку на архитектуру, к примеру. Однако то, что дают по архитектуре будущему сеньору — он уже к миддл-уровню будет знать больше.
Ну вот задачу доводилось решать: есть серия интервалов времени — промежутки между пиками одной очень сложной колебательной системы, нужно выводить алерты когда эта серия характерным образом изменяется. Слишком быстро меняется — плохо, стабилизировалась — плохо, "зависла" — очень плохо.
Дальше считаем хоть П(пик) per second, хоть что угодно.
Алерты вешаем на оба отклонения.
Вам для этого точно математика нужна? Я в Графане дашборд минут за 30 накидаю.
Не потому ли, что кто-то писавший Графану уже изучал матан и общее решение для этой задачи накидал в виде плагина? :-)
Уже есть серия интервалов между пиками (определить пик тоже задача не простая — это не отсечка простая, это перегиб графика типа такого , причём локальные перегибы нужно игнорировать) — вот тут 4 пика основных.
Ну и это 90-е годы, Графаны не было даже в проекте, а надо было в реалтайме с очень высокой ценой ложноотрицательных срабатываний
В Графану льем просто значения. Наш код на этом закончен.
Уже в Графане берем неотрицательную производную (non negative derivative). Встроенная функция Графаны.
Графики производной будут очень говорящим. Все пики на нем будут отлично видны. Мониторинг это дело техники.
Зачем вам математика для этого? Я даже готов написать код реализующий это без Графаны. Приэтом я буду использовать максимум первый курс математики.
Нам не производные нужны были а гармоники, появление-пропадание-смещение гармоник определ`нных частот. И даже если условная Графана это может то задача программистам была "разработать программу, которая...", а не "настроить какую-нибудь готовую программу". Такая постановка предполагает, что бизнес-задача, рынок и ограничения (типа в штате нет специалистов по Графане, а по C++ есть) уже проанализированы и принято решение о целесообразности собственной разработки.
Нам не производные нужны были а гармоники, появление-пропадание-смещение гармоник определ`нных частот.
Это даже не важно. На Графане точно можно найти подходящий показатель и мониторить его.
даже если условная Графана это может то задача программистам была «разработать программу, которая...», а не «настроить какую-нибудь готовую программу»
После такого всех причастных менеждеров и лидов надо сразу отправлять на мороз. А сеньеры сами уйдут. Их заставляют приседать, вместо того чтобы просто и эффективно решить задачу используя стандартные средства.
ипа в штате нет специалистов по Графане, а по C++ есть) уже проанализированы и принято решение о целесообразности собственной разработки.
Специалисты по Графане? Это шутка? А специалисты по sendmail у вас есть?
Что надо делать и что проиойдет после таких решений я чуть выше написал.
Графана это просто вариант по умолчанию. На самом деле есть аналоги делающие тоже самое. Можно брать их. Главное никаких велосипедов.
У вас очень радикальные взгляды. И некоторым сеньорам может быть интересно заниматься программированием дискретной математики, а не администрированием дашбордов или сендмэйлов (да, этим администраторы занимаются, а не программисты)
У вас очень радикальные взгляды.
Да вроде нормальные. Я думаю как сделать софт решающий проблемы бизнеса. Просто писать какой-то код, тем более на плюсах, обычно плохо решает проблемы бизнеса.
И некоторым сеньорам может быть интересно заниматься программированием дискретной математики, а не администрированием дашбордов или сендмэйлов
Всем (в моей окресности) сеньерам скучно и не интересно писать код вместо того чтобы накликать мышкой дашборд. Это дает ощущение своей бесполезности и ненужности.
И как я и говорил их заставляют приседать просто так. Ради того чтобы приседать. Это сеньеры, они поймут.
(да, этим администраторы занимаются, а не программисты)
У нас тут век девопс. Проще не разделять.
Пусть ставят и настраивают софт админы. Никто не против. Метрики писать и настраивать дашборды все равно разработчикам. Админы вообще не в курсе что там вы мониторить собрались. Они софт и БД поставили, все надежно работает, бекапится, ожидаемую нагрузку держит. Их работа окончена. В случае проблем восстановят и данные не потеряют.
В моих окрестностях не интересно накликивать мышками логику в узкоспециализированном софте. Как раз это даёт ощущение бесполезности и ненужности — превращение из программиста, разрабатывающего программы, в пользователя какого-то готового продукта.
Я предполагаю что у вас есть и другие задачи. И выбор стоит так: Делать что-то нерешаемое методом полчасика покликать мышкой в типовом софте или делать решаемое накликиваемым мышкой.
Если у вас задачи решаются мышкой и типовым софтом извините.
Не смог полностью распарсить вашу фразу. Но в подобной ситуации (я знаю, что есть софт, решающий задачу кликаньем мышки, но могу и код написать) у меня выбор стоит так: или я пишу код, или говорю заказчику/начальству, чтоб обратился к специалисту по накликиванию мышкой.
Я вот в Графане никогда не работал, до нашего разговора был уверен, что это тулза для показа графиков процессора, памяти и т. п. Для меня новость, что она может снимать данные с портов компа, строить спектрограммы и о специфических изменениях изменениях графиков типа третья базовая гармоника уже час не может стабилизироваться выводить сообщение на экран. Оценить такую задачу могу только на уровне "как пойдёт"
у меня выбор стоит так: или я пишу код, или говорю заказчику/начальству, чтоб обратился к специалисту по накликиванию мышкой.
Я уже понял. Вы свой софт не мониторите. Нет никаких специалистов по кликанью мышкой, никто кроме разботчика не знает что там надо мониторить и как это лучше делать.
Часто даже никто кроме разработки даже не понимает о чем говорит тот или иной график. Для менеджеров делают специальные графики по которым что-то можно понять не особо глубоко погружаясь в технические детали.
Я вот в Графане никогда не работал, до нашего разговора был уверен, что это тулза для показа графиков процессора, памяти и т. п. Для меня новость, что она может снимать данные с портов компа, строить спектрограммы и о специфических изменениях изменениях графиков типа третья базовая гармоника уже час не может стабилизироваться выводить сообщение на экран. Оценить такую задачу могу только на уровне «как пойдёт»
Типовой софт для рисования графиков может делать типовые преобразования над графиками. Вроде это не слишком смелое предположение?
Первый раз надо потратить пару дней чтобы разобраться. Может даже неделю чтобы сделать МВП для показа и получения времени на продакшен решение. Это потом окупается с запасом.
Минус велосипед это уже многого стоит. Новым людям проще, старым проще, so работает. Одни плюсы и каждый из них будет всегда экономить время.
Я уже понял. Вы свой софт не мониторите.
Админы этим занимаются. Они его поднимают, они и мониторят.
Часто даже никто кроме разработки даже не понимает о чем говорит тот или иной график.
Специфика такая была, что разработка не понимала о чём говорит тот или иной график. Только специалисты, для которых график и делался. Они, как сейчас говорят, обучали систему, указывая что те или иные гармоники говорят. Для разработки это просто, утрируя, пары "частота — текст алерта"
Типовой софт для рисования графиков может делать типовые преобразования над графиками.
Рисование графиков — вспомогательная функция. Основная — получать сигнал от железа, раскладывать на спектр, мониторить его динамику и выводить на экран и "сирену" (колонки) тревогу о выходе некоторых значений из задаваемых операторами границ
Ну и построение спектрограммы я никак не могу отнести к типовым операциям над графиками. Это а) операция построения графика, а не операция над графиком б) высшая математика — спектральный анализ
Специфика такая была, что разработка не понимала о чём говорит тот или иной график. Только специалисты, для которых график и делался. Они, как сейчас говорят, обучали систему, указывая что те или иные гармоники говорят. Для разработки это просто, утрируя, пары «частота — текст алерта»
Это продуктовые метрики. Кроме них есть еще и технические. РПС, ППС, очередь, задержка, время выполнения вон той очень интересной функции с перцентилями, процент плохих входных данных вот тут и вот там. Да мало ли всяких интересных для наблюдения мест внутри приложения. Чтобы точно знать когда что-то пошло или вот-вот пойдет не так и в чем скорее всего дело.
Вот это вы похоже не мониторите.
Ну и построение спектрограммы я никак не могу отнести к типовым операциям над графиками. Это а) операция построения графика, а не операция над графиком б) высшая математика — спектральный анализ
Зря вы упираетесь. Это абсолютно типовая штука. Делается кликами мышки, без программирования. Весь мир уже давно так такое делает. Пора и вам.
Вы зря жжете деньги бизнеса и тратите свое время на очередной не нужный велосипед.
РПС, ППС, очередь, задержка
за каждый РПС, ППС и СЕО
отрубал бы по пальцу
Пакет Пер Секонд
И много чего еще пер секонд. Как бы это писать предлагаете? Типовые метрики для половины софта.
Или "… в секунду" или "… per second",
а не на смеси французского с нижегородским.
Запись словосочетаний словами начинающимися Со Всех Заглавных Букв, кстати, в русском языке не принята,
о чём даже есть упоминание в правилах хабра.
10 рпс в час, например. Никогда не встречали?
Перевести так чтобы сохранить иронию невозможно.
Ирония над кем? Последователями карго-культа с Брайтона, которые говорят:
«Покупатель — продавцу: Мне полпаунда свисс-лоу-фетного творогу.
Продавец: Тю!.. Та разве ж творог – свисс-лоу-фетный? То ж чиз!
Покупатель (удивляясь): Чиз?
Очередь (в нетерпении): Чиз, чиз! Не задерживайте, люди же ж ждут.
Покупатель (колеблясь): Ну свесьте полпаунда чизу.
Продавец: Вам послайсить или целым писом?»
?
Это продуктовые метрики.
В моём понимании — нет. Это метрики предметной области, а не метрики эффективности продукта. Продуктовыми были числа ложноположительных и ложноотрицательных срабатываний
Вот это вы похоже не мониторите.
Админы мониторят время ответа, например, или свободное место на диске.
Зря вы упираетесь. Это абсолютно типовая штука. Делается кликами мышки, без программирования.
Да я же не спорю, что её можно сделать мышкой. Даже в 90-х можно было в Маткаде каком-нибудь. Но наш продукт был на C++ и задача была выводить тревожные сообщения как основная функция и графики как обеспечивающая.
Вы зря жжете деньги бизнеса и тратите свое время на очередной не нужный велосипед.
Бизнес обращается к программисту "напиши программу, которая делает то-то и то-то". Программисту нужно ответить "возьмите готовую, а меня увольте и наймите настройщика готовых программ мышкой, а велосипед я писать не буду"? Бизнес считает, что написание программы принесёт ему прибыль и деньги на оплату программиста будут выкинуты не зря.
Админы мониторят время ответа, например, или свободное место на диске.
Админы мониторят железки. Админы свою часть работы выполняют. Времена админам мониторить немного странно. Этот показатель от админов не зависит, починить они его не могут. Смысл им его мониторить?
А софт у вас не мониторит никто. У софта тоже есть состояние, есть показатели. За всем этим неплохо бы наблюдать. Хотя бы для того чтобы фиксировать необычные отклонения.
Бизнес обращается к программисту «напиши программу, которая делает то-то и то-то». Программисту нужно ответить «возьмите готовую, а меня увольте и наймите настройщика готовых программ мышкой, а велосипед я писать не буду»? Бизнес считает, что написание программы принесёт ему прибыль и деньги на оплату программиста будут выкинуты не зря.
Какой у вас странный бизнес. Бизнес хочет решить какую-то задачу. От бизнеса приходящего со словами напиши мне программу на С++ бежать надо. Люди из бизнеса в софте разбираются плохо. И пытаются навязывать свое мнение как профессионалы должны решать их задачи. Тараканов у таких людей много слишком.
Если разработчики решают задачу в 10 раз быстрее путем стандартных средств им дают премию и новые задачи. Молодцы же. Бабла сэкономили море. Пусть и дальше так работают.
Админы мониторят то, что они устанавливают и настраивают. Например, время ответа сильно зависит от того сколько оперативки выделено под кэши и буферы, количества процессов/потоков веб-сервера, СУБД, сервера приложений и т. п., хватает ли ядер CPU
Если говорить о сейчас, то мониторит софт бизнес инструментами Гугла, только просят нас отправлять то или иное событие, например. И это бизнес пришёл с задачей подключить эти инструменты. А если говорить о C++ или другом конкретном стэке, то как правило есть команда со знаниями и навыками в этом стэке, и бизнес знает, что на другом стэке или команда откажется писать (как отказался бы я, предложи мне кто реализовать бизнес-фичу на Графане без обещаний десятикратной оплаты задач по развитию и поддержке этой фичи), или будет делать это долго и некачественно, даже если сама стэк выберет поиграться начитавшись на Хабре, что он очень эффективен для подобных задач.
Админы мониторят то, что они устанавливают и настраивают. Например, время ответа сильно зависит от того сколько оперативки выделено под кэши и буферы, количества процессов/потоков веб-сервера, СУБД, сервера приложений и т. п., хватает ли ядер CPU
Нет, просто нет. Железо под одним софтом меняют редко. Ну пусть раз в 5 лет. Софт катают раз в месяц минимум. И ситуацию когда тайминги поплыли после релиза новой версии должны отслеживать разработчики, админы тут просто лишее звено. Они понятия имеют что там выкатили и что случилось. И сделать с этим ничего не могут. Зачем они в данной ситации нужны?
Если говорить о сейчас, то мониторит софт бизнес инструментами Гугла, только просят нас отправлять то или иное событие, например. И это бизнес пришёл с задачей подключить эти инструменты.
Вы опять про продуктовые мониторинги. У вас внутри софта вообще ничего нет что хотелось бы видеть в виде графика? Не связанного с бизнесом, просто для понимая что вот эта приложенька работает как обычно. Что сегодня происходит все ровно тоже что и вчера, что после релиза новой версии ничего плохого не случилось. И чтобы факапы на мониторинге сразу рисовались скачками любых попугаев.
если говорить о C++ или другом конкретном стэке, то как правило есть команда со знаниями и навыками в этом стэке, и бизнес знает, что на другом стэке или команда откажется писать
Когда у тебя в руках есть только молоток, тогда все вокруг превращается в гвозди.
Попробуйте посмотреть что в мире делается. Люди пишут софт для разработчиков. Реально хороший и удобный именно разработчкиам. И им массово пользуются. Разработчики пользуются, часто даже по своей инициативе внедряют.
В виде: Мониторингов как у вас сейчас нет. А давайте запилим на коленке хоть что-нибдуь. А то предыдущий факап заметили пользователи, а мы узнали о нем от пользователей. Стыдно как-то.
Железо под одним софтом меняют редко. Ну пусть раз в 5 лет.
Бывает гораздо чаще, например, ккогда число активных пользователей удваивается каждые пару месяцев
У вас внутри софта вообще ничего нет что хотелось бы видеть в виде графика?
Аптайм, время отклика, количество исключений в логах и т. п. Вот, прямо сейчас сижу прикручиваю Prometheus для подобных вещей — вычитал, что стандарт де-факто практически сейчас: стильно, модно, молодежно ). При этом прекрасно понимаю, что это работа админов, просто перевожу конфиги старого заббикса на новую систему. И да, именно с аргументацией "предыдущий факап заметили пользователи, а мы узнали о нем от пользователей. Стыдно как-то" продавил эту задачу в бэклог, а когда встал вопрос кто делать будет — инициатива наказуема. Вот, спустя полдня уже думаю, что лучше бы предложил написать такую систему на знакомых языках… Пускай с ASCII графиками, но простую и понятную.
Бывает гораздо чаще, например, ккогда число активных пользователей удваивается каждые пару месяцев
Под такой рост только горизонтально сервера докидывать. Менять не надо. Быстро упрешься в поток производительности и бюджета. А раз докидываем они все одинаковые для упрощения обслуживания и значит ничего не меняется. Балансеры разве что нарастить придется.
Аптайм, время отклика, количество исключений в логах и т. п.
Вот это уже типичные мониторинги разработчиков.
Когда первый раз все настроено, сделано и проинтегрировано новые мониторинги быстрее и проще появляться будут. Когда одной строчкой кода и десятком типовых кликов мышки можно замониторить что угодно люди начинают этим пользоваться.
Раз время отклика мониторится, то почему бы не замониторить пару самых сомнительных мест на него влияющих? Обычно это всякие базы или внешние микросервисы. Чтобы сразу было понятно кто виноват. Это первое что в голову пришло.
При этом прекрасно понимаю, что это работа админов, просто перевожу конфиги старого заббикса на новую систему
Обычное разделение труда. Админы ставят софт, настраивают надежность, бекапы и тому подобное.
Мониторинг это код. Аннотация или строка кода, по разному. Но это код. И что именно надо мониторить в коде админы не не знают.
Мониторинг это код. Аннотация или строка кода, по разному. Но это код.
Для меня сейчас мониторинг — это инфраструктурные конфиги, я руками пишу, может можно мышкой делать, но это конфиги, пускай они как код, но они не код. Может я чего-то про мониторинг не знаю ещё. Вы про какие-то ендпоинты типа /api/metrics прямо на уровне приложения? Типа чтоб приложение проводило профилирование себя, записывало результаты в базу и отдавало накопленную статистику по такому ендпоинту?
Вы про какие-то ендпоинты типа /api/metrics прямо на уровне приложения? Типа чтоб приложение проводило профилирование себя, записывало результаты в базу и отдавало накопленную статистику по такому ендпоинту?
Например. Это один из подходов. Только базу не надо. Инмемори хватит. Потеря секунд 10 перед падением не страшно. Обычные логи для такого есть.
Второй, наверное, слать метрики на серверы… Но ведь это всё замедляет тот самый код. Это же как в продакшен с запущенным профайлером запустить.
Ну можно сказать что такие задачи хорошо если 0.1% программистов решает хотя бы иногда. Большинство слепляют сервисы с рестом и добавляют поля в JSON
матан — орудие исследователя, для рядового программиста вещь абсолютно ненужная.
Матан мне 1 (!) раз пригодился, когда нужно было подсчитать предел объёма памяти, занимаемого некой структурой данных (я смог вспомнить, что есть "предел суммы ряда" и что wolframalpha умеет считать их). Это примерно за 10 лет коммерческой разработки.
А линейная алгебра и матлогика почти каждый день нужны.
Подозреваю, что у других может быть иначе.
Ну да, то-то все дети американских олигархов едут жить в Саранск, чтобы учиться в Мордовском государственном университете
Равно как и мне лига плюща вообще не нужна.
как будет выглядеть образование будущего?
Гатчинское Отделение Вуза Нетрадиционного Обучения,
кафедра информационных технологий и всяких умных слов
Прайс лист:
Диплом программиста — 100 000р
Диплом старшего программиста — 300 000р
Сертификат повышения квалификации программиста — 10 000р (обязательно проходить раз в пол года, для подтверждения диплома)
Прохождение дорабочей практики на <название специализации> — 50 000р/мес
у ребенка до 9 класса есть ровно 0 способов решить, чего же он хочет от жизни
Я вот в пятом классе не понимал, что мне очень будет нужен английский. И мама с папой, увы не понимали.
Ребенок в пятом классе уже достаточно понимает для того, чтобы понять что именно ему нравится. Отсюда и плясать. Обычно только проблема в том, что мама лучше знает, что надо дитятку.
Конечно.
Могу сказать по примеру племянника, который в этом возрасте:
Тортики вкуснее, чем супчики.
А играть целыми днями в компьютерные игры, намного увлекательнее любого другого занятия.
Неужели у ребенка нет того, чем ему нравится заниматься, кроме гейминга?
Гулять с друзьями.
Но какое это имеет отношение к нашему исходному обсуждению про самостоятельное планирование ребенком его будущей карьеры.
Или лазать на скалодроме — потенциальная карьера тут весьма ограниченная.
Ребенок в пятом классе уже достаточно понимает для того, чтобы понять что именно ему нравится.
Мне уже больше 30 лет, я до сих пор не очень понимаю, что именно мне нравится. А вы предлагаете детям решить, чего они хотят =)
Ребенок в пятом классе уже достаточно понимает для того, чтобы понять что именно ему нравитсяЯ слабо понимал и в одиннадцатом…
А одно другому не мешает. Он может понимать что ему интересно. И может не понимать что ему должно быть интересно(с точки зрения взрослых вокруг) для "будущей взрослой жизни". И с навыками преобразования одного в другое всё плохо может быть — окружающие не учили, поскольку сами росли в "должен/обязан/добытчик/мамонта в дом нести тебе".
Да блин, ему пол года до выпуска, а он до сих пор даже с дисциплинами, которые будет тестироваться не определился(это даже не специальность, а область в которую будут это просить).
у ребенка до 9 класса есть ровно 0 способов решить, чего же он хочет от жизни
Это сильно от обстановки вокруг ребёнка зависит. Программировать я начал классе так в 6-ом аль 7-ом(тупо не помню уже когда именно, но компьютера дома ещё не было), по стопам папы и просто потому что интересно вот так конструировать код было. К моменту компьютерных занятий 9-10 классов уже занимался во Дворце Пионеров в компьютерном центре, использовал бейсик, паскаль и даже C.
Вот куда дальше эти интересы прилагать и как зарабатывать на этом — тут было абстрактное "получить высшее техническое, пойти в НИИ, работать", но это, снова, вопрос окружения ребёнка и предлагаемых оным горизонтов решений.
Вот в жизнь не поверю что это что-то сильно уникальное, в плане "получить интерес с детства и ему следовать". Мой зацепивший интерес, конечно, скорее тяготел к "делать компьютерные игры", чем к просто прикладной разработке — но базово захватил с головой ещё в средней школе. Всё ещё не очень отпускает.
у ребенка до 9 класса есть ровно 0 способов решить, чего же он хочет от жизни
Хз, хз.
Компьютер мне в детстве купили по моей просьбе, а не наборот. В те времена компьютер был еще экзотикой.
Моих племянников спрашивают — какие кружки ты хочешь посещать, а какие не хочешь…
Все происходящее это всего лишь следствие состояния экономики и рынка труда.
В людской природе заложен алгоритм достигать максимально возможных благ для себя при минимально возможных затратах. Вот люди и приспосабливаются.
Обвинять в этом условного вайтишника Васю или создателя очередных курсов Петю — все равно что кричать на ветер, чтоб он не дул. Абсолютно ничего противозаконного они не делают. А этика отходит на второй план перед желанием вкусно кушать и жить отдельно от родителей.
Так же хочется добавить, что пет-проекты — не показатель качества сотрудника. Кодер в принципе не обязан кодить за пределами своего рабочего времени.
За год — вполне.
Лично вытягивал с нуля до «вполне» стажеров-джунов за смешные 2 недели-2 месяца.
Другое дело, что прекращать пасти каждый их шаг экономически выгодно становилось где-то через полгода.
И где-то со второго года эти люди более-менее выгодны предприятию.
То есть в итоге по затратам времени все равно приходим к трехлетней программе бакалавриата или 4 годам в техникуме — что и требовалось доказать.
Вы слишком оптимистично оцениваете тех, кто выходит из ВУЗа/техникума даже обучившись по профильной специальности.
Это не программисты еще. А только «заготовки программистов».
Большая часть того, чему учат в ВУЗе или техникуме вам пригодится в реальной разработке чуть чаще чем никогда.
Опыт реальной коммерческой разработки длиною в полгода даст вам больше профессионального опыта, чем вы получите в ВУЗе-техникуме за 3-4 года.
Другое дело, что коммерческие фирмы, за редким исключением, вовсе не мечтают обучать своих сотрудников настолько интенсивно и насколько дорого насколько это делал я. Типичному же предприятию нужно чтобы человек вышел на работу и сразу начал хоть как-то работать (на практике все равно нужна хотя бы пара недель, чтобы в общих чертах войти в курс дел).
И курсы/техникум/ВУЗ нужны прежде всего для того, чтобы вас хоть куда то взяли.
Но курсы/техникум/ВУЗ ничего не говорит о том, насколько вы реально будете полезны фирме.
С большой вероятность, вы будете не более полезны, чем человек после курсов. Если только программирование не является вашей страстью со школы — тогда это другой разговор. Но если вы программируете с 14, то к моменту ВУЗа/техникума ваш уровень уже таков, что вы кое-чему уже можете научить ваших преподавателей…
А вот как это применять на практике — это как и везде уже дается на месте.
Для этого как раз в ВУЗах есть производственные практики, на 4 и 5 курсах. Они как раз и позволяют понять чего ты хочешь и немного начать входить в курс всех технологий. И это как раз и дает толчок для развития. Просто чаще всего народ не ходит на практики, они просто это покупают.
я вас умоляю… за 2 года вполне дорасти до рыночного средняка с тем объемом и уровнем материалов…
За 2 года вполне реально научиться выполнять большую часть работы, что требуется бизнесу.
Потому как бизнесу чаще всего требуются довольно простые вещи. И бизнес не хочет платить много.
Но после 2 лет опыта — вы просто специалист, от которого у вашего руководства голова не болит так часто, потому что вы уже не так сильно косячите.
Однако до сколько-нибудь квалифицированного специалиста, которому можно дать средненький проект и быть уверенным что он его самостоятельно хорошо сделает — еще лет 5.
Но ведь можно не просиживать и не вылизывать, если приложить минимальные усилия.
И зарабатывать тоже.
Зависит от целей. Если условная «штука баксов» достижима через полгода видеоуроков, то более-менее нормальная карьера без фундаментального образования уже редкость. Да, я в курсе про исключения типа Гейтса и других.
Конечно, каждый волен выбирать свой путь, но вреда от ВУЗа (по крайней мере образца 15-25 лет назад) я не вижу. Возможно, сейчас всё поменялось.
Ровно с тем же успехом он мог быть медалистом с красным дипломом или троечником, который едва начальную школу окончил, и ни то, ни другое не свидетельствовало бы в пользу красного диплома или бросания учебы, потому что людей с красным дипломом — миллиарды, и бросивших учебу — тоже миллиарды, а людей, достигнувших при этом высот гейтса — десяток. Людей с влиятельными родителями тоже очень-очень много, но как-то это не особо помогает. Просто исключайте отклонения из выборки и смотрите на тренды без шума.
Она не про тех, кто реально учится, нарабатывает навыки и за год становится крепким кодером, а про тех, кто хочет «вайти в айти».
а про тех, кто хочет «вайти в айти»и что мешает «нам» войти в айти? И реально учиться и годами наточить навыки?
А вот людям, которые реально учатся и практикуются ничего не мешает. Я и сам, имея экономическое образование, устроился работать программистом в 31 год. И вот уже как 4 года полёт нормальный, очень рад, что решился.
же??»), что бы запрос переставал выполняться несколько секунд, все пишешь по фен-шую, все от иголочки, а потом через пару недель приходит тикет «а ведь снова долго работает!11»; заходишь в код, смотришь, а там очередой «инженер» влепил ненужный запрос в тело цикла.
Я теперь понял, почему из года в год работать становится болезненнее.
Да и намного же интереснее наблюдать когда это все глюкало упадет и эти «инженеры» будут пробовать это все поднять и починить.
Сам до недавнего времени был таким как Вы, сильно лично воспринимал работу, и исправлял косяки других, считая их косяки своими (типа не доглядел, не доучил). Пипла становилось больше, косяков больше, я просто задолбался от этого всего и забил. Сейчас делаю только то что в моей зоне ответственности, остальные сами по себе. Новомодные инженеры это тяпляп, это решение из первой ссылки в гугле, или залипание в видосики часовые.
А как же code review? Разве нельзя заблокировать неправильные решения?
Вы как-то слишком уж романтически относитесь к code review.
Из организации что практикует столь глубокие code review человек из статьи вылетит довольно быстро.
Но вот только столь глубокие code review — это довольно дорогое время высококвалифицированных специалистов, потому их редко делают глубоко. Если вообще делают.
А типичное code review — пробежаться быстро, на предмет цепляющихся за глаз косяков. И делает code review не обязательно высокооплачиваемый специалист, который гораздо эффективнее если он сам будет кодить. А делает code review зачастую коллега твоего уровня или около того.
Но зато качество кода при таком подходе на высоте! Никакого дублирования, закоментированного кода, неправильного использования функций, undefined behavior и прочих вещей, которые не влияют на работу в первом приближении, но создают трудноуловимые баги и затрудняют дальнейшую поддержку и развитие кода.
Плюс резко повышается дисциплина — после пары таких ревью перед коммитом уже будешь тщательно вычищать и проверять свой код, чтобы он прошёл ревью побыстрее.
И очень активно проходит обмен опытом — если что-то сделаешь не очень эффективно, тебе подскажут лучшее решение.
Ревьювить нужно ведь не больше чем было внесено изменений. Так что это в любом случае будет быстрее чем писать код. И не нужно делать послаблений — нельзя давать аппрув пока не будут исправлены все явные проблемы. И ревью должны делать те, кто пишут код. Когда изменения затрагивают твой код, или используют твой код или ты используешь изменяемые функции — ты отнесёшся к ревью гораздо ответственнее.
Но зато качество кода при таком подходе на высоте!
Не забывайте, что качество кода само по себе бизнесу не нужно.
Ему нужно решение задач бизнеса.
Согласен, что при хорошем финансировании и серьезном подходе — можно и нужно делать так.
Однако иногда (часто) бизнесу нужно быстрее и дешевле. На не медленнее, дороже и качественнее. Иначе просто время будет упущено и ваш качественный продукт уже никому не нужен и на нем ничего не заработать.
И что то мне подсказывает, что люди из статье не смогут пройти собеседование в такую организацию, что практикует столь тщательный подход к работе.
Ревьювить нужно ведь не больше чем было внесено изменений. Так что это в любом случае будет быстрее чем писать код.
Не в любом. Вот есть легаси система, приходит задача на минорное изменение какой-то функциональности. Вы три дня разбираетесь, где изменить пару строк, чтоб ничего не сломалось. разобрались, изменили, отправилиа на код ревью. Ревьюверу нужно плюс-минус столько же времени чтобы разобраться, а их, в вы говорите, двое. Простейшая, по идее, задача — 9 человеко-дней.
Я бы как раз не стал апрувить такое изменение, попросил бы добавить пояснений в коммит или коментарий в код.
Вообще ревьювить надо так, как будто автор коммита завтра исчезнет, а вам поручат править баги в этом коде. Если что-то непонятно, то надо требовать переделать код, чтобы он стал более понятен — функции или переменные переименовато, не использовать неочевидных конструкций, добавить коментарий на худой конец.
Вы три дня разбираетесь, где изменить пару строк, чтоб ничего не сломалось. разобрались, изменили, отправилиа на код ревью.
А теперь допустим, вы сделали это неправильно. И ревьюверу поручили это исправить. Ему уже не понадобиться три дня, чтобы понять, что не так.
В ревью обычно можно добавлять комментарий, в котором можно подробно описать почему было сделано именно это изменение…
… А теперь допустим, вы сделали это неправильно. И ревьюверу поручили это исправить. Ему уже не понадобиться три дня, чтобы понять, что не так.
Понадобится 6 дней
Вы провели изыскания и оставили заметки как, ПО ВАШЕМУ мнению, всё это работает. Не как всё работает, а как это работает по вашему мнению.
Сначала ваш коллега будет 3 дня пытаться понять почему, согласно вашего описания, невозможно сделать как надо. Потом еще 3 дня будет разбираться как оно действительно работает. Итого — 6 дней.
Для тех кто хочет за пару месяцев стать «программистом» только потому что платят
Вот я из вайтишников. Правда, курсов не заканчивал никаких. 3 года «вкатывался». 2 года уже работаю. Я к чему это; чуваки из цитаты выше вряд ли продержатся на работе больше месяца. В силу специфики профессии. За 2 года я понял, что вся прелесть работы в том, что нужно постоянно учиться. То есть не получится как у дальнобойщика: научился водить машину и за этом знании можешь всю жизнь ехать. Я не могу поверить в чуваков после 3-6 месяцев курсов, которые могу долго сидеть не то, чтобы в кресле тимлида, но даже простого программиста-стажера.
Кайф всей работы в том, что в программировании можно так глубоко падать в знания и навыки, как мало где ещё. И если ты сопротивляешься этому падению, ты просто не вытащишь. Если идёшь в ит за деньгами, это путь в тупик. Вообще это касается любой профессии. Но ит наиболее ярко это демонстрирует. И никто меня не переубедит. Даже за 2 года работы я успел увидеть людей, которые пришли не за кайфом, а за деньгами. А как известно, не в деньгах счастье. Это просто побочный продукт твоей деятельности, которая выполняется качественно и с каждым разом всё лучше.
3 года «вкатывался».Интересно, что вы этим словом называете?
Хотя, признаться честно, я до сих про «вкатываюсь». И ещё долго буду. Смотрю на ребят лет 20-ти и поражаюсь, как можно так много знать в таком возрасте. Вот они в ит не за деньгами пришли. Им ит деньги даёт, чтоб они не уходили. Вот это уровень, а не фронт на жабаскрипте ;)
А вы попробуйте программисту МК с пятнадцатилетним стажем показать пару плюсовых шаблонов. Не говорю, что все, но многие после этого дают понять, что собеседование их больше не интересует. Си прост настолько, что его можно глазами переводить в асм. Развернуть подобным образом вызов какого-нибудь виртуального метода или лямбду — несколько сложнее. Мозг должен работать несколько иначе. И я говорю сейчас про действительно хороших в своей области спецов.
Ну и да, в С тоже есть оптимизирующие компиляторы, так что перевод в асм не такой тривиальный, как казалось бы.
Эти оптимизации тоже довольно предсказуемы. Не всегда, но большинстве случаев. И опытный сишник как раз и должен их предсказывать.
когда выяснилось что обязательно надо будет разобраться в том как работает Git+Bitbucket.
Если программист запилит компактный и надежный код, который влезет в 4 кб вместе с загрузчиком, потому что он понимает, как работает микроконтроллер и чего можно ждать от обвязки, я не буду спрашивать у него про гит.
Оптимальный сотрудник — это далеко не всегда FullStack.
Но мой предыдущий комментарий не про это, а про то, что объем материала и количество нюансов в с++ гораздо больше, нежели в си. Отсюда и «более высокий уровень».
"А если найду?"
github.com/saintbyte
Я вам, уважаемый, по секрету скажу, что из тех нескольких сотен спецов, что выпустила эта контора (или ей подобная), о которой речь идёт в статье, не вылетел с испытательного никто. Ну может быть один-два особо никудышных студента. Потому что вы недооцениваете качество их образования, и переоцениваете себя и рынок энтерпрайз-разработки. С ним не все так плохо, как в статье описано. С ним все ещё хуже. Потому что эти ребята (а курсы там не простые, о чем автор умолчал, ибо они сами отсеивают тех, кто по их мнению не годится, причем довольно жёстко) в вашем племени нифига не выделяются. Что сводит к нулю весь трёп о бесценных опытных знаниях большинства мидлов, попавших в разработку "естественным" путем. Опыт опыту рознь, и если не уметь учиться целенаправленно, и извлекать конецтрированную экспу из рядовых рутинных ситуаций, ты через три года продакшн-экспиренса можешь оказаться примерно на том же уровне, что и чувак, которого активно шпиговали знаниями и выбивали понимание на полугодичных курсах. Ну и да, курсы курсам тоже рознь. Кое-где ведь и правда учат понимать как это работает, а не только страшным словам и терминам
а курсы там не простые, о чем автор умолчал
Прошу прощения, что я умолчал? Видимо Вы имеете ввиду под «курсы не простые» вливание каши из месива обрывков знаний о языке + какая-нибудь БД за короткое время. Из не простого там только вливание.
Потому что вы недооцениваете качество их образования
Собственно, из выше сказанного, о чём может идти речь в таком случае? Если Вы подразумеваете под образованием изучение язык(а/ов), увы, Вы не правы.
Кое-где ведь и правда учат понимать как это работает, а не только страшным словам и терминам
И правда. Только это происходит явно не на курсах разрекламированных в банерной рекламе. Сомневаюсь что кандидату будут рассказывать о том как располагаются числа в памяти, или как происходит взаимодействие с API ОС. Ну может быть, максимум, расскажут о сборщике мусора и поколениях.
Имхо средних результатов человек может добиться и без образования/таланта, на одном трудолюбии. Да, звезд хватать не будет, но уверенным миддлом на 1.5-2к долларов в месяц сможет. А это куда предпочтительнее, чем например у меня знакомый получает 32 тысячи на складе ГСМ, программируя формулы в экселе.
Нет, у него совсем нет свободного времени, потому что ГСМ он заполняет в армии, график по 16 рабочих часов в день, наряды и прочее удовольствие. Только вот в декабре наконец спустя 3 года уговоров бросает эту дичь и идет на чо-то более адеватное.
А "Выгорание" вообще переоценено. Это конеш неприятно, но если за год заработать как люди зарабатывают за 10 и потом "выгореть", то как бы ничего страшного, можно 2 года просто заниматься чем угодно дома, проедая накопления, а потом вернуться туда же или попробовать что-то другое, да ещё и сверху останется.
Выгорание выгоранию рознь. В частности некоторые заработав за год как за 10 не могут остановиться потом, пока не сгорят.
Кстати, сейчас в голову пришла мысль, что у нас нормальный сеньор зарабатывает как раз порядка десяти средних зарплат по региону. Не думаю, что в России качественно ситуация отличается.
Сбербанк. Да, этот мастодонт принял несколько таких специалистов к себе в штат на должности разработчиков. И не абы каких, а самых настоящих «старших инженеров».
Позвольте пару уточнений. Во-первых, старший инженер в Сбербанке это миддл в лучшем случае. Пусть вас название не смущает, оно может быть и более экзотическим. Даже исполнительный директор — это тоже может быть разработчик (тимлид, который еще пишет код, да, бывает), а между ними еще несколько уровней. А в Дойче Банке вы могли бы зваться скажем AVP. Угадайте, что значат буковки VP? Правильно, вице президент. А внутри — тот же разработчик, хотя конечно и синьор.
И второе, даже более важное. Я общался с коллегами, которые активно искали людей (у меня свой проект мелкий, нам если нужен человек в год, то это много). Так вот, дефицит людей такой, что берут всех, кто тянет на джуна. Т.е. те, кого не берут — они вообще не годятся ни на что. Мой более скромный опыт собеседований говорит мне тоже самое — все кто выглядит обучаемым, имеют шансы на оффер.
И третье. В наших московских реалиях зарплата 100 тыс — это то, что спросят студенты, знающие вот именно что язык. Один (для справки — когда я закончил свой ВУЗ, я не был программистом по образованию, но языков программирования я знал примерно четыре). Ну так, для простоты, пусть будет скажем Python. Если они при этом знают еще и pandas, ну или что-то в этом роде, и что-то умеют ручками сделать — то они эти 100 тыс получают с большой вероятностью. То есть это — не уровень вообще, хотя допускаю что где угодно еще получить столько будет в радость и более опытному разработчику.
Ну т.е. необычного во всей этой истории может быть ровно одно — что эти люди прошли собеседования. Но подвести итог можно было бы по окончании испытательного срока, а не просто по факту того, что их приняли.
дефицит людей такой, что берут всех, кто тянет на джуна. Т.е. те, кого не берут — они вообще не годятся ни на что
А самое забавное знаете что? Что я с 10 годами опыта в разработке не могу пройти собеседования в некоторые конторы
Самый распространённый — спрашивают давно забытую теорию или сигнатуры и прочее, что смотрится в доках за несколько секунд.
Я бы все-таки скорее думал в сторону, что дефицит есть по направлениям. Т.е. скажем в вебе — избыток, а еще где-то дефицит. Только это могло бы объяснить столь разные взгляды, когда одни видят дефицит годных кандидатов, а сами годные кандидаты не могут найти себе работу.
Мне какое-то время приходится собеседовать как на java-web, так и на работу с данными. Наблюдаю именно такую картину, которую вы описываете.
На работу с данными и резюме меньше и вакансий меньше.
Думаю что корень проблемы в рейтингах популярности ЯП. Люди идут на то, что "популярное" и рассчитывают что это как то влияет на их шансы устроиться.
Я вот не уверен, что порог входа в работу с данными как то существенно выше, чем в веб-фронтенд.
Хотя с могу предположить, часть кандидатов просто не доходит до проекта вообще. Или почему-то приводят к нам не той квалификации, какую мы ждали.
Э… ну вот я же например не прошу, и не понимаю, нафига это нужно?
Я могу понять, зачем человеку может понадобиться сортировка или работа с деревом, и могу спросить, делал ли он это когда-то, и понимает ли, какие сортировки чем друг от друга отличаются. Но я четко знаю, что в работе ему это скорее всего не понадобится. Поэтому все что мне от него может быть нужно — это понимание, что он знает, где это описано. Потому что опытный человек скорее всего найдет и выберет сортировку из готовых, и правильно, а писать самому приходится ну очень редко. А неопытный все равно ничего лучше готового не напишет.
Но ведь откуда-то же берется такая мода это все спрашивать? Если человек что-то делал руками — он это умеет. Если это не то, что мы тут делаем — он нам возможно не подойдет. Но точно не потому, что не может написать на бумажке сортировку.
и понимает ли, какие сортировки чем друг от друга отличаются.
Устроит ответ "Много разных есть, отличаются в основном потреблением процессора и потреблением памяти, и ростом этих потреблений с ростом размеров упорядочиваемых множеств, причём на разных множествах по разному. Лучшая в худшем случае может оказаться хуже на случайных данных и, тем более, почти отсортированных, чем заточенные под такие априорно изве. Ну и теоретическая сложность, О большое, не всегда лучший критерий для выбора, если нам надо три элемента упорядочить, например"?
Устроит ответ
Кого-то устроит, но большинство не устроит. Не будешь писать код здесь и сейчас? До свидания.
Какой код здесь и сейчас писать?
Так какой код? Оно закончится раньше, если скажут написать сортировку, а на вопрос "пузырёк пойдёт?" ответят "нет" — я его сам закончу. А вот если попросят написать простейшую АБС, то напишу.
Я пишу на JS/TS, PHP, SQL. Иногда на python или Java. Сейчас вот пришлось на Kotlin
Поэтому уметь писать сортировки совершенно не факт что нужно. А вот уметь мерять и анализировать производительность и все такое — дело другое.
Ну так, для простоты, пусть будет скажем Python
Как раз наоборот, это крайне непростой пример тогда получается — python+pandas. Такой выбор примера лишь порождает дополнительные вопросы. Эта связка используется в около data science вакансиях. У них, как известно, в почете знание разных математических дисциплин. На 100к со старта может претендовать абсолютно любой студент или только с профильных кафедр топ 3-5 вузов? Помимо знания языка/фреймворка/общей технической грамотности проверяется ли знание математики? Если да то понятно откуда такой ценник.
Если нет то присоединяюсь к вашему удивлению ситуацией.
Ну, дело в том что если выбрать скажем Java, то вариантов будет тоже немало. И шансы, что человек никуда не подойдет, потому что знает не то — они велики. Так что другие варианты тоже не проще.
Что до вопросов — то да, у нас это именно data science, в чистом виде. Но точнее я вряд ли отвечу (я из параллельной вселенной, где Hadoop + Spark + Java), я просто знаю, что к нам такие студенты приходили, и я бы их в разработку взял бы со скрипом. Но коллеги в data science их охотно взяли. Математику… ну по резюме не помню, но у них у всех были склонности к изучению ML, так что подозреваю что все же знали, хоть какую-то. Т.е. это как раз такое направление, куда студенту проще, потому что математику он как раз недавно изучал, а вот опыта разработки не имеет.
Некоторых из этих спецов я интервьюировал и сам, и сказать честно, на хороших они ну не тянули.А вы уверены, что вы достаточно грамотно проводите интервью, всегда правильные вопросы задаете?
Был у меня случай — провалил собес в одной компании, но через какое-то время устроился в другую. Но, там мне не понравилось и через месяц я снова начал искать работу. Так совпало, что в первой компании снова открылась вакансия и я снова решил попробовать пройти там собес. На этот раз я был более подготовлен и смог его пройти. Спустя месяц, оказалось, что я очень даже хороший разработчик по меркам команды. А тот, кого взяли в первый раз вместо меня был еще новичком.
Через год был другой случай — мы вместе с тем новичком проходили собес в другой компании. У меня на тот момент было 4 года опыта, у него — один. Он прошел, я — нет. Причина на самом деле простая — он более разговорчив и меньше волнуется на собесах.
Сложный вопрос. Чтобы что-то начать делать — месяц. Сложные вещи — больше. От уровня зависит, синьор быстрее, ниже уровнем — медленнее. У меня выборка невелика, мы всего-то троих пока брали/вводили.
>А вы уверены, что вы достаточно грамотно проводите интервью
Нет :) У меня много опыта, но это опыт разработки. И я уверен, что могу неадекватно оценивать других — потому что когда у вас примерно 40 лет опыта, многие вещи оцениваешь не так. Что-то выглядит более простым, что-то наоборот. И эта оценка совсем не совпадает с оценкой менее опытных коллег.
Сложный вопрос. Чтобы что-то начать делать — месяц. Сложные вещи — больше. От уровня зависит, синьор быстрее, ниже уровнем — медленнее.Ладно, не знаю, что там за специфика. Хотел сказать, что если за месяц вполне осваивается, то быстрее будет взять и дообучать недостающим навыкам, чем тратить кучу времени на поиски. Если к написанию кода относится, то понятно, что более опытный быстрее освоит. Если не к коду, то, думаю, скорость освоения от опыта не будет зависеть.
Нет :) У меня много опыта, но это опыт разработки.Похвально, что вы готовы это признать! Редкое качество среди программистов. Обычно программисты довольно упертые.
40 лет опыта — впечатляет!) Наверное то, что 30-40 лет назад было базой, сейчас почти никто не знает.
40 лет опыта — впечатляет!) Наверное то, что 30-40 лет назад было базой, сейчас почти никто не знает.
Я вас умоляю…
Ну у меня не 40 лет опыта.
А 25.
И я прекрасно вижу что ровно те же вещи в ИТ просто повторяются по спирали.
Ну были реляционные — стали No-SQL. Однако внутри все те же индексы да транзакции.
То есть базовые знания что сейчас что тогда примерно те же самые.
Другое дело, что сейчас важнее знать конкретный фреймворк. Раньше подобную конкретику от программиста не требовали.
Ну были реляционные — стали No-SQL. Однако внутри все те же индексы да транзакции.
Не согласен. Транзакции в распределенных NoSQL уже не "те-же", что в реляционных, да и индексы тоже не всегда возможно применять.
Ну были реляционные — стали No-SQL. Однако внутри все те же индексы да транзакции.
Не согласен. Транзакции в распределенных NoSQL уже не «те-же», что в реляционных, да и индексы тоже не всегда возможно применять.
Про распределенные я ничего не писал. Там вообще другая история.
Я писал про то, что технологии повторяются по спирали.
Разумеется, с какими то изменениями.
Но чтоб так «раньше радикально иная была база у разработчиков» — нет, это не так.
Я возможно что-то упустил, а какие NoSQL у нас не распределенные?
Я возможно что-то упустил, а какие NoSQL у нас не распределенные?
Это не та вещь, что делают сразу, с рождения.
Скажем, Tarantool сравнительно недавно научился.
При том, что как изолированный экземпляр он уже всё умел — а распределенных транзакций еще не было.
[распределенность] Это не та вещь, что делают сразу, с рождения.
Я снова не согласен. Большинство популярных NoSQL СУБД (cassandra, mongoDB, clickhouse) как раз проектировались сразу распределенными с явной декларацией "транзакций как в реляционках у вас не будет".
Впрочем пример с in-memory СУБД хорош как иллюстрация не-распределенной by-design NoSQL СУБД.
были реляционные — стали No-SQL.
А ещё раньше все базы были нереляционными и No-SQL — потому что SQL ещё толком не было, и все привычно хранили данные в файлах, иногда текстовых.
Нет у них ни знаний, ни желаний. Мечутся бездумно, работать в ближайшее время они не готовы.
Отмечу, что информация по регионам. В Мск или Питере наверное ситуация лучше.
Вы и ваши знакомые с каким стеком работаете?
По моим наблюдением, самый высокий порог входа — бэк на Java, изрядно придется попотеть и походить по собесам, чтобы на миддла или выше устроиться.
Далее — бэк на .Net, тоже требования сильно выросли.
Далее — фронт или бек на других стеках — средний уровень сложности.
IOS, Android — сейчас не знаю как, но лет 5 назад требования на сеньора там были, как у джуна на .NET или Java.
То есть, из того, что я замечаю, чем древнее стек, тем сложнее собесы и больше отсев.
Моя статистика — из примерно 60 собесов что я прошел за жизнь я получил 5 отказов. Я и цифру то знаю потому, что каждый был ударом по самолюбию.
А если все резюме, где возраст кандидата превышает 30 лет, сразу выкидывать в корзину, то проблема и вовсе разрастается до космических масштабов.
Знакомый с 15-ти летним опытом недавно искал работу по удаленке 3 месяца. Отвечал хорошо по его словам, но не брали по непонятным причинам. Другой знакомый с 12-ти летним опытом лет 5 назад тоже с трудом нашел работу, хотя до этого был опыт работы сеньором в нескольких компаниях.
Сам проходил собесы в Москве, Санкт-Петербурге, Новосибирске, Омске.
В прошлом, проработав 3 года веб разработчиком, и затем 2,5 года проработав gamedev разработчиком на том же языке — C#, решил вернуться в веб. Говорил, что хотя бы 30 тыс для начала хотелось, т.к. подзабыл многое, но через полгода хотелось бы нормальную по тем временам зарплату миддла в нашем городе (Омск) — 60 тыс. Но работодатели нос воротили от чувака с 5 летним опытом, освоившего 2 разных стека и участвовавшего в разработке нескольких крупных проектов.
Говорил, что хотя бы 30 тыс для начала хотелось, т.к. подзабыл многое, но через полгода хотелось бы нормальную по тем временам зарплату миддла в нашем городе (Омск) — 60 тыс. Но работодатели нос воротили от чувака с 5 летним опытом, освоившего 2 разных стека и участвовавшего в разработке нескольких крупных проектов.
Проблема в том, что он претендовал на зарплату в 30 000.
Это по нынешним временам ни о чем.
Тут он попал в нишу эникеев, стажеров, начинающих джунов. Опытные джуны — и то больше зарабатывают.
1) Подозреваю что он или претендовал не на ту квалификацию.
2) Или, действительно, настолько плохой специалист (я таких видел, возраст и годы в профессии != квалификация).
Конечно, очень плохой специалист был. На руках было пару офферов на должность лида по последнему моему стеку, еще и с прежнего места работы звали к себе. Вот только все это предполагало переезд, что мне не хотелось.
Проблема в том, что он претендовал на зарплату в 30 000.
И это был 2015 год, тогда еще зарплаты в 2 раза не выросли.
В 2009 году наши джуны, кто потолковее, после полугодового обучения зарабатывали по 15 000, выходя на 25 000 — 30 000 к году опыта.
В глухой провинции.
Джун? Тысячу баксов? В глухой провинции?
Извините, не верю.
Джун? Тысячу баксов? В глухой провинции?
Извините, не верю.
Не путайте джуна и стажёра.
Стажерами они могли и с 5 000 начинать.
habr.com/ru/company/raiffeisenbank/blog/526342/#comment_22298978
Миддл — это, кто может обходится без того, чтобы проверять его решение внутри. Это не значит, что он не косячит вовсе, но работу миддла нет необходимости каждый раз проверять как оно там внутри сделано.
Начальник ставит миддлу задачу (не какой конкретно код писать, а именно задачу общими словами), получает результат, внутрь кода смотреть не обязательно.
Постановку задачи джуну нужно разжевывать.
Результат работы джуна посмотреть старшему программисту нужно обязательно. Джун, даже с опытом в год-два (иногда больше, зависит от человека) с высокой вероятностью запросто выдает не полностью рабочее решение, хотя и утверждает, что «я всё уже сделал». Пусть не всегда — но довольно часто (да хоть каждое второе).
P.S.:
Сode review и тестирование — штука полезная и сеньорам, но это о другом, это о человеческой внимательности, об обязательности, но не о собственно квалификации.
В принципе зачастую работу джуна не смотрят, ибо некому или «и так сойдет». В подобных конторах джун формально становится миддлом быстрее, нежели если он работает в более серьезной конторе под присмотром опытных коллег.
Объективного же критерия быть не может. Ты можешь быть сеньором в одной фирме, но стать джуном в другой.
Что-то местные в Москве и вправду хорошо зарабатывают. Я теперь понимаю, почему Московские конторы готовы иногородним покрыть расходы за переезд — они их все равно дешевле местных нанимают.
Меня в конце 2012-го взяли в геймдев в Московскую студию на Unity пилить за 60к, потом в начале 2013-го ушел в другую за 70к. У меня тогда было 3 года опыта работы на С#, полгода самостоятельного изучения Unity3D с пет-проектом на нем.
Да нет никакого дефицита. Давно уже очень сильный переизбыток подходящих кандидатов и нет способа за час-два отличишь хорошего программиста от плохого. Вот и куча подходящих кандидатов отсеивается вместе с кучей не подходящих.
Чем выше квалификация — тем больше дефицит.
Сколько-нибудь сложную задачу просто некому поручить.
А среди джунов дефицита нет, это точно.
А среди джунов дефицита нет, это точно.Да и среди миддлов не думаю, что он есть.
С какого-то определенного уровня и в каких-то специфических областях, наверное есть дефицит.
Среди сеньоров? Тут слишком расплывчатое определение. Если на должности смотреть, то сеньор — это в среднем 3-6 лет опыта. Такие могу самостоятельно вести большой проект на своем стеке или не качественно сделать на другом стеке. Оптимизировать — смогут, если уже делали или сделают, но изучая это в процессе выполнения задачи и рефакторя код. Сделать высоконагруженную систему — только если был опыт, иначе только методом проб и ошибок.
Сколько-нибудь сложную задачу просто некому поручить.А можете привести примеры задач, которые некому поручить из-за дефицита спецов? Только не что-то специфичное и узконаправленное. Обычные сложные задачи, которые встречаются в работе, но для которых нужна прям высокая квалификация.
А можете привести примеры задач, которые некому поручить из-за дефицита спецов? Только не что-то специфичное и узконаправленное. Обычные сложные задачи, которые встречаются в работе, но для которых нужна прям высокая квалификация.
Ну вот пример:
github.com/lumpov/cyberplat
Этот модуль построен на базе некой написанной на С библиотеки ipriv.
В основе библиотеки ipriv лежит код из конца 1997, реализующий широкоизвестный алгоритм шифрования RSA. Это одна из первых опубликованных реализаций алгоритма RSA. Нынче используются более современные реализации.
Упомянутая ipriv добавляет к коду RSA обвязку:
1) Подпись данных с использованием RSA
2) И проверка подписи с помощью RSA.
3) ipriv используется собственный формат данных пакетов данных и ключей. Формат этот не сложный, текстовый.
Сама ipriv создана в начале 2000х кодов, внутри неё код RSA из конца 1990-х.
Это код до сих пор прекрасно работает внутри нескольких десятков больших систем, многие из которых разработаны на языках, что еще не существовали даже на момент создания ipriv.
Однако чтобы просто скомпилировать ipriv на современных системах — приходится извращаться. Ибо сменилось уже несколько поколений компиляторов и библиотек, от которых
Задача распадается на 2 подзадачи:
1) Научиться компилировать библиотеку ipriv на современных Linux-64 и Windows-64. Реализовать binding к библиотеке ipriv на языке Go. Компилятор Go штатно поддерживает возможность собирать гибридную программу, написанную с использованием Go и С. Всё решение по итогу — всего 150 строчек кода + рецепт как скомпилировать старую библиотеку на новых ОС.
3) Реализовать ipriv на чистом Go, используя исходники на С в качестве подсказки (причем нужно реализовать не всю библиотеку, а только функции подписи и проверки подписи, ну и функции чтения ключей конечно же). Причем без необходимости самостоятельно реализовывать RSA на Go, а с тем, чтобы использовать уже имеющиеся реализация RSA, выполненные на Go.
Задача 3) скорее нудная и долгая, а вовсе не требующая высокой квалификации. Повторить чужой код — это не то же самое, что выдумывать самому.
Здесь вообще нет необходимости много выдумывать самостоятельно, продумывать архитектуру и пр.
Здесь не нужны специфические знания по криптографии, ибо не нужно реализовывать алгоритм RSA, он уже есть готовый реализованный нативно на куче языков программирования.
Я в этом на разбираюсь, но и не вижу, что тут не смог бы сделать усидчивый джун. И сеньору и джуну надо разбираться. Сеньор скорее всего сделает быстрее, т.к. лучше умеет искать, а также придумает, как упростить задачу.
Что-то вы перестарались с примером — большой сильно, но ладно.
Зато однозначен. Никто из нас ничего не додумает сам.
Но и не вижу, что тут не смог бы сделать усидчивый джун.
Угу.
Но с этой задачи сливаются и менее квалифицированные и более квалифицированные.
Бюджет там хороший.
Если бюджет действительно хороший, то пишите мне — сделаю :) Понятно, что неприятное легаси, но там же всего 7500 CLOC. Очень странно, что сливаются — по меркам крупных контор это очень простая задача.
Задача 1) уже решена частично. Binding уже созданы, проблема компиляции под Linux решена. Без Windows не очень удобно, но не критично. Гораздо интереснее получить код на чистом Go, чтобы вообще не зависеть от платформы.
Если вы можете решить задачу 3) — переписать библиотеку на чистом Go, без binding, то да, было бы интересно.
Если будет стакан молока за нудность — перепишу. Сразу скажу — хочу набить руку в Go, т.к. особо на нём не писал. Основные языки для меня c, c++, python. Лично я в этом проблемы не вижу — go же простой в сравнении с плюсами или джавой, но многих смущает.
Асинхронное взаимодействие между хотя бы парой сервисов.
старший инженер в Сбербанке это миддл в лучшем случае.
Middle разработчик — это junior с опытом. Ключевое здесь «с опытом», как бы не хотели это отрицать те кто утверждает что junior уровень можно проскочить, если «прочитать эту книгу / прослушать этот курс / и другое.
Middle разработчик — это junior с опытом. Ключевое здесь «с опытом», как бы не хотели это отрицать те кто утверждает что junior уровень можно проскочить, если «прочитать эту книгу / прослушать этот курс / и другое.
Формального определения не существует.
Имхо, миддл, это тот, кто может самостоятельно эффективно работать.
За джуном нужен пригляд постоянный.
Вот и вся разница.
Джуны тоже бывают более опытные и менее опытные.
Я просто хотел сказать, что слово «старший» в названии должности вовсе не значит, что это синьор, или начальник. То есть об уровне оно конечно говорит — но не то, что напрашивается из самого названия.
В крупных структурах с жесткой тарифной сеткой окладов «страший» просто используется для того, чтобы перевести человека на чуть более высокий оклад.
«Старшего» дают автоматически после года или двух-трех лет работы. Никакого отношения к квалификации это не имеет. Просто т.н. «выслуга лет».
Опыта может быть лет 5, но всё ещё джун — не способен самостоятельно работать.
Во-первых, старший инженер в Сбербанке это миддл в лучшем случае.
Можно переделать известный анекдот:
-Мам, а кем был Никола Тесла?
-Инженером.
-Как мой дядя Вася в Сбербанке?
-Твой дядя Вася — старший инженер!
Плохое резюме? Возможно. Но мое резюме смотрели многие, в том числе HR с тех курсов — их задачей было помочь в трудоустройстве. Оно много раз менялось и допиливалось, но результата это не меняло.
Возможно причина в том, что на некоторые джуновские вакансии приходится по 200 (не шутка, информация от тех же HR) откликов.
Слабые знания? Возможно, но знания никто не спрашивал, хотя я описывал свой бэкграунд. Высшее техническое образование, за 7 лет работы в госкорпорации своего предприятия хороший карьерный трек, пет-проекты с автоматизацией и аналитикой. Базы данных, с++, фулл-стэк проекты на node.js (кривые — да, я бы себе руки за них оторвал, но они работали, а я понял, как писать не надо), Python+ML, нейронки на голом pytorch. Серьезно заморачивался на Kaggle, хотя медалей пока нет. Я это вобщем-то подробно описывал в откликах.
Я такой не один, у нас весь поток с такими же проблемами. И после нас. И до нас. Да, первую работу находят. Но, как правило, это не очень хорошая работа. 40-60 т.р. зарплата в ДС. Ничего общего с тем, что написано в статье. Я не жалуюсь, я был готов к таким трудностям, т.к. в IT пошел не за легкой жизнью, просто сообщаю факт.
Поэтому, если честно, мне слабо верится в дефицит джунов.
Второе, я не верю в 120 т.р. джунские вакансии, на которые берут трактористов, заучивших термины. Я, пока искал работу после курсов, 2 месяца учился по 10 часов в день (уволился с работы). Сейчас я нашел хорошую работу дата-аналитиком, и пока не перевез семью в ДС, продолжаю учиться после работы до позднего вечера каждый день почти без выходных, получаю люлей на различных соревнованиях, разворачиваю реальный ML проект на предприятии на общественных началах в свободное от работы время. Но я не уверен, что выдержу конкуренцию с олимпиадниками и ШАДовцами, которые штурмуют эти вакансии.
Не все «вайтишники» пошли на онлайн-курсы за легким баблом. У меня был жесткий синдром самозванца — я со студенчества хотел писать код, но для этого нужно было уехать с моей мухосрани. Онлайн-курсы помогли мне пройти этот потенциальный барьер и начать делать то, с чего я кайфую. Если бы не они, то так бы и сидел до пенсии в провинции на работе, которую ненавижу.
>Второе, я не верю в 120 т.р. джунские вакансии,
Ну, вообще говоря, это все не ко мне. Если вы перечитаете, что я лично тут писал, то я не утверждал про вакансии на 120. Я говорил, что студенты в Москве зачастую просят 100. И если они что-то умеют делать руками — то они их вполне получают. В вакансии при этом может быть написано меньше — но договориться на 100 вполне можно. Про 120 я вообще ничего не говорил, поэтому тут и обсуждать не знаю что.
Ну т.е. если кратко и другими словами — то 100 это для Москвы в общем не уровень, если говорить про ИТ, по крайней мере для крупных компаний. Но надо понимать, что попасть снаружи в эти же крупные компании конечно сложнее, фильтровать резюме вероятно будут другие люди, и без знакомств добиться чтобы вас посмотрели — не так просто.
И второе — опять же, у нас нет дефицита джунов. То что я описывал, выглядит слегка иначе. Ищут людей с опытом. Приходят джуны, или даже хуже. Т.е. в нашем случае скорее имеет место неадекватная оценка кандидатами своего уровня.
А то что вы про себя пишете — вполне тянет на те же 120 (с поправкой на то, что я не дата-аналитик, и у нас в проекте другие потребности).
Ну а уж про легкое бабло я вообще нигде не имел в виду.
К вышесказанному добавлю, что работа с данными (ETL) это вообще не то, что изучают на курсах DS. Сужу по своему опыту и по опыту тех, кого приходится собеседовать.
ETL выглядит как то… проще? Типичная задача в энтерпрайзе по ETL — забрать данные из одной табличку, соединить с другой. Правда таблички могут быть в разных СУБД. Или обеспечить интеграцию с каким-нибудь источником через какую-нибудь шину.
Ну и в целом построить систему по обработке и доставке готовых данных пользователю.
Мне однажды попадало резюме вроде вашего. Я его отклонил, потому что соискатель с таким профилем навыков скорее всего очень разочаруется от того, что ему на самом деле придется делать.
К вышесказанному добавлю, что работа с данными (ETL) это вообще не то, что изучают на курсах DS.
На тех курсах сразу предупреждают, что DS fit-predict делает 10% времени, а 90% времени работает с данными. И большую часть учебного времени посвящали работе с сырыми данными и подготовке их для моделей. Хотя SQL было мало, и опять же нам честно сказали — SQL в отведенные часы не влез, учите сами, вот ссылки.
Но с утра до вечера джойнить простые таблички мне было бы скучно, Вы правы.
DepthRel
Всё дело в том, что у Вас не был написан опыт работы. А это красная тряпка для тех кто резюме просматривает. Второй момент, у Вас не самый популярный стек.
В резюме он был описан, но он нерелевантен. Когда HR видит соискателя на вакансию junior datascientist, а с резюме на тебя смотрит 30-летний мужик из деревни с последним местом работы — начальник отдела «госкорпорация Х», то резюме летит в утиль. Смотреть пет-проекты никто не будет. Но подавляющее большинство выпускников с онлайн-курсов имеют нерелевантный опыт работы, иначе они бы не пошли на онлайн-курсы.
Не популярный стек? Возможно. На курсах я учился обработке данных и машинному обучению на python, все остальное — несколько лет по книжкам for fun еще до курсов.
Но насколько я знаю, на более популярных направлениях типа фронтэнда ситуация точно такая же — конкуренция невероятно высокая, и будь ты семь пядей во лбу, ты можешь за два-три месяца не попасть ни на одно собеседование. Хотя если попадешь, то высокая вероятность получить оффер, потому что общий уровень при таком количестве все-таки низкий.
DS fit-predict делает 10% времени, а 90% времени работает с данными.
Позволю себе еще одну гипотезу. Это время в больших командах распределяется между разными людьми. Условно, если есть 5 человек, то сотрудник поопытней — будет DS fit-predict 50%/50%. Четверо остальных — 100% просто работают с данными.
Соответственно позиция DS может вообще не предполагать джунов.
«Пощупали», «палочкой потыкали» или реально погрузились в каждый из пунктов?
Автоматизация,
Аналитика,
БД,
С++,
node.js,
Web-фронтенд,
python,
ML.
«Пощупали», «палочкой потыкали» или реально погрузились в каждый из пунктов?
Я не знаю как можно реально погрузиться в каждый. Один С++ чего стоит. Но с него я вообще начал писать код. В 2013 году скачал книжку Прата, и попер по теории и всем упражнениям, ловя кайф от решения задач. Затем искал на работе что-нибудь, к чему можно применить свои знания. Решал какие-нибудь мелкие задачки (потому что крупных не было). Выйти в большой мир и прицепиться к опен-сорсу мешал дикий синдром самозванца. IT предприятий в городе тогда не было, да и в 2020 их нет. Боюсь, к 2050 их там тоже не появится.
А тяга писать код была. Вот и штудировал книжку за книжкой, делая игрушечные проекты (поскольку переводные книжки отстают от технологий на пятак лет в лучшем случае, то о пользе сами понимаете, но я этого тогда не знал). Потом стал начальником отдела, и увидел некоторые процессы, которые можно цифровизовать. Запустил от начала и до конца один проект. Смотрю — люди пользуются. Попросили сделать еще вот это. Запустил второй. Тоже пользуются. Однако качество моих проектов оставалось ниже плинтуса — гитом не пользовался, про докер вообще никогда не слышал. Фреймворки? Ну что вы, только хардкод. Я понял:
1. Мою кашу в голове надо упорядочить. Там была даже не каша, а дикое хрючево.
2. Если ты ловишь себя на мысли, что дико раздражаешься, когда тебя отвлекают от разработки на выполнение своих рабочих обязанностей — то ты делаешь что-то не то. Поэтому пошел учиться с целью сменить профессию и место жительства. Было страшно. Потому что внутри госкорпораций люди искренне считают, что снаружи жизни нет, и ты умрешь от голода. Я тоже так считал. Это чертова секта, достойная целой статьи. Спасибо супруге, что видела мои метания и поддержала.
Отвечая на вопрос прямо: я реально погрузился в машинное обучение, чуть меньше — в работу с данными. Все остальное скорее пощупал. Щупал я каждую тему долго, иногда очень, но не интенсивно — все-таки работать в профессиональной команде с технологией и писать сольные велосипеды в обеденный перерыв — совершенно разные вещи. Там еще assembler и visual basic .net были. Вот их да, палочкой потыкал. Покидало в стороны, так сказать.
Theranos сумели себя продать, не производя никакой ценности.
Apple умеет и делать и продавать.
Если выскочка-экстраверт удачно продал себя на собеседовании, то серьёзный проект сразу же покажет кто есть кто.
Но грустно, если умный специалист не умеет себя продать, он должен учиться это делать. Иначе как люди узнают, какой он молодец?
Прямо так и вижу, как все желающие «влезть в IT» облизываются после такой статьи.
Нужно взять — и не побояться наконец, попробовать себя в новой роли, заодно потренироваться в собеседованиях, это дело непростое и требует подготовки.
Все остальное — вода. Рынок все расставит на свои места, просто сейчас большая нехватка, собирают всех, кто хоть что-то стоит. Левак отвалится, крепкие и жилистые останутся. Накиданный при этом говнокод потом будут переделывать другие, и тоже зарабатывать на этом. А еще это даст работу хакерам и безопасникам, и много еще кому.
А вообще, программисту «с багажом» нужно стараться не бронзоветь, все очень быстро меняется. Сфера ИТ расширяется активно.
Немного нетворкинга и координации — и вот уже новый начальник над кодерами с мозолью на заднице.
Ну а если вайтишник может в код (хоть какого качества) — вообще молодец
В какой-то степени понимаю автора, сам заканчивал сперва колледж а потом и ВУЗ где была алгебралогики, теория множеств, теория конечных автоматов, матстат, функциональный анализ.
Были лабы на паскале с дихотомией, операциями над матрицами, построением фигур на основе функций и потом подсчета объема фигурой через интегралы, списками, графами и деревьями. Что-то из этого освоил на отлично, а что-то до сих пор не смог освоить.
Запомнился декану кафердры тем что каждую лабу сдавал на новом неожиданном языке и окончательно выбесил сдав программы на brainfuck и whitespace.
В тоже время сам проходил и иногда до сих пор прохожу курсы по технологии X, смотрел и смотрю видеоуроки по технологии Y, прочитал +100500 статей на хабре когда он был еще торт, а даже написал пару своих которые не вышли из песочницы. Контрибьютил в opensource проект по почте (когда еще не было github). Проходил коучинг на управление командой.
С одной стороны бизнесу достаточно вайтишников которые могут из готовых +100500 бибилиотек в node_modules в том числе и для создания n пробелов для отступов в консоли собрать нечто как-то работающее и даже приносящее деньги. А чтобы эти вайтишники дальше веслали активнее давать им лычки SuperMegaUltraFinalSeniorLead%TechName%Developer.
С другой стороны самое сложное что использовал в работе — конечные автоматы в хитром xml парсере, оценочная формула байеса в умном рейтинге и кое-что из статистики в вероятностном скоринге и фановая анимация на js + svg состоящая из кучи формул.
Остальная работа же на уровне — по нажатию кнопочки взять строку в базе и поменять ей статус при этом добавить еще 3 записи в другие таблицы и положить сообщение в rabbit. В общем сплошные CRUD, CRUD, CRUD и еще раз CRUD...
В итоге для rocket science мозгами не вышел, а текущая работа больше для того чтобы поддерживать комфортный уровень жизни — монотонная до серости, но хорошо оплачиваемая.
При всем этом как-то обидно смотреть на настоящих "инженеров — программистов" которым когда-то хотел стать но не хватило зубов, и понимать что они не нужны а если и нужны то 5-10 штук достаточно для моего города. А нужны люди которые быстро выполняют задачу из готового кода мешая все подряд и при этом не знают как написать fizzbuzz...
Например мой учитель — занимался разработкой селе-предупреждающий системой еще при СССР и до сих пор ходит в горы и меняет для датчиков батареи этой системы.
Еще один знакомый занимается обслуживанием оборудования аэропорта.
Пара знакомых создают и продают iot устройства для рекламных стендов.
Еще один занимался по для управления поездами.
Еще пара знакомых занимаются BigData и аналитикой.
Да даже старший брат и тот пере-прошивает чипы для авто в своем СТО
А вот гуманитарные профессии обычно связаны с наработкой рефлексов. Этот процесс совершенно не поддаётся ускорению. И за полгода, да даже и за год, рисовать или играть на скрипке вы никак не научитесь, хоть что делайте.
«загрузить» в мозг некий набор знаний
А ещё наработать рефлексы для их применения.
просто «загрузить» в мозг некий набор знаний,
Некий набор знаний легко заменяется гуглом.
Но нет, если у вас нет рефлексов и навыков программирования (см. определение "навыка"!) — хоть вам SO, хоть вам гугл — ничего у вас не выгорит.
for i:=1 to 10 goto label
Да, когда-то я так писал. Очень-очень давно. Когда на кружке программирования не было практики, а только загрузка некого набора знаний без практического закрепления.
Этот процесс совершенно не поддаётся ускорению. И за полгода, да даже и за год, рисовать или играть на скрипке вы никак не научитесь, хоть что делайте.
Вы не поверите, но с программированием точно так же. Это тоже навык и нарабатывается он сотнями и тысячами часов практики.
А в гуманитарных профессиях всё просто! Всего-то книжек прочитал философических и знай, молоти языком. (ирония)
За 20 лет эпизодически приходилось собеседовать программистов и реально наблюдается тенденция к увеличению количества кандидатов, но очень сильно падает их квалификация.
После ряда экспериментов пришли к выводу, что иметь (например) трех квалифицированных (и более дорогих) разработчиков лучше (и дешевле!), чем пять болванчиков и лида к ним.
Если же нет этого огня, то никакие курсы не помогут.
Чтобы стать программистом, лично мне пришлось жрать байты в литл эндиан и срать их в биг эндиан не забывая при этом пропускать их через всякие кастомные quick/merge сорты и красно-черные кусты. И это было приятной частью из того, что приходилось делать в универе. Но я не жалею.
Где есть слово «деньги» — там есть безумие :)
Автор, зависть плохое чувство. А правда в том, что ни вуз (ни тем более армия), вовсе не обязательны чтобы научиться программировать и много зарабатывать.
Бизнесу нужны те кто будет закрывать его потребности. Точка.
Если человек после курсов справляется с задачами бизнеса — то он подходит.
Если не справляется, это будет видно, ведь не в вакууме же эти разработчики плавают. У них и свое начальство, техлид, тимлид, менеджер, которое следит за ними и считает коэфициенты эффективности, наблюдает за затраченным временем, закрытием задач, и много за чем еще.
Вы прошли сложный путь и не добились многого — это не значит что теперь сложно должно быть всем. Видимо для вас вуз это как с армией "без этого не стать настоящим мужиком" (с).
Они обесценивают годы выжигания монитором глаз инженеров, которые учились и практиковались, практиковались и учились.
Вы боитесь из-за конкуренции, почему? Если вы хороший специалист, то вам она не должна быть страшна.
система позволяет себя обмануть
А не возникла ли у вас деформация за годы работы в госкомпании? В частном бизнесе никакой "системы" нет. Есть рынок и конкуренция на рынке.
У нас не гильдия ремеслеников со строгим отбором и не орден ассасинов с испытаниями.
Если человек прошел собеседование и устраивает руководство, то нет никакой проблемы. Вы ее из пальца высосали.
Если человек прошел собеседование и устраивает руководство, то нет никакой проблемы. Вы ее из пальца высосали.
Вы не рассматриваете сценарий, в котором руководство просто поверило в то, что кандидат может решить проблемы?
Вы не рассматриваете сценарий, в котором руководство просто поверило в то, что кандидат может решить проблемы?
Так в 99% случаев никакой rocket science для переливания данных не требуется и знаний библиотеки языка хватает с головой. Поэтому, решать большинство задач программирования для бизнеса, может даже школьник, если он уделил программированию хотя бы полгода практики самостоятельно.
У вас так болит голова за руководство чужим бизнесом, что встает вопрос, неужели вы полагаете, что коммерческими компаниями заправляют дураки тратящие свои деньги впустую?
Если человек прошел испытательный срок, значит на его труд у компании есть спрос.
Ваша же статья выглядит в духе "а что так можно было?"
У вас так болит голова за руководство чужим бизнесом, что встает вопрос, неужели вы полагаете, что коммерческими компаниями заправляют дураки тратящие свои деньги впустую?
Такое тоже бывает. У менеджмента компании и её владельцев могут быть разные интересы. Точнее интересы могут быть одни и те же — заработать больше денег, но по большому счёту они могут играть в игру с нулевой суммой. Так что не стоит считать по умолчанию, что коммерческими компаниями заправляют только умники, тратящие деньги только на то, что нужно.
Там даже не менеджмент, а сам хозяин (он же — гендир) был такой, что вообще странно было, как компания ещё живёт!
У менеджеров среднего звена волосы дыбом становились от его действий.
Они даже как-то вышли на разговор с гендиром, мол, давайте кто-то из Ваших замов будет гендиром, а Вы — как хозяин бизнеса, — будете просто получать прибыль и отдыхать?
Нет. Руководить буду сам. Фирма работает, чего вам ещё надо?
В итоге, когда появились явственные признаки приближающегося краха — мой приятель оттуда уволился.
Вы не рассматриваете сценарий, в котором руководство просто поверило в то, что кандидат может решить проблемы?
Ваше предположение могло бы быть правдой, если бы речь шла о работодателе «ИП Пупкин».
В данном же случае речь идет о компаниях, не первый год нанимающих себе специалистов. Такая компания, предлагающая позицию с зарплатой ниже среднего по региону, знает, на что идёт, поверьте. А приставка «сеньор» в названиях должностей уже лет 10 назад мало что значила.
Вам с этими «специалистами» работать
Я к счастью могу выбирать с кем и где мне работать. А вы — нет?
и пользоваться трудами их деятельности.
Точно так же я могу выбирать, пользоваться глючным софтом или пользоваться тем что подороже и получше и голосовать рублем, а вы видимо, выбора лишены?
Нет, я программист. У вас что, хедхантер не работает? Или вам переезжать из одного города в другой нельзя? Компаний на рынке очень много, а открытых вакансий еще больше.
Вот поэтому и берут всех кто подает хоть какие-то надежды. Было бы действительно много талантливых программистов, то всех подряд бы не набирали. Поэтому у хорошего разработчика всегда есть выбор где работать и с кем работать.
Всего каких-то пару лет назад на страницах нашего любимого ресурса красовались вдохновляющие статьи успешного успеха, как вчерашний сантехник / таксист / сварщик / сутенёр успешно интегрировался в IT сообщество и начал зарабатывать 100500$ в секунду левой пяткой.
…
Позвольте представиться. Я являюсь обычным .NET разработчиком в рядовой государственной компании, основным способом заработка которой является разработка программного обеспечения. За спиной оконченный с отличием %City%ГТУ где-то за МКАДом, служба в рядах Вооружённых Сил России, и мечтания о светлом будущем. Звёзд с неба не хватаю и на роль нового Короля разработки не претендую (привет Фил).
Как и многие, я познакомился с программированием ещё в школьные годы. Правда, в силу возраста, я начинал с Pascal в красивой IDE. Потом были поделки калькуляторов всех мастей на Delphi, которые даже использовались при решении домашних задач по математике. Потом учёба в университете, великий и могучий C++, понимание что всё тлен и путешествие в чудесный мир C# с LINQ и асинхронностью.
Вы резонно можете спросить, к чему эта биография? Постараюсь объяснить кратко. Когда в силу не зависящих от меня обстоятельств необходимо было решить, какую профессию получать, я твёрдо был уверен, что программирование — это моё, поэтому колебаний было минимум. Я помню бессонные ночи не останавливающегося кодинга, которые вставляли не по-детски. Помню книги, знания из которых я поглощал медленно и размеренно, на 30 страниц в день сотня-другая строк кода. Потом переезд в северную столицу, волнительные первые собеседования, первые офферы и понимание своих слабых сторон. Как мне кажется, подобный путь проходило большинство разработчиков.
Но что происходит сейчас в мире информационных технологий? На каждом углу реклама курсов, которые сделают из тебя настоящего программиста за 21 день с гарантированным трудоустройство сразу на позицию %Language% Middle Developer.
Если те, кто закончил за 21 день курсы и составляет вам реальную конкуренцию — то вы определенно выбрали свою профессию ошибочно.
А если они не составляют вам конкуренцию и не будут составлять конкуренцию вам еще лет 7 точно, то к чему горевать?
Представим ситуацию, вы решили найти новую работу. Приходите на новую работу — а там начиная от сеньеров и заканчивая тим лидами и тех дирами — люди, за спинами которых только 3х недельные курсы. Понятно дело, вы можете отказаться, но что, если 5 из 10 компаний будут именно такими?
1) Это не имеет никакого значения. Я даже не узнаю об их образовании на этапе собеседования. А узнаю не раньше чем через месяц-другой работы в этой компании в результате «случайного разговора в курилке»
2) При выборе того, над чем мне работать — я интересуюсь чего там бизнес себе хочет, насколько мне это интересно, и сколько бизнес мне за мою работу может/хочет заплатить. Образование коллег к этому никакого отношения не имеет.
Да не 5 из 10, а 9 из 10 такие и есть. Уже.
Смиритесь. Бизнесу в подавляющем большинстве случае нужно решать довольно простые задачки.
P.S.:
Прямо сейчас сотрудничаю с коллегой, который реализует платежную система, типа банковской, только масштаб поменьше.
У товарища нет проблем с арифметикой. И этого достаточно.
У него проблемы с шифрованием… С типами данных.
Тем не менее он пишет почти банковскую систему.
И она будет написана.
И бизнес на ней заработает.
И зарплату ему выплатит.
Но если бы бизнес нанял супер-спеца, то он получил бы правильную-грамотную зашифрованную платежную систему примерно в те же сроки, но существенно дороже.
Бизнесу это не нужно…
Ой, не говори гоп, пока…
У меня знакомые писали очередную блокчейн-валюту и тоже были полностью уверены, что «им всё выплатят»…
А ещё со мной связывалась крупная сеть магазинов, запускавшая онлайн-вариант продаж. Хотели сотрудничать. Менеджер с трудом ориентировалась в скидочных купонах. Пробил их ООО по базе судов — с ними ряд поставщиков судятся, видимо, по причине неоплаты товара (кстати, очень рекомендую, неплохой быстрый способ проверить контрагента).
Очень удивлялись, почему я с ними не хочу работать…
И зарплату ему выплатит.
Ой, не говори гоп, пока…
Так он уже 3-й месяц её (зарплату) получает прекрасно и пилит этот проект.
Надо посмотреть, что будет через полгода-год.
Ну, 3 месяца это немного.
Надо посмотреть, что будет через полгода-год.
Какая разница?
Ну не заплатят ему в 4-й месяц. За пару дней найдет себе новую работу.
Ну, если у него офигительные Soft Skills…
Тут в комментах неплохие разработчики обсуждают как ходят по собеседованиям от месяца до трех и более.
Так что думаю, насчет пары дней вы преувеличили.
Так что думаю, насчет пары дней вы преувеличили.
Я про вот эту вашу фразу:
И зарплату ему выплатит.
Ой, не говори гоп, пока…
И про вот эту:
Ну, 3 месяца это немного.
Надо посмотреть, что будет через полгода-год.
Человек уже работает и уже получает деньги. И уже получил деньги не один раз.
Вы же всё никак не можете согласиться с тем, и выставляете всё новые и новые условия:
Ой, не говори гоп, пока…
Надо посмотреть, что будет через полгода-год.
ходят по собеседованиям от месяца до трех и более.
Да какая разница если он уже работает?
И уже получает деньги прямо сейчас?
Если смотреть на конкретного человека и его потребность прямо сейчас получить деньги, не заморачиваясь ни о своем будущем, ни о продукте и его пользователях, то все звучит совершенно корректно :)
Будущее разработчика — гарантировано хорошим спросом на ИТ-специалистов. Тем более, что пополнив своё портфолио разработкой платежной системы — он будет еще более интересен последующему работодателю.
Будущее продукта — это вообще не задача разработчика. Это задача бизнеса. Бизнес и говорит разработчику чего он, бизнес, ожидает получить от разрабатываемого продукта.
С точки зрения разработчика имеет значения будущее продукта только в смысле «а как написать так, чтобы удобнее было в будущем тестировать и изменять написанный код».
Пробил их ООО по базе судов — с ними ряд поставщиков судятся, видимо, по причине неоплаты товара (кстати, очень рекомендую, неплохой быстрый способ проверить контрагента).
У типичного предприятия, тем более с такими проблемами — несколько ООО.
Проблемы одного ООО ни о чем не говорят.
Очень удивлялись, почему я с ними не хочу работать…
Я тоже не понимаю.
Одно дело поставщики товаров, другое дело — поставщики услуг.
К ним очень разное отношение.
Поставищки товаров сами дают отсрочку платежа на месяцы (если товар не ходовой), сами предлагают эту отсрочку. Им нет разницы, по большому счету, когда товар продастся. Лучше быстрее, но если быстрее не получается, то соглашаются долго ждать, если есть какая-то надежда продать.
Поставщики услуг, типично, ничего в долг делают, ибо им нужно своим зарплату выплатить.
Так что я вас не понимаю.
Поставщикам услуг легко дают предоплату.
Тем более, что деньги для вас это копейки на фоне тех десятков миллионов, что они должны поставщикам.
Это очень разные отношения.
По поводу моего крупного клиента — розничной сети, кстати, мне известны такие их приоритеты:
1) Если по графику платежей они никому не платят — то мне заплатят день в день.
2) Если у них в эти дни зарплата сотрудникам или оплата аренды розничных точек то мне заплатят завтра.
3) Если у них в этот день оплата поставщику, то они деньги собирают загодя, за неделю-две, ибо суммы там гигантские. Но на оплату мне это никак не влияет, ибо мои суммы на фоне тех десятков миллионов — фигня.
Проблемы одного ООО ни о чем не говорят.
М-м. Как минимум это говорит о том, что они кому-то не оплачивают. Тем более в истцах там были ИП — не думаю, что ИП нужны большие деньги. Там и суммы исков указаны были — в пределах миллиона-двух.
Поставщикам услуг легко дают предоплату.
Во-первых, не легко. Зависит от конторы и от механики. Если вы работали с мобильными операторами или банками, то наверняка знаете, что они очень сильно продавливает постоплату.
Во-вторых, конкретно там предлагалась агентская схема с постоплатой, не очень хочу вдаваться в детали, почему.
Но самое главное — я не понимаю, почему я должен хотеть играть в эту рулетку «вы мне заплатите?». Я в неё играл с большими компаниями, и даже чуть-чуть с государством (в качестве далекого субподрядчика). Нет, я, конечно, могу сделать наценку в 100%, и выиграть с вероятностью в 50%, получив то же самое. Но зачем это мне, поддерживать эту часть рынка? Вообще-то есть какая-то этика. Компания должна знать, что если она позволяет себе с позиции силы не платить, заставляя других идти в суд, то с ней никто из приличных людей работать не будет.
М-м. Как минимум это говорит о том, что они кому-то не оплачивают. Тем более в истцах там были ИП — не думаю, что ИП нужны большие деньги. Там и суммы исков указаны были — в пределах миллиона-двух.
1) ИП не означает, что там 1 человек работает. ИП тоже может нанимать сотрудников. Оформлять свою деятельность на ИП — пять-десять лет назад было быть выгоднее, чем ООО. Особенность налогооблажения. Фирмы с оборотом и миллиард рублей в месяц — заметную часть своего бизнеса оформляли как ИП.
2) Типичная проблема по задолженности — это касается поставщиков товаров.
Давайте я вам расскажу то, что мне рассказал за кружкой водки руководитель одной розничной сети:
«Как ты думаешь», спросил он меня, «На какую сумму тут товара?» — и показал рукой в сторону витрин (мы бухали у него в служебной части магазина, в т.н. подсобке).
Я назвал сумму. Он рассмеялся и сказал, что моя оценка занижена раз в 10.
«Думаешь, это я такой богатый и весь этот товар и красивые дорого сконструированые витрины я купил?» — спросил он.
«Ну часть за свой счет, часть за счет кредитов банков» — ответил я.
«Нет» — сказал мне руководитель розничной сети. «Если бы я брал кредиты банка в таких размерах, то никогда бы не построил окупаемый бизнес, ибо проценты банков слишком большие, а товар продается слишком медленно, чтобы иметь гарантию выплаты этих процентов».
«Оптовики, поставщики товаров всеми силами стремятся отдать свой товар рознице» — сказал он мне. «Они отдают мне товар с отсрочкой, они предоставляют мне свои собственные витрины, мне не нужно ничего покупать. А когда приходит срок отсрочки, то я говорю им — или забирайте товар или ждите еще пока у меня нет денег для вас, так как я еще не продал ваш товар, он продается плохо».
«Чтобы организовать розничный магазин, на самом-то деле вовсе не нужно денег. Ты работаешь не на своих деньга, а на деньгах поставщиков товаров, они дают тебе кредит фактически, причем этот кредит беспроцентный» — так объяснил мне руководитель розничной сети.
Другой руководитель, оптовик, сказал мне так (за кружкой кофе, ибо мы с ним не настолько близко знакомы, чтобы вместе бухать, как с предыдущим):
«Эти гады, эти дети самок собак — розница — так охамели, что берут у меня товар с огромной отсрочкой, а когда приходит срок оплаты — не отдают денег, говорят, что не продали товар и предлагают вернуть мой товар или продлить отсрочку за оплату товара».
«Если бы у меня был такой хороший товар как сейчас, но тогда, в девяностые годы, то я бы по предоплате его продавал, а если бы кто бы из розничных магазинов в те годы заикнулся бы мне о продаже с отсрочкой — я бы того смело пинками выгонял бы из своей фирмы. Так как в дикие девяностые я с таким товаром как сегодня имею — был бы и царь и бог. Но в наше время приходится этих (далее был мат) терпеть и кредитовать за свой счет месяцами» — сказал мне оптовик.
И иногда розница, избалованная товарными кредитами, что предоставляют рознице оптовики — несколько наглеет. И, даже продав уже товар, всё равно не отдает деньги.
Если оптовик продает ходовой товар, который быстро продается — такой оптовик подает в суд, конечно.
Если оптовик продает товар, что продается медленно — такой оптовик дольше терпит.
Я это всё к тому написал, что все эти судебные разборки по задолженности розничной сети не имеют никакого отношение к услугам.
Эти кредиты товарами и выкручивание рук оптовикам — основа бизнеса современных розничных сетей.
Но это не имеет к вам, как к поставщику услуг — ровно никакого отношения. Эта проблема касается только поставщиков товаров.
Вы (мы, я тоже такой же поставщик услуг ИТ для розничной сети) — совсем напротив — имеет возможность даже брать с таких предприятий предоплату за свою работу. Причем легко.
Что я и сделал прямо сейчас. На работу зарядил 3 недели. Деньги взял вперед 50%. Фактически работу сделаю за неделю, но на полнедели позже срока. И они — розничная сеть — будут меня терпеть.
Как терпят их поставщики товаров-оптовики.
Но в отношении поставщиков услуг у розничных сетей прямо противоположенная ситуация.
Мы — в выгодном положении.
Поэтом не нужно обращать внимание на судебные разборки по задолженностям за поставку товаров.
Просто берите предоплату. Смело берите предоплату за работу.
Вообще я это могу. Лет 6-7 тому назад я этим относительно успешно занимался — и выбиванием условий, и всем таким прочим.
Сейчас просто надоело. Могу себе просто позволить сказать «мне не нравится ваш проект и ваши условия». И мне ок — пусть не так много денег, зато проекты поприятнее.
Вообще я это могу. Лет 6-7 тому назад я этим относительно успешно занимался — и выбиванием условий, и всем таким прочим.
Сейчас просто надоело. Могу себе просто позволить сказать «мне не нравится ваш проект и ваши условия». И мне ок — пусть не так много денег, зато проекты поприятнее.
Если вы работаете на себя — то совершенно нормально, что кроме непосредственного выполнения работы вам нужно еще и согласовать условия.
А там где возникает работа и её оплата всегда возникает 2 противоположенных интереса — продавец хочет подороже и поменьше продать, покупатель хочет подешевле и побольше купить.
Это совершенно нормально.
Если вы работаете на дядю то выбиванием условий занимается менеджер для вас (точнее для фирмы), а работу всё равно делаете вы.
Если вы работаете на себя — то менеджера у вас нет. И его часть работы (согласование условий) делаете тоже вы.
Но самое главное — я не понимаю, почему я должен хотеть играть в эту рулетку «вы мне заплатите?».
Это только ваш выбор:
Вы можете соглашаться на постоплату.
Можете требовать предоплату.
ИТ сейчас может позволить себе выкручить руки бизнесу (немножко, не зарываясь).
Я в неё играл с большими компаниями, и даже чуть-чуть с государством (в качестве далекого субподрядчика). Нет, я, конечно, могу сделать наценку в 100%, и выиграть с вероятностью в 50%, получив то же самое.
Нередко с большими так и работают.
Завышают цены, получают деньги позже. Но значительно больше денег.
Все риски перекрывает завышенная стоимость.
Разумеется, нужно иметь не одного, а нескольких подобных заказчиков, чтобы даже неудача с одним перекрывалась с лихвой другими.
Это не обязательная модель.
Можно и по предоплате с крупными работать. Но денег меньше.
Это только ваш выбор и ваши оценки ситуации — что предпочесть.
А если они не составляют вам конкуренцию и не будут составлять конкуренцию вам еще лет 7 точно, то к чему горевать?
Не смог смириться с фразой: «моя хата с краю»; и вопросом: «ты самый умный что ли?». Недавно разговаривал с парнишкой, студент крупного ВУЗа. Знает очень много на своём не последнем курсе, рассуждает сдержанно, и уверен что не представляет для рынка никакой ценности. Грубо говоря: готов работать за еду. Вот именно ему составят конкуренцию, и сотне другой таких же будущих полноценных инженеров. И дело не в учебном заведении, а в стремлении к росту.
Может быть, в будущем сможете — когда у вас появится какое-то влияние на мир. Но оно появляется только после того, как вы понимаете принципы его работы. И обычно оно появляется условно у одного на миллион (нужно иметь много сил, храбрости, и не иметь противовеса в виде семьи и интересной жизни).
Я понимаю ваш пост, я тоже не согласен с тем как устроен мир. Но тратить время и силы на переживание по этому поводу не планирую. Занят более приземлёнными делами. Работаю, учусь, получаю удовольствие от жизни. Стараюсь приносить пользу на работе, бизнесу, коллегам, другим людям. Делаю немножко хороших дел вне работы. Появится больше ресурсов — сделаю ещё что-то более хорошее.
Я за еду работать не готов. И конкуренции не боюсь. Именно из-за стремления к росту и интереса к делу. В этом и разница. Хорошим специалистам нет конкуренции. Сложнее в зашумлённом рынке найти работу, да. Но и рынок больше. Больше рынок, больше спроса, больше денег. Больше людей идёт на рынок. Много из них не разбираются в теме и не хотят разбираться. Им нравятся зарплаты. Работодатель готов за это платить — это его дело. С одной стороны, такой работодатель долго не проживёт. С другой стороны, рынок огромный и особо ничего не изменится.
Бороться с системой смысла нет. Масштаб не тот. Где я и где система?
Я сделал выбор — занимаюсь собой и теми, до кого хочу и могу дотянуться. Остальное — пустая трата времени и ресурсов.
Статья как раз про то, что при оценке по уровню "умение проходить собесы" — разницу то видно будет, да не в пользу "знает".
Что это за умение такое волшебное?
Я тренировал ребят на собесы в Люксофты/епамы/етц.
За короткий промежуток времени (несколько недель) можно научиться хорошо вести диалог и отвечать на все их вопросы. На вакансии до 2-3к можно, как оказалось, настроить конвеер и вполне успешно трейнить вайтишников. Сама схема и сценарий собеседований там стандартная, и критерии не меняются уже лет 10. Если попал в Люксофт, то там уже тебя не уволят. В крайнем случае переведут на другой проект.
Сам же я легко вычисляю «ходоков» по собеседованиям. Они отлично знают ответы на самые каверзные стандартные вопросы. Но стоит задать простейший вопрос, который никто им не задавал ранее, как видно что ребята уплывают.
ИМХО: курсы бывают очень разные. В том числе и онлайн. Смотрел курс лекций по алгоритмической сложности от Школы анализа данных Яндекс. Свободно лежат на YouTube. Считаю, что при доступе к таким материалам, нужный профиль высшего образования можно собрать для себя не поступая в ВУЗ. Вопрос только, где взять интерьвьюера, который сможет это проверить на собеседовании?
У меня тоже странная практика — люди, обучившиеся сами, выдают значительно лучший результат, чем те, кто обучался на курсах. Видимо, мотивация другая — когда учишься сам, учишься ради себя. Те, кто идут на курсы, видимо рассчитывают на то, что ИХ НАУЧАТ (очень зря).
Вечно находятся люди, которые любят со стороны покричать на окружающих «Что вы делаете! Это надо делать не так! Вы все должны перестать делать то, что делаете, а делать по-другому!» вместо того, чтобы самому чем-нибудь заняться.
Мне «вайтишники» ничем не мешают. В мою команду они не попадают, люди, ответственные за найм(иногда это я) неплохо отсекают таких. Не вижу проблемы.
В мою команду они не попадают, люди, ответственные за найм(иногда это я) неплохо отсекают таких.
Уверены? Неужели должны уйти деньги со счетов, упасть самолёты, пойти на дно корабли, что бы это стало проблемой? Не замечать — Ваше право, которое я уважаю.
Неужели должны уйти деньги со счетов, упасть самолёты, пойти на дно корабли, что бы это стало проблемой
А это уже проблемы процесса. Надо ставить хороший процесс со статическими анализаторами кода, код-ревью, автотестами, командой тестировщиков чтобы минимизировать проблемы.
Прошло время, слушателей пичкали информацией с онлайн курсов, расположенных на популярных платформах (интересно, авторское право соблюдено?), каждому дали наставника, который должен был учить и «строго» экзаменовать.
В принципе, в любой отрасли можно «просто прочитать книги, доступные в открытых источниках». Ну или купить эти книги. Или почитать онлайн.
Только от ученика при такой системе нужен еще навык самообучения. Чего ваш товарищ был лишен — вы это написали выше.
И все эти ВУЗы, школы, курсы — действительно ничего оригинального в подавляющем большинстве не дают. Все эти знания открыты, общедоступны и давно опубликованы.
Но задайте себе вопрос:
Смогли бы вы хоть чему-то научиться, если бы вас не учили, не говорили где почитать, не проверяли домашнее задание?
Отдельные редкие люди на это способны. Да.
Но подавляющему большинству нужно чтобы кто-то взял на себя ответственность за обучение тебя. И ты будешь готов за это платить, в том числе и хорошо платить.
На самом деле, если не лениться, то обучение с хорошим преподавателем, который уже знает куда обратить внимание, а на что не тратить время — всё же более эффективно, чем одно сплошное самообучение.
Другое дело, что те, кто выучились с самообучением — более целеустремленные, усидчивые люди. Большинство всё же не такие.
Вы целиком и полностью правы. Но «вайтишник» начавший карьеру как и положено с уровня junior, впоследствии ставший инженером, не одно и то же что «вайтишник» занявший ответственную должность с около нулевыми знаниями.
Это проблема того, кто его нанял.
Но вот если это проблема того, кто «профессиональный айтишник с образованием и 15 годами опыта», если такой «войти-в-айтишник» составляет ему конкуренцию… то мне совсем не жать того, кто пропинал балду 15 лет.
Это проблема того, кто его нанял.
А так же это проблема тех кто с ним будет работать. И проблема пользователей этого продукта. Уверены что никогда ни в одну из этих категорий не попадете?
А так же это проблема тех кто с ним будет работать. И проблема пользователей этого продукта. Уверены что никогда ни в одну из этих категорий не попадете?
Вы так об этом пишете будто бы этого еще нет, а только грядет.
В среднем во всех отраслях нас обслуживают люди не выдающейся, а минимально достаточной квалификации.
И ничего — мир не рухнул.
Мир в целом — нет. А вот, скажем, пара самолётов — вполне. "Бабы новых нарожают" это отнюдь не отечественное даже изобретение, даром что датируется веком так 19-ым минимум. Да, там не конкретно разработка… но вопрос к качеству принимавших решения и их профессионализму е.
Или можно и разработке бочку выдать — в лице сбоивших рентгеновских аппаратов.
«профессиональный айтишник с образованием и 15 годами опыта»Бывает такое, что человек в какой-то области быстро научился тому, что надо ему по работе, и потом 15 лет ни технологии ни место работы не менялись. Формально опыт есть, в фактически это год «креирования», как говорят немцы, и 14 лет копипасты с небольшими исправлениями.
Подробнее про хорошие курсы, пожалуйста
— курсы можно проходить, а можно «проходить». Я проходил курс по нейронным сетям на сайте Stepik. Довольно сложный (по мне) местами — желательно немножко набить руку на программировании и сохранить что-то из студенческих знаний.
Я проходил курс сугубо на перспективу. Но были и курсанты, заводившие себе по два акаунта. От левого акаунта курсант публиковал пустой ответ. На крос-реферальной оценке этот ответ получал 0 баллов, зато появлялась возможность посмотреть корректное решение. Публикуемое потом (с незначительными изменениями) от основного акаунта.
Для чего им это? Возможно, для красивого резюме. Плюс, кажется, этот курс шел в зачет дисциплины «Нейронные сети» в одном из вузов.
К чему я:
— курсы — это хорошо. В особенности те, что заставляют напрячь мозги и потратить несколько вечеров на особо коварную задачу. Если «вайтишник» осилит курс React JS — это автоматически означает, что он также прошел курсы — либо составил себе сам программу и подготовился по ней — для ряда смежных дисциплин. Тут и основы верстки, и ванильный JS, и spinoff-ы типа XPath и регулярных выражений.
Найти в поиске достойные курсы обучения IT-дисциплинам, кмк, задача несложная. Сложно их осилить. А не получить липовый «электронный сертификат» о прохождении курса.
У меня нет цели войти в айти, но если бы были короткие боевые курсы, на которые берут по итогам экзамена по основам языка, ООП, алгоритмам и структурам данных, то я бы уделил пару месяцев своего времени подготовке и был бы не прочь заплатить деньги, но везде пестрит реклама для абсолютных нулей. Я такому не верю. Даже если человек что-то усвоил, нужно время, чтобы это улеглось у него в сознании. В рамках курса это анриил.
Статья полностью описывает мой опыт)
Был у меня брат, на два года старше чем я и в 17 лет спросил меня как начать программировать. Сам я начал "программировать" с 11 лет. Я ему ответил что надо изучать основны а потом на практике закреплять знания и изучать что то новое. Он сказал ОК, и вот спустя 4 года, он оканчивается ВУЗ и… Знает куда меньше меня. Ведь теорию он знал (как то, по крайней мере), но закреплять на практике никак не хотел. Вот так и вышло.
Программирование это инструмент для заработка денег, не больше и не меньше.
Если между нормальной сытной достойной жизнью стоит задача надурить ейчара и тимлида на собеседовании то это будет сделано.
У меня где то год опыта, я себе еще 2 года накинул что бы претендовать на большую зарплату и что бы меня охотнее брали на работу, я понимаю что если не врать и не вешать лапшу на уши то в этой жизни ничего не получишь.
Наши требования. Опыт работы — не менее 80 лет по специальности.— Что за дичь?! Где вы вообще будете брать таких людей?
— О, всё продумано! Наши статистические исследования показали, что люди пока ещё стесняются накидывать себе больше 75 лет опыта, а нам как раз с пятилетним-то и нужны.
я понимаю что если не врать и не вешать лапшу на уши то в этой жизни ничего не получишь
Множество людей, которые добились успеха честным путём, сейчас находятся в недоумении. Врать конечно проще, чем работать и развиваться, но обычно это хотя бы не афишируют
Множество людей, которые добились успеха честным путём, сейчас находятся в недоумении.
Например какие именно люди?
Если в качестве примера вы хотите услышать имена каких-то широко известных людей, то увы, с такими я если и знаком, то не так близко, чтобы что-то гарантированно утверждать, поэтому не рискну.
Если у вас не получается честным путем добиваться желаемого — это не значит что у других так же. Отчасти соглашусь, что хитрить и на*бывать ближнего своего — более простой и распространенный способ, но тут уж кого как воспитали. Один мой приятель в беседе о моральной стороне работы с откатами сказал примерно так — «Ты пойми, если ты не дашь откат, это не значит что заказ отменят, всё равно найдётся тот, кто даст, а ты просто упустишь свою выгоду». Для себя я всё равно решил, что есть более честные способы заработка, но фактически в сложившихся реалиях мой приятель прав.
У меня среди хороших знакомых наберется достаточное количество, в чьих моральных принципах я уверен. Логично предположить, что таких людей в целом немало.
То есть вы утверждаете, что существуют люди, что в принципе никогда не врут и режут только правду-матку. И даже не умалчивают, не скрывают важную информацию и истинное положение вещей (по сути это «молчаливая ложь» или «ложь бездействием») — даже когда речь идет об их кровных интересах? И эти люди не сумасшедшие и успешны в жизни?
Позвольте вам не поверить. Приспосабливаться к окружающему миру — естественное свойство здорового человеческого мозга.
В начале карьеры если не преувеличить свой нулевой опыт — тебя никто не возьмет.
Далеко в этом заходить не стоит. Всё равно проверяется. Да и не особо нужно потом, когда карьера началась. Но в начале карьеры придумывать себе фиктивные места работы — частая практика.
Ты пойми, если ты не дашь откат...
Разве это не о другом?
Вы можете не давать отката, но при этом покупать за углом и продавать втридорога. Честно ли это? А логично ли это в смысле бизнеса?
Скажем так, у меня всегда было честное резюме без липовых мест работы, и это не помешало получить ещё до выпуска из вуза оффер в зарубежную компанию с релокацией.
Значит, вы себя как-то зарекомендовали во время учебы? Ну дык это то же резюме по сути.
Я в своем первом резюме указывал то, чем занимался в ВУЗе. Помогает действительно.
если не врать и не вешать лапшу на уши то в этой жизни ничего не получишьМожет быть, это я его слишком широко понял (хотя часть про «в этой жизни ничего не получишь» даёт основания думать, что это не про частные случаи, а общий подход) и ответил, что у меня есть примеры честных людей, которые добились в жизни успеха. Я не утверждаю про «абсолютную честность», но ложь всё-таки разная бывает, и отношение к ней тоже разное. В моей системе понятий, врать о предыдущем опыте работы — фу. Это с большой вероятностью несет ущерб другим людям и неприемлемо. На себе испытывал, каково это, когда работаешь с человеком, который утверждал, что умеет что-то делать, а потом выясняется что или не умеет, или умеет, но не совсем то, или только слышал, как надо делать. Ну, т.е. если совесть позволяет втираться в доверие ради собственной выгоды — ок. Каждый сам себе судья в моральном плане. Просто хотя бы распространяться об этом не стоит, а то уже совсем как-то не очень.
Вы можете не давать отката, но при этом покупать за углом и продавать втридорога. Честно ли это? А логично ли это в смысле бизнеса?Если я не монополист, то это честно и логично в текущей экономической системе. Обмана и принуждения нет, а цена регулируется рынком. В большинстве случаев, если я продаю втридорога, то у меня или не покупают, или покупают, потому что высокая цена компенсируется какими-то другими факторами.
у меня есть примеры честных людей, которые добились в жизни успеха
Идею «везения» вы не рассматриваете совсем?
Тут ведь вот какая загогулина получается: враньё и лапша на уши даёт гарантированный результат. Сильно утрируя, такой же гарантированный результат даёт убийство старушки-процентщицы топором — тюк и вот уже рупь у тебя есть. А дальше, раз уж мы вспомнили Достоевского, возникает только одна проблема — одни люди это твари дрожащие, поэтому им врать или убивать старушек тяжело. А другие — хозяева жизни, право имеющие, и им это делать легко.
И если вы оглянетесь вокруг, вы увидите, что принадлежность ко второй категории означает успех всегда, это, повторюсь, гарантированный успех.
А люди из первой категории могут добиться успеха только случайно, и даже вам приходится оправдываться, утверждая, что вы знаете таких людей, или что такие люди вообще существуют. Потому что ваш собеседник говорит вещи общеизвестные, к любому на улице подойди, и он скажет, что сыто и сладко живет вор, бандит, мошенник, но никак не честный дурак.
Вообще не ожидал на хабре столько попыток найти обоснование тому, что можно и нужно врать людям.
«Прости нас, Юра, мы всё просрали»
Я не пытаюсь обосновать то, что «людям можно и нужно врать».
Я говорю о том, что это очевидная и гарантирующая выгоду стратегия.
Вопросы о том, что «можно и нужно» каждый решает для себя.
Но факт есть факт.
Причём подавляющее большинство богатых и успешных людей — это даже вполне открытые лжецы, воры и мошенники. Вот, скажем, Дуров украл дизайн у Цукерберга, сам Цукерберг, похоже, тоже его украл в своё время. Или вот Тёма Лебедев довольно подробно рассказывал, как он подделывал информацию о своём опыте — сам придумал фирмы, в которых работал, придумал их заказы, слепил в портфолио и сказал, что «опытный дизайнер». Кого ни копни — мухлевал, классика же: «я могу отчитаться за любой заработанный мной миллион, кроме первого».
гарантирующая выгоду стратегияимхо, «ошибка выжившего»
Вы не встречали людей, которые за неудачные махинации поплатились имуществом или здоровьем? Я могу согласиться, что за «приукрашивание» своего резюме в большинстве случаев даже по лицу не прилетит. Вздохнут, выгонят и начнут искать другого работника. Но если рассуждать шире, вспоминать цукербергов и других личностей подобного масштаба, то историй когда «пацан к успеху шёл» и не дошёл будет заметно больше чем этих личностей. Вы вообще понимаете, какой бэкграунд надо иметь, чтобы оставаться живым, здоровым и на свободе, являясь «открытым лжецом и мошенником»? Я еще могу сделать небольшую поправку на IT сферу и людей пробившихся наверх лет 10-15 назад, когда один гик крал идею другого и в ответку мог прилететь судебный иск или гневная статья на популярном ресурсе. Но я не уверен, что сейчас также, в отрасль пришли люди с другим мировоззрением.
Опять же, не горю желанием учить взрослых людей, как надо и как не надо поступать, просто немного удивляет что дискуссия на эту тему вообще возникла и растёт
я понимаю что если не врать и не вешать лапшу на уши то в этой жизни ничего не получишь
Множество людей, которые добились успеха честным путём, сейчас находятся в недоумении. Врать конечно проще, чем работать и развиваться, но обычно это хотя бы не афишируют
Это актуально только в самом начале карьеры.
Людей вовсе без опыта — желающих брать мало.
А представьте, что вы заказываете софт у аутсорсера. Открываете его сайт, натыкаетесь случайно на раздел с вакансиями, просто из любопытства переходите на HH, и понимаете, что собираетесь подписать договор с компанией, куда набирают абы кого уже по требованиям. Акто туда откликается после таких курсов… ух… :)
есть и производства и работа
Эта работа или копеечная или физически тяжелая и изнуряющая.
Да ладно. В Сбере, если на то пошло, примерно 280 тыс сотрудников. И кому это надо?
А вот Windows, например, чуть ли не каждый месяц выкатывает обновления, которые вешают систему. Или вспомнить как в прошлом году они выкатили обновление на офис, которое убило скрипты, и куча завязанных на эти скрипты баз данных перестали работать. А хром примерно тогда же выкатил обновление, которое ломало пользователям доступ на сайты, и тоже потери исчислялись миллионами.
Но поскольку никто не умер — «до сих пор работают, с задачами справляются», и обновления до сих пор вешают систему.
Границу выставили на смерти, а вы даже этого не заметили. «Нормально» считается всё, что не связано со смертью или взрывами. Никто не умер? Что ж, ваша проблема — не проблема.
А вот Windows, например, чуть ли не каждый месяц выкатывает обновления, которые вешают систему.
Встречал это ровно 2 раза за последние 25 лет (со времен Win95, да).
Что-то не так с вашим железом или говнософта поверх ОС в вашей системе полным-полно.
Ну или возможно, ваша кряка для ОС так себя ведет.
Вы феноменально везучий человек.
Ну я же не говорил, что она и не зависала у меня никогда или не вылетала из-за кривых драйверов от моего железа.
При чем тут везение?
Не очень понимаю как квалифицированный ИТ-шник может влипнуть в эту ситуацию.
Условной «не подкованной технически домохозяйке» простительно.
P.S.:
Там выше про Thinkpad — просто ставил на Thinkpad не всё то ПО, что предлагает производитель, совершенно не думая нужно это или нет, а то, что на мой взгляд нужно.
И также не считаю что нужно от всего подряд бездумно отказываться от того, что предлагает производитель.
Принятие подобных решений и выполнение всех действий на этапе подготовки к работе нового Thinkpad и т.п. — занимает ну полчаса. Зато потом это работает устойчиво долгие годы.
P.P.S.:
Если к прежним версиям Windows и к прежним пакетам ПО, идущим в комплекте к новому железу — еще могут быть претензии.
То как раз в последнее время с этим всем стало значительно лучше. Работает куда как стабильнее. Имхо.
Имею практику с Windows начиная с Win 3.1. Далее Win 9x, Win NT 3.51 и пр. и пр., серверные, десктопные версии.
Сейчас десктопные определенно куда как более стабильные.
Ну или железо стало таким хорошим, хотя я всегда старался покупать получше.
P.P.P.S.:
В принципе, учитывая зоопарк железа на котором работает Windows, вполне возможны ситуации сбоев у отдельных пользователей на отдельном сочетании железа, драйверов и прикладного софта.
Но я бы не распространял эти исключительные ситуации на всё подряд.
Повторюсь, по моей личной практике, как раз напротив, нынешняя Windows удивительно стабильна.
И при этом, BSOD и невозможность загрузиться после очередного Windows 10 rollup
После установки драйверов — бывало, да.
После установки/запуска некого прикладного софта — бывало.
После установки обновлений ОС, повторюсь, пару раз за 25 лет.
Причем со старыми версиями еще до Windows 7 (с которой как раз началась стабильность, правда, Windows 8 я практически пропустил, поработал на ней пару месяцев и началась 10).
Предъявы можно кинуть прежде всего Windows Vista да Windows ME.
P.S.:
Бывает что обновление не устанавливается и откатывается назад или устанавливается криво и откатывается назад — не вижу в этом никакой проблемы, если все данные целы и не требуется переустановка ОС.
Это нормально для таких сложных систем как ОС.
У меня и Linux/FreeBSD/MacOS убивали простые штатные обновления ОС, бывало.
Даже один раз с Andorid было.
Вина в индуистской природе?
Или в том, что виновным оказался программист, а не проектировщик + архитектор + ТЗ + QA + индженерная структура управления (тимлид, СТО) + заказчик?
Или вина в плохом преподавателе в Индии?
Или вина в том, что взяли неквалифицированного кадра?
Или вина в том, что американская корпорация заказала у неквалифицированного партнера продукт?
Еще раз, что такое вина индуса-программиста? Можете конкретнее?
которые также пытаются активно выбиться в людиИли ы попытке выбиться в люди, чего не делают не индусы-программисты?
Боинг 737 Мах упал по вине индусовАналитика уровень «Бог»
Программист-индус — это далеко необязательно из Индии, главное чтоб работал так, будто ему платят по числу строк кода :-)
Правда фишка в том, что у боинга не только и не столько в коде был косяк, сколько по всей вертикали. Двигатели увеличили, стало задирать нос. Можно решить механически — ой, а это ж по новой на сертификацию идти! Можно решить программно и явно указать эту фишку в мануале — ой, а это ж пилотов переучивать, кто будет такой самолёт покупать, на котором без дообучения не полетишь! Вот и оставили существенную операционную особенность «на полях», за что и поплатились. Ведь код там мог быть и не "индусячий", но всё равно когда-то дать сбой, а действия пилотов из-за отсутствия переобучения остались бы такими же.
Страдаю вечной оптимизацией и рефакторингом своих проектов.
Размышляю о гибридной эмуляции. Это когда программное обеспечение скомпилированное для ARM вызывает родные x86 нативные API операционной системы. Вечерами прикидываю увеличение производительности от такого трюка.
Пытаюсь писать свой компилятор (просто ради забавы).
Переписываю и обновляю документацию по ИБ каждые пол года по месту работы.
Заставляю работать сервера еще быстрее, выжимаю последнее.
Резервирую каналы, строю агрегированные каналы между офисами, собираю и разбираю RAID массивы, резервирую коммутаторы, активно моделирую аварийные ситуации.
За ужином подумываю (о высоком) о том что x86 процессорам придет конец только из за того что все поголовно ушли в фрейворки, питоны, и в прочие интерпретируемые языки. Все вместо нормального нативного интерфейса пихают целый CEF + HTML + CSS + JavaScript + колбеки на функции ПО написанного на C#. А я еще ругаюсь на такое поведение разработчиков, а тут вон оно что.
Надо оказывается просто курсы пройти что бы нормальную работу то найти… а не зубрить от транзистора до абстрагирования от абстрагированного.
x86 процессорам придет конец только из за того что все поголовно ушли в фрейворки, питоны, и в прочие интерпретируемые языки
А какая взаимосвязь?
Надо оказывается просто курсы пройти что бы нормальную работу то найти… а не зубрить от транзистора до абстрагирования от абстрагированного.
Вот уж зубрить точно ничего не нужно.
Например возьмем Android.
Я могу установить его и на ARM и на x86? Могу. Могу установить приложения? Да. Как обычный пользователь я чувствую разницу? Нет.
Самое забавное что разработчики этих приложений не заботились об аппаратном обеспечении, но все работает.
Набор команд и процессоры x86 существуют только благодаря «багажу» нативного программного обеспечения. Это будет продолжаться до тех пор пока не появиться аналог dalvik/art для Windows. Если это произойдет то ARM придет в desktop.
Вот Вас как Web разработчика интересует на какой аппаратной платформе я открываю Ваши сайты? Я могу просмотреть Ваши работы и на Малинке и на обычном ПК, и даже на телевизоре.
Все равно взаимосвязи больше не стало. Что бы делать подобные утверждения нужно, как минимум, постулировать неразрешимые недостатки x86. На сегодняшний день x86 превосходит по вычислительной мощности ARM но проигрывает в цене и энергопотребление(и то есть Atom). Вопрос о том кто из них представляет лучший баланс энергопотребления мощности до сих пор дискуссионный. Единственные кто двигают в сторону ARM это Apple, посмотрим что представляет их процессор вне проприетарных бенчмарков с попугаями.
Лично я считаю что рынок переделится и установится равновесие, но говорить о преимуществе ARM по всем фронтам еще очень рано да и не верю я в серебряную пулю. Цена изготовления аргумент слабый, себестоимость чипа составляет несколько процентов его рыночной стоимости. Как видно АМД очень сильно подвинулись по цене что бы откусить кусок рынка.
x86 процессорам придет конец только из за того что все поголовно ушли в фрейворки, питоны, и в прочие интерпретируемые языкиКак раз наоборот — во все эти фреймворки ушли потому, что вместо одного x86 с одной-единственной ОС на 99% девайсов, развёлся целый зоопарк, на котором ваше приложение непременно должно работать.
В конце концов забота об аппаратной платформе уйдет к ядерщикам, не разработчикам системных служб и приложений, а именно к ядерщикам.
Она интересует, но в виде "наш софт для современного железа — проапгрейдейтесь", "что значит не собирается на MaсOS на АРМ, целевая платформа — Wintel десятки"
В конце концов забота об аппаратной платформе уйдет к ядерщикам, не разработчикам системных служб и приложений, а именно к ядерщикам.
Почему вы говорите о будущем?
Это уже в прошлом веке так было.
Всякие MMX и прочее — интересовали только отдельных разработчиков, создающий особо требовательный код, для которого оптимизация MMX и пр. могла бы дать реальный бонус. Ну например, разработчиков кодеком мультимедийных. Или систем шифрования.
Большинству от этого MMX никак не холодно и не жарко. В их программах просто некуда применить эти вещи.
Или их можно применять через уже готовые оптмизированные под MMX и пр. библиотеки типа OpenCV
Со стороны бизнеса, это скорость разработки, потому что для неопытного разработчика все задачи будут в новинку, соответственно решения задач будут занимать гораздо больше времени, и не только своего. Это очевидно.
Тут есть одно забавное «но». Есть много кейсов где новичок справится быстрее. Это противоречит здравому смыслу, но тем не менее встречается часто. Причина проста, новичок не заботится о безопасности/сопровождении/читаемости/расширяемости/редких_багах. Все это выливается в скорость. Узнал я это, посоревновавшись с младшим братом. Т.е. мы брали его институтское задание и реализовывали, он на плюсах со знаниями с лент, я на js, окончив институт и имея годы стажа. Он всегда заканчивал быстрее. Да с багами, да нечитаемо, да это настолько нельзя сопровождать, что фикс багов занял больше времени чем само задание, да это нельзя будет расширять, много хардкода, мало универсальности, но он справлялся быстрее.
Так что логика аш`еров и менеджеров вполне понятна, более быстрый разработчик, простив разработчика тратящего время на по большей части стилистические прихоти. А что безопасность, сопровождение, менеджерам с этим не работать, они вообще к тому времени будут другой отдел курировать. Вывод прост — скорость не показатель умений)
Конечно есть куча задачек, где опыт поможет работать быстрее. Где я за пять минут смоге сделать, то что джун мурыжил несколько дней. Однако если задачек много, и можно выбирать скучные ради скорости, такие вайтишники вполне могут похвастаться превосходством)
Так что логика аш`еров и менеджеров вполне понятна, более быстрый разработчик, простив разработчика тратящего время на по большей части стилистические прихоти. А что безопасность, сопровождение, менеджерам с этим не работать, они вообще к тому времени будут другой отдел курировать. Вывод прост — скорость не показатель умений)
Зачастую это оправдано:
Часто нужно «проверить гипотезу», сделать MVP, нет финансирования.
А основная разработка переносится на время, когда инвестор ввалит бабло.
Еще есть задачи, которые проще написать заново с нуля.
И такой работы много.
Поддержка тут не нужна.
Другое дело, что иногда решение о качестве кода могут приниматься осознанно.
А иногда решения о качестве кода принимаются только исходя из цены разработки, без учета цены обслуживания.
Впрочем, есть нюанс:
Когда проект уже функционирует и приносит деньги — стоимость его обслуживания не пугает.
Когда проект уже функционирует и приносит деньги — стоимость его обслуживания не пугает.
Да и переписывать его не надо. Ведь он уже приносит деньги… зачем тратиться? Best practices? Я вас умоляю, не вешайте лапшу на уши, когда будут новые фичи?
Да и переписывать его не надо. Ведь он уже приносит деньги… зачем тратиться? Best practices? Я вас умоляю, не вешайте лапшу на уши, когда будут новые фичи?
Это зависит от того — а как вы умеете объяснить бизнесу смысл «переписать все».
Есть в этом какой то смысл или нет.
От того, что вам там внутри кода неудобно — это не аргумент.
А вот то что старый код не дает возможность получить ту или иную фичу вообще или не дает возможности получить её в приемлимый срок за приемлимые деньги — вот это аргумент.
Если вам внутри кода не удобно — это первый звоночек что нужно все переписать, не важно под каким предлогом вы продадите это бизнесу. Так как именно от этого удобства зависит напрямую мотивация.
Для менеджера — представьте что проект это офисное кресло, проект с костылями, магией это офисное кресло где оставили крестовину и газлифт и так как времени нет — пиастру и сиденье заменили на седушку от велосипеда.
Да оно выполняет свои функции, да на нем можно сидеть, но вот после постоянного его использования каждый день по 8 а иногда и по 14 часов в день в течении года у вас извиняюсь начнет "гореть" седалище.
Если вам внутри кода не удобно — это первый звоночек что нужно все переписать, не важно под каким предлогом вы продадите это бизнесу.
Да вообще-то нет.
Если проект малоприбыльный или краткий по времени эксплуатации — смысла переписывать нет никакого. Но это вопросы вовсе не технические, а вопросы бизнеса.
Если вы не можете отрефакторить в рабочем режиме, а вам обязательно нужно подавать рефакторинг как «полную переделку, переход на новую принципиально иную версию ПО», то это не технический вопрос, а экономический и его нужно обсуждать с бизнесом.
Для менеджера — представьте что проект это офисное кресло, проект с костылями, магией это офисное кресло где оставили крестовину и газлифт и так как времени нет — пиастру и сиденье заменили на седушку от велосипеда.
Плохая аналогия подобна котенку с дверцей в боку.
Давайте я так напишу: «Представьте что это кресло, от которого пришлось отпилить подлокотники, так как конструктивно не было возможности их снять». Функционально, но не красиво. Менять не обязательно.
Эти художественные аллегории без технической мотивации построены только на вашей харизме. А это ненадежно.
С одной стороны вы определенно правы про техническию мотивацию — да правильно собрать все проблемы, перестроить архитектуру, вести стандарты оформления кода, тесты, спецификацию.
Вот только бизнесу это не нужно. Бизнесу нужна фича X желательно вчера.
На штатный рефакторинг времени бизнес не даст, а если и даст то не на постоянной основе а после опять кранчи с выпустить фичу вчера.
В итоге вы можете помимо и так авральной нагрузки еще и добровольно в не оплачиваемое время чисто из принципа рефакторить код после работы и спасибо вам за это не скажут, мало того еще и многие будут сопротивляться.
Либо запустить проект до уровня когда рефактиринг не поможет и останется только переписать проект с нуля.
В итоге остается либо попытаться объяснить бизнесу почему качество важно, какие проблемы у нас есть и как их решать и постоянного собирать метрики и еще каждый раз доказывать как и почему качество проекта приносит прибыль и лучше это сделать на ранних этапах проекта.
Либо понять что вам не по пути с этой компанией — если в мелочах вроде того как вам писать код вы не договорись то в случае кранча или любых других проблем все это вылезет в очень неприятные последствия как для компании так и для вас.
Если проект "малоприбыльный" — то нужно его либо превратить в прибыльный. Если проблема в качестве продукта — тогда рефакторинг и поможет. Если проблема в известности то поможет маркетинг а не +100500 новых фич. Если не достаточно фич — значит хромает реализация и стоит начать вторую версию. Либо возможно сама идея мертва не мучить труп и похоронить его.
Если проект "краткий по времени эксплуатации" то лучше сразу сделать его качественным по максимуму, так как нет ничего более постоянного, чем временное.
Если же проект MVP то не нужно после запуска продолжать его пилить как обычный проект а стоит сразу начать с нуля при первом получении прибыли а MVP сжечь как это и было изначально заложено в его природе.
С одной стороны вы определенно правы про техническию мотивацию — да правильно собрать все проблемы, перестроить архитектуру, вести стандарты оформления кода, тесты, спецификацию.
Вот только бизнесу это не нужно. Бизнесу нужна фича X желательно вчера.
Вы неправильно трактуете степень технической глубины, на котором следует общаться с бизнесом.
Бизнес не интересует — кластер у вас там или какой язык программирования, что там за архитектура и пр… Это исключительно ваша внутренняя кухня.
Бизнес интересует — а как сделать так, чтобы система работала стабильно — ответ «нужна репликация, а для этого нужно два сервера основной и дублирующий и переписать код в течении месяца».
Причем обратите внимание, умное слова «репликация» тут прошло вскользь.
Важно что:
- 2 сервера (расходы на железо больше)
- Важно что месяц на доработку (какие-то оценки)
- Важно зачем это нужно (для стабильности, чтобы система не падала после выхода одного сервера из строя).
Всё. Это тот язык на котором нужно общаться с бизнесом.
А то, что у вас там внутри будет PostgreSQL или No-SQL и т.п. — это уже не забота бизнеса. Именно потому и нанимают вас как технического специалиста, что это знаете вы, а не они.
Я понимаю, почему у вас проблемы в беседе с бизнесом:
«нам нужно изменить архитектуру, потому что эта архитектура говно» — с точки зрения бизнеса это абракадабра.
Хорошо еще если у вас атортитет немерянный и вам доверяют.
А если вы, к примеру, фриленсер со стороны подобного уровня ответ может трактоваться как попытка набить цену на ненужных работах.
Я как-то по молодости использовал термин production в разговоре с директором предприятия.
Он сказал мне: «Мне этого не надо, у меня не завод, никакую продукцию я не произвожу.». Хотя я имел ввиду development environment (debug environment) VS production environment. И ему это точно было нужно.
И это мой косяк, а не его, что он не понял меня.
Вы неправильно трактуете степень технической глубины, на котором следует общаться с бизнесом.
Бизнес разный бывает, просто я уже давно работаю в сфере где сам it проект — и есть продукт, что в основном руководство вполне понимает технические термины а если не понимает то есть CTO / ProjectManager / ProductOwner который может популярно перевести все это в понятный формат даже для 6-и летнего ребенка.
Для других сфер работает только момент с доверием — либо доверяют и выдают что нужно, когда нужно в необходимых объемах, при этом пока все это укладываются в бюджет на it и все что требуется работает сами не лезут.
Либо не доверяют и постоянно пытаются все "оптимизировать", провести аудит, вести новую %random methodology% управления и/или сертификации. Приглашают различных инфоциган которые в лучшем случае проведут никому не нужную лекцию о "выходе из зона комфорта" а в худшем уже расписали план внедрения, ликвидации текущей it команды и перевода it сектора компании на аутсорс с vendor lock и после продавливания к ногтю директора и высасывания всех активов компании.
Кстати именно в таких компаниях где it не основной продукт и отделу доверяют — работа вообще сказка, особенно если правильно настроить коммуникацию и процессы. Сроки по сравнению с продуктовыми кажутся смешными, переработки — только в случае ЧП и и своих собственных кривых рук. Ограничений на творчество кроме тех что коллективно приняты в отделе — нет. Единственные минусы это более низкий оклад, отсутствие бенефитов которые не особо и нужны, сложность в наращивании бюджета что важно если бизнес вырос а команда it нет, и опасность разлениться и не развиваться. Если же активно работать над собой и кодом — то можно очень сильно прокачиваться и в технологиях и soft skills.
в таких компаниях где it не основной продуктВ таких компаниях всегда есть риск, что отдел закроют и IT переведут на аутсорс при первом же шторме/кризисе
В таких компаниях всегда есть риск, что отдел закроют и IT переведут на аутсорс при первом же шторме/кризисе
Вы хотите сказать, что у чистых ИТ-компаний нет рисков разориться?
Бизнес разный бывает, просто я уже давно работаю в сфере где сам it проект — и есть продукт, что в основном руководство вполне понимает технические термины а если не понимает то есть CTO / ProjectManager / ProductOwner который может популярно перевести все это в понятный формат даже для 6-и летнего ребенка.
Им не столько умные термины нужны, сколько расчеты (точнее грубые прикидки, ибо точно этого не рассчитать):
Если мы сделаем рефакторинг сегодня за Х денег, то это позволит нам сэкономить на серверах завтра Y денег.
Это и означает говорить на языке бизнеса.
И в итоге, после 3-4 кодревью, джун делает задачу в 3-4 раза дольше, чем мидл разработчик, при этом отнимая время у сеньоров.
Я вообще считаю что милды с сеньерами и тимлидами все ревьюить должны. Это нормально. Когда я пишу код в модуль процентов на 70 написанный вот тем мидлом я ему и кину свой код на ревью. Он лучше всех это место знает и быстрее разберется что я там накодил.
В общем, не все курсы — такие, как описано. Есть те, которые предлагают разумный вход в айти в разумные сроки. Мы, например, учим основам 2.5 месяца, но никому не обещаем, что за это время получится стать даже джуниором-разработчиком на начальной позиции. Средний срок, о котором мы говорим — полгода-год после выпуска с курсов. Именно тогда человек может претендовать на джуна с ЗП 50-70к. (хотя сейчас есть и те, кто предлагает начинающим больше).
В общем, много ещё можно написать про разницу в подходах между «нормальными» курсами и описанным в посте. В конечном итоге, это какая-то «Бизнес-молодость» для «вайтишников». К сожалению, востребованность образования такого рода порождает такие вот кейсы… Надеюсь, что это не станет общераспространённой практикой.
Тут бы неплохо, конечно, попросить имена, пароли, явки, однако, полагаю, автор боялся, что пост удалят за упоминание конкретики.
Беспокоился не столько за пост, сколько за людей на которых могут выйти. Я не за «охоту на ведьм», я за профессиональный отбор кандидатов. Расскажите о Вашем подходе в статье, чтобы развеять мифы. Но в данном случае всё таки речь идёт о подготовке липовых «квалифицированных инженеров» за 3 месяца.
Есть лайфхак как таких отсеять, можно на irs.gov запросить налоги за послелние несколько лет. IRS не соврёт, но там надо чтобы кандидат запрувил. Если годовой доход был сильно ниже чем запрашивается, то картина ясная.
Было. Решением проблемы было приплести нашу бытность, а именно, рассказать сказки о чудо корпорации за Уралом, работающей не официально. И эта «невидимость» позволяет уходить от налогов. Не владею цифрами о теневом IT бизнесе в России, но в компаниях охотно верят.
к слову мой путь в ИТ именно так и построился — сначала устроился программистом, потом им стал :) но так мало кто делает и сможет повторить
Умудрился пожить с одним товарищем, который со своими друзьями открыл компанию под подготовке тестировщиков (Manual, при желании чуть Automation — как привет Портнову). Заучивают, как проходить собеседования, как составлять резюме, дает контакты тех, что может разрекламировать новобранца, в общем — как себя продать. Берут 10-15% от зарплаты на протяжении 12-18 месяцев.
Лично знаком с людьми (да и не сильно далеко от них живу), которые устроились таким образом. Но та «компания» работает только с гринкартщиками, с визовыми рабами здесь мало кто хочет иметь дело, особенно при Трампе и его наездах на H1B prevailing wage.
Бэкграунд чек — местами проблема, да, но компаний масса, многие смотрят только на то, как человек себя подает, и что у него в резюме. А шанс перепрыгнуть из ниши «никто за $15-18 в час» на $35-40-50 — очень ощутимый прогресс, и является мотивацией для многих, а если человек готов учиться и прогрессировать по работе — он там останется. Если нет — то при желании денег сможет тянуть лямку. А многим этого более, чем достаточно, т.к. они занимались тем же самым, но за меньшие деньги.
Что мешает компаниям построить грамотный процесс отбора? В некоторых компаниях собеседование разделено на 5-6 секций, которые проводят разные люди, и нужно понравиться каждому из них, чтобы получить офер. Здесь уже не получится зазубрить термины и пройти, понадобится и об архитектуре порассуждать и покодить в реальном времени.
Что мешает компаниям построить грамотный процесс отбора?
Незачем.
Статья о том, что, оказывается, действительно некоторые фирмы берут после курсов.
И это не ошибка фирмы.
Рабочие процессы в таких фирмах так построены, что фирмы устраивает наличие в штате специалистов такой квалификации.
В некоторых компаниях собеседование разделено на 5-6 секций, которые проводят разные люди, и нужно понравиться каждому из них, чтобы получить офер. Здесь уже не получится зазубрить термины и пройти, понадобится и об архитектуре порассуждать и покодить в реальном времени.
То, что вы упомянули — это просто длительная бюрократическая процедура.
Обусловленная тем, что никто в крупной фирме не хочет брать ответственность на себя.
1) По факту достаточно первичного отбора, выполненного HR по формальным признакам (да, тем самым, где могут спутать Java и JavaScript)
2) Разговора с тех. спецом.
3) Разговора с будущим руководителем.
Это даже в самом строгом случае.
Уверяю вас, если вы не специалист, а вас собеседует коллега более высокой квалификации — то и получаса хватит понять, что вы говорите о тех вещах, в которых ничего не смыслите.
Вы поймите, это не ваш пирог — мы, люди без ИТ-образования, вам, ИТ-выпускникам с корками, ничем не обязаны и вам лично ничего не должны.
Я могу уподобиться вам и назвать вас идиотами, раз с 5-летним багажом вы не можете удержать меня, вчерашнего продавца сноубордических комбинезонов, и соревноваться с достаточной форой.
Но мой опыт продаж этих комбинезонов и просто опыт топтания этой планеты подсказывает мне, что не стоит идти против сути человека стремитьс к простоте заработка, к вкусному и интересному занятию, которое получается у людей (а то что получается у человека — начинает ему нравиться, такова психология) и сражаться как Дон Кихот: вы не управляете взаимоотношениями, потребностями и ценами этого рынка.
Нас уже ряды: кто-то мидл, кто-то сеньор… нужна корка и справка? Пффф, легко, поступим и предоставим — решили напугать ежа голой жопой…
UPD:: всякие онлайн-курсы и правда говнище редкостное…
UPD:: всякие онлайн-курсы и правда говнище редкостное…
Смотря какие именно вы имеете ввиду. Я проходил отличные курсы с курсеры про алгоритмы, криптографию, компиляторы, теорию игр, машинной обучение и еще что-то. Там все преподы и курсы из лучших мест вроде Стенфорда или Принстона. ML ведет en.wikipedia.org/wiki/Andrew_Ng
А один из курсов про алгоритмы ведет Robert Sedgewick www.coursera.org/learn/algorithms-part1#about
Один курс по алгоритмам мне принес пользы больше, чем 5.5 лет в ВУЗе техническом с кучей устаревших предметов.
не приятно, что приходят вчерашние менеджеры и продавцы
Да. Неприятно.
Зато когда инженеры — приятно. Они свои.
Данная организация предложила по результатам собеседования должность Senior разработчика ещё одному соискателю. Хорошо, Middle разработчик это хоть и самостоятельная боевая единица, но за ним всё равно приглядывают старшие коллеги. Но Senior разработчик, это человек, который может управлять другими людьми и принимать решения. Вы с ума сошли?
Очень часто придумывают названия должностей — просто чтобы платить не деньгами, а тщеславием.
Проблема в том, что потом пафосное название должности въедается в подкорку (и трудовую книжку) и вот уже "сеньор" сменивший 6 работ по нарастающей (знаете же — "уволить в запас с повышением"), претендует на СТО. Или на тимлида. Или на какую-нибудь руководящую должность, на которой он разворачивается на полную.
Проблема в том, что потом пафосное название должности въедается в подкорку (и трудовую книжку) и вот уже «сеньор» сменивший 6 работ по нарастающей (знаете же — «уволить в запас с повышением»), претендует на СТО. Или на тимлида. Или на какую-нибудь руководящую должность, на которой он разворачивается на полную.
Вы хотите сказать, что достаточно только пожелать сильно (а твое желание подстегивается трудовой с крутыми названиями) — и тебе автоматом дадут должность?
Ну, конечно придется щёчки понадувать, языком поболтать… но и такое я тоже видел.
Хуже того, я под таким человеком даже поработал немного.
Пафосу, гонору, "ты будешь делать так, как я сказал или я тебе скажу, как надо делать", а сам, пребывая в должности СТО и тимлида разработки, два дня разворачивал vagrant и экосистему для PHP 7.1. Не развернул, пошел ставить это на реальное железо, за два дня справился, ага.
а сам, пребывая в должности СТО и тимлида разработки, два дня разворачивал vagrant и экосистему для PHP 7.1.
И что с того?
Директор завода не должен лично уметь работать на токарном станке.
Еще как должен. Иначе это не директор, а г… но.
Да, от него никто не требует, чтобы он вытачивал детали настолько же профессионально, как токарь высшего разряда. Но знать, что это такое, он обязан. И как это работает. И зачем это нужно.
Ааакей, объясняю подробно: я повысил зависимость в проекте с 7.0 до 7.1
Он заявил, что обязан проверить, не сломал ли я зависимости (в проекте из 1 контроллера, фреймворка и 3 файлов). Пошёл проверять. 4 дня проверял. Да, попутно он еще собеседовал по телефону людей ("чем отличается git commit от git push"), читал хабр, общался в слаке, пил кофе с печеньками и глубокомысленно передвигал окошки по монитору. Зарплата у него была в 4 раза больше, чем у меня на тестовом.
Эффективно себя продал чувачок бизнесу.
Еще как должен. Иначе это не директор, а г… но.
Да, от него никто не требует, чтобы он вытачивал детали настолько же профессионально, как токарь высшего разряда. Но знать, что это такое, он обязан. И как это работает. И зачем это нужно.
Да вы че.
А если это какое-то наукоемкое производство? Директор должен лично всё уметь? Все сложнейшие этапы?
Знать что это такое и для чего нужно, то есть понимать смысл токарного станка в цепочке производства — да, должен.
Но вот уметь лично на нем работать — нет.
Директор даже может не знать как его включить. Это нормально.
Знать для чего это нужно и уметь это лично делать — это разные вещи.
Завязывайте с демагогией.
По сути есть что сказать/возразить?
У нас не завод и не директор. У нас стартап и СТО. От директора (владельца бизнеса) никто, действительно, не требовал умения ставить экосистему (хотя, я думаю, он бы справился быстрее). Он для этого программистов нанял и СТО.
А вот если начальник цеха токарного не умеет на токарном станке работать — это звоночек директору. А он не умеет. Зато умеет щёчки надувать.
У нас не завод и не директор. У нас стартап и СТО. От директора (владельца бизнеса) никто, действительно, не требовал умения ставить экосистему (хотя, я думаю, он бы справился быстрее). Он для этого программистов нанял и СТО.
А вот если начальник цеха токарного не умеет на токарном станке работать — это звоночек директору. А он не умеет. Зато умеет щёчки надувать.
В ИТ такое огромное количество технологий нынче, что вполне нормально знать только часть их сколько-нибудь досканально, какая бы крутая у тебя должность при этом не была.
Для такой должности как CTO достаточно знать принципы — зачем эта штука нужна, что можно от неё ожидать, чтобы знать чего можно потребовать от сотрудников в части эксплуатации этой штуки.
Знать все технологии положено только тому, кто с ними лично работает. Что и логично.
А вот если начальник цеха токарного не умеет на токарном станке работать — это звоночек директору. А он не умеет. Зато умеет щёчки надувать.
Ну если это так просто — то почему бы вам не надуть щеки и не увеличить свою зарплату, пусть не в 4 как была тогда разница, а хотя бы в 3 раза?
Вы преуменьшаете значимость умения общения с бизнесом.
Типичное заблуждение, когда нам кажется, что начальник должен разбираться в нашей сфере лучше чем мы.
Это наше подсознательное инфантильное желание из детства — чтобы за нас кто-то отвечал, чтобы можно было свалить с себя ответственность на другого.
Для начинающего джуна, да, это крайне желательно. Ибо джун без пригляда старшего товарища такого может наворотить… К сожалению не все фирмы ставят в пару к джуну старшего опытного разработчика, это нужно.
Но после того, как вы уже достигли какого-нибудь профессионального уровня, что можете работать самостоятельно, а без постоянной слежки за вами со стороны опытного разработчика — то все меняется.
Понимаете, вас нанимают именно потому что именно вы обладаете техническими знаниями и навыками.
Именно за ваши технические знания/навыки вам и платят денежку.
Кстати очень может оказаться что совсем не здорово, что вами руководит человек что в недавнем прошлом разработчик. Он прекрасно понимает где плохо вы работаете, видит где вы ленитесь. Не укрыться, не отмазаться. Это в психологическом плане ад.
Как раз лучше, если руководитель обладает софт-скиллами, умеет сглаживать углы, закрывает вас перед руководством вышестоящими, правильно мотивирует сотрудников.
Например, одно из дел CTO, чтобы над вами не стояли разъяренные нетехнари (директор и пр.) «когда у вас сервер упал», чтобы они не мешали вам работать, его поднимать. Но это не значит, что он должен лично его поднимать.
А с учетом того, что это CTO — ему нужно кроме этого иметь представления о технологических цепочках у подчиненных. И только.
P.S.:
В некоторых фирмах CTO сам может являться непосредственным разработчиком.
К слову сказать таковыми могут являться даже и директора: Ларри Эллисон (Oracle), Павел Дуров (vkontakte), Билл Гейтс (Microsoft), Джон Кармак (id Software). Но первые 3 очень быстро отошли от разработки, а последний отдал общее руководство специализирующемуся менеджеру.
Ибо быть хорошим специалистом и в менеджменте и в технических вещах отлично разбираться — можно только в мелких фирмах/в простейших технических проблемах.
ИТ слишком разнообразно, слишком сложно.
Невозможно знать всё.
Да-да, я уже заметил. Меня сбили с панталыку.
Разумеется, гендиру/владельцу бизнеса не обязательно уметь работать на токарном станке (хотя плох тот генерал, что не умеет разбирать калаш).
А вот начальнику токарного цеха уметь работать на токарном станке обязательно. И техдиру хотя бы надо уметь его запускать и знать ТБ :)
Демагогия она такая — легко отвлекат от сути.
А вот начальнику токарного цеха уметь работать на токарном станке обязательно. И техдиру хотя бы надо уметь его запускать и знать ТБ :)
Вернёмся к ИТ.
Возьмем веб — есть сильно разные по инструментам специализации фронтенд и бэкенд.
Невозможно знать все инструменты, если ты с ними не работаешь регулярно лично.
Это конечно здорово, если CTO и бэкендер и фронтендер одновременно. Причем хороший спец в обоих направлениях.
Но в нашем обычном, а не идеальном мире — сие не всегда возможно.
Это нормально так как нынешнее ИТ — это о глубокой и узкой специализации.
Зарплата у него была в 4 раза больше, чем у меня на тестовом.
Эффективно себя продал чувачок бизнесу.
А что, должен был предложить бизнесу купить его рабочее время как можно дешевле, а не как можно дороже?
Мне одному кажется, что это у вас просто зависть?
Я, может, тоже хотел за зарплату в 4 раза больше не над кодом горбатиться по 12 часов в сутки, а сидеть, провода под столом пинать, хабр почитывать и печеньки жрать. И вопросы задавать про гит по телефону.
И я бы понял, если бы этот деятель действительно оправдывал свою зарплату. Но нет, судя по тому, что я видел, он её не оправдывал. Зато сумер надуть щёчки и продать себя задорого.
Вернитесь к тому что началось, ну: https://habr.com/ru/post/528678/#comment_22325832
Я, может, тоже хотел за зарплату в 4 раза больше не над кодом горбатиться по 12 часов в сутки, а сидеть, провода под столом пинать, хабр почитывать и печеньки жрать. И вопросы задавать про гит по телефону.
Разумеется.
И я бы понял, если бы этот деятель действительно оправдывал свою зарплату. Но нет, судя по тому, что я видел, он её не оправдывал. Зато сумер надуть щёчки и продать себя задорого.
С точки зрения бизнеса это человек был полезнее вас в 4 раза, и не вы его. Иначе бы на его месте были бы вы.
Как там на самом деле — это не важно.
Важно то, какая в реальности была зарплата у вас и у того человека.
Мир не совершенен и нет абсолютно правильных решений.
Смиритесь с этим.
С точки зрения бизнеса это человек был полезнее вас в 4 раза, и не вы его. Иначе бы на его месте были бы вы.
Все гораздо проще. Он продал себя бизнесу раньше, чем я. Тут сработало "кто первый встал — того и тапки".
И вернитесь уже к началу: у человека в трудовой по нарастающей 4 места работы в позиции "заместитель тимлида в мухосранске", там 3 месяца, сям 2 месяца, где-то аж 6 месяцев.
О чем я и говорил: "можно, имея пафосные записи в трудовой и минимум знаний, надув щёчки, получить дорогую должность"
С точки зрения бизнеса это человек был полезнее вас в 4 раза, и не вы его. Иначе бы на его месте были бы вы.
Все гораздо проще. Он продал себя бизнесу раньше, чем я. Тут сработало «кто первый встал — того и тапки».
Рассуждать что «я более квалифицированный, но зарабатываю в 4 раза меньше» можно сколько угодно.
Однако в конечном итоге всё зависит не от того, что вы думаете о себе, а то, что думает о вас бизнес (и ваша задача — убедить бизнес оценивать вас дороже).
Если вы действительно более квалифицированный, то легко находите себе работу на зарплату хотя бы в 2 раза больше.
Если вы действительно более квалифицированный, то легко находите себе работу на зарплату хотя бы в 2 раза больше.
Я же написал: "работал".
Но, к сожалению, чтобы получать 600 тыс рублей на руки, мне не хватает квалификации.
Теперь вы сами можете посчитать, сколько получал на руки этот деятель.
Однако в конечном итоге всё зависит не от того, что вы думаете о себе, а то, что думает о вас бизнес (и ваша задача — убедить бизнес оценивать вас дороже).
В этом абзаце вы утверждаете, что важно то, что думает бизнес, и ваша зарплата («оценка») связана с тем, как хорошо вы умеете убеждать бизнес.
Если вы действительно более квалифицированный, то легко находите себе работу на зарплату хотя бы в 2 раза больше.
А в этом абзаце вы вдруг начинаете утверждать, что зарплата связана с квалификацией.
Мы знаем, что эти параметры даже не связаны.
Они могут случайно совпасть, а могут и нет.
Так «в конечном счёте» зарплата-то в 2 раза больше зависит от того, вы «более квалифицированный» или от того, сумеете ли вы «убедить бизнес»? Вы уж разберитесь.
Так «в конечном счёте» зарплата-то в 2 раза больше зависит от того, вы «более квалифицированный» или от того, сумеете ли вы «убедить бизнес»? Вы уж разберитесь.
Для любого наемного специалиста скиллы по общению с руководством — являются частью его профессиональной квалификации, наряду с технической квалификацией.
Он заявил, что обязан проверить, не сломал ли я зависимости (в проекте из 1 контроллера, фреймворка и 3 файлов). Пошёл проверять. 4 дня проверял. Да, попутно он еще собеседовал по телефону людей («чем отличается git commit от git push»)
То есть он все же не 4 дня vagrant ставил?
А занимался совсем другой работой, причем именно своей работой?
come on, задачка на 15 минут.
А не "подошел, полчаса посидел, почитал гугл, покликал кнопками… подумал, отошёл, попил кофе, посидел в гугле, покликал мышкой, поговорил по телефону, попил кофе".
come on, задачка на 15 минут.
Для человека который занимается этим регулярно — да, конечно.
Я этим никогда не занимался. Я тупо следовал инструкции и читал надписи на экране.
У меня это заняло ~25 минут. Что я делаю не так?
У меня это заняло ~25 минут. Что я делаю не так?
Ну вот видите. Оказалось, что все же не 15 минут, а почти в 2 раза больше?
Вам то деваться некуда — это ваша часть работу. Её нужно сделать обязательно.
Человек, у которого основная работа совсем иная, может ковырнуть-ковырнуть, потом решить, что тратить такое количество времени не рационально.
Это вообще не входило в мои обязанности.
Мне стало интересно — чего там такого сложного, что надо 2 дня возиться? Я взял вечером, после работы и сделал. Ну, примерно за полчаса. Еще чаю попил в процессе, музыку послушал.
Это вообще не входило в мои обязанности.
Это входит в специализацию любого разработчика. Разбираться в этом нормально. Это не выдающееся достижение для разработчика.
Но не входит в специализацию любого руководителя. Разбираться в этом хорошо, но не необходимо.
В специализацию руководителя ИТ-шников входит по сути, работать переводчиком между бизнесом и технарями.
По вашему примеру мы видим, что это действительно бывает необходимо. Вот вы не понимаете откуда там деньги. А он понимал.
Ваша ситуация — ну это как бы токарь похвастался, что знает правильный угол заточки резцов, а его тупой, но много зарабатывающий начальник понятия об этом не имеет.
Но у начальника зарплата всё же в 4 раза больше. Так что он вовсе не тупой. Но не тупой в других вещах.
Начальник не туп в софт-скилла так называемых. А в технических скиллах не тупы вы. И это нормально.
В результате начальник благодаря своим софт-скиллам смог правильно со своей выгодой общаться с руководством, а вы не смогли, так как ваши скиллы преимущественно технические.
Я и говорю — ваш начальник по сути переводчик между бизнесом и технарём.
А вы уверены, что вы сделали именно то, что он пытался сделать? Я вот забил на Вагрант после того как не смог сделать динамическую привязку домена к динамическому же локальному IP виртуальной машины
Ну вот я пришёл тимлидом, решил для начала перевести локальную разработку на PHP под Вагрант, о котором слышал много хорошего. Три дня проколупался, но не смог достичь запланированных удобств. Плюнул и стал на хорошо знакомый Докер переводить
Есть мнение, что не надо «выжигать себе глаза», чтобы программировать на там уровне, на котором сейчас пишется большинство продуктов. Рынок проверяет эту идею и тестирует границы, в том числе, набирая вайтишников и бросая их на реальные проекты.
Если окажется, что это не работает, то компании вовремя повернут и заменят их и «настоящими» разрабами и мы вернемся к старым добрым временам. Ну или обанкротятся — не вижу смысла их принудительно спасать от этого. Нет причин для беспокойств.
Если окажется, что такая тактика работает, то и отлично — компании оптимизировали затраты на з.п. сотруднику со сверхквалификацией которая (как окажется) не нужна для выполнения требуемой работы. Сотрудники, в свою очередь, оптимизировали свои затраты времени и сил на обучение необходимое для получения работы. Везде сплошная оптимизация. В итоге потребитель получит продукт дешевле. Бизнес, производство материальных благ, ничего личного.
Хотите изучать теорию категорий и писать на Coq — нет проблем, но это точно не то, за что вам платят.
В целом весь этот вой против вайтишников считаю попыткой засидевшихся и подзаржавевших (не в смысле Rust, а в другом — в плохом) сторожил защитить свой статус-кво. Боятся, что их смоет волной дешевых, молодых, амбициозных, не нюхавших матфизики кодирующих макак. Если это окажется возможным — что же, такова жизнь. Мы же не хотим нарушать работу рынка. Если это невозможно — то волноваться нечего — ничто старожилам не угрожает, их цена даже подрастет на фоне неумелых конкурентов. Тот факт, что старожилы крепко волнуются говорит мне о том, что они и сами знают о том, что чтобы писать круды, не нужно «сидеть днями и ночами».
Дискламер: 16 лет опыта разрабом, кодирую и сейчас, имею топовое российское образование по computer science.
В итоге потребитель получит продукт дешевле.
С торчащей в интернеты камерой, ибо ачЁтакогото, дёшево же, быстро, конкурентно, инновационно. Но да, это вопросы не к качеству разработчиков, а ко всей бизнесмодели.
Ну или шторку механическую на камеру…
Если окажется, что это не работает, то компании вовремя повернут и заменят их и «настоящими» разрабами и мы вернемся к старым добрым временам. Ну или обанкротятся — не вижу смысла их принудительно спасать от этого. Нет причин для беспокойств.
Если окажется, что такая тактика работает, то и отлично — компании оптимизировали затраты на з.п. сотруднику со сверхквалификацией которая (как окажется) не нужна для выполнения требуемой работы. Сотрудники, в свою очередь, оптимизировали свои затраты времени и сил на обучение необходимое для получения работы. Везде сплошная оптимизация. В итоге потребитель получит продукт дешевле. Бизнес, производство материальных благ, ничего личного.
К сожалению, это больше не работает. Есть в сети такой короткий рассказ — «Копроэкономика» (почитайте. Ну, или, освежите в памяти).
По большому счёту, никто в бизнесе (начиная с грандов, а на них и помельче ориентируются) не заинтересован в выпуске на рынок качественного продукта. «Х… к, х… к — и в продакшн» (с)
В целом весь этот вой против вайтишников считаю попыткой засидевшихся и подзаржавевших (не в смысле Rust, а в другом — в плохом) сторожил защитить свой статус-кво. Боятся, что их смоет волной дешевых, молодых, амбициозных, не нюхавших матфизики кодирующих макак. Если это окажется возможным — что же, такова жизнь. Мы же не хотим нарушать работу рынка. Если это невозможно — то волноваться нечего — ничто старожилам не угрожает, их цена даже подрастет на фоне неумелых конкурентов. Тот факт, что старожилы крепко волнуются говорит мне о том, что они и сами знают о том, что чтобы писать круды, не нужно «сидеть днями и ночами».
Тут даже не знаю, что сказать. Если «старожил» за все эти годы научился максимум что «круды» писать — то туда ему и дорога (в смысле, «на свалку истории»).
У меня жизнь сложилась так, что пришлось поучаствовать в реализации проектов абсолютно разной тематики — был и свой мультивалютный опердень банка (середина 90-х), и серьёзная информационная система предприятия, и интересная с технической точки зрения «шабашка» (начало 2000-х, торговая система одной фирмы — 4 магазина с реляционной базой, реплицируемой практически в онлайне по модемным(!) каналам. да, репликация «мастер-мастер» 4х4, пользуясь случаем, передаю привет СОВРЕМЕННОЙ репликации PostgreSQL) и самый серьёзный проект — одна из подсистем на ЖД, непосредственно завязанная на управление движением. Кстати, недавно с удивлением узнал, что она до сих пор работает. На минутку: мы перестали её сопровождать в середине 2000-х годов. Обслуживающий персонал только выходящее из строя железо меняет и заливает нашу прошивку. А там «практически» жёсткий рантайм — оцените уровень надёжности.
А по поводу темы топика — у меня сейчас сын в универ поступил. Честно говоря, я ожидал худшего. Конечно, с нашим уровнем образования не сравнится, но некоторые ПРОФИЛЬНЫЕ предметы преподаются — моё почтение. Я «мониторю» его задания и как с него спрашивают. Сравнивать его знание, например, С++ с выпускником подобных курсов — это как сравнить кремниевое ружьё с АК-47.
Дискламер: 16 лет опыта разрабом, кодирую и сейчас, имею топовое российское образование по computer science.
Алаверды: овер 30 лет разработки (IBM 360, PDP 11/40-70, IBM RISC, теперь x86), одно из лучших образований в СССР и постоянное самообразование все эти годы. И да, до сих пор «играющий тренер».
По большому счёту, никто в бизнесе (начиная с грандов, а на них и помельче ориентируются) не заинтересован в выпуске на рынок качественного продукта. «Х… к, х… к — и в продакшн» (с)
Я с этим не согласен. Есть большой рынок качественных товаров. Все что угодно можно купить качественное и долговечное. Просто копропотребители всегда выбирают цену и получают соотвествующее качество — это проблемы исключительно копропотребителей.
Даже если ваш посыл про копроэкономику верен, то не понятно, что предлагается — спасти весь мир и всю экономическую систему высококачественными крудами и формочками с идеальными рамочками написанными на монадах?
Огромное количество активностей в программировании сейчас невероятно простые и требуют только внимательности у усидчивости. Не вижу смысле на такие активности нанимать людей с PhD…
Я с этим не согласен. Есть большой рынок качественных товаров. Все что угодно можно купить качественное и долговечное. Просто копропотребители всегда выбирают цену и получают соотвествующее качество — это проблемы исключительно копропотребителей.
А я с этим не согласен. КОЕ-ЧТО ещё можно купить качественное, но в основном — всё одноразовое. Бытовая техника, авто, электроника и т.д.
И, главное, цена ДАЛЕКО не всегда коррелирует с качеством.
И, кстати, не приведёте пример качественных и «долговечных» программных продуктов? На рынке (в отрасли), где была бы конкуренция и потребитель мог бы выбрать между несколькими поставщиками, заплатил бы побольше и остался доволен?
Даже если ваш посыл про копроэкономику верен, то не понятно, что предлагается — спасти весь мир и всю экономическую систему высококачественными крудами и формочками с идеальными рамочками написанными на монадах?
Огромное количество активностей в программировании сейчас невероятно простые и требуют только внимательности у усидчивости. Не вижу смысле на такие активности нанимать людей с PhD…
А при чём здесь «высококачественные круды и формочки с идеальными рамочками на монадах»? Напомню, что было написано в сообщении, которое я комментировал:
Есть мнение, что не надо «выжигать себе глаза», чтобы программировать на там уровне, на котором сейчас пишется большинство продуктов.
По вашему мнению, БОЛЬШИНСТВО продуктов — это круды и формочки?
И ещё из исходного сообщения:
В целом весь этот вой против вайтишников считаю попыткой засидевшихся и подзаржавевших (не в смысле Rust, а в другом — в плохом) сторожил защитить свой статус-кво. Боятся, что их смоет волной дешевых, молодых, амбициозных, не нюхавших матфизики кодирующих макак.
Вот как раз формочки и простейшие круды «кодирующие макаки» как раз писать могут. Проблема в том, что, как я говорил, современные системы — это не только эти простейшие операции. А вот тенденция ВСЕ компоненты систем реализовывать руками и «мозгами» «кодирущих макак» как-то настораживает.
Я в беседах с молодыми разработчиками часто привожу один пример: работал в 80-90-х на системах СМ-4 (RAM 256Kb), потом на СМ-1420 (RAM 2Mb), операционка RSX-11M. Максимальный размер программы — 64Кб.
Чисто информационная система (но достаточно критичная, городская справка), СУБД Adabas-M (да, вся СУБД меньше 64Кб), ужасная дисковая подсистема (пакеты на 20 Мб), пользователей (терминалов) чуть больше 20(!), из них очень активных (операторов) 16-18. В ЧНН (час наибольшей нагрузки) у оператора на то, чтобы принять звонок, выслушать абонента, понять, что ему нужно, набрать запрос, получить ответ, огласить его абоненту и нажать кнопку отбоя звонка уходило 22 секунды. Сам поиск информации в БД занимал меньше секунды (в редких случаях — меньше 2-х).
Когда во второй половине 90-х возникла потребность заменить данную систему, новая реализация была сделана на QNX4, в качестве СУБД — Watcom SQL. Скорость работы по сравнению с современниками на Linux, Windows, DOS впечатляла. Но вот пользователи жаловались, что скорость работы (т.е., поиска в БД) была существенно меньше, чем на СМ-ке.
При этом, работало это то ли на 386-х, то ли на 486- компах. Сравнивать их вычислительную мощность с СМ-кой даже смешно.
Так вот, моё глубокое убеждение, что разница в бОльшей степени обусловлена тем, что тот код (и ОС, и СУБД, и самой прикладной системы) писали совсем не макаки (скорее всего, ещё и на ассемблере). Плюс, не было такого нагромождения новомодных стеков и фреймворков.
А сейчас у меня ноут, с которого пишу, имеет памяти в 8192 раза больше (во сколько раз i7 превосходит ЦПУ СМ-ки — даже думать не хочется). Стало всё работать ли лучше/быстрее хотя бы раза в 2 — НЕТ.
Плюс, повсеместная тенденция, что код д.б. В ПЕРВУЮ ОЧЕРЕДЬ, читаемым (sic!). Помню, в начале 2000-х (вроде) решил познакомиться с Java, по старой привычке после беглого просмотра синтаксиса языка, стал смотреть исходники библиотек. Помню, смотрел реализацию какой-то коллекции. Так там для того, чтобы «красиво обойти» её, вводились фиктивный первый элемент (перед головой) и последний (после хвоста). Т.е., создание двух элементов (выделение памяти, инициализация и т.п.) — и всё ради того, чтобы написать просто цикл for, без проверки условий перед циклом. Нашёл ещё какой-то подобный прикол — и закрыл для себя Java (на достаточно длительное время).
Просто мы тогда как раз писали систему, где если информация не доставлена за заданное время — то это считалось отказом. Поэтому было странно такое видеть.
А такой вот подход (читаемость в ущёрб скорости) — это, к сожалению, мэйнстрим сейчас.
цена ДАЛЕКО не всегда коррелирует с качеством
Я не предлагаю выбирать дорогое, я говорю, что если хотите качественное, то должны платить больше…
Да большинство программных продуктов которые приносят прибыль — это круды и формочки.
Проблема в том, что, как я говорил, современные системы — это не только эти простейшие операции. А вот тенденция ВСЕ компоненты систем реализовывать руками и «мозгами» «кодирущих макак» как-то настораживает.
Ключевое слово «большинство» — это не означает, что «все», это означает существенно выше 51%.
Код должен быть понятный, даже если он хуже по производительности, потому что производство кода — это бизнесс. Вкладывать деньги в больше быстрого железа выгоднее и более предсказуемо, чем тратить их на поддержку непонятного, но очень быстрого кода.
Закрыли для себя Java — поздравляю! На нем писан не один движок сверхбыстрой алгоритмической торговли на биржах (угадайте откуда я это знаю?). Бизнесс доверяет большие бабки джаве и ее производительности…
Ну и так далее — динозавры пытаются сохранить свой статус кво непосредственно перед вымиранием. Ничего личного, но вы отрицаете, что система как она есть (на Java, Kotlin, С#, F#) как-то работает и ниша применения оооочень быстрых языков сокращается постоянно вместе и с потребностью в специалистах соответствующего класса. Ну и как-то работает система — пишу вам с телефона, сейчас бы вспомнить в какой заднице находится Nokia c ее С++ и Qt…
Попробуйте Miele. И, может быть, Mercedes — но только не копромодели, а что-нибудь в районе E klasse и выше.
Да мне не нужно рассказывать про Мерсы. Особенно, про современные и их сравнение со 124-м, например. Я, кстати, езжу на дойчеавто, но 2015 года и с меганадёжным 3,6 (а не современным «пакетом сока» 2л).
Я не предлагаю выбирать дорогое, я говорю, что если хотите качественное, то должны платить больше…
Да большинство программных продуктов которые приносят прибыль — это круды и формочки.
Да ладно!.. :) Вот бизнес-то идиоты. Платят за формочки, а не за хранение и обработку(!) данных. Кстати, под обработкой понимается ОЧЕНЬ широкий спектр задач/операций (ну так, на всякий случай...)
Код должен быть понятный, даже если он хуже по производительности, потому что производство кода — это бизнесс. Вкладывать деньги в больше быстрого железа выгоднее и более предсказуемо, чем тратить их на поддержку непонятного, но очень быстрого кода.
Мы смотрим с какой точки зрения? Если бизнеса (заказчика) — то ему по барабану, как написан код (в смысле, понятно или непонятно). Ему главное, чтобы система работала в заданных рамках (производительности, надёжности и функциональности).
То, о чём Вы говорите имеет смысл или с точки зрения того менеджера, кому придётся сопровождать это всё, или с точки зрения менеджмента компании, если систему разрабатывало одно из подразделений компании и в разрезе исключительно TCO. Для стороннего заказчика как раз в первую очередь важна функциональность, стабильность и производительность.
Закрыли для себя Java — поздравляю! На нем писан не один движок сверхбыстрой алгоритмической торговли на биржах (угадайте откуда я это знаю?). Бизнесс доверяет большие бабки джаве и ее производительности…
Вы или передёргиваете, или невнимательны. Я ТОГДА закрыл для себя вопрос Java. Сейчас появились другие задачи (конкретно — «кровавый энтерпрайз» на web), поэтому пришлось вернуться к Java.
И да, про «сверхбыструю алгоритмическую торговлю» понравилось. А позвольте поинтересоваться — а с чем сравнивали?
Ну и так далее — динозавры пытаются сохранить свой статус кво непосредственно перед вымиранием. Ничего личного, но вы отрицаете, что система как она есть (на Java, Kotlin, С#, F#) как-то работает и ниша применения оооочень быстрых языков сокращается постоянно вместе и с потребностью в специалистах соответствующего класса. Ну и как-то работает система — пишу вам с телефона, сейчас бы вспомнить в какой заднице находится Nokia c ее С++ и Qt…
1. Вы сами это написали: «система КАК-ТО работает». Проблема именно в этом: а могла бы работать гораздо лучше (предположу, что в разы), если бы всё, что не «круды и формочки» делали не «кодируюшие макаки».
2. Видимо, Вы всё-таки не поняли: я не о том, что всё нужно писать на С++ или ассемблере. Даже на Java, C# и т.п. можно писать вдумчиво, а можно как «кодирующая макака».
Да, кстати, видимо, в вашем понимании я (и такие как я) как раз и те самые «динозавры». Возможно, это и так (в смысле, что нормальные спецы вымирают). Только вот думаю, что код написанные такими динозаврами будет лучше большинства «млекопитающих» (это по аналогии, что на смену динозаврам пришли именно они) и работать будет дольше.
А что с авто не так? Сейчас при выборе авто самое главное это компромисс между «цена 1 км пути» и «безопасность». хотя для кого-то будут и др потребности «экологичность» если живешь в европе, или «частота поломок» если живешь в дали от сто или ритм жизни требует «чтобы не ломалось».
Взять тот же ford focus (у кого-то получилось что 1 км пути 3,3руб — это же дешево, навряд ли можно найти машину у которой 1 км пути будет дешевле и остальные параметры будут +- такими же) Тыц
For whom how ©
Для меня главное надёжность авто (про безопасность даже не говорю — у меня два дня рождения и второй — благодаря машине, которая пошла в утиль после аварии, а у меня только одна царапина). Естественно, «функционал» (в смысле соответствия задачам) тоже важен (свой предыдущий экспедиционник сменил на немца именно после того, как задачи изменились).
Все свои машины содержал в таком техническом состоянии, чтобы я мог выйти из дома и поехать на 4000 — 5000 км. И чтобы нужно было только заехать на заправку.
А было время, когда я ездил в экспедиции в места, где цивилизации нет от слова «совсем». Полный привод, подготовленная машина и всё такое. Может, оттуда и пошла эта маниакальная тяга к надёжности.
А вот стоимость 1км пути меня никогда не интересовала. В жизни есть другие приоритеты и ценности.
Есть у меня один знакомый… в феврале пошёл на какие-то курсы учить питон и ML. До этого программирование в руки не брал (не считая фортрана в ВУЗе).
… В начале лета их закончил. Всё лето искал работу, в сентябре нашёл. В какой-то стартап с машинлёрнингом и вот этим всем. Сначала жаловался на "синдром самозванца", а потом, похоже, привык.
… вчера человек начал доказывать, что полнотекстовый поиск по текстовой базе на 3 гига делать надо исключительно регулярками, сфинкс не нужен, эластик не нужен, а если я не делаю это регулярками, значит я… как бы помягче выразиться…
И еще с апломбом таким…
… вчера человек начал доказывать, что полнотекстовый поиск по текстовой базе на 3 гига делать надо исключительно регулярками, сфинкс не нужен, эластик не нужен, а если я не делаю это регулярками, значит я… как бы помягче выразиться…
В некоторых специфических случаях так и надо.
Например, из действительно необходимого — на Хабре была статья как некая фирма именно с применением regexp организовала поиск по логам в дополнение к фильтрации по полям структуированного лога. Продает как сервис анализ логов.
Имхо, можно довольно гибко находить нужное, если логи недостаточно структуированы для какого-то случая.
… вчера человек начал доказывать, что полнотекстовый поиск по текстовой базе на 3 гига делать надо исключительно регулярками, сфинкс не нужен, эластик не нужен, а если я не делаю это регулярками, значит я… как бы помягче выразиться…
Может быть вы имели ввиду на 3 терабайтах?
Ибо на 3-х гигах эластик действительно не нужен. Да и сфинкс может оказаться избыточным.
Это все прекрасно укладывается в оперативную память современного железа.
Фактически все упирается в то:
как часто и как быстро нам нужно искать и как часто обновляются данные и является ли это основной задачей железа или нет, насколько шустро железо, можно ли поиск как-то ограничить, например, выделив какое-то одно важное поле по которому нужен поиск быстрый, а по остальным искать regexp'ом.
Но, полагаю, ваш знакомый полагал сие решение не для какого-то узкого-специального случая, а для всех подряд. Это конечно перебор.
Была бы задача искать по логам — я бы взял какой-то из имеющихся инструментов (благо, есть) либо действительно искал регулярками. Иногда ищу, что уж там отрицать :)
Может быть вы имели ввиду на 3 терабайтах?
Нет, у меня новостной сайт, 3 гига — база текстов статей. По этому всему нужно искать что попало, быстро, со словоформами и морфологией. Полнотекстовый индекс MySQL недостаточно быстр/удобен/итд.
Я использую мантикору (manticoresearch.com). Сфинкс устарел и не поддерживает много интересных штук. Мантикора выбрана по совокупности требований/возможностей. К тому же это развивающийся продукт, на гитхабе прислушиваются к пожеланиям пользователей.
Но, полагаю, ваш знакомый полагал сие решение не для какого-то узкого-специального случая, а для всех подряд. Это конечно перебор.
Разумеется :)
"Не умеешь пользоваться регулярками — нехер умничать, что какой-то сфинкс используешь"
Стандартный трейдоф перформанс на память…
Вижу это объявление и думаю, что за 5-ь лет практики в разработке я просто не тем занимался, надо было идти на курсы.
Получается все эти рекламы про курсы «вайти» — это как своеобразное «Азино три топора» — только вторых запретили рекламировать в публичных местах
К сожалению, за 1-1.5 часа собеседования нельзя на 100% убедиться заучил человек всё и сможет ли он сделать что-то больше, чем решение маленьких тестовых задач. А браться за большое тестовое задание готова лишь малая часть кандидатов.
К счастью, уже на испытательном сроке становится видно какие у человека навыки и является ли он самозванцем. На моей памяти лишь в нескольких компаниях собеседование было на том уровне, чтобы оценить весь уровень знаний, исключая просто заучивание и мелкие задачки. Но это скорее исключение, чем правило.
Это как в знаменитом баше:
«Господа студенты, не учитесь, пожалуйста! Старайтесь как можно больше получить на халяву! Чем меньше вы знаете по окончании института, тем более ценен я как специалист и тем большую зарплату я могу потребовать за свои услуги!»
Хайп по IT превратил профессию из ремесла в масштабируемую. Если раньше программирование было уделом гиков-фанатиков (в английском есть отлично подходящее слово hacker в положительном смысле, а не в том, которое у нас), которые знали всех вот этих ваших Кнутов наизусть, понимали, что стоит за указателем, что такое битовые операции на уровне процессора, да, черт возьми, знали что такое 0xCC и 0xEB 0x05, например. То сейчас я все чаще сталкиваюсь с вопросами а-ля: а что такое 00110101<<2
или 0011 & 0101
(примеры высосаны из пальца, но не суть).
Программирование, имхо, прошло десакрализацию. В профессию пришли люди, для которых это просто заработок — это те люди, которые не будут вне работы копать очередную технологию или разбираться во внутрянках используемого фреймворка или языка. Это не значит, что хакеры-фанатики стали не нужны, просто их, во-первых, нет в том количестве, в котором есть спрос на программистов, и (во-вторых) не каждой фирме они объективно подходят для решаемых задач, уровень которых банальная (или не очень) бизнес-логика, не сильно интересная для хакера-фанатика.
Но речь не о ней — с ней на курсы ходил парень лет 30. До курсов самый большой скилл — танк 80 уровня в World of Tanks. Прошел курсы, насочинял себе проекты, в которых якобы участвовал, опыт работы год, пошел собеситься на мидла на зарплату 2к зелени. Там его раскусили — и что он нигде не работал, и что проекты липовые — но им было не важно. Аутсорс такой аутсорс, клиенту позарез нужно доукомплектовать команду мидом — будет ему мид, в процессе чему-нибудь научится.
Что это значит для нас, «настоящий» айтишников, прошедших Макколена, и кодящих с детства? Только то, что среди моря дерьмовых проектов, на которых по уши засядешь в рефакторинге на каждый чих от таких вайтишников, нужно выбирать те, где работают такие же как ты. Или только стартовавшие. Поверьте, среди нас тоже хватает динозавров, которым за счастье поддержка гнилья на технологиях 2001 года — просто нужно найти проект под себя. У меня пока получалось, не знаю как будет в будующем.
Вообще не трогают и не вызывают агрессии такие люди. Скорее восхищение даже и стимул улучшить свои навыки презентации. Ведь компания, которая наняла на должность senior программиста с двухмесячным стажем узнаёт об этом. Может через неделю, может через пару месяцев. И в итоге усложнит процесс приема для всех. Это реальный минус
Расслабьтесь, это вообще мировая тенденция, Россия здесь вообще не уникальна. Работая в большом международном корпе с распределенными командами, я вижу как это происходит в рамках всего мира. Как, например несколько сеньоров например из Европы, заменяются толпой индусов, а через несколько лет толпа индусов заменяется на еще большую толпу мексиканцев и качество дальше падает еще катастрофически (хотя для такой работы хватило бы и 2-х сеньоров). С моей точки зрения, я вижу множество факторов, которые приводят к этому. Высокая стоимость (и зачастую весьма обоснованная) действительно толковых специалистов и короткий цикл жизни софта и как следствие необходимость писать код быстро и быстро выкатывать в прод, что бы через полгода-год, сказать это что сделали все фигня и надо быстро запилить новую систему вместо старой (много ли сейчас приложений или систем с жизненным циклом лет в 10 хотя бы ?). Как следствие, с точки зрения бизнеса — толпа вайтишников выгоднее, чем команда профи в краткосрочной перспективе. Как минимум с точки зрения устойчивости проектов, тупо если из команды в 20 вайтишников уйдет 3-5 сотрудников, это даже не сильно заметно будет (да и заменить не сложно) — то из условно равноценной команды профи-сеньоров в 4 человека — потеря даже одного — уже критическая ситуация для проекта. С обратной стороны — текучка кадров вайтишников — это другая сторона попаболи менеджера проекта. У тех же индусов в среднем attrition rate (текучка кадров) в среднем идет от 15-20% в год (тупо из 5 пришедших — один уйдет в течении года), а у тех же мексиканцев доходит и до 50%? И как работать с такими вайтишникаим, если learning curve (время на обучение что бы понять все внутренности проекта) в твоем проекте порядка 18 месяцев и к моменту окончания числа обучения нужно начинать все по новой, поскольку первые пришедшие в проект уже ушли ?
При этом падаванов научили правильно просить бабло и не прогибаться, под баблоносителей, то есть нормальный спец, потом сможет в несколько раз больше слупить, если он правильно выстроит общение с заказчиком.
Вот если бы падаваны демпинговали, то тогда конечно, это был бы серьезный повод бежать туда с монтировкой наперевес или с каким другим объяснятелем.
Ресурсов этой планеты на всех не хватает и на любое место дающее возможность найти в супе мясо, будет толпа голодных, это неизбежно, это жизнь. А так-то ЗП в 150к за которую еще и пахать надо, в 2020 году совсем не предел мечтаний.
Но фактически по большинству тезисов согласен с автором, фактически сам знал одного парня, которого после курсов приняли на должность синьора-помидора. Не буду оценивать его квалификацию как программиста, но все же по мне senior — это даже не про знание языка, фрэймворках и умении вайтбордить на собесах, это про возможность самому ставить задачи в контексте проекта и самому иметь возможность их решить, а первое невозможно без боевого опыта.
Я вижу это так, что в жизни компании наступает такой цикл, когда им нужно включить микропылесос для рынка и заполнить кадровые дыры, а потом отписаться об успешных нестандартных кейсах их эйчаров, хотя может и могу ошибаться.
Единственное с чем я не соглашусь — то что ИТ не резиновое. «Оно из куда более эластичного материала». Не надо боятся что тебя, качественного, закаленного в боях ИТшника рынок(именно рынок а не компания) разменяет на зеленого вайтишника. Рынок сам все отлично порешает, как показывает практика, и на видимом горизонте все расставит на свои места, и пока у клиентов одного банка будут утекать деньги из-за дырок, ты в другом будешь пилить киллер-фичу и наблюдать этот мир в огне.
Просто чтобы набрать хороших HR’ов нужен хороший HR :)
В больших компаниях вообще порой бардак с бизнес процессами и должностными обязанностями, где ты работаешь за несколько разных ролей. В малых вообще устоявшихся бизнес процессов нет и все меняется постоянно и при этом руководство не всегда доводит до всех что где и как поменялось, а все эти умные системы CRM, ERP иногда только усложняют работу, вместо упрощения так как работодатель не умеет их использовать для получения выгоды, а так как уже купили и внедрили отказаться сложно...
А говорить, что раз человек не горит программированием с детства и его не посещал восторг от реализации собственного проекта, то не нужно сюда лезть — поищи что тебе по душе. Ну это все равно, что предлагать рабочему с конвейера начала 20 века выбрать занятие себе по душе. Вариантов на выбор не слишком много.
Уважаемые расскажите мне как "войти вайти" так сказать с улицы да и без знания инглиша можно ли будет научится хоть чему-то до 2021 и заработь на этом. Могут ли меня взять на обучение с мин окладом?
уеду на 13-й кордон, буду откликаться на Кузьмича
30+ лет увлечения кампами, с переходом от эпохи, когда упаси боже сказать кому что ты компьютерщик до сегодняшнего гордого «Йа Айтишник!!!»
мой опыт:
от System 360 (кампы БЕЗ операционки, да да) и Asm 8086 до фреймов с virtal DOM и блокчейнов всех мастей, руководство как гениями, так и долбодятлами, управление продуктами как «пилим с нуля» так и «ну, есть у нас тут 'немного' легаси»
мои soft skils:
Прямой и непосредственный, циник, правдоруб, но добрый. Если и рублю правду матку, то не матом, а кратко и по делу. Жесткий прагматик, который предпочитает дискуссию спору (обоснование в основе аргументов, а не либидо) и требующий такого же предпочтения от оппонента, без чего уважение моё сложно заслужить. (типа положительно токсичный, как кислота против ржавчины) типичный суровый админ короче)
В принципе мне, понятное дело, искать работу не приходится — инвайтов завались всегда, но обычно с первого раза не устроишься — приходится несколько собеседований проходить в разные проекты, перед онбордингом, а история моя всегда примерно такая — устроился кодером, всё супер, я кайфую программируя, они во мне души не чают, начинают прибалтывать в лиды/СТО/продакты и уже на этих должностях начинаются выгорания, потеря энтузиазма, да пошло оно всё лесом и тд, в результате чего больше 3х лет в одном проекте как то не получается и за 20хх годы накопился весьма приличный опыт трудоустройства, так вот в 201х у меня резко возрос процент отказа после собеседований по причине overqualified — типа такой себе «чувак ты для нас слишком хорош» ) при том что я особо цены не ломлю и синдром самозванца у меня присутствует не слабо так, особенно если
Адекватного белого найма в РФ для умеющего «по площадям» 40+, но без связей — нет.
Не знаю с чего Вы это взяли — на рынке в принципе кадровый голод с одной стороны и засилье посредников на этой почве с другой, рекрутинговые агентства процветают и предложений от них гораздо больше, чем от прямого работодателя. В основном отказы «overqualified» я получал либо если хантит крупная контора, либо если собеседование и скрининг проводит агентство, а устроиться в стартап, либо например войти в команду opensource проекта, вообще не проблема.
нужно свое дело делать
учту, если снова куда на зп поработать приспичит )
Я вполне не плохо живу за счет доходов с консультаций, инвестиций, менторства. Да, были мысли запустить свою IT компанию, но я ещё занимаюсь исследованиями в области распределённых систем (не финансовые блокчейны, например в роли DPKI, квантовые вычисления, криптография), у меня на морально-менторско-технической поддержке пара Российских стартапов, например tuq.su, просто так, не забабло, а для души, просто ребята классные и идеи интересные, так что наверное я воздержусь пока от создания какого то юр. лица, управления конторой и прочей дополнительной ответственности. А имелось в виду, что у меня не опубликовано резюме, закрыт досткп к linkedin аку и всё равно меня постоянно пытаются хантить, на почту, в телегу, даже звонками на мобилу прилетают инвайты, но я к этому отношусь терпеливо, понимая, что вычищать себя из баз разных контор, занятие не благодарное — пусть будет, мало ли, вдруг пригодится, жизнь она такая штукенция, а так есть пару мест, где соломка постелена )) Так что не надо мне для трудоустройства ни каких связей, просто резюме опубликовать и отбоя не будет, да и toptal и turing есть которые первые же найдут куда устроить «дедушку» )
И к слову об РФ, да, понимаю, удобно, когда все говорят на Русском, но в целом сейчас программер, не владеющий Английским совсем, это странно, а специфика профессии такова, что можно работать откуда угодно где угодно и мой Вам совет, ищите работу где нибудь на angel.co
Мне был интересен вопрос, каким образом будут позиционировать людей после курсов, обладающих нулевым опытом, но жаждущих позиции Middle-разработчика? Всё просто, им нарисовали год опыта работы в компании! Да, вот так просто
Забавно, когда я написал о том, что образование и опыт работы это ключевые критерии подбора — все наперебой принялись убеждать меня, что это не так, что «важно знать и уметь, а остальное неважно». Хахаха.
Вот только какое именно образование и как помогает? Я, скажем, стал программистом до того, как получил соответствующую корочку. И таких в группе хватало — принёсших на диплом куски своей работы, которая и так наличествовала ещё до начала учёбы.
А вот что из той учёбы мне пригодилось в работе… я так до сих пор и не понял.
Помните шикарную историю про директор_ку Yahoo, у которой оказался поддельный диплом?
Если взять с улицы бомжа, обрядить в костюмчик и дать ему бумажки о том, что он закончил физтех и работал 10 лет сеньором даже в том же сбере — его можно без подготовки отправлять на любое собеседование, и его возьмут на работу.
Столько лет спустя у меня оба скандала слились в один — директорку осуждали в связи с дискриминацией мужчин на работе, а поддельный диплом оказался у директора.
Формальное, разумеется. «Без бумажки ты букашка».
Помните шикарную историю про директор_ку Yahoo, у которой оказался поддельный диплом?
Если взять с улицы бомжа, обрядить в костюмчик и дать ему бумажки о том, что он закончил физтех и работал 10 лет сеньором даже в том же сбере — его можно без подготовки отправлять на любое собеседование, и его возьмут на работу.
Конкретно ту тётю взяли в Yahoo вовсе не за костюм и не за диплом.
До Yahoo она себя зарекомендовала в Google на руководящих должностях.
зарекомендовала
История о том, как она себя «зарекомендовала» на самом деле просто шикарна.
Я немножко обновил свои воспоминания и понял, почему я перепутал её с тем чуваком, который наврал в резюме про диплом. Потому что она оказалась человеком ровно того же типажа — имитация бурной деятельности, пыль в глаза, кидалово.
Тут прямо лежит на поверхности, что её выпнули из Гугла, когда больше не смогли терпеть её глупость даже в благодарность за то, что она "начинала с ними в маленьком стартапе" (из-за чего, очевидно, её и терпели и повышали все эти годы).
Зарекомендовала она себя примерно так:
Успехи Майер в Google на позиции разработчика оказались не слишком впечатляющими. Она больше месяца возилась с системой, которую нанятый ей в пару Джефф Дин построил гораздо быстрее. Тогда Марисса поняла, что больше не хочет программировать — но и уходить из Google тоже не желает. Она стала искать своё призвание, осваивая работу во всех департаментах проекта. Майер поработала в отделе маркетинга, в PR-службе, помогала настраивать сервера, писала речи для руководства, проводила служебные совещания.
В общем, ничего нового — специалист по активизму. «Шурочка, если мне не изменяет память, вы числитесь в бухгалтерии?»
Что касается Yahoo, то там она «зарекомендовала» себя ещё круче:
Однажды генеральный директор провела все выходные, общаясь с командой дизайнеров по поводу логотипа компании. Они подолгу обсуждали такие детали, как угол наклона восклицательного знака (81 градус). Есть и другие случаи: по словам одного из дизайнеров, уволившегося из компании, однажды Майер продолжительное время спорила с ним о том, какой ширины должна быть рамка на странице — и «довела» его тем, что попросила обосновать, что лучше для интерфейса — три или пять пикселей.
…
Процесс затянулся на месяцы. Она просто не могла держать в голове всё, что ей сказали менеджеры. Было сделано более 20 перестановок, и никто не знал, над чем он будет работать, когда Майер наконец определится.
Доведя компанию до рекордных убытков, она продала её «Веризону» и получила 200 лямов долларов за эту сделку.
Буквально это прямая иллюстрация к тому, что я написал.
Как в этой ветке комментариев — любой дурак с хорошей бумажкой (в данном случае это бумажка о работе в Гугл) получит хорошую работу, даже если он очевидно недееспособен.
Так и в ветке комментариев выше — враньё, подделки, имитация всегда важнее настоящей работы. Часто упирают на то, как она «много работала», но толку-то в «ста часах работы», если ты сто часов обсуждаешь угол наклона восклицательного знака?
У меня была такая коллега в одной компании, тоже работала директор_кой, и, забавно, тоже PR и вот это всё. Знать не знала практически ничего, но тоже всё время много сидела «на работе» и постоянно везде лезла. Если бы ей повезло, и она бы начала работу не в российской компании, а в Гугле, то теперь тоже была бы миллионершей и успешно руководящим руководителем на успешно руководящих должностях.
Для владельца бизнеса, не имеет значения какие из имеющихся проблем, вы можете решить. Его волнует если по гамбургскому счету, лишь на сколько возросла/упала выручка, с вашим приходом в кампанию, или то же самое но в обозримом периоде, — 3 месяца, полгода, по отношению к затратам на вас.
Программистом пишущим добротный код НЕВОЗМОЖНО стать за период времени, меньший чем 3-5 лет. В силу того что необходимо качественно усвоить, огромное количество, на прямую не связанных со знанием языков, технических (как вообще работает операционка?) и обще-математических (ой сколько же напридумывали алгоритмов, для решения одной простой задачи!?), и чисто опытных (а как главный гуру это написал в коде?) знаний.
Это не специальность в которой работают с материальными объектами или людьми. Тут не работают способы привычно используемые в «реальности», типа «дрессировки». Здесь абсолютно бесполезно что либо заучивать или зубрить. За место этого тут нужно понимать и видеть как практически это использовать. Каждый программист САМ и только сам доходит до понимания вещей, необходимых для написания хорошего кода. И таки КАЖДЫЙ путь, даже к одним и тем же навыкам уникален всегда.
Так что гораздо больший интерес вызывает само появление феномена «наглых говорунов».
Может стоит обсудить что не так с программированием в принципе? Почему заместо программистов, в проектах сидят обезьянки для тыканья функций из библиотек?
Может вообще дело в нас а не в этих смешных «курсовиках с понтами»?
И специально для тех кто жжет за за социальные навыки и прочие посторонние скилы, — Идите в жопу!
Ну или как можно дальше от программирования. Не бывает отличных математиков работающих дальнобойщиками. Мне неизвестны случаи топ менеджеров, обладающих реальными навыками в какой либо специальности, из имеющихся у людей в его подчинении. Это строгая линейная зависимость, — хочешь «разговоруниться» или стать афигенно социальным, плати потерей в навыках программирования. И точка.
«Если в человеке сочетается невежество и уверенность в себе, то успех неизбежен».
Марк Твен.
Ведь судя по списку вакансий на hh, в той же северной столице многие работодатели жаждут получить себе сеньор-программистов на зарплату ~100K при требуемом опыте работы 1-3 года. Да что там сеньоры, будучи студентом 2 курса бакалавриата можно устроиться стажером-программистом на «полдня» за половину этой суммы, а то и больше.
И получается, что желания новоиспеченных программистов не только реальны, но и вполне осуществимы в короткие сроки. А значит ситуация с многочисленными онлайн-курсами — это классический случай, когда именно спрос рождает предложение. (Это началось не вчера, конечно, но кризис этого года заставляет всё больше людей обращать внимание на стабильную ИТ-сферу.)
Можно сделать вывод, что проблема совсем не в том, что "Технологические компании (...) легко обманываются людьми, которые зазубрили понятия...". И уже тем более не в онлайн-курсах. Вернее, это даже не проблема вовсе. Я совершенно уверен, что формулируя требования к вакансии подобным образом (см. выше) работодатель полностью понимает и принимает риски.
Остаётся только один вопрос — почему? Почему работодатель идет на эти риски? На этот вопрос у меня, к сожалению, нет ответа, есть только догадки. Зато на хабре есть много представителей компаний, больших и не очень. Может, они ответят?
ЗЫ. А условный «Алексей» из этой истории — молодец. Он захотел стать программистом, и упорно идет к этой цели, как и остальные его одногруппники. Я не знаю, останется ли он программистом через 10-15 лет, и не знаю, что его сейчас побудило пойти в программисты. Я знаю одно — точка старта не важна, ведь все мы с чего-то начинали.
работодатель полностью понимает и принимает риски.простите што?) а как работодатель в принципе может ну там что-то понимать и тем более принимать, если он в этом нихрена не понимает?))))
ну вот вы можете нанять модельеров и понять кто из них круче и кто вам подходит?) вы же в модельерах разбираетесь хуже, чем свинья в опельсинах, разве нет?)
А как понять какие кандидаты на позицию директора по ИТ компетентны в ИТ, а какие нет? )
Мб еще sql запросы целый день катать, не более.
Так вот кто нам базы ложит!
Тут никак за пару месяцев не получится даже если вас будет 24х7 натаскивать эксперт.
Но если без сарказма, то при наличии хорошего тимлида, ревью кода и вовлечённости, вырастить программиста из выпускника курсов реально.
А вот музыканты, закончившие консерваторию, часто сидят без работы.
Программист, выучившийся за два месяца на курсах — это как человек, научившийся у соседа бренькать на гитаре, против музыканта, занимавшегося с детства в музыкальной школе, закончившего консерваторию и годами выступающего в филармониях.
Так вроде же бренчащий на гитаре человек не претендует на место в оркестре филармонии?
Очень странно, что в статье и в комментариях все сравнивают новорожденного программиста с бывалым программистом со стажем минимум лет в пять, судя по описаниям. Ведь новорожденные вообще не претендуют на место опытных — их берут на зарплату ниже средней и дают задачи, которые они в состоянии решить. А «сеньор» или «несеньор» — это всего лишь слова, которые тешат самолюбие и только в начале карьеры.
И тут, кстати, я не понимаю, в чём претензии у автора статьи? Все когда-то были начинающими, только кто-то ещё в школе, кто-то уже в ВУЗе, а кто-то только после 25. В чем между ними разница? Только в возрасте. Разве начинающий программист не может устроиться на работу? Не только может, но и должен, иначе как он получит боевой опыт? Я сам, например, на последнем курсе универа устроился на работу программировать на VBA, имея только ВУЗовский курс Паскаля и факультативный C++, оба далекие от реальной жизни. Мне платили зарплату за выполненную работу, а я набирался опыта.
Я уверен, что старшеклассник, несколько месяцев изучавший туториалы, много бы отдал, чтобы бы его взяли на работу. Но ему по возрасту не положено. А после 25 — можно. Если работодателя устраивает такой работник, если поставленные задачи решаются — какие тут могут быть претензии?
А «сеньор» или «несеньор» — это всего лишь слова, которые тешат самолюбие и только в начале карьеры.
Справедливости ради стоит заметить, что в упомянутом в статье Сбере разница между этими «всего лишь словами» может измеряется сотнями тысяч рублей.
По косвенной информации из статьи можно сделать вывод, что начинающий программист «Алексей» после окончания курсов нашел место в условном Сбере с зарплатой ниже среднего, что соответствовало его ожиданиям, и что также соответствовало ожиданиям условного Сбера. Тут же всё логично? Почему все недовольны и считают, что «Алексей» кого-то обманул?
У меня вот ощущение, что нашёл место с зарплатой сильно выше среднего для человека без опыта. Грубо говоря, полно мест, куда человека без опыта возьмут за 400 долларов при средней зарплате в 2000. А Алексей, придумав опыт, обманув работодателя, получил место за 1500.
У меня вот ощущение, что нашёл место с зарплатой сильно выше среднего для человека без опыта.
Я понимаю, о чем вы говорите, но как технический специалист, я привык работать с цифрами. Вакансии за 400$ действительно есть, но я не знаю, полно ли их. Чтобы говорить более уверенно, нужно на что-то опираться.
Вот отчеты по ЗП за 2019. По северной столице, упомянутой автором, основная масса проголосовавших находится в диапазоне выше, чем $400. А если посмотреть на тот же Сбер, который в этом же отчете находится в серединке, то видно, что даже $1500 — это ниже средней по Сберу. При этом там «средней» в отчетах считают медиану.
Я вот прямо сейчас открыл сайт hh и вижу, что по той же северной столице зарплаты вакансий требованием «без опыта работы» доходят до сумм гораздо выше $1200. А люди с опытом от 1 года могут найти вакансии с большей зарплатой, чем $2000.
Увы, в этом отчёте нет никаких данных по опыту. А на hh.ru даннные недостверные, например https://volgograd.hh.ru/vacancy/40169740 проходит по фильтру "без опыта"
Почему все недовольны и считают, что «Алексей» кого-то обманул?
Потому что Алексей указал фиктивный опыт работы так же как и его однополчане? Исчерпывающий ответ сильно близкий к правде Вам привел VolCh.
нашёл себе место под солнцем с зарплатой выше среднего по больнице
Мне сложно поверить, не имея конкретных данных. Но что-то мне подсказывает, что ваши сведения немного неверны. Например, вот это:
Среднестатистический выпускник ВУЗа (рассматриваем только тех кто реально учился) идёт на зарплату в 40-80к в надежде почерпнуть хоть маломальский опыт работы для дальнейшего роста, понимая что больше он не стоит.
Еще лет 6-7 назад к нам приходили выпускники сразу после получения диплома с требованиями к зарплате >100К. И что самое смешное, получали ее, не у нас, так в другом месте. На данный момент в северной столице на указанную вами зарплату от 40К может претендовать студент 2-4 курса бакалавриата, например, ИТМО, СПбГУ или Политеха, на позиции стажера.
Главная беда в том, что информация о существовании вашего мира не поможет человеку из второго мира туда попасть. Нужна инструкция по переходу, а её никто не знает.
Ваш собеседник пытается понять, какие конкретные критерии делают джуниора, а какие миддла. Вот человек написал утилиту, которой пользовалось 5 человек в его офисе, это джун или миддл?
Вы же копипастите из объявлений о вакансиях: «понимает многие нюансы, способен что-то внедрять», ну типа вилами по воде.
Если вместо "батников" делает cmd/bash — мидл
powershell/ansible — сеньор
:-)
Нечасто, потому что это относится к коммерческой тайне компании, и строго прописано в контракте при приёме на работу
В России это относится к персональным данным конкретного разработчика. И не может обзываться "коммерческой тайной". Другими разглашаться за него без его явного согласия низзя, но вот он сам — оглашать в праве. Что бы там бумажка "запрещено говорить свою зарплату" не заявляла.
То есть в данном случае да, нельзя. Но не по "коммерческой тайне".
научиться думать на используемом ЯПА вот этого как раз не надо. Думать учиться нужно, если на языке программирования, то на языке как можно более высокого уровня, например на LISP'е.
Заминусуют, но это правда, что после 2 месяцев курсов становятся программистами.
Хорошая память+гугл в помощь. А что ещё нужно?
Разве проблема заучить несколько названий из языка?
Инженер, закончивший университетскую программу по специальности "Программное обеспечение вычислительной техники и автоматизированных систем", изучает в процессе этого примерно 60 дисциплин (примерно 15 из них — всякие "философии" и т.п.). На это уходит 4.5 года (+ написание диплома) лекций, практик, домашних заданий.
Не может объём знаний, полученных за 2 месяца, сравниться с объёмом знаний, полученных за 3.5 года (не будем учитывать "философии").
Чтобы на 2х-месячных курсах получился "инженер-программист", а не программист с крайне узкой специализацией, нужна эффективность обучения в 20 раз выше, чем в университете. Возможно, за 45 будних дней можно изучить оглавления 45 дисциплин, чтобы потом гуглить; но вряд ли удастся все оглавления вспомнить, да и такой подход исключает практику.
Да знаний за 3.5 года было получено больше, но эти знания были забыты (просто потому что не использовались), ну и в большинстве своем эти знания старые и неактуальные. С какой скоростью развивается IT? и как часто министерство образования пересматривает программу таких специальностей?
Базовые знания по инженерному делу в разработке ПО ненужны, базовый минимум для разработки это теория алгоритмов — все остальное ненужно, специфика. Кто-то может считать что тестирование — это какие-то базовые знания для разработчика, но нет, контроль качества появился очень давно, и никак его не могут натянуть на глобус разработки, хотя пытались очень многие.
Да и лично я считаю что за 5 лет универа, даже самого лучшего, инженера не получить. Инженер — это развитие способностей с детства и раскрытие максимального потенциала в универе.
И лучшее что можно сделать, это выкинуть инженера из названия и из обучения, и оставить только разработчика с его спецификой.
Базовые знания по инженерному делу в разработке ПО ненужны,
Я и выкинул всё, не относящееся к программированию, кроме математики. Если считать, что "программисту не нужна математика", то матан с натяжкой можно тоже выкинуть из списка, алгебру и аналитическую геометрию — с большей натяжкой.
базовый минимум для разработки это теория алгоритмов — все остальное ненужно, специфика.
На выходе какая-то "заготовка разработчика" получается. Наверно, можно впихнуть "теорию алгоритмов" в курс информатики 9-11 классов школы (или вместо чего-то бесполезного), и быстро получить толпы таких "разработчиков".
С какой скоростью развивается IT?
Сколько фундаментальных вещей в программировании появились за последние, скажем, 10 лет? Примерно с десяток, думаю. Знания по ним можно относительно легко обновить. В зависимости от используемого критерия "фундаментальности", кто-то даже может сказать, что ничего нового не изобретено. Тысячи библиотек считать не имеет смысла, они могут каждый день появляться, для обучения работе с библиотекой достаточно несколько дней-недель курить документацию.
Ну и из 60-ти наберется не 45 предметов, которые в работе будут полезны, а 15. И программы там будут устаревшие лет на 20-30. Объем знаний 4-5 летней программы вуза, который будет полезен на работе, вполне можно получить за полгода — максимум год.
К тому же, преподаватели вузов получают 15-25 тысяч, а преподаватели на курсах наверное 100-150. Да и остальные условия для преподавания на курсах наверное лучше — можно обновить программу, а не давать программу 30-летней давности. Где предпочтет преподавать хороший специалист — в вузах или на курсах?
Для подготовки хороших специалистов плохи как курсы, так и вузы. Курсы слишком коротки и поверхностны, а в вузах слишком много бесполезного, программа устаревшая, дорого и долго. Неплохо бы что-то среднее. Ну и как мне кажется, сейчас все идет к тому, что курсы вытесняют вузы. Дешевле, быстрее и профита на старте больше.
Но, курсы я не заканчивал. Зато поучился в 2-х вузах. И у меня сложилось такое мнение о вузах, что для ИТ-шников они и близко не стоят таких временных и финансовых затрат.
Инженер, закончивший вуз, не имеет знаний по какой-либо специализации, если сам не разбирался. Он не может сразу решать бизнес задачи, а выпускник курса может.
Для этого есть практики. Правда, хорошие базы для практик попадаются редко.
Ну и из 60-ти наберется не 45 предметов, которые в работе будут полезны, а 15.
45 предметов — это для подготовки более универсального специалиста, способного разобраться в любой работе по специальности, условно от разработки компьютерных игр до написания компиляторов. На конкретной работе (работах) требуемый спектр знаний меньше.
Для подготовки хороших специалистов плохи как курсы, так и вузы. Курсы слишком коротки и поверхностны, а в вузах слишком много бесполезного, программа устаревшая, дорого и долго. Неплохо бы что-то среднее. Ну и как мне кажется, сейчас все идет к тому, что курсы вытесняют вузы. Дешевле, быстрее и профита на старте больше.
Я заканчивал вуз и позднее смотрел несколько курсов видеолекций на отдельные темы, и у меня схожее мнение по поводу отсталости вузов и поверхностности курсов. Имхо, вузы довольно хороши (по сравнению с), но нужно более часто обновлять программу, делать акценты на несколько другие темы, решить вопрос с зарплатами преподавателей и т.д. Курсы также могут дать что-то полезное, особенно если основа уже есть, но не уверен в курсах в качестве основы.
Для этого есть практики. Правда, хорошие базы для практик попадаются редко.Если сам найдешь. По хорошему, у вузов должна быть договоренность с нормальными ит компаниями, чтобы была качественная практика. И вуз должен платить компаниям за возможность пройти практику. Сейчас же получается, что студенты оплачивают обучение, а качественное образование (в данном случае практику) не получают.
Имхо, вузы довольно хороши (по сравнению с)По сравнению с одним 2-х месячным курсом — конечно вуз хорош. Только КПД крайне низкое.
А вот по сравнению с группой разных курсов или одним большим курсом:
* по языку
* по алгоритмам и структурам
* по ООП
* по сетям
* по стеку
* по базам (если бек)
вуз уже будет проигрывать.
Погуглил — вот например курс с неплохой базой, по крайней мере в описании)
skillbox.ru/course/profession-java
В вузе я подобной программы не видел
Даже в оставшихся 45 предметов из 60 многие с ИТ никак не связаны. Может не 15, но 20, в лучшем случае 25 полезных наберется
Не могу с этим согласиться, т.к. перед написанием того комментария пересчитал в дипломе предметы, связанные с ИТ :) Эти предметы потенциально полезные, а полезны ли они на практике — будет зависеть от сфер работ.
Погуглил — вот например курс с неплохой базой, по крайней мере в описании)
skillbox.ru/course/profession-java
Считаю, что мне повезло с базой практики, т.к. на практике за месяц резко огрёб примерно четверть или треть описанного в этом курсе. Но, к сожалению, действительно, у многих одногруппников практика была более скучной.
У меня это вызвало разные мысли, так что внесу и я свои «5 копеек». Зайду немного издалека.
Тут неоднократно говорили в комментариях, что якобы есть рынок, и компаниям, наверно, выгодно так нанимать. Увы, насчет выгоды далеко не все так однозначно. Давно, в плановой экономике СССР были проблемы, что брали человека на место по плану, а делать ему нечего. Как ни странно, в капиталистической есть те же проблемы, только более сложно обусловленные.
Есть такая модная книжка — Д. Гребер «Бредовая работа. Трактат о распространении бессмысленного труда», довольно интересное чтиво, хотя «много букв» и не вполне научное; основная мысль автора: капиталистический мир создает много работы, которая «не нужна», однако оплачивается, в силу различных причин. Например, автоматизация вместо сокращения рабочей недели привела к увеличению потребления. Не буду вдаваться в подробности, а то боюсь уйти в оффтопик, да и рассуждения товарища Гребера в некоторых местах представляются утопическими, но здравое зерно в этом есть: ситуация в различных областях занятости так или иначе соответствует описанному. Например, в совещяниях по кибер-безопасности большинство людей не знают ничего про технические аспекты. Если посчитать всех, кто занимается кибер-безопасностью, то будет 1 инженер, который делает реализацию или там технический аудит, на 9 менеджеров и 3 юристов, которые рассуждают о важности происходящего всю дорогу. И так много где. В этом свете вполне логично, что не все работники нанимаются для того, чтобы делать что-то действительно полезное (хотя это очень философский вопрос, что полезно, а что — нет). Иногда набор специалистов обусловлен тем, что «успешному» менеджеру нужна команда. Насколько продукт, разрабатываемый этой командой нужен бизнесу, увеличит ли он прибыль бизнеса сейчас или в будущем, и можно ли вообще это оценить? Не всегда на эти вопросы есть однозначные ответы. Может, бизнес скоро планируется продавать, а с командой в 100 человек инвесторы дадут больше денег, чем с командой в 20, вот и нанимают (кого попало). Это не то чтобы такой специальный умысел — сделать бессмысленным труд, типа давайте просто атк кого-то наймем, — конечно, так никто специально не планирует, просто система так работает (опять же, по мнению Гребера).
Это я к тому, что успех некоторых выпускников курсов, порицаемый автором, может быть вызван именно этим: автор статьи предполагает, что все нанятые будут заниматься осмысленным и потенциально полезным трудом (и результатом их слабой квалификации станут упавшие самолеты и отток денег со счетов), а на самом деле может статься, что 80% из них буду просто работать на работе за деньги, без какого-либо существенного влияния их трудов на окружающий мир.
При своей некоторой утопичности, книжка Гребера неплохо объясняет и тот факт, почему «хорошим» программистам тяжело конкурировать с «вайтишниками»: кругом так много «бредовой» занятости, что не всегда критично нанять «хорошего» программиста.
Есть еще одно соображение. Часто в комментариях встречаются противоположные мнения относительно ИТ, и это неудивительно: ИТ область — это целый мир, там настолько много всего сейчас, что очень сложно сравнивать разных специалистов: все равно что сравнивать повара и летчика. Я работал в компании, где физические модели писали одни люди (используя графический редактор, а не тектовый код), а софт для «вычисления» этих моделей — другие (собственно настоящие программисты); но и те, и другие назывались по должности программистами. Или вот еще пример: есть RPA (robot process automation) тулзы с чисто графическими средствами (например, я пробовал UIPath), для использовнаия которых не надо понимать в программировании совсем ничего, достаточно научить робот перетаскивать данные из вот этой ексельки в вот эту форму в браузере, с подсказочками красивыми.
Я согласен с автором, что хорошим программистом за 2 месяца курсов не станешь; но все это так трудно сравнивать, что просто ужас. Я уже, если честно, не совсем понимаю, кто хороший, кто плохой. Я считаю, что если данные курсы учат, как «пройти HR» — за одно это уже можно таким курсам выдать индульгенцию! ) А учиться, как тут уже замечали, все равно приходится всю жизнь.
Добавлю напоследок, что меня один человек обманул при найме в одной заграничной конторе: из нанятых с моим непосредственным участием примерно 15 людей один оказался таким вот самозванцем, техническое задание хорошо сделал; меня еще предупреждал второй участник, что у него «есть сомнения», но я решил нанять джуна, вроде толковый. Впрочем, тут не совсем программист, а, скорее, инженер, но сути это не меняет. Джун откровенно нифига не делал полтора года, я так и не понял причину — то ли недостаток знаний и умений, то ли банально наглость — или, назову политкорректно, другой подход к жизни. Зато, когда наша контора прекратила существовать — он первый похвастался оффером в (известную компанию) в Англии, так что в умении жить этому человеку не откажешь.
Такие немного сумбурные впечатления!
Автору спасибо за статью и не расстраивайтесь: все суета сует!
Я согласен с автором, что хорошим программистом за 2 месяца курсов не станешь
Я уже неделю читаю комментарии, и не могу понять, почему все сравнивают начинающего программиста с хорошим (опытным) программистом? Кто-нибудь может объяснить?
В истории про «Алексея» всё закономерно же — начал учиться программированию, закончил курсы, ушел на зарплату ниже среднего (по косвенной информации), сидит на работе, что-то пилит, набирается опыта.
В чем подвох? Чем все недовольны?
[ну тут можно продолжать бесконечно]
Если в 10 ат*издил соседа, в 11 начал курить и получил первый сотряс, в 12 пошёл на бокс и получил ещё сотряс, в 13 угнал папину мошыну [нет, не виртуальную а жыгулЯ], в 14 пошёл в пту и получил ещё сотряс и два выдал в ответ, получил корку сварщика но за такую сварку выкинули за забор и никуда не брали, устроился грузчиком в ларёк выгнали, устроился дворником в ларёк выгнали, в 15 попал в местный ровд встал на учёт, в 16 папа пристроил в автосервис выгнали, в 18 ушёл в армию выгнали сломал колажъ, в 20 папа пристроил к ашоту помощником равшана и замутили бизнес выгнали с сотрясом, в 22 женился в 23 развёлся с сотрясом и алиментами, в 24 ещё раз женился жена пристроила к ашоту отжал у ашота палатку затем отжали палатку с сотрясом, затем попал в аварию по синьке конечно же с сотрясом, затем развёлся с сотрясом жены чуть не сел, затем уехал в мааааскьву на заработки ну потому что три ребёнка во внуковский терминал за посылки выгнали, решил стать программистом и стал, а чего добились вы?
Разница конечно небольшая, но всё же есть. Но в общем и целом почти нет.
А дискуссия такая богатая развернулась, потому что моральные вопросы («хорошо-плохо») не имеют простых ответов и довольно интересны для обсуждения.
Рекомендация владельцам курсов: предлагаю открыть курсы подготовки хирургов длительностью 3 месяца, независимо от образования. Пользуйтесь. Там же ничего сложно, бери в руку скальпель и режь, а другие хирурги покажут как надо уже в больнице, ведь неделя практики даёт те же знания что и год университета, давно известный факт.
Я бы на вашем месте аккуратнее давал такие рекомендации, ведь в наше время, легко завтра могут такие курсы открыть. У хирургов тоже зарплаты неплохие, а люди нынче бегут за легкими деньгами, учиться никто не хочет, тем более, красочные рекламы гласят, что могут обучить всему за какие-то 6 дней. Согласен с вашей позицией, уровень балбесни растет во всех областях, страшно сейчас полагаться на людей, их них специалистов, три с половиной калеки, а у остальных красивый диплом, не подкрепленный никакими навыками.
Крутое резюме, но чуть глубже копнёшь и тру-ля-ля -)
ХРов тут винить бесполезно, такие деятелей надо на тех собеседовании валить углублёнными вопросами и простыми задачками на 10 минут.
Сам являюсь тем самым вайтишником и теми же проблемами что и у Вашего друга.
Конечно не мечтаю о золотых горах, больше фанатею от своего виденья будущего, но до прочтения статьи всерьёз задумывался пойти на какой-нибудь онлай-курс уже.
Теперь понял, что лучше действительно «скучные» книжки почитать.
В любом случае, желаю успехов на Вашем пути!
Хорошие и, наверное уже можно говорить, "белые" курсы дают не просто знания, а фидбэк оперативный — меньше риски приобрести не самые лучшие навыки.
Хорошие курсы отличаются от плохих возможностью обратной связи для студента, а не вот этим всем. Потому что смотреть за профессионалом недостаточно. Нужно самим что-то делать и иметь возможность обратиться за помощью.
а не вот этим всем
Ох, как вы резко. Основная жалоба на курсы, которую я слышал от знакомых это водянистость, растянутость и знания на уровне простейших примеров из доки. Лично мне в курсах это тоже категорически не нравится. Можно видеть, как преподаватель учит студентов наступать на стандартные новичковские грабли, потому что сам никогда в реальности, на боевом проекте, не делал то, что предлагает и соответственно не ходил по граблям, склонен делать стандартную ошибку, которой и обучает. Если чуть менее зеленый студент учит таких же неопытных студентов, то может ли он научить многому, когда сам еще не научился? Поможет ли ему обратная связь передать знания, если у него просто нечего передавать? Каким образом такой курс можно назвать «белым», «хорошим» и «годным»? Содержание курса складывается из профессионализма, знаний и опыта преподавателя, а вы про содержание курса пренебрежительно пишете «вот это вот все».
Обратная связь, это когда студент что-то спрашивает, а препод ему что-то отвечает. Чтобы иметь знания и опыт, надо потратить годы. Чтобы сделать курс с хорошим фитбеком, надо всего лишь выделить время от курса (чем дольше курс, тем больше цена) и не лениться общаться со студентами. Фидбек — фича, которую легко добавить и которую можно потом рекламировать, как прям киллер-фичу. Я видел множество курсов, где преподаватель льет кучу воды, в том числе и отвечая на вопросы. Если он при этом еще и улыбается, постоянно общается с аудиторией, шутит-заигрывает, то обычно получает кучу положительных отзывов в духе «я новичок — я все понял, мне все понравилось». Проблема в том, что тут критерий истины — практика, а не впечатление. Новичок по определению не разбирается в изучаемом предмете и адекватно оценить качество материала не может. Если ему после этого курса придется проходить другой курс, без фитбека, но насыщенный нужной инфой, то значит первый курс был неудачен. Каким бы отзывчивым не был препод. Вообще не понимаю, че вам до этого фитбека, если препод изначально все хорошо объясняет? Я свое виденье раскрыл подробно. Можете и вы как-то так же пояснить свою мысль и свою резкость?
Возможно есть курсы, где препод реально кодит что-то сложнее простеньких примерчиков, а студенты ничего не делают. Но обычно все-таки если уж препод подзапарился, то уж студенты тем более. Даже представить не могу, что при подробной демонстрации разработки кто-то может не повторять за преподавателем.
Вообще не понимаю, че вам до этого фитбека, если препод изначально все хорошо объясняет?
1) студент может плохо понимать, потому что у него пробелы в очевидных для препрода вещах — как это выявить преподавателю без обратной связи?
2) даже в суперпрофессиональных командах зубров и гуру рекомендуют иметь такие фидбэк каналы как код-ревью и тестирование, и проводить их по максимуму до выкладки в продакшен.
Мой акцент был на том, что студент должен выполнять какую-то самостоятельную практическую работу. И хороший курс отличается от плохого тем, что этот процесс сопровождается преподавателем. Либо путем ревью, либо ответами на вопросы, либо наводящими вопросами студенту.
А вы сместили акцент на вопрос "преподаватель это профессионал или нет", о чем мне спорить лень.
Опять же, «что-то делать» звучит как-то расплывчато. Занять время студентов какой-то деятельностью — фигня вопрос. Общаться со студентом по ходу выполнения — тоже можно. Нет никакой гарантии, что препод предлагает действительно полезную практику. Если мы не говорим о том, что препод — профессионал, отразивший в заданиях свой опыт. Опять же, видели ли мы плохие и жидкие курсы с практической деятельностью студентов, заданиями и проверками? Да, я такие видел.
«преподаватель это профессионал или нет», о чем мне спорить лень.
Вот вам лень спорить, а это между прочим основная проблема некачественных курсов.
Это можно и на ютубе посмотреть. Две главные вещи ради которых имеет смысл идти на курсы разработки, администрирования и прочих "вайти":
- возможность получать ответы на свои вопросы
- возможность получать профессиональное код-ревью домашних заданий и курсовых работ
Это можно и на ютубе посмотреть.
А для ответа на вопросы есть тостер и стековерфлоу.
При том, форма получения курса (на сайте производителя или в ютуб) тут второстепенна, если мы все-таки выводим обратную связь и оплату за скобки.
Я понимаю, что оценка со стороны помогает избавиться от новичковской неуверенности, которая остро чувствуется студентом. Т.е. воспринимается, как что-то важное. Но с чего вы взяли, что если препод проверяет домашние задания, то обращает внимание на детали и делает профессиональное код-ревью? Домашние задания вообще примитивны, там ревьювить-то нечего.
Мы говорим о хороших курсах — там обращает и делает, особенно если это курсы от компании, открытые с целью рекрутинга перспективных кандидатов. Да и не только домашние задания должны быть на хороших курсах, но и курсовая работа. те, что мне попадались на глаза, я за пару выходных не сделал бы даже в своём основном стэке.
студент может плохо понимать, потому что у него пробелы в очевидных для препрода вещах
Может у препода уже было него несколько студентов и он уже знает обо всех типовых затруднениях. Возможно, есть студенты в аудитории, онлайн, а кто-то смотрит в записи. В таких случаях вопросов об очевидных вещах — хоть попой кушай. По-моему на домашних работах серьезного код-ревью не сделаешь, писал уже выше.
Все-равно знания первичны, способы донесения — вторичны.
Первичны для курсов не знания, а практические навыки. Тольку от знаний типа "если функция возвращает признак ошибки/успешности, то его всегда проверять надо", если этого на практике не делать и по руками не получать за это.
знаний типа «если функция возвращает признак ошибки/успешности, то его всегда проверять надо»,
Да я не против того, чтобы вас дрессировали. Но чтобы на курсе дошло до практических навыков, они должны быть для начала у преподавателя. Само наличие практических заданий ровно никак не подтверждает практику препода. Более того, я вижу, что отсутствие практического опыта у преподов и жидкость курсов является реальной проблемой.
Вам сериал офис не приходилось смотреть?
Вам не приходилось наблюдать программистов пишуших код для предприятия, не разу на этом предприятии не побывавших, ставящих перед собой какие-то эфемерные задачи, которым совершенно паралельно на труд работников этого предприятия, которые будут пользоваться вашим софтом?
Задача топ менеджера не в том чтобы направлять код в репозиторий без лицензии, а в налаживании связей между руководством компании, рядовыми программистами и простыми работниками предприятия куда будет установлен ваш софт. И реальный опыт работы програмистом, высокий интеллект и жесткие хардскилы тут совершенно не важны. На этом этапе куда важнее софтскилс - и до кадровых агенств потихоньку начинает доходить, что на место топов лучше взять джуна с максимально расшаренными софтсклилами, чем жесткого хардконщика, у которого за годы упорного труда весь софт полностью атрофировался.
Такой процесс сейчас стал характерен не только для софтворных компаний, но и для простых европейских и американских больниц, куда на место главврача ставят эффективного менеджера иногда вообще без медицинского образования, который будет просто расходовать бюджеты с куда большей эффективностью, чем обычный главврач витающиий в высоких медицинских материях
Вы безумны, остановитесь пока не поздно