Джуниоров много, вакансий не хватает
Несколько месяцев назад я сходила на мероприятие для женщин в IT. Там собралось много начинающих разработчиков, выпускников курсов программирования или учебных программ. Почти все говорили, что испытывают проблемы с поиском первой работы.
Лично мне повезло. Моей первой «настоящей» работой после колледжа в 2010 году стала должность «junior-разработчик приложений» в Колумбийском университете. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.
Но почему так происходит?
Я не совсем уверена в точной механике происходящего, потому что сама не управляю такой компанией. Но я знаю, что эти компании говорят мне: «Мы не хотим нанимать джуниоров, потому что не можем тратить время ведущих программистов на их обучение». Я видела ставки сеньоров, потому что я сама такая, и мои руководители проектов заставляли меня выделять время с целью бюджетирования. Я знаю, что ставки примерно $190-$300 в час. Вот почему компании считают, что нанимать новичков невыгодно.
Я в это не верю, потому что никакой сеньор не работает полный день по ставке $300 в час. Кроме того, стоны о чрезмерных расходах похожи на крокодиловы слёзы с учётом всего того времени, которое специалисты тратят впустую (по крайней мере, на мой взгляд) на совещания и тому подобное.
Но допустим, что компании снова начнут брать джуниоров в команды. Теперь у вас появится новая проблема, поскольку у сеньоров нет опыта работы с новичками — и вообще нет опыта обучения людей. Когда я впервые начала работать с джуниорами, то понятия не имела, как это делать. Я была потеряна и сбита с толку. Моя компания ничем не могла помочь: «Просто дай им какую-нибудь работу, чтобы они чему-то научились». Но в реальности этого недостаточно.
Я поискала какие-то справочные материалы на эту тему — и ничего не нашла. Если вам известны такие, то пожалуйста сообщите в комментариях. В конце концов я составила кое-как пригодную стратегию из фрагментов разных курсов и различных заданий.
Но безумие в том, как много пришлось мне узнать в процессе этого. Не думаю, что я когда-нибудь смогла бы разобраться на глубоком уровне в функциях JavaScript, если бы не пришлось их объяснить другому человеку. Некоторые из инструментов, которые я разработала для обучения, в итоге пригодились в реальных проектах.
Были времена, когда я испытывала разочарование. Особенно когда руководители проектов или другие менеджеры не понимали ситуации. Когда они не понимали, что я не могу сдавать работу в срок, потому что трачу время на обучение этих людей.
Я пытаюсь сказать, что вся экосистема разработки программного обеспечения нуждается в новичках для собственного благополучия. Их обучение имеет свою цену, но также несёт преимущества.
Если компания хочет снова нанимать джуниоров, я бы рекомендовала выделить время на разработку программы, которая поможет сеньорам и всем остальным, кто работает с джуниорами, эффективно освоить навыки наставников. А также учитывать суровую реальность.
Нужно понимать, что не все начинающие кодеры станут успешными программистами. Как к этому относиться? Вы будете винить их наставников? Или отслеживать развитие навыков и переводить тех, кто не очень справляется, на другие позиции, где они могут добиться успеха: например, в менеджеры проектов, инженеры поддержки продажи и другие позиции, не связанные с программированием, но где знание программного обеспечения является ценным.
И не все сеньоры становятся успешными наставниками. Есть много замечательных разработчиков, в которых просто нет такого таланта. Они должны иметь возможность отойти от этих обязанностей. Тех же, кто занимается наставничеством, нельзя наказывать. В одной команде я больше всех обучала новичка — и возникало чувство, что это считается как будто менее «настоящей» работой, чем у других сеньоров. Из-за этого впоследствии я неохотно брала на себя такую роль. Да, и я считаю, что отношение мужчин к женщинам тут тоже имеет значение: когда женщина берёт на себя такую роль, то со стороны часто похожа на эдакую заботливую мать-покровительницу. Это означает меньший престиж, а обычно чем меньше престиж — тем меньше зарплата.
Не могу не упомянуть некоторые другие экономические сложности, которые мешают джуниорам. Недавно я посетила мероприятие в одной компании, и они по сути сказали, что всю «лёгкую» работу отдают на аутсорсинг в другую страну. Раньше такую работу делали джуниоры. Потом есть автоматизация. Значительная часть работы, которую я лично делала в качестве джуниора, теперь автоматизирована.
Сейчас начинающим программистам сложно найти первую работу. Возможно, вам придётся делать то, что я действительно ненавижу рекомендовать, например, бесплатно работать над различными проектами. Если найдёте действительно отличный проект с открытым исходным кодом, который потом сможете указать в своём резюме. Я менее склонна рекомендовать бесплатно работать в «стартапе».
Кроме того, вам придется самому искать себе наставника. Лучше всего обучение при личных встречах, хотя я понимаю, что такой вариант не всем доступен. Поэтому можете попробовать закрытые тематические каналы в Slack и Discord. И это такой же отстой, как приглашение на свидание. Готовьтесь, что вам будут часто отказывать. Вам придётся работать на отстойных и полностью провальных проектах, потому что на бесплатных работников боятся возлагать большую ответственность. Как один джуниор сказал мне, он перестал ходить на наши митапы, потому что его проект провалился. Мне пришлось уговаривать его продолжать работу и браться за новые проекты, зная, что многие из них — отстойные и ничем хорошим не закончатся.
Со своей стороны, я с удовольствием помогаю ребятам на наших митапах и хотела бы поработать над разработкой более формальных программ наставничества в этих условиях.
Не уверена, что такое решение подходит для всех. Не уверена, можно ли назвать несбалансированными компании без джуниоров — или наоборот, они поступают грамотно. Реальность такова, что большинство разработчиков долго не остаются на одном месте — возможно, нет смысла сильно вкладываться в обучение кого-то? Или, может быть, представители индустрии должны спросить себя, почему люди продолжают прыгать с места на место? Может, потому что многие из них отстойные программисты, а может для многих это единственный способ повысить зарплату. Я могу или ждать глупого, бессмысленного ежегодного «обзора производительности», который поднимет мне ставку на 1%, или взять своё резюме, пойти на собеседование в другое место — и получить прибавку в 10% или больше.
Это не значит, что изъян в какой-то конкретной компании. Это изъян всей индустрии.
Несколько месяцев назад я сходила на мероприятие для женщин в IT. Там собралось много начинающих разработчиков, выпускников курсов программирования или учебных программ. Почти все говорили, что испытывают проблемы с поиском первой работы.
Лично мне повезло. Моей первой «настоящей» работой после колледжа в 2010 году стала должность «junior-разработчик приложений» в Колумбийском университете. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.
Но почему так происходит?
Я не совсем уверена в точной механике происходящего, потому что сама не управляю такой компанией. Но я знаю, что эти компании говорят мне: «Мы не хотим нанимать джуниоров, потому что не можем тратить время ведущих программистов на их обучение». Я видела ставки сеньоров, потому что я сама такая, и мои руководители проектов заставляли меня выделять время с целью бюджетирования. Я знаю, что ставки примерно $190-$300 в час. Вот почему компании считают, что нанимать новичков невыгодно.
Я в это не верю, потому что никакой сеньор не работает полный день по ставке $300 в час. Кроме того, стоны о чрезмерных расходах похожи на крокодиловы слёзы с учётом всего того времени, которое специалисты тратят впустую (по крайней мере, на мой взгляд) на совещания и тому подобное.
Но допустим, что компании снова начнут брать джуниоров в команды. Теперь у вас появится новая проблема, поскольку у сеньоров нет опыта работы с новичками — и вообще нет опыта обучения людей. Когда я впервые начала работать с джуниорами, то понятия не имела, как это делать. Я была потеряна и сбита с толку. Моя компания ничем не могла помочь: «Просто дай им какую-нибудь работу, чтобы они чему-то научились». Но в реальности этого недостаточно.
Я поискала какие-то справочные материалы на эту тему — и ничего не нашла. Если вам известны такие, то пожалуйста сообщите в комментариях. В конце концов я составила кое-как пригодную стратегию из фрагментов разных курсов и различных заданий.
Но безумие в том, как много пришлось мне узнать в процессе этого. Не думаю, что я когда-нибудь смогла бы разобраться на глубоком уровне в функциях JavaScript, если бы не пришлось их объяснить другому человеку. Некоторые из инструментов, которые я разработала для обучения, в итоге пригодились в реальных проектах.
Были времена, когда я испытывала разочарование. Особенно когда руководители проектов или другие менеджеры не понимали ситуации. Когда они не понимали, что я не могу сдавать работу в срок, потому что трачу время на обучение этих людей.
Я пытаюсь сказать, что вся экосистема разработки программного обеспечения нуждается в новичках для собственного благополучия. Их обучение имеет свою цену, но также несёт преимущества.
Если компания хочет снова нанимать джуниоров, я бы рекомендовала выделить время на разработку программы, которая поможет сеньорам и всем остальным, кто работает с джуниорами, эффективно освоить навыки наставников. А также учитывать суровую реальность.
Нужно понимать, что не все начинающие кодеры станут успешными программистами. Как к этому относиться? Вы будете винить их наставников? Или отслеживать развитие навыков и переводить тех, кто не очень справляется, на другие позиции, где они могут добиться успеха: например, в менеджеры проектов, инженеры поддержки продажи и другие позиции, не связанные с программированием, но где знание программного обеспечения является ценным.
И не все сеньоры становятся успешными наставниками. Есть много замечательных разработчиков, в которых просто нет такого таланта. Они должны иметь возможность отойти от этих обязанностей. Тех же, кто занимается наставничеством, нельзя наказывать. В одной команде я больше всех обучала новичка — и возникало чувство, что это считается как будто менее «настоящей» работой, чем у других сеньоров. Из-за этого впоследствии я неохотно брала на себя такую роль. Да, и я считаю, что отношение мужчин к женщинам тут тоже имеет значение: когда женщина берёт на себя такую роль, то со стороны часто похожа на эдакую заботливую мать-покровительницу. Это означает меньший престиж, а обычно чем меньше престиж — тем меньше зарплата.
Не могу не упомянуть некоторые другие экономические сложности, которые мешают джуниорам. Недавно я посетила мероприятие в одной компании, и они по сути сказали, что всю «лёгкую» работу отдают на аутсорсинг в другую страну. Раньше такую работу делали джуниоры. Потом есть автоматизация. Значительная часть работы, которую я лично делала в качестве джуниора, теперь автоматизирована.
Сейчас начинающим программистам сложно найти первую работу. Возможно, вам придётся делать то, что я действительно ненавижу рекомендовать, например, бесплатно работать над различными проектами. Если найдёте действительно отличный проект с открытым исходным кодом, который потом сможете указать в своём резюме. Я менее склонна рекомендовать бесплатно работать в «стартапе».
Кроме того, вам придется самому искать себе наставника. Лучше всего обучение при личных встречах, хотя я понимаю, что такой вариант не всем доступен. Поэтому можете попробовать закрытые тематические каналы в Slack и Discord. И это такой же отстой, как приглашение на свидание. Готовьтесь, что вам будут часто отказывать. Вам придётся работать на отстойных и полностью провальных проектах, потому что на бесплатных работников боятся возлагать большую ответственность. Как один джуниор сказал мне, он перестал ходить на наши митапы, потому что его проект провалился. Мне пришлось уговаривать его продолжать работу и браться за новые проекты, зная, что многие из них — отстойные и ничем хорошим не закончатся.
Со своей стороны, я с удовольствием помогаю ребятам на наших митапах и хотела бы поработать над разработкой более формальных программ наставничества в этих условиях.
Не уверена, что такое решение подходит для всех. Не уверена, можно ли назвать несбалансированными компании без джуниоров — или наоборот, они поступают грамотно. Реальность такова, что большинство разработчиков долго не остаются на одном месте — возможно, нет смысла сильно вкладываться в обучение кого-то? Или, может быть, представители индустрии должны спросить себя, почему люди продолжают прыгать с места на место? Может, потому что многие из них отстойные программисты, а может для многих это единственный способ повысить зарплату. Я могу или ждать глупого, бессмысленного ежегодного «обзора производительности», который поднимет мне ставку на 1%, или взять своё резюме, пойти на собеседование в другое место — и получить прибавку в 10% или больше.
Это не значит, что изъян в какой-то конкретной компании. Это изъян всей индустрии.
EskakDolar
С одной стороны вроде все правильно и очень хорошо что хоть кто о думает о проблемах начинающих разработчиков.
Но с другой как вспомню как нам приходилось начинать — ни интернета, ни путевой литературы, ни вменяемых наставников. Да что там интернет — доступ к современному компьютеру был большой проблемой. Так сразу кажется — да молодежи теперь только стоит захотеть и ты уже программист с такими возможностями какие 30 лет назад нам и не снились.
ИМХО, конечно, и наверно это уже старость…
Legion21
Да, то были прекрасные светлые времена))) Сейчас у джунов на уме только бабки и нежелание учиться… печаль
Ugrum
Ну собственно говоря, девушек заместили бабками и на этом всё.
Mimus_spb
Вспоминается анекдот про диалог двух дедушек, которые справляют большую нужду:
— Никифор, а помнишь раньше когда срали — яйца до земли доставали?
— Даааа, стопталась землюшка, стопталась…
Нынешние джуны растут в принципиально другой информационной среде и, не побоюсь сказать, практически другой культурной парадигме. Будьте к ним добрее :)
Arlekcangp
Да, так и есть. До сих пор помню как методом «научного тыка» изучал басик на спектруме. Потом на толкучке приобрел пару книжек. Одна была по программированию игр на ассемблере а вторая была больше похожа на справочник по аппаратному устройству и командам процессора. Как же было их трудно читать не имея ни малейшего понятия почему все устроено так а не иначе и не имея никакой возможности у кого-либо спросить — тогда еще не было не то что интернета, а и сотовых еще не было. А преподаватели часто знали меньше учеников — что в школе что в кружке (там стояли БК со своим басиком И как тогда казалось спектрум их опережал намного по своей продуманности и простоте). Только только в страну потекли первые x86-совместимые компы которые мог себе разве что крупный бизнес позволить. И когда в итоге он появился у меня через пяток лет уже было проще понять как и почему оно работает. И да — это старость =)
snuk182
А сейчас можно в качестве примера перенести этот опыт на, скажем, ракетостроение.
Тоже практической информации почти нет, до всего нужно самостоятельно доходить ценой свободного времени, терпения соседей и прочности отцовского гаража. Зато раздолье в плане стандартизации — (почти) ничего ж не контролируется, мешай себе реактивы для топлива да следи только, чтоб ничего не сжечь (это я утрированно, уверен, что в реальности много сложнее). Зато лез через сорок уже ничего просто так не запустишь — везде правила, стандарты, обязательные к выполнению, если хочешь получить работу, да еще и небо закидано такими убердевайсами, на которые смотришь, и руки опускаются — до этого уровня надо ракетами заниматься с глубокого детства целенаправленно, а не пройдя пятилетний курс «Основы ракетоведения» в провинциальном педуниверситете.
bfDeveloper
Тогда была проблема найти информацию. Сейчас есть проблема не проще — отфильтровать информацию. Сложно начинать, когда тебе со всех сторон предлагают совершенно разные пути и никто не может объяснить, чем они отличаются. Я начинал программировать на спектруме (и это в 2000 году!) с одной книгой в руках и отлично вас понимаю. Но ещё я учусь программировать сейчас и считаю проблему поиска качественной информации не менее важной. Я находил фактические ошибки в самой рекомендуемой книге по изучению python, я вижу полнейшее безумие советов в каналах по JS и не вижу тенденций к улучшению. Неверные знания хуже их отсутствия. Поэтому наставник нужен как никогда.
Nibiru
Согласен! Сейчас трудно отфильтровать действительно ценную информацию от мусора.Помню времена, когда в школе стояли «Агаты» и по ним всего пару книг, которые шли в комплекте(по сей день где-то лежат на память). Еще сейчас все делается на фреймворках, изучить хотя бы несколько требует много времени, если заниматься этим самостоятельно. Плюс на изучение только ночи. Днем работа, вечером дети. Устроиться джуном — самый лучший вариант научиться. Учишься и получаешь деньги. Уже голова не болит где взять деньги и жена не терзает, что сидишь в компе занимаешься фигней по ее мнению
VVS_AMD
Я, кстати, тоже учился ещё на спектруме. Написал программу для решения уравнений методом дискриминанта. Тогда понял, что памяти впритык и начал изучать assembler.
Сейчас конечно гораздо проще учиться, но этого недостаточно для того, чтобы сразу стать мидлом, вот в чём проблема. Опыт работы ничем не заменишь.
shide
Раньше ничего не было, а сейчас слишком много всего и разобраться, что из этого важно, а что нет становится очень сложно, особенно когда нет опыта.
EskakDolar
Не согласен. Проблему избытка информации нужно решать систематизацией.
В первую очередь — изучить основы. Во вторую — выбрать для себя направление и методично двигаться по нему, но не забывать оглядываться по сторонам чтобы не оказаться чересчур узким специалистом. Лучше всего конечно делать это с помощью опытного наставника, но если его нет при желании можно справиться и самому.
yarric
Раньше и в требованиях вакансий кучу узкоспецифичных фреймворков не указывали.
Barafu
А если указывали, то перед этим думали, действительно ли такой фремворк нужен или хотя бы изредка используется. Сейчас в текст вакансии просто копируют из википедии все фреймворки, какие найдут, а пользоваться ими даже не собираются.
Но вообще, господа будущие джуниоры! Ну не надо приходить на собеседование, если вы не способны на основном языке написать код «открыть файл, пересортировать строчки, сохранить файл». Таких приходит больше половины.
General_Failure
Я сейчас тоже не смогу слёту написать код «открыть файл, пересортировать строчки, сохранить файл», потому что не делаю это каждый день
Вообще забыл, когда последний раз с файлами работал
Главное же знать принципы работы, уметь находить решения
А частности на собеседовании спрашивать — я думаю, это лишнее, их лучше перемещать в тестовое задание
some_x
Но вообще задач с файлами полно, особенно их много в университетских лабораторных. Про работу с файлами всегда пишут в книгах "<язык программирования> для начинающих".
Так что если человек понятия не имеет как работать с файлами то не понятно что он читал и что делал в университете.
В конце концов если он не помнит конкретных методов, то пусть продемонстрирует как их найти.
Chamie
Покажете, как это из JS в браузере сделать? Без участия пользователя.
lexore
Вы, конечно, сейчас пытаетесь хитрить, но и там найдется
винт с резьбойLocalStorage, sessionStorage, IndexedDB и т.д.mayorovp
Это намого более высокоуровневое API, имеющее мало общего с обычной "работой с файлами".
lexore
Да. Это троллинг в ответ на троллинг. Господин выше выбрал заведомо невыполнимый кейс — записать в файл из js в браузере. Если бы он просто сказал js, ему бы указали на node.
ozonar
Но с другой стороны никто особо и не требует знания какого-то конкретного фреймворка. Знаешь один — сработаемся.
aPiks
А чего вы от джуниора ожидаете? К нам часто приходят джуны и мы их охотно берем. Главное увидеть, что человек хочет учится и готов думать башкой при выполнении задач.
А умение решать конкретные задачи — это всего лишь умение прочитать документацию или доступные варианты в интернете. Остальное приходит с опытом.
Barafu
От джуна ожидаю способности написать Hello World. Без подсказок. (ну со справкой в зубах, конечно.) Приходит же явление, которое через раз на Power User не тянет. Я до ВУЗа умел больше, чем эти ребята — после.
yarric
С гуглом или без?
EskakDolar
Ну не скажите, анекдот «Если бы водителей нанимали как программистов» я впервые прочитал лет 15 назад:
Вакансия: водитель.Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями, троллейбусами, трамваями, поездами метрополитена и фуникулёра, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами “Формулы 1? — приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, бортовых компьютеров, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих производителей. Опыт проведения кузовных и окрасочных работ — приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.Зарплата: определяется по результатам собеседования.
Наверняка он появился бы и раньше, но рунет начал широко продвигаться только тогда.
Artifeks
Вместе с возможностями появилось и больше требований, так что утопии как обычно нет
andof
Только когда вы начинали, технологий было меньше. Меньше библиотек, фреймворков, языки имели меньше функциональности, паттернов и различного рода подходов к программированию. И они все появились только потому, что те кто начал раньше, раньше увидели что нужно улучшать.
Современному же джуниору нужно знать все эти библиотеки, подходы, паттернов, фреймворки сразу.
ameli_anna_kate
Не 30 лет назад, скажем лет 10, тоже свои заморочки, если сейчас браузеры практически сравнялись, то тогда могло быть такое: в firefox все нормально, а в ie все не раскукошится. Разный синтаксис для верстки в различных браузерах. Скругленные углы картинками. Свои события и методы js для разных браузеров и их разных версий.
Areso
Да поддержка IE10-11 и сегодня головная боль. Кроссбраузерная верстка тоже имеет отличия (FF-Chrome). Да что там далеко ходить — я добавил alert с выводом служебной информации и пользователь прислал мне (внимание!) скриншот, потому что во всех браузерах можно выделить и скопировать содержимое alert'a, а в Yandex Browser'e — нет. Представьте себе поток, закодированный в base64, который вам скинули в виде скриншота. Умереть не встать.
lexore
Хорошо, что вы не застали верстку под IE6.
some_x
Но вообще-то всё было сложнее. Мы писали на си, где шаг влево, шаг в право это расстрел и всё что ты видишь это «segmentation fault». И у нас не было resharper`а который исправит твои мелкие ошибки в синтаксисе, автоматически подключит недостающие билиотеки. Компилятор, текстовый редактор и развлекайся как хочешь.
EskakDolar
Дело не в том больше или меньше технологий, а в том как к ним вообще получить доступ.
Представьте что у вас вообще нет ни домашнего компьютера, ни интернета, ни специальной литературы, а только обрывочные сведения из журналов и ТВ.
Как думаете выросли бы у вас возможности претендовать на вакансии или нет?
Neikist
Согласен, 10 лет назад был именно в такой ситуации, чего то хотелось — но где инфу брать неясно, как что то делать — неясно. В таких условиях трудно что то делать. Только потом сначала телефон с интернетом появился (сказать честно — не сильно мне помог), а 6 лет назад, на втором курсе уже комп появился, с доступом к нормальному интернету, только тогда смог начать сначала навыки работы с ПК нарабатывать, потом уже пошло: линуксы как десктопная система, разные попытки программировать и т.д. Прогресс пошел только когда появился комп и интернет.
VulvarisMagistralis
Не понял.
Инфы полно уже с прошлого века (это почти 20 лет как).
Интернет давно существует.
Neikist
Интернет давно существует, доступ у всех к этому интернету — до сих пор не у всех есть.
EskakDolar
А мне тут понятно.
В России как раз 10 лет назад стал развиваться массовый доступ в интернет. Телефоны были сильно слабее и дороже.
А если в глухой провинции то все еще сложнее, особенно если некому подсказать и направить.
Но то теперь те кто целыми днями торчат в соцсетях в крутых смартфонах жалуются что не знают где взять нужную инфу. Они просто не знают что такое сидеть без информации.
Neikist
Да, все именно так, маленький поселок в провинции, стоимость телефона даже просто с интернетом сравнима с месячной зп, про смартфоны и тем более компьютеры не говорю, так что позволить себе это мы не могли. Если сравнивать ситуации без ПК и с переизбытком информации (напомню — комп с интернетом у меня с 2012, не так уж давно чтобы кардинально объемы с тех пор увеличились) — я однозначно выбираю переизбыток информации.
j-ker
В 2008-м? Похоже на байки бабушки Арины… Уже в сотовых сетях инет был и довольно доступный, а мопедно-дслный так и подавно даже в глухоманях. Не быстрый, конечно. Обычно в Зажопинсках на 64-128 кбит подключал Ростелеком (или что там было на него месте), но этого хватало для полноценной работы, чтения, переписки, чат-общения, просмотра
понро икиноNeikist
Я там выше описывал что кроме теоретической возможности провести интернет — нужно еще иметь устройство позволяющее к нему подключаться)
VulvarisMagistralis
В 2008 году?
Да ладно.
В 2004 еще поверю.
Я из глухой преглухой Сибири.
У нас еще в 1994 году появился интернет. Да медленный и дорогой. Но в принципе к году 2002 он был уже вполне доступен частному лицу при большом желании.
ToshiruWang
Большее желание нивелируется финансовой составляющей.
VulvarisMagistralis
Я тогда уже ребенка обеспечивал и квартиру снимал.
Тем не менее интернет у меня был.
ToshiruWang
А некоторые были с ребёнком и ожиданием зарплаты и обещаниями со своего.
PS. А телефон был или у милиционеров или у железнодорожников. Модема не было — некуда им звонить.
VulvarisMagistralis
Вы из 1950-х приехали?
У однокурссницы был интернет на спаренном с соседями телефоне — да. Они ругались что как не позвонишь там что то шипит. Она ругалась что как не выйдешь в интернет — связь рвется из-за соседей.
Neikist
Вы точно из российской глубинки? Это там где в 2008 было на весь поселок из 2к человек в районе 50 ПК, и почти половина из них в школе? Там где только пару лет как стала сотовая связь в принципе доступна? (помню году в шестом было всего несколько мест где ловило) и т.п.?
VulvarisMagistralis
У нас федеральные трассы покрыли сотовой связью еще к 2006 году.
Году к 2010 самая дальняя деревня уже была с интернетом.
Да, до сих пор есть места, где плохо ловит интернет и даже телефон.
Но в целом уже лет 10 как ноутбуком уже не удивишь и в самой глухой деревне.
Если вы из горного района — это другое дело. Там проблемы и до сих пор во многих деревнях. Горы экранируют.
Neikist
Да нет, центральная Россия. Даже представить не могу откуда такая разница. Интернет в деревне к слову был у нескольких человек. Но не у меня (семья скажем так… небогатая была), и у близких знакомых тоже не было.
VulvarisMagistralis
Тут вряд ли деньги.
Скорее — желание, приоритеты.
Дело в том, что я-то вкусил интернета еще в ВУЗе и плотно на него подсел. Стал важнейшим приоритетом.
И после этого уже даже когда было слишком дорого — все равно платил провайдеру.
Это как автомобиль. Пока его нет у человека — он может считать, что автомобиль и не нужен. А как появляется, но потом исчезает (сломался, авария, нет денег) — уже его очень и очень хочется заполучить назад.
Neikist
Вот только с ним познакомиться нужно еще) А если компьютер вживую только на уроке информатики видишь, да и там изучение ограничивается вордом и qbasic (дико понравился в то время) — то как то даже не представляешь себе каково оно. Ну и все таки позволить мы себе этого действительно не могли. Как то телевизор сломался — больше года без него жить пришлось, а уж компьютер…
VulvarisMagistralis
Ну да. Об этом и речь.
Как познакомился — так приоритет появился, родителей убедишь. В принципе им-то все равно чем детя тешилось — лишь бы не плакало.
ToshiruWang
Сложно было вкусить то, что показывали на старшем курсе один раз (ездили в Дом Учёных для этого). Но во всяких журналах компьютерных читали, на конференциях рассказывали о такой классной штуке. Идея гипертекста выглядела фантастической (хотя всякие хелпы со ссылками на другой раздел и были чуть ли не в NC3 и сами даже делали из го… подручных материалов).
Приоритеты — пожрать или интернет, отличный выбор.
VulvarisMagistralis
Я допускаю что где то в отдельных местах был такой выбор.
Но, повторяюсь, я, будучи молодым папашей с неработающей женой и живя на съемной квартире (это очень дорого было — 50% дохода на аренду квартиры) — тем не менее позволял себе интернет.
Не самых быстрый тариф, но тем не менее.
Хорош жаловаться на жизнь.
Все в ваших руках.
ToshiruWang
В очень многих местах был такой выбор, а позволить себе интернет могли разве что в крупных или особенных городах, где не видели выплату зарплаты продукцией и думают что их исключительные условия были везде.
> Хорош жаловаться на жизнь.
Очень странно называть представление о реальном положении вещей жалобами, у меня-то как раз всё хорошо было, но я бывал не только в крупных городах и имел возможность сравнить очень разные условия. Далеко не везде они были такими прекрасными.
ToshiruWang
Чуть новее, но даже в начале 0х именно так и было. И это не глухая деревня, а узловая станция (именно потому у железнодорожников — сотовой связи нет и как-то оповестить об аварии надо).
EskakDolar
Ваша глухая Сибирь случайно не в районе новосибирского Академгородка?
В моем глухом городке проводной телефон провести было проблемой.
Это теперь он даром не нужен, а тогда в 2002 году надо было подать заявление и ждать в очереди не известно сколько лет.
Впрочем, если среди близких родственников был директор городской АТС то вопрос решался за месяц-другой.
Но у меня со связями всегда было никак, так что до 2008 года интернетом пользовался только на работе и то примерно с 2000-го года.
А интернет в 1994 в преглухой Сибири… Шикарно вы там жили.
VulvarisMagistralis
Даже вообще не в передовой по части ИТ Новосибирской области.
bask
Да ладно?!
В 2008 году интернет в России был очень даже хорошо развит. Сайтов и информации уже было море. Тот же хабр уже как два года существовал к этому времени.
Даже модемы к этому времени уже исчезли.
А вот в 1998 да, интернет только развивался, модемы, диалапы…
EskakDolar
В 2008 да, интернет уже довольно хорошо развился, но прежде всего в крупных городах.
Какой интернет мог быть в городке где проводной телефон был еще проблемой, а GPRS если был то тормозной, не стабильный и дорогой?
В общем кому как повезло, где то пусто, а где то густо.
Stroy71
А книги, что отменили? Лично я и в 95-м и в 2005-м большую часть информации о компьютерах и программировании получал из книг. Причем стоили они тогда гораздо дешевле чем сейчас. За счёт бОльших тиражей.
Neikist
Ну да, была в библиотеке школьной пара книжек. Правда было одно но: без компьютера это было не так интересно.
EskakDolar
Дело даже не в том что не интересно, а в том что устарело уже на момент издания книги. Если и стоило изучать то чтобы хоть что то знать.
Neikist
Ну, тут еще сыграли роль мои заблуждения, учитывая уровень информатизации моего поселка — я был в полной уверенности что спрос на программистов никакой (нужно человек по 500 в год, причем только вундеркинды какие то), и планировал этим заняться в будущем, как хобби, а поступать в медицинский, или, если не пройду, то на экономиста))
VulvarisMagistralis
то есть вы выбираете профессию по спросу, а вовсе не потому что она вам нравится?
Neikist
Не совсем так, вы пропустили пункт про то что их требовалось по моему мнению тогда человек 500 в год, куда уж мне, хорошисту у которого достижений разве что районные олимпиады по математике, информатике и физике, тягаться с призерами всероссийских олимпиад, краснодипломниками МГУ и т.д. Собственно поэтому «здраво» решил оставить это как хобби которому свободное от учебы и работы время посвящать, а идти работать в нужную сферу типа медицины и экономики. Впрочем даже с медициной не сложилось, не хватило моих 238 баллов по трем предметам для поступления на бесплатное, пришлось на экономиста идти. Для меня тогда программирование выглядело именно как rocket science, круто, интересно, но шансов попасть нет из за тупизны собственной и потому что берут лучших из лучших. Ну а когда понял реальный порог вхождения — было поздно уже что то менять, решил доучиваться на экономиста, благо 2 года всего с копейками оставалось, да и специальность называлась «Прикладная информатика в экономике»
Stroy71
Это Вы о 95-м или 2005-м годе???
EskakDolar
Я о конце 80х и начале 90х
Stroy71
Тогда вообще не понятно. Тогда книги не устаревали о-очень долго. Например, Фигурнов издавался несколько раз с не очень большими изменениями. О Фаронове (книга по Турбо-Паскалю) вообще молчу…
EskakDolar
Ну это у нас, в СНГ. На западе откуда все приходило гораздо динамичнее все развивалось.
А Фигурнов это ведь про IBM PC, а про Apple, например, не помню литературы.
VulvarisMagistralis
Не-а.
И у них раньше было нужно мало программистов.
Скачок в этих технологиях, быстрая их смена и большая востребованность программистов — веяние сравнительно недавних времен.
Разница с Западом только та, что там чуть-чуть раньше началась автоматизация, чуть чуть раньше появлись персональные компьютеры и пр.
Взять ту же Delphi, наследницу Pascal, описанного Фигурновым.
Delphi обеспечивала фирме Borland весьма устойчивое положение на рынке вплоть до границы веков. И MS ничего не могла противопоставить пока не переманила архитектора Pascal/Delphi из Borland. Это было в самом конце 20 века только.
EskakDolar
Вы видимо каких то тепличных условиях вообще были.
Наверно и книги и новые программы вам доставляли сразу как только они появлялись. Мне же приходилось ждать их годами.
Дельфи когда я смог посмотреть он был уже то-ли 5й то-ли 6й.
До интернета у меня доступа еще не было. Приходилось во всем разбираться методом тыка либо компилировать в голове какие то обрывочные сведения.
VulvarisMagistralis
Сибирский город с населением около 65 000 человек на тот момент, когда я начал изучать ИТ в 1987 году. Железная дорога появилась в 1985 году. До того — только самолеты и вертолеты. Полная изоляция. Автомобильная дорога появилась только в этом веке.
Ближайший населенный пункт с более-менее адекватной инфраструктурой (где то 220 000 жителей) — в 330 км.
Дает более глубокое понимание.
Это скорее плюс, если удается сохранить мотивацию.
Вам грех жаловаться.
EskakDolar
Это в глухом сибирском городе у вас был класс с ДВК-2 и DEC или в вузе? Если уже в вузе то все равно вам повезло. У нас в вузе были доступны только чугунные терминалы ЕС ЭВМ и СМ-4 раз в неделю.
Stroy71
Много ли компьютеров Apple было в 80-е — начале 90-х в СНГ? Считанные единицы. Если у Вас был, не могу даже сказать, повезло Вам или нет…
VulvarisMagistralis
Машина Тьюринга или Pascal — вполне себе актуальны. Даже книжка по Java из 1995 в 2005 году если не актуальна, то на 95% полезна.
b1ora
30 лет назад и программирование было не как сейчас. 5 лет назад я спокойно писал приложения под андроил, а теперь открываю и не знаю с чего начать. Куча новых SDK, какой то Kotlin… О котором я 5 лет назад и не слышал и сомневаюсь, что он тогда и был.
mayorovp
А при чем тут Kotlin? Это просто язык программирования, изучать его или игнорировать можно независимо от разработки под Android.
AllexIn
Я вообще никаких отличий в программировании под Андроид не вижу с тем что было 5 лет назад.
Был Эклипс, стал Android Studio. Причем этого можно было и не заметить, потому что ведут они себя очень похоже.
Даже уроки по написанию приложений 5 летней давности вполне спокойно делаются сейчас.
Что у вас так сильно изменилось в программировании под Андроид?
fukkit
27я версия API, не?
Simplevolk
А что там особенного? Писал для себя под Android пару лет назад. Действительно интересно, что изменилось.
saboteur_kiev
Да, но что нужно было учить?
Бейсик? HTML?
А сейчас даже не язык программирования, а сразу паттерны + CI + фреймворк
Alek_roebuck
Что нужно было учить 15-20 лет назад? C++ с тогдашним STL, алгоритмы, межпроцессное взаимодействие, работу по сети, способы работы с динамическими библиотеками/модулями/оверлеями, системный API, всякая специфика типа DCOM/ActiveX/OLE или Qt. SQL, bash, MFC, азы криптографии, работа с последовательным портом — это всё могли спросить на собеседовании младшекурсника без опыта работы, претендующего на должность младшего программиста (в трудовой писали: «техник разработки ПО») лет 15-20 назад.
saboteur_kiev
В этой ветке обсуждаем 30 лет назад, а не 15-20.
claygod
30 лет назад вместо компьютера, помню, изучал программирование на калькуляторе Электроника Б3-34, а код программ читал в журнале Техника молодёжи в публикуемой частями фантастической повести Путь к Земле (там электронщик Александр Перепёлкин и пилот Михаил Коршунов летят с Луны на Землю на крохотном лунолёте «Кон-Тики»). Эх…
VulvarisMagistralis
1988 год?
Вовсю уже программировал. ДВК-2, потом Агат
EskakDolar
Насчет ДВК-2 вам очень сильно повезло. В 88м только у счастливчиков у кого родные на заводе в АСУП или в институте был доступ к таким аппаратам.
А с агатов в школе мое айти и началось. Только каждый месяц ломались и чинились подолгу. А через год и чинить перестали.
VulvarisMagistralis
У нас был списанный из вычислительного центра аппарат.
А к году 1990 подтянолась из того же ВЦ списанная DEC (не СМ-ЭВМ, а фирменная)
EskakDolar
Целых две списанных персоналки!
Да одна импортная!
Да еще работающие!
Да вы олигарх!
Для того времени, конечно…
VulvarisMagistralis
+ класс Агатов-2. Полный класс Агатов-2
А ДВК-2 была не одна, а с терминалами, то есть работало более 1 человека.
EskakDolar
Вытирая скупую слезу: Да вы издеваетесь
ToshiruWang
Два класса Агатов (7 и 8, вроде, в разные годы или замена одного на другой — не помню), 2 класса БК, класс PS/2.
С БК-0010Ш даже кружок был, позволивший прикоснуться к замечательному языку Фокал(«а во втором классе, представляете!, даже клавиатуры не нарисованные, а настоящие»), Агаты тоже были сравнительно доступны, PS уже почти в конце обучения появились (главное разочарование — 5.25" там бесполезны и нужно искать эти новые 3.5", а без них там даже Бейсика в ПЗУ нет, зато с ними — TP, TC и Clipper).
ameli_anna_kate
Мало помню, было два года. Но лет в 6 была книжка по алгоритмам для детей, там учили рисовать блок схемы, все перемежалось красочными картинками с изображением компьютера в виде человека в разных ситуациях.
rinnaatt
Я когда учился в школе в 90-е был записан во все библиотеки своего города и просто охотился на практически любую литературу по программированию. Но так как я жил в Казахстане не в областном центре, то такой литературы было очень мало. Попалась мне более мене стоящая книжка по Паскалю, ПЛ1 и какая-то совсем простая по Бейсику. Всё остальное были мануалы по досу, нортон коммандеру и т.д. Как-то получилось съездить в областной центр и я там в местной библиотеке удачно нашёл книгу по QBasic, но прочитать успел только несколько страниц. В это время я программировать толком не научился, писал только самые простые программы. Полноценно учится программированию я начал только 10 лет спустя.
NeverIn
С одной стороны юниоры ноют, что не берут, с другой стороны пересмотрел за год около 1500 резюме -простой sql запрос мало кто может написать. Какая то пустота в глазах — берите на испытательный, учите, да и еще некоторые умудряются спросить оплачивается ли тестовое часовое задание. Уровень очень низкий.
kozzztik
Вот тут как раз рекрутеры и нужны, а не там где их применяют. Вот тут как раз нужно фильтровать вменяемых их кучи.
Ну и очень мало компаний имеют программы работы с джунами. Что довольно странно — как раз у них сейчас к сениору ставят в требования коммуникативные навыки и пачку soft-skills. А как миддл может вырасти до сениора, если не будет работать с джунами.
В крупной компании не может быть вменяемого управления талантами и развития сотрудников без стабильного притока джунов.
Druu
> А как миддл может вырасти до сениора, если не будет работать с джунами.
А какая связь между ростом до сениора и работой с джунами? Я же верно понял, что речь не о сениор-воспитателе в детском саду?
kozzztik
Нет, но в обязанности сениора входит работа с мидлами. Это весьма специфичные взаимоотношения — когда ты должен быть примером другим, проявлять некоторое наставничество не будучи при этом руководителем. Повторюсь, речь идет о крупных компаниях, и там как правило нельзя просто подойти и сказать — э, слышь, уася, так не делай, так делай, сосулька башка попадет. Бывает даже вообще просто сказать что где-то ошибка нельзя, нужно «правильно подбирать слова в соответствии с политикой компании». Научится всему этому можно только на реальном опыте. Миддл может его получить только работая с джунами.
К слову говоря, когда миддлы приобретают такой опыт сами, они гораздо лучше работают с сеньорами, для них процесс передачи знаний перестает быть односторонней процедурой.
Druu
> Это весьма специфичные взаимоотношения — когда ты должен быть примером другим, проявлять некоторое наставничество не будучи при этом руководителем.
Энто ведь все в рамках рабочего времени? Ну, типа «я сегодня никаких тасок не выполнил, потому что наставничал с Васей, проходили с ним наследование». Работает же так? Ежели да, то окей.
> Повторюсь, речь идет о крупных компаниях, и там как правило нельзя просто подойти и сказать — э, слышь, уася, так не делай, так делай, сосулька башка попадет.
Согласитесь, это проблема конкретной компании, а не сениора. В нормальных компаниях принято говорить как есть. Ну потому что это банально эффективнее.
kozzztik
В той компании где я работал, там были требования, но не было возможностей. Потому я там больше не работаю, ибо это бред. Но на уровне тимлидов была официальная «статья» расхода времени, управление командой. И на нее можно было списывать определенное количество времени в месяц, да. Хотя и не очень много.
Нет, это не проблема компании. Потому что это не эффективнее. Ты быстрее передаешь свое сообщение и даешь обратнуюсь связь, по этому кажется что это проще, и в каких-то отдельных случаях или сработаных командах это работает. Но не в масштабах крупной компании. Мало сообщить человеку что он ошибся, надо это сделать так, что бы он остался этим доволен, как это не парадоксально это звучит. В крупняке все держится на горизонтальных связях. Ты скажешь Васе что он накосячил, а он в следующий раз отправит тебя официально оформлять заявку на его работу. А ближайший общий руководитель у вас CEO и заявка пойдет через директоров департаментов, если они между собой договорятся. Нет — через вицепрезидентов. Вопрос который может быть решен за пять минут будет решатся пару недель или месяцев, в зависимости от того, насколько многим людям вы неаккуратно успели высказать свое мнение.
silveruser
Это что, в России так крупные компании работают? Пережитки развитого социализма у руководства? ;)
kozzztik
В вакансии этого не пишут, просто потому что смысла нет. Таких кандидатов просто нет, а вакансии закрывать надо. Без этих навыков наймут без проблем, даже на сениора. Но повышение вы не получите. Конкретно та американская компания в которой я работал имеет довольно широкую линейка чисто технических позиций и сениор это что-то в районе середины. И да, для каждой позиции прописаны компетенции, и hard skills там занимает только несколько строчек и прописаны весьма абстрактно, в духе «миддл владеет одним фреймворком, а сениор несколькими». Подавляющее число компетенций это именно soft skills. К слову, что забавно, таблицу эту почему то рядовым сотрудникам не показывают, и доступна она была только директорам департаментов, которые непосредственно участвуют в повышениях, тимлидам только по секрету. Так что не исключено что до вас такие вещи просто не доводили. Я практически уверен что в любой компании >1000 сотрудников >10 лет на рынке есть такие таблицы компетенций.
При всем при этом в компании не было никаких программ повышения этих самых soft skills. Сейчас работаю в отечественной компании, где наиболее продвинутое обучение сотрудников на локальном рынке. Хотя тоже на поток не поставлено.
silveruser
Вы не ответили на мой вопрос. Я вас не про таинственную таблицу спрашивал (но про которую обязательно, для повышения хабровского ЧСВ, нужно заметить, что «до вас такие вещи не доводили» :) ), а про ваши обязанности (если, конечно, вы работаете senior software engineer) — входит ли в них, официально или не официально требование «быть примером другим, проявлять наставничество» (например, ваш менеджер подошел и сказал вам: «Константин, ты поопекай да поучи наших джунов»).
Замечу, что мой опыт работы (за 25 лет только в Штатах) наверняка намного больше, чем ваш, и в крупных и очень крупных компаниях (в США) я работал в несколько раз чаще, чем вы (если очень интересно, могу в личке рассказать), но нигде и никогда никто не ставил задачи «опекать и учить джунов и/или интернов»!
Учатся здесь в колледжах и университетах, а в компаниях, обычно, занимаются бизнесом, работают. А позиции открываются под конкретный проект и конкретные задачи, а не «а не взять ли нам senior software engineer вообще, пусть наших джунов подучит», и уж что-что, а заниматься сеньору уж есть чем.
Еще замечу, что, во-первых, обычно уровень начинающих разработчиков, с которыми мне приходилось сталкиваться, довольно высок (даже студентов-интернов), а во-вторых, никогда я не видел отношения к ним, как к «джунам», что описывают некоторые тут. Наоборот, обычно менеджмент (team lead или project manager) всегда неоднократно подчеркивает, что «все мы — команда высококлассных экспертов», хотя на деле это далеко не так. В-третьих, западные молодые люди очень не любят непрошеных «учителей» (коими, как я по топику заметил, любят быть выходцы из России или россияне), чувство собственного достоинства и независимости в людях очень сильно развито, и при подобном отношении «морду лица» вам бить не будут, конечно (не тот менталитет и воспитание), но вот менеджеру обязательно пожалуются, хотя могут даже и публично, на митинге. «Наставнику» будет очень стыдно в этом случае.
Учатся же на работе люди сами: реализовывая задачи и проекты от простых к сложным, учась работать над code review (по обе стороны — ведь ревьювить код от гуру не менее поучительно, чем выслушать его замечания касательно собственного кода), во многих крупных компаниях существуют программы по повышению образования и квалификации, так что желающий может за корпоративный счет пройти курсы, получить сертификаты, поучаствовать в семинарах и «хакатонах», или даже вообще, выучиться на MBA (но это уже не для программистов). Было бы желание, как говорится.
Но, подчеркну, нигде и никогда я не встречался с официальными или неофициальными требованиями (цитирую) «ты должен быть примером другим, проявлять некоторое наставничество»!
kozzztik
Упоминание таблицы было не для ЧСВ, оно и было ответом на ваш вопрос, который вы проигнорировали. Да, это совершенно точно было требованием, черным по белому прописанным в списке компетенций по моей позиции. И это было не официально, так как (я уже сказал и вы снова на ЧСВ приписали) это вообще странным образом доводилось до сотрудников.
Возможно, разница в вашем восприятии связана с тем, что вы работаете в американских компаниях, как я понял, в самой Америке? Я то работаю исключительно в России. Тут есть, знаете ли, некоторый дефицит с высококлассными экспертами, уж очень велик спрос и миграция. Ну а про непрошенность — я вроде вполне немало обернул тему наставничества разными условиями, что бы стало понятно, что речь не идет о том что бы лезть и тыкать человека носом в его ошибки. Но смысл — вы же все проигнорировали, да?
silveruser
Каким «ответом»? Перестаньте отвечать на выдуманные вами же вопросы, и ответьте прямо на мой: кто и когда потребовал от вас «ты должен быть примером другим, проявлять некоторое наставничество»? Ваш менеджер, таинственная таблица, должностные инструкции, памятка сотрудника (employee handbook)?
Вот это, скорее всего, и является ответом — да, похоже, это чисто российская специфика плюс менталитет «страны советов».kozzztik
Особенно занятен металитет страны советов у американского руководства в американских компаниях, да.
Вопрос был — входило или нет, я на него более чем подробно ответил.
Если уж теперь вы спрашиваете кто — непосредственный руководитель. Как на собеседовании так и в процессе работы. При том это было не в одной компании. Звучит это обычно приблизительно так: «Ищем сильного разработчика. У нас есть хорошая команда, ребята молодцы, но все мидлы, нужен кто-то опытный что бы за ними присмотрел». Формулировка от компании к компании отличается в соответствии с реальными обстоятельствами, но смысл остается.
Таблица компетенции — это спускалось уже из головного офиса в силиконовой долине. Бывало как-то даже HR при найме указывал как рекомендацию по конкретному сотруднику при его найме, в устной форме. Не знаю, может и записывали это куда, у меня к их делам не было доступа.
Так вполне конкретно?
silveruser
Нет у американского руководства американских компаний подобного совкового менталитета, я тут это твержу уже 100500 раз! Не требуют тут «воспитательства», «обучательства», «присмотрения» — лишено всяческого смысла, и бизнес-перспектив.
С чего это вы решили? Я спрашиваю то, что спрашивал с самого начала. На мой вопрос можно ответить либо «да», либо «нет». У вас проблемы с пониманием?Ну, и про пресловутую «таблицу» (которая, судя по приведенному маразму «миддл владеет одним фреймворком, а сениор несколькими» существует только в вашем воображении — в жизни не поверю, чтобы вменяемый человек с нормальным умом и здравой памятью мог подобное сочинить!) и ЧСВ, процитирую: — не нужно быть дипломированным психологом, чтобы понять, для чего написана эта фраза :) И, кстати, только одной это фразой вы раскрылись полностью — ну, да Бог вам судья…
kozzztik
Это уже слишком толсто, сдаюсь.
silveruser
"- Рабинович, ну почему вы всегда отвечаете вопросом на вопрос?
— Это я отвечаю вопросом на вопрос?!" :P
Druu
Вы все-таки ответьте на исходный вопрос. Если к концу недели вы скажете, что не решили ни одной задачи, т.к. занимались «менторством», то это будет ок? К вам не будет предъявлено каких-либо претензий?
kozzztik
Будет точно также, как если вы выберите любую другую не приоритетную задачу и будете заниматься ей одной, а все остальное будете игнорировать — определенно не ок. Хотя, если у вас вдруг, по какой то причине выдалась неделя без работы (а такого там не бывало), то это не было бы проблемой. Да и не очень понятно, как вы собрались тратить на менторство целую неделю? Ментор — не тренер, и не учитель, это не отнимает много времени.
Я не помню, сколько точно отводилось времени, но вроде что-то около 10% в месяц, и оно включало в себя некоторую организационную беготню вроде сдачи месячной отчетности, встреч один на один и плановых ревью (например испытательного срока). Этого было вполне достаточно.
В той компании где я работаю сейчас, есть такое понятие как idle, состояние между проектами. В него тебя привлекают либо к внутренним проектам компании, либо ты тратишь его на обучение. Период может составлять несколько недель. Менторство идет фоном, по аналогичной схеме, но без формализации. Вроде за него, я слышал, даже доплачивают, но я пока еще не вписался. На нашем проекте что-то забуксовало.
Druu
> Будет точно также, как если вы выберите любую другую не приоритетную задачу и будете заниматься ей одной, а все остальное будете игнорировать — определенно не ок.
То есть менторством следует заниматься тогда, когда нет приоритетных задач? Вы же понимаете, что де-факто это значит «не заниматься никогда»?
> Ментор — не тренер, и не учитель, это не отнимает много времени.
А что вы понимаете под менторством тогда, давайте определимся?
VulvarisMagistralis
Это везде так работает.
Менее квалифицированных специалистов нерентабельно без присмотра более квалифицированных оставлять, если у вас есть эти более квалифицированные.
Про практику code review, поди слышали, да и, полагаю, на практике сталкивались? Вот такой, к примеру, вид наставничества.
С джунами — вообще все сурово. Их если не опекать, не проверять, не формулировать задачи в деталях, то потом за ними 100% переделывать придется. Впрочем, при острой нехватке денег (или при незначительном приоритете каких-то разработок, при отсутствии культуры программирования, при отсуствие квалифицированных спецов в штате) — все же нередко идут и на самостоятельную работу джунов.
silveruser
Ответьте, ставил ли вам менеджер задачу «опекать и проверять джунов», было ли это упомянуто при вашем устройстве на эту позицию? Или это ваши личные «тараканы» (похоже на то)? Удивляюсь, как вас, при таком отношении, еще не уволили — в Штатах (настоящих, а не выдуманных) очень не любят «опекунов», молодежь здесь самостоятельная, грамотная и с большим чувством достоинства (западное воспитание).
kozzztik
хотя вот за детский сад вообще вопрос хороший. Филосовский.
NeverIn
Т.е. гениальному интраверту-аутисту сеньором быть не светит…
VulvarisMagistralis
Только в своем воображении разве что.
Сеньор-девелопер занимается сложной и объемной работой, которая делается большим коллективом. И полностью изолированным в этом коллективе быть не получится.
Одиночки — максимум до миддла дотягивают. За те годы, что их коллеги-неаутисты уже давным давно сеньоры. Вариться в собственном соку — малоэффективное занятие.
kozzztik
в крупной компании шансы мизерные, да. Там гении интраверты вообще нафиг не сдались.
Marsikus
Но и программная инженерия усложнилась многократно. Раньше было: вот С, сиди и код пиши. А сейчас все программные решения невероятно многослойные и многокомпонентные.
VulvarisMagistralis
Упростилась.
Повысилась производительность труда.
Уменьшился порог входа.
xaoc80
Кроме Си был еще и ассемблер, если уж говорить про те годы. А это уже знание как работает «железо» под капотом, знание протоколов, спецификаций.
VVS_AMD
Я сейчас тоже испытываю проблемы с поиском работы на java. Писал на Delphi до этого, опыта на джаве мало. И учиться вовсе не лень, просто учиться бесплатно уже некогда, деньги надо зарабатывать. Я бы не против устроиться за небольшую ЗП, лишь бы хватало семье на покушать, но с перспективой роста. Но таких вакансий нет (в Питере немного есть, а в моём городе нет совсем).
Насчёт того, что всё есть в инете, ну как сказать… пишу тестовое, проверяю: всё работает, оформил как положено. Приходит ответ: классы не так назвал, SQL не там у меня и т.п. Может инфа об этом в инете всё есть? Ну конечно нет! Большинство примеров, по которым учился уж точно хуже моего кода.
EskakDolar
Как это нет? Да здесь хотя бы на Хабре поищите. Насчет того что то о таких вакансиях жалеть не стоит. По моему не очень адекватные работодатели, намучаетесь с ними. И вакансия то скорее всего от того что люди бегут от неадекватов. В ответ можете заспамить их вопросами и просьбами рассказать о их требованиях. Это опыт, хоть и негативный, но хоть немного но поможет вам в профессиональном росте.
VVS_AMD
Здесь хотя бы мне отписался человек, который смотрел моё задание. Обычно приходится иметь дело с рекрутерами, которые ничего не могут объяснить. Так что даже приятно было читать такой ответ (хоть и с отказом) после пары общений с рекрутерами.
webkumo
ну вот я бы не был так категоричен — некоторые настолько мастерски называет классы, что просто печаль-печаль.
@VVS_AM а можете пример своего кода показать (например на гитхаб скинуть)?
plastilinko
ну не совсем в плане сел почитал и ты уже сеньор
народу много, требования выше, плюс всем нужен реальный большой опыт даже на старте а где его получить не учат
да, есть куча статей, самоучителей, литературы, форумов но не всегда понятно как двигаться, с чего начать, что нужно сейчас а что можно потом понять
если раньше умеешь склепать поле ввода и кнопку ОК то ты уже джуниор фронтенд то теперь надо уже достаточно хорошо знать один из модных фреймворков и помимо него еще пару тройку инструментов так что современного джуниора пропорционально сложнее получить из анона количеству доступной информации для обучения
sflyer
Думаю ниже описали эти два пункта, но я отпишусь. Сейчас много всего доступно из-за интернета. Но:
1) Фильтрация информации. Так как опыта, допустим, нет, то почти любая информация воспринимается как адекватный совет, который можно попробовать, а вариантов много, но объяснить разумность одного против другого ни кто не сможет\не захочет. Уже потом, когда начинают всплывать проблемы, становится ясно. В итоге метод тыка как был, так и остался;
2)Рост требований в IT индустрии, не только программирования. Причем рост значительный и при самообразовании не известно как развиваться и в каком направлении (сам сейчас на этом этапе).
EskakDolar
ИМХО, прежде всего самые основы — устройство компьютера и двоичная логика.
Далее элементарные представления об низкоуровневом программировании.
Даже если программист точно никогда не будет программировать на ассемблере и Си базовые знания о них ему необходимы. Хотя бы чтобы не было иллюзий что оперативная память и дисковое пространство бесконечны.
А далее уже двигаться по выбранному направлению.
severgun
Очевидно что этот совет хороший, но не имеет НИЧЕГО общего с реальностью. О том что у вас закончилась оперативка вам сообщит операционная система, а модный язык не позволит управлять памятью. Знаниями о конъюнкции и дизъюнкции сможете только детей пугать.
EskakDolar
Да, тяжело вам. Так вы в самом деле ни на какую вакансию не пройдете.
hatari90
Druu
> ИМХО, прежде всего самые основы — устройство компьютера и двоичная логика.
Далее элементарные представления об низкоуровневом программировании.
Очень плохой совет. Пока Вася гробит время на изучение основ, Петя уже освоился с фреймворком Х, устроился на работу и получает реальный опыт.
В результате, спустя пару лет из Пети получился вполне толковый специалист, способный решать задачи, ну а Вася может написать на ассемблере приложение, которое рисует квадрат.
EskakDolar
Ну если Вася такой тупой что кроме квадрата больше ни на что не способен то по любому он далеко не уйдет.
Если же рассматривать равные стартовые позиции то для толкового парня на освоение начального уровня в ассемблере много времени не понадобится. Может Вася немного и отстанет на начальном этапе от торопыги и рвача Пети, но потом по любому обгонит просто благодаря широте взглядов. А Петя так и будет ковыряться в давно устаревшем фреймверке Х.
Druu
> Может Вася немного и отстанет на начальном этапе от торопыги и рвача Пети, но потом по любому обгонит просто благодаря широте взглядов
Благодаря какой широте взглядов? Какую пользу, хотя бы теоретически, умение программировать на ассемблере даст при, например, написании сайта?
Один человек может сделать тудулист на фреймворке Х, другой рисует квадратики на ассемблере (сходные по сложности задачи), вы кого в качестве джуна для разработки интернет-магазина возьмете? Наверное, все-таки, человека который имеет хотя общее представление о том, чем будет заниматься?
EskakDolar
Согласен, для написания сайта — ассемблер не нужен. Если Петя хочет всю жизнь потратить на клепание вебформочек то он идет верным путем.
Я всегда смотрел на профессию программиста несколько шире, но если это теперь такой мейстрим то, ИМХО, как то уныло.
Druu
> Я всегда смотрел на профессию программиста несколько шире, но если это теперь такой мейстрим то, ИМХО, как то уныло.
Вот именно, профессия программиста несколько шире, чем вы всегда думали. Да, безусловно, есть области, где знание низкоуровневого программирования полезно, но есть и множество областей, где от такого знания толку нет. Если вы хотите работать в этих областях — конечно, стоит учить ассемблер, искать соответствующие места работы. Если же вы не хотите связывать свою жизнь с перекладыванием байтиков — есть множество других вариантов и тогда ассемблер вам нафиг не нужен.
EskakDolar
Ну это как у среди медиков некоторые зубных врачей медиками не считают.
Ковыряются вечно в зубах, а что там в остальном организме их не интересует. Если кому то срочно потребуется медицинская помощь то кроме как посмотреть зубы они ничем не помогут.
Так медики ли они?
Druu
> Так медики ли они?
А почему, собственно, нет?
Ugrum
Зубные техники?
VulvarisMagistralis
ну-кась, приведите пример где нужен ассемблер программисту?
P.S.:
это не наезд обездоленного.
автор сих строк знает 2 ассемблера (ассемблер это не язык, а мнемонические команды конкретного процессора, поэтому его нужно учить отдельно для каждого вида процессоров)
EskakDolar
Я не справочник. Примеров не дам.
Жаль что вы не поняли что я имею в виду.
Чтобы пояснить мою точку зрения скажу, что считаю что программисту нужно знать ассемблер хотя бы на начальном уровне чтобы иметь представление как на самом деле оно работает и чего стоят для процессора и для оперативной памяти на самом деле те или иные новомодные нововведения в языках, новые команды и приёмы.
VulvarisMagistralis
Вы не можете привести примеры, потому что таких примеров нет в общем случае.
Для частных случаев, да. Например, если вы один из 100 000 программистов, а именно тот, кто разрабатывает криптографические библиотеки — оптимизация отдельных кусков кода на ассемблере позволит серьезно поднять производительность на высоконагруженных системах (опыт из Cloudflare, криптографическая библиотека для языка Go)
Широкий кругозор, конечно, хорошо.
Но где граница этого кругозора? До каких пределов его еще рентабельно повышать?
То что кто-то когда то начинал с ассемблера (как я например) — вовсе не значит, что этот путь и ныне актуален. В прошлом веке ассемблер действительно применялся широко. Например, при создании почти любой игры.
EskakDolar
Может я не ясно выражаюсь, но опять вы меня не поняли. Я могу дать пример, но не хочу потому что я не Гугл и не Яндекс.
Впрочем, вот например в С++ и Паскаль можно делать вставки на ассемблере. Так что настоящий профессиональный программист на С++ и Паскаль должен если не уметь то хотя бы быть морально готовым это применить. Кто знает что ему еще потребуется?
А это уже не 1 на 100 000 программистов.
А если вдруг потребуется, что он будет искать того самого 1 на 100 000 или хотя бы попробует сам?
Это каждый для себя решает сам. Но то что, видимо, в массе принято его за ужать, по моему печально.
General_Failure
Чтобы для одного из 100500 программистов не пришлось выпускать версию «С ассемблерными вставками»
VulvarisMagistralis
В Яндексе и Гугле я найду доводы за свою позицию.
Если у вас есть что сказать за вашу позицию — соблаговолите привести.
Иначе это выглядит как слив, уход от ответа. Детский сад, короче.
Да много где, в Go, например, тоже.
Нигде не понадобится для 99 999 программистов.
Кроме школьных, студенческий экспериментов.
Одному понадобится, я уже привел пример где.
Теперь жду ваших обоснований.
Если при этом изучаются вещи, непосредственно нужные программированию, — это как раз радостно. Работа становится более эффективно.
А то, за что выступаете вы… ну пусть программист сможет поддержать беседу о творчестве Винсента Ван Гога, это отнюдь не характеризует его как хорошего программиста.
А если время, потраченное на Ван Гога не было потрачено программистом на CI/CD — так это и вовсе, плохой программист.
EskakDolar
Свои аргументы я уже привел, повторять не стану. Вы же, видимо, говорите о своем, о наболевшем, а именно о проблеме набора квалифицированных специалистов на свой проект.
Сочувствую, у меня тоже такие проблемы.
Понимаю, что требовать от кандидата знания ассемблера глупо, если вакансия на фронтэнд.
Только я говорил не об этом, а требовательности к себе и глубине понимания предметной области. Если требовательность к себе нулевая и заменена требовательностью размеру зарплаты, а глубина ограничена html и JS то и результат будет поверхностным.
VulvarisMagistralis
Это легко.
Идем на hh и смотрим кто нужен.
Скольких программистов на hh может коснуться ассемблер по работе? Если мы будет листать подряд — даже не долистаем до таковых, утомимся.
Нужно спецфильтр ставить чтобы быстро таких найти — например «микроконтроллеры». Да и то — не 100%. Когда сейчас в микроконтроллеры даже ОС полноценную зачастую помещают…
Вы привели html/js. Следовательно речь о фронтендере?
Если фронтендер делает сайт интернет-магазина, то ему будет полезно знать маркетинговые/торговые нюансы из предметной области.
Если она завтра делает сайт об изучении иностранного языка — было бы неплохо чтобы он хоть немножко ориентировался в языке/методиках обучения.
Вы же предлагаете какие конкретно базовые знания ему?
Ассемблер? Машина Тьюринга?
НФ — да, всенепременно и полезно.
ACID — да.
SOLID — да.
CI/CD — да, это востребованное профессиональное знание.
EskakDolar
Т.е. цифр у вас все таки нет и вы, как вы выражаетесь, слили.
Вот не согласен. Возможны варианты. Если в команде есть грамотный маркетолог или спец по обучению то программисту знания в нюансах сами по себе не нужны. Т.е. они появятся просто потому что он в этом вынужден вариться, но требуют их от него в последнюю очередь.
Не видел вакансий фронтэнд программиста с требованием знания нюансов маркетинга. Если человек толковый то разберется. А если маленький стартап в котором кроме 2х-3х программистов и нет никого, то тут да — придется знать все.
Да хотя бы азы ассемблера x86 или любого другого. Не важно. Главное представление как там на самом деле все работает.
Я не предлагал нигде требовать с каждого ассемблер.
Как, например, с инженера-электроника не требуют на работе отчета по знаниям физики или высшей математики. Хотя ведь в вузе он это точно изучал. Достаточно знать что эти знания он освоил о чем и говорит диплом.
VulvarisMagistralis
Ну вот вы сами себе и противоречие — широкий кругозор, выходит, не нужен?
Цифры я уже давно назвал: 1 из примерно 100 000 программистов нуждается в фундаментальных знаниях на уровне ассемблера.
Источник цифр — по вакансиям hh.ru
Например, тут удобно сведено habrahabr.ru/company/hh/blog/344724
Neikist
Хм, один из ста тысяч, все таки мне кажется что в россии таких людей нужно больше чем 2-3
EskakDolar
Да какое же тут противоречие? Я же говорил о кругозоре в сфере ИТ, а маркетинг тут причем? Сегодня программист, по вашему примеру, кодит интернет магазин, а завтра онлайн иньяз-школу. Сегодня маркетинг, завтра иньяз, послезавтра опять маркетинг. Но все время все это делает на компьютере и никуда он от него не денется.
VulvarisMagistralis
Да, — в ИТ, согласен: CI/CD, НФ, ACID, REST и т.п.
Но при чем здесь ассемблер? Без этого нельзя просто знать, что интерпретируемые языки отличаются от компилируемых и что такое JIT?
EskakDolar
Ну так они знают, что интерпретируемые языки отличаются от компилируемых, может быть.
Но это все что они знают и главное не стремятся знать больше.
Druu
> Но это все что они знают и главное не стремятся знать больше.
А зачем им знать больше? Согласитесь, ведь если выбрать случайных 10 программистов, то для 9 из них знание маркетинга окажется полезнее знания ассемблера. Разве не так?
kozzztik
Вот кстати совершенно верно замечено. Нынче прикладные знания по области гораздо важнее фундаментальных знаний по разработке. Вокруг столько готовых решений и фреймворков, что склеить то что нужно — дело не сложное. Обычно сложно понять, что же на самом деле нужно.
Druu
> Чтобы пояснить мою точку зрения скажу, что считаю что программисту нужно знать ассемблер хотя бы на начальном уровне чтобы иметь представление как на самом деле оно работает и чего стоят для процессора
Вы сейчас говорите, не осознавая, о такой вещи как «уровень культуры». Вот культурный человек знает, что Париж — столица Франции, а Пушкин — русский поэт. Это бесполезное в жизни знание, человек, который данных фактов не знает — он не становится от этого плохим человеком и жить ему как-то труднее не станет. Но от культурного человека мы ждем такого знания.
Вот и здесь также — есть определенная культура программиста, которая предполагает наличие определенного массива знаний. Если программист этими знаниями не обладает — он не становится худшим программистом, чем тот, кто обладает. Возможно, он прекрасный специалист, который замечательно справляется со своими рабочими задачами, и вполне себе развивается в выбранном направлении. Но можно сказать, что он,… ммм… «некультурный программист». И все.
VulvarisMagistralis
Тут есть разные слои.
Ассемблер — не нужно на практике большинству. Никогда не увидят на работе.
Распределение памяти динамическое — желательно, но не обязательно.
Стек как работает при рекурсии — более желательно, все таки переполнения стека встречаются.
НФ, ACID — обязательно если у тебя хоть какие то БД есть в работе.
Так же как и с Пушкиным.
Нужно ли знать Велимира Хлебникова, одного из самых выдающихся поэтов эпохи русского авангарда?
А хотя бы парочку произведений более известных Александра Блока или Сергея Есенина, ну если не полностью, то хотя бы начало? Надо или нет?
EskakDolar
Да мне вообще наплевать «культурный» или «некультурный» программист. Мне главное чтобы дело свое любил. Чтобы глаза горели. Хотя, последнее совсем идеальный вариант.
Druu
> Мне главное чтобы дело свое любил. Чтобы глаза горели.
Так он любит. И глаза горят. Именно по-этому он занимается саморазвитием в рамках этого дела, которое он любит, а не в рамках вещей к этому делу не относящихся — вышивании крестиком, пении в церковном хоре, изучении ассемблера.
Druu
> ассемблер это не язык, а мнемонические команды конкретного процессора, поэтому его нужно учить отдельно для каждого вида процессоров
Вообще, ассемблер — это транслятор из некоторого языка _на базе мнемоников_ в опкода. И чуть менее чем всегда язык ассемблер богаче мнемоников, например, именованных меток у процессора нет, а в ассемблере — есть.
А так все верно, конечно, для разных процессоров (архитектур, тем более) он существенно отличается.
VulvarisMagistralis
Не придирайтесь.
Когда мы говорим о С, к примеру, то в общем подразумеваем — и язык С и компилятор для этого языка С вместе с линковщиком и стандартную библиотеку для этого языка С.
Давайте, я тоже придерусь: метки в процессорных кодах есть. Чем же по вашему являются абсолютные или относительные ссылки в каком нибудь jump/jmp? От того, что они записаны цифрами адреса, а не буквами названы они уже и не метки?
Druu
> От того, что они записаны цифрами адреса, а не буквами названы они уже и не метки?
Они отличаются на практике весьма и весьма, если вы код поменяете и он сместится, то именованные метки останутся как были рабочими, а смещения к чертям поедут. То есть у них _существенно_ разная семантика на самом деле, это не как соответствие «мнемоник — опкод», где действительно все один в один.
VulvarisMagistralis
Как программист со стажем больше чем лет нашему веку скажу вам, — это не так. Главное для программиста — навыки сугубо его ИТ-шные, и именно в той отрасли, которой он занимается. Крайне полезно ориентироваться в терминах автоматизируемой вами области. И — только.
Есть только небольшое число исключений — какие-нибудь исследовательские задачи типа распознавания речи и т.п, чем занимаются меньше 1% программистов.
EskakDolar
По моему это примерно как человек который живет на берегу океана, но все время только плавает и рыбачит вдоль берега на лодочке.
Можно его сравнивать с моряком который ходит в дальние плавания?
Как бы он тоже, конечно, морячек. У него тоже много трудностей и свой профессиональный опыт, но, все таки, настоящие моряки там.
Конечно не все так могут, не вех пускают, не все могут стать капитанами, но стремиться то надо, я считаю.
Druu
> Как бы он тоже, конечно, морячек. У него тоже много трудностей и свой профессиональный опыт, но, все таки, настоящие моряки там.
Если работа заключается именно в том, чтобы ловить рыбу удочкой, то чем поможет опыт хождения в дальние плавания?
EskakDolar
Сидеть на берегу Океана и быть довольным только тем что рыбачишь удочкой как в каком то пруду.
Даже не мечтать о большем?
Боюсь мы с вами друг друга не поймем.
Druu
А вы не думали, что, быть может, этот сидящий на берегу человек всем доволен, а «настоящих моряков» (по-вашему) считает дураками и быдлом, которое в море ходит исключительно от того, что не может удочкой нормально ловить?
EskakDolar
Да пусть считает, мне не жалко, каждый имеет право на свое мнение.
Только с ним я не согласен и считаю что если таких удильщиков большинство то это очень плохо.
Потому что чтобы человек делал свое дело хорошо то он должен любить это дело. А если он свое дело любит то стремится разобраться до самой сути.
ToshiruWang
И не суметь перейти в другую область. Отличный совет (серьёзно), нужно меньше конкуренции.
Тем, что отсутствие рыбы рядом не оставит голодным?
ToshiruWang
Только потом открывается новое направление, а фреймворк X выходит в версии 2.0 и поскольку его любимый Петей автор мыслил как он — совсем не совместим с X1.0 и знания Пети отправляются в /dev/null (о котором он даже не знает), а направление идёт осваивать Вася, который на основе полученной базы легко освоит X, X2.0, Y и Z.
mayorovp
Неправда ваша. У Пети будут общие знания о веб-разработке (HTML там, CSS — а может быть даже JS!) и запас времени (фреймворки мгновенно не устаревают!), а у Васи будет знание как нарисовать квадрат на ассемблере.
Не следует путать низкоуровневое программирование с общими знаниями по программированию. Низкоуровневое программирование — это одна из узких специализаций.
ToshiruWang
В вашем примере у участников слишком разые интеллектуальные возможности — рисовать квадрат на ассемблере можно за время изучения пары функций фреймворка, ещё за пару функций можно понять почему он так рисуется, а фреймворки устаревают просто — «новый проект начинаем на новом» и без понимания как оно внутри оно не сработает. Да откуда там знания HTML/CSS? Вот откуда у Васи понимания работы ПО внутри — понятно.
mayorovp
Но старые-то проекты никуда не деваются, и с них можно еще долго кормиться.
А как без них хоть что-то сделать даже на самом совершенном фреймворке?
Druu
> В вашем примере у участников слишком разые интеллектуальные возможности — рисовать квадрат на ассемблере можно за время изучения пары функций фреймворка, ещё за пару функций можно понять почему он так рисуется
Да вы что, правда что ли? Сразу видно, что вы на ассемблере квадрат нарисовать не пытались. Ну или может пытались, сами, уже имея базу. Но не пытались объяснить, как это сделать, кому-то другому.
> Да откуда там знания HTML/CSS?
Потому что написать тудулист даже на самом супер-дупер фреймворке без знания цсс/хтмл невозможно. На самом деле практика современного веба такова, что написать тудулист при помощи фреймворка _сложнее_, чем без него, и требует более высокой квалификации.
severgun
Тоесть вы прямым текстом говорите: «Мне было сложно и я справился, значит ничего менять не надо, жрите кактус» Это явно старческое.
Кроме того, интернет не дает в отметок в трудовой книжке об опыте работы. Не говоря уже о фактическом опыте решения реальных задач, а не примеров из книжек.
EskakDolar
Что то у вас с логикой совсем плохо. Где я это сказал?
Наоборот, я просто по доброму завидую возможностям современных начинающих программистов которые им дает современный интернет. И не понимаю жалобы некоторых, мол не дают возможностей. Возможностей у них на порядки больше чем было у нас в свое время.
Опять не верно. Например участие в опенсорс проектах во для многих вакансий будет плюсом и специально просят указать ссылку на проекты в гитхаб.
severgun
Выше вам ответили и про поиск крупиц в море возможностей. И про сложность технологий. И про завышенные требования. Вы просто не пробовали учиться сейчас. Складывать 1+1 на бейсике работодатель уже не требует.
EskakDolar
Вы наверно не поверите, я и сейчас учусь. И буду учится.
Просто мне нравится этим заниматься, а что требует работодатель мне до фонаря.
Если не можете определится что вам нравится, а ждете требований от работодателя то может это на самом деле на ваше?
Neikist
Учусь с 13 года (в 12-м появился первый комп с 3g модемом (по факту edge), но просто базовые навыки поначалу поднимал вроде скорости печати, настройки минимально и т.п.), в 14 устроился стажером, пусть и 1с, но тем не менее продолжаю параллельно изучать программирование (общие концепции, парадигмы, и т.п.). И я только рад широте выбора.
shomnest
При нынешнем экспоненциально растущем объеме информации, а с ней и количества фреймворков, библиотек и контейнеров, что равно технологиям — порог входа в профессию достаточно высок, в связи с чем увеличивается объем информационного шума, в котором достаточно не просто отфильтровать нужное. Выбора много — глаза разбегаются и поэтому «стоит только захотеть», прерывается не успев начаться, оставив после себя лишь «влажные мечты».
Поэтому ваш старт, считаю только положительной стороной.
имхо конечно.
potan
Джуниором легче найти работу по не мейнстримным технологиям. У нас, например, долго не хватало Scala-программиста и мы готовы были взять джуниора.
CodeRush
В некоторых областях нынче очень не хватает джуниоров просто потому, что порог входа высоковат. Та же разработка прошивок, тут тебе и ассемблер с чистым С, и голое железо, и EFI с Linux на миллион строк кода каждая, и прочее вот такое. При этом простых IDE и утилит из разряда «нажми на кнопку — получишь результат» там не было, нет и не будет, наверное, лет 50 еще.
В итоге джуниором туда идут только самые стойкие оловянные солдатики, с которыми потом и работаем. И это все при том, что тут достаточно обычного компьютера для старта.
AllexIn
Ну, похоже что изменилась терминология.
Если раньше джун — это энтузиаст с горящими глазами. уже освоивший что-то по книгам, написавший несколько минимальных приложений по своим хотелкам, готовый учиться и впитывать…
ТО сейчас, это человек, который закончил профильное заведение не особо заморачиваясь с изучением и хочет найти работу, не особо понимая что на ней придется делать.
kozzztik
имхо, если определять термины именно таким образом, то хороший джун — один на миллион уже исходя из термина.
AllexIn
Ну так и есть.
Один был и раньше, но раньше не нужен был миллион. Раньше было нужно 100. И 1 на 100 легко находился. А вот одного на миллион найти уже тяжело. Тем более на фоне растущего спроса, высокой оплаты, пришли люди не идейные, а желающие получать бабло попроще.
kozzztik
вы так говорите, будто желание зарабатывать бабло с минимумом усилий — это что-то плохое.
jesterix
Скажите, пожалуйста, ваше мнение, если придет джун-энтузиаст с горящими глазами, без профильного образования, у него есть шансы?
Порог входа намного ниже, чем раньше — это с какой стороны посмотреть.
Да, высокоуровневые языки легче учить, нахвататься основ можно быстро. Но и требования выросли, на Hello World'е сейчас не уедешь.
HogsOfWar
Не согласен, ваканисий по Embedded в целом мало, а для джунов еще меньше.
Сам ищу первую работу и вижу что всем нужны сеньоры или 3+ года опыта. По сравнению с другими областями (например JS) то там хоть больше вакансий есть в том числе и для джунов.
DSolodukhin
Мы недавно искали джуна в команду на проект, и это было очень трудно. Приходило много ребят, но почти все они были совсем зеленые, вот прям вот вообще без знаний в голове. Один парень нам подошел, но ему пришел оффер от другой компании, который устроил его больше.
Так что, я не уверен, что джунам не хватает вакансий. Для нормальных джунов, которые не протирали штаны в университетах, а учились, которые обладают знаниями и навыками, которыми должен обладать выпускник ВУЗа, вакансии есть.
Artifeks
Как почти только что выпустившийся выпускник вуза могу сказать, что после вуза можно начинать учиться заново, но уже самому. Не совсем представляю какие вам нужны знания от выпускников
DSolodukhin
Учиться самому надо было еще в ВУЗе, если вы вдруг не в курсе, то по учебному плану вам отводится почти 50% времени на самостоятельную работу, вот только все на это забивают, в том числе и преподаватели.
Ничего сверхъестественного. Стандартные алгоритмы и структуры данных, основы SQL (как показывает практика, большинство даже с НФ не знакомы), хотя бы базовые знания языка, на который собеседуется соискатель (в нашем случае это Java). Наличие каких-то проектов, портфолио является опциональным, хотя, конечно, важным плюсом.
woodhead
Это где же такие требования к джунам? Хочу туда. По своему опыту могу сказать, что требуют много больше.
Например, «Необходимо реализовать Web приложение простого интернет-магазина.» В результате, нужно владеть Java Core, Hibernate, JSP/JSF, JSTL, Servlets, JUnit, разбираться в Tomcat, Maven, Git.
Или вот «Напишите приложение (портлет) для портала на платформе Liferay, собирающий вакансии с портала %sitename%».
То есть по факту нужно ознакомиться с неслабым стеком Enterprise-технологий ещё только в самом начале пути. Страшно представить, что творится в голове у мидлов, не говоря уж о сеньорах.
VulvarisMagistralis
Да пожалуйста
github.com/manuelkiessling/go-cleanarchitecture/tree/master/src
4 небольших файла.
woodhead
А где там Java? Там же Go.
VulvarisMagistralis
От языка сие не зависит.
Я просто показал, что «Очень простой интернет-магазин» — это очень мало кода.
woodhead
8 файлов, а не 4. Никто и не спорит, что это работа не на полгода, если знаком с технологиями.
DSolodukhin
Если вам дают такие задания перед собеседованием, бежать от таких работодателей надо.
Ничего сложного в этом нет, никто не требует от джуна быть великим специалистом в соответствующих технологиях. У нас джунам при устройстве дают пару недель на тестовое задание со спрингом, хибернейтом и пр., чтобы посмотреть насколько человек способен искать и находить информацию, и какая помощь ему будет нужна в дальнейшем для развития.
woodhead
Увы, бежать некуда. Остальные проходят мимо.
webkumo
Простите, а зачем НФ среднему джуну? НФ же на практике не используется — она больше заморочка DBA.
Immortal_pony
Где? С каких пор?
DSolodukhin
Это что-то новенькое! Вы точно ничего не путаете?
webkumo
Может я чего и путаю — за давностью лет, мог перепутать НФ с прочими формами, благо я ни разу не DBA и разработка структуры БД не моя зона ответственности. Вот только если я правильно помню, что нам говорили в университете — НФ хреновато ложится/ложилась на реляционные БД.
Toshiro
Рекомендую вам остановиться и прочитать классическое "Введение в базы данных" Криса Дейта.
Я каждого своего джуна заставляю учить нормальные формы до НФБК, и регулярно, например в курилке или на обеде, терроризирую их спонтанными вопросами-примерами вроде "у тебя есть такая задача, расскажи как ты будешь делать базу..."
Потому что помимо прикладного навыка, это ещё и абстракция инженерного мышления.
Джуны не будут расти, если их не грузить такими вещами. Ну за редким исключением, но такие исключения недолго сидят в джунах))
Druu
Использование нормальных форм удобно, когда надо спроектировать готовую статичную базу с нуля. Если же бд приходится постоянно дорабатывать — сохранение нормальности сильно усложняет процесс, т.к. часто требует достаточно глубоко изменять структуру базы, в то время как при отказе от нормальности достаточно добавить одно поле в таблицу. Ну и это не говоря о вопросах производительности, когда то же дублирование данных просто необходимо.
Так что нормальные формы — это что-то вроде заготовки бд, которые еще, в реальности, надо будет доработать напильником.
mayorovp
А без сохранения нормальности надо переписывать весь DAL чтобы он правильно со всей этой хренью работал. Тоже ничего хорошего.
К счастью, в большинстве случаев можно добавить всего одно поле в базу сохранив «нормальность».
Druu
> А без сохранения нормальности надо переписывать весь DAL чтобы он правильно со всей этой хренью работал.
Да нет как раз, объем переписывания DAL прямо пропорционален изменениям в устройстве бд.
Единственное, что дает нормальность — это возможность писать запросы _удобно_. При этом страдает расширяемость бд и производительность. Классический трейдофф.
mayorovp
Что-то я в упор не понимаю как при замене какого-нибудь
на
может просесть производительность. А вот в обратную сторону — запросто.
Druu
В вашем примере — наверное нет (непонятно только, при чем тут нормальные формы).
А вот если, предположим, у вас отношение, для которого есть некоторый набор атрибутов А, по этим атрибутам вычисляется некоторое значение. Вычисляется долго и сложно. Чтобы не вычислять каждый раз — вы можете вычислять заранее, при записи в таблицу, это сразу нарушит 3НФ, а если атрибуты А являются строгим подмножеством потенциального ключа — то и 2НФ. Разобьете на два — надо будет делать джоин по составному ключу, при этом декомпозиция отношения будет еще и бессмысленна с точки зрения предметной области, т.к. отношения с набором атрибутов А просто не будет описывать какую-либо понятную сущность.
Сам факт декомпозиции, к слову, приводит к появлению огромной кучи лишних джоинов, которые и сами по себе не бесплатны.
mayorovp
С другой стороны, если оно и правда вычисляется долго и сложно — имеет смысл не дублировать такие вычисления для одних и тех же наборов значений. Пусть дополнительная таблица и бессмысленна с точки зрения предметной области — но она несет в себе оптимизацию.
Что же до «дорогих» джоинов — индексированные представления в помощь.
a-l-e-x
Возможно и так. А возможно, что и будет.
Например, в Вашем примере результат этих сложных расчётов — и есть некая сущность.
Если более серьёзно, то всё сильно зависит от парадигмы, которую мы используем при описании предметной области.
Если совсем серьёзно, то ISO 15926. Но это я видел только в областях — добыча нефти и газа, и атомные электростанции.
Если вернуться к более простым вещам, то OWL, RDF, graph databases — то же как-то существуют, хотя можно сказать, что SPARQL — это огромная куча joins…
И всё это страшно далеко от проблем начинающих разработчиков…
webkumo
Спасибо, обойдусь. Ни к категории джунов (которых могут по теории БД спрашивать), ни к категории тренеров (которым нужно корректно оперировать терминологией) я не отношусь, соответственно и помнить нюансы определений в сфере, где я почти не участвую — нет у меня такой потребности.
А сфера деятельности у вас, простите, какая?
Инженерный навык это хорошо, когда он нужен. Абстракцию инженерного мышления я могу потренировать и на других областях.
Toshiro
Проектирование и разработка информационных систем — от сайтов общего назначения (новостные порталы, интернет магазины и т. д.) до специальных систем обработки данных, автоматизации процессов и др.
Знание баз данных и мышление в их категориях, это один из критичных навыков для бэкенд-разработчика.
Его отсутствие порождает персонажей, которые берут SQL запрос работающий 5мс и переводят в ORM так, что он работает 5 минут — просто потому, что они не понимают как работают индексы по составным ключам, например. Или страдают с запросом N дней просто потому, что не понимают как сделать каскадный JOIN на M-N-K отношение и дербанят его по частям, чтобы потом собирать обратно уже в коде. Примеров много.
Все это произрастает как раз из отсутствия понимания таких базовых вещей как нормальные формы.
Druu там выше написал, что: Так вот понимание НФ как-раз и позволяет еще на этапе проектирования базы определить такую структуру, чтобы не приходилось ради добавления пары полей нырять с головой в ад миграций или забивать пол-базы нулями.
Страдает она именно у тех кто при проектировании положил болт на вещи вроде НФ а-ля «все-равно база будет меняться». Если системный архитектор нормально выполнил свою работу, модификация структуры базы — штатная рутина.
Druu
> чтобы не приходилось ради добавления пары полей нырять с головой в ад миграций или забивать пол-базы нулями
Если добавление поля ломает нормальность (а предсказать заранее, когда и как у вас могут такие поля появиться, и делать пустые таблицы «про запас» — невозможно), то вам в любом случае придется обмазываться миграциями, т.к. старые данные оказываются автоматически ненормализованы со всеми вытекающими.
При этом если забить на сломанную нормализацию, вы просто одно поле добавляете, а если не забивать — вам придется добавить несколько таблиц и распределять по ним данные из исходной.
webkumo
Т.е. у вас — большая часть кода в той или иной степени прокся для данных из БД. Ну ок, вам это надо.
Мне почему-то хватает размышлений о структуре данных в коде. Созданием табличек в БД мне уже больше 2х лет заниматься не приходилось. Ну и знаете, ваше утверждение очень напоминает "без знания математики ты не программист" и прочие подобные, которые под свой юзкейс подводят всех программистов.
Имхо пусть лучше этим займётся профессионал, который не только термины помнит, но и умеет оперировать преобразованиями между формами на лету, знает подробности про индексы (включая оптимальность их настроек). А мне — и хитрого джойна по 5-10 табличкам вполне хватит для разминки ума.
Не беспокойтесь, что такое план запроса, как строить inner/left/right/cross джойны и что такое индексы и для чего они нужны — я прекрасно понимаю и в большинстве случаев способен использовать к пользе дела.
Поздравляю вас, что вам приходится добавлять максимум пару полей. Мне вот несколько раз (когда у меня под боком не было выделенного DBA) приходилось добавлять новые отношения. Особенно радостно было добавлять рекурсивное отношение (дерево).
ToshiruWang
Только потом иногда получается что не понимающие "это мне не нужно, не моя проблема" делают код, который приходится или переделывать или подпирать с другой стороны.
mayorovp
НФ как раз-таки хорошо ложатся на реляционные БД, потому что как раз под них и придумывались.
А знать их должен тот кто схему БД проектирует или изменяет — а это не обязательно DBA. На начальных стадиях проектов схемой БД частенько управляет ORM — и тут без знания нормальных форм можно наворотить такого что потом никакой DBA такую базу не согласится поддерживать.
Toshiro
А если это распределенная система, работающая в реальном времени, с репликациями, синхронизацией и тяжелыми данными, цена ошибки на этапе проектирования БД будет фатальной.
ORM управляет схемой? Что вы там курите?)))
ORM в 99% случаев лишь отражает схему в DAL. Но независимо от того мигрирует ли ваша ORM таблицы в классы кода, или же классы в таблицы и отношения СУБД — все-равно сначала нужно спроектировать саму базу и уже только потом реализовывать интерфейсы для нее в ORM.
Проект в котором приложение имеет доступ к миграциям БД для динамической модификации схемы данных — огромная редкость) И я не беру в расчет сейчас банальные вещи вроде Drupal который просто создает таблицы под ваш CCK, потому что думаю мы все знаем что потом происходит с количеством запросов к базе. ИМХО, нужно быть конченым психопатом, чтобы строить большую сложную систему по такому принципу.
mayorovp
Ну, в моем понимании любой backend-middle входит в круг тех кто изменяет схему БД. А потому согласен — он обязан знать такие вещи.
Entity Framework Code First
А что с ними такого страшного происходит, если про Eager Loading не забывать?
Toshiro
Возможно разница в восприятии, я когда слышу «ORM управляет схемой», для меня это значит что в приложении есть функционал, который в штатной работе системы на лету модифицирует ее структуру. А не то, что ORM в принципе умеет это делать.
Это в фреймворке можно так сделать, когда пишешь ручками)) Например в Django это prefetch_related — а вот в коробках типа Drupal где изменение схемы данных автоматизировано и делается мышкой из админки, все работает через mainhook — и количество запросов к базе со временем становится просто убийственным))
mayorovp
Ну разумеется нормализацию делать нужно! Я что, утверждал обратное?
Я потому и упомянул ORM, которые управляют схемой, что они дают возможность создавать и использовать базу чистым программистам без примеси DBA — а значит, им теперь тоже нужно изучать нормальные формы.
Toshiro
Да, говорим об одном и том же) Спасибо за уточнение)
VulvarisMagistralis
Возможно, что в очень крупных организациях и не подкускают разработчиков к БД и занимаются всем DBA.
Но в большинстве случаев разработчики сами непосредственно работают с схемами БД. Это сейчас базовая грамотность. И НФ в том числе.
Toshiro
Лол, продолжай)) Я заинтригован)))
kompasua
Если прямо сейчас меня бы спросили про НФ, смог бы только сказать, что в универе вроде 4 НФ рассматривали, и на пальцах объяснить, что если у нас таблица [имя, город, страна], то что бы привести в НФ(1?) создаем [имя, город] [город, страна]. Предположим я собеседуюсь на должность не связанную напрямую с БД. Меня завернут с таким ответом или есть шансы?
Сейчас в универе учусь, интересно, что думают люди из индустрии.
a-l-e-x
Зависит от работы, на которую Вы хотите попасть. Если менеджер проектов, то наверное не завернут.
Toshiro
Смотря что за должность. Как я уже писал выше — для фронтенда или девопса это не критично. Но если это бэкенд, то незнание СУБД нужно оправдывать чем-то очень весомым в плане специализации — например «Я сетевой программист и сделаю вам такие сокеты, что синхронизация распределенных по разным ЦОД реалтайм-сервисам будет летать за наносекунды».
Но при этом если вашим конкурентом на должность будет равный вам специалист, который четко ответит что 1НФ это «Атомарность», и означает что каждый кортеж отношения содержит только одно значение для каждого из атрибутов, и нарисует табличку-пример — будьте уверены, возьмут его. Потому что он может оптимизировать сетевое взаимодействие зная как определить, что в лаге виноват косяк в базе сервиса, а не сокет.
Тем не менее, изучить все времени не хватает ни у кого)) Поэтому я рекомендую вам пораньше начинать вливаться в ту сферу и должность, на которой вы хотите работать. Искать инфу, ходить по мероприятиям, докапываться до всех с вопросами.
Вам нужно определить круг критичных для этой работы навыков, без которых у вас просто нет шансов. И круг вторичных навыков — которые повышают вашу конкурентоспособность. Расставить приоритеты и учиться, а если сможете — пробовать делать то, чем собираетесь заниматься.
Идете в бэкенд — пишите сервисы для себя. Идете в РП — пишите бизнес-планы для себя. Идете в SEO — пишите планы продвижения для себя. Идете в маркетинг — пишите рыночные исследования для себя.
Если вы не сможете делать это для себя, не сможете и для кого-то. И в этом нет ничего плохого, просто значит вам это не очень интересно. И это лучше узнать на берегу, чтобы потом не пополнить ряды тех кто ноет что им не нравится их работа.
А если сможете — шикарно, поскольку у вас начнет формирования понимание разницы между учебой и реальностью. Плюс, вы сможете прямо на первое же собеседование принести тучу своих тренировочных примеров. Профит +)))
VulvarisMagistralis
Люди из индустрии думают, что хороший разработчик должен легко манипулировать как НФ, так и обратно. Частенько нужна и денормализация. Но в процессе обучения вопросы необходимости денормализации если и рассматривают, то вскользь.
И в результате наблюдаешь, как опытные, вроде бы, разработчики нормализуют все подряд, совершенно не думая, что где-то бы и не следует этого делать.
Toshiro
У меня одно из тестовых заданий для джунов — сделать простой иерархический каталог, чтобы он отображался в дерево на странице — а перейдя на один из его элементов, вывести хлебные крошки к корню. Там кода на полтора экрана, но только 1 из 10 кандидатов знает про MPTT (это к слову о денормализации) и даже этому кандидату (если я его беру) приходится объяснять что он и вывод, и операции благодаря этому может осуществлять над линейным списком за 1 проход, а не рекурсивно.
Меня это удивляло ровно до того момента, пока я не узнал что преподаватели в самых разных ВУЗах тоже про MPTT ничего не знают… все это очень печально(((
a-l-e-x
Долго думал, что такое MPTT. Потом поискал в интернете что это за аббревиатура. Лично моё мнение, но я бы не рассчитывал, что многие это знают. Особенно те, кто только начинает. И уж тем более такое сокращение (впрочем, я не работаю с java(?) вообще, может это из этого мира такая аббревиатура).
Можно найти несколько книжек, где всё это аккуратно расписано ( — как представлять графы в реляционной модели). Разные варианты. С оценкой сложности для различных операций.
В своей работе я часто предпочитал делать отдельную таблицу, в которой описывают все возможные пути (и их длины) в графе… Но это на любителя…
Ещё раз — с моей точки зрения — я бы не ожидал таких знаний… Пожалуй без доступа к интернету и с ограничением времени я бы Ваш тест и не прошёл.
akryukov
Возможно у меня какая-то другая область работы и я термин MPTT не слышал. Но кажется что иерархическое дерево в базе выглядит как табличка с колонками: (id, item_name, parent_id), где parent_id это внешний ключ на id в этой же таблице. Чтобы собрать хлебные крошки к корню, нужно сделать несколько запросов на получение родительского элемента. Для элемента на уровне 3 в этой иерархии будет 3 запроса и т.д. Этот вариант вам видимо не подходит.
MPTT в википедии указывает на Отслеживание точки максимальной мощности, что тоже вам не очень подходит.
Спасибо, что упомянули алгоритм. Возможно он очень поможет моим коллегам. Но я не согласен, что у всех джунов должно быть знание вот этого конкретного алгоритма.
a-l-e-x
посмотрите по ключевым словам
Joe Celko's Trees and Hierarchies
и
Bill Karwin SQL Antipatterns
Druu
> и операции благодаря этому может осуществлять над линейным списком за 1 проход, а не рекурсивно.
Вы не поверите, но операции над деревом, которое хранится в классическом варианте (ссылка на parent) тоже осуществляются за 1 проход…
a-l-e-x
Вы правы. В некоторых DBMS (и их версиях) — такое бывает. Но, насколько мне известно, не всегда (не везде)…
В целом, мне кажется, огромное количество хороших алгоритмов уже реализовано. К примеру, если посмотреть на python — scipy pandas, numpy — то, иногда кажется, что всё уже
украденосделано до нас…JustRoo
Те, которых вам не дают в институте. Как слушать других. Как работать в команде. Как ставить другим задачи. Как и в какой момент сообщать, что у тебя что-то не получается. Как узнать, нужно кому-то то, что ты делаешь, или нет. Как хвалить других за хорошо выполненную работу. Как говорить «я не знаю». Как говорить «чувак, мне вот тут плохо от того, что ты делаешь, давай разберёмся в ситуации и поймём, как сделать лучше». И так далее.
waxtah
Коммуникативные навыки так то ещё в детском саду формируются. И правильно делают что в ВУЗе этому не обучают.
terrier
Всегда догадывался, что менеджеры проектов получаются из неудавшихся джуниор-программистов!
wadev8
Если у такого человека еще и будет неплохой скилл коммуникации, то менеджер из него будет что надо.
terrier
Ну, все-таки «неплохой скилл коммуникации» — это как-то маловато для PM.
Singaporian
Представляю, чтобы началось, если бы были мероприятия для мужчин)))
Floud
Оно могло бы быть в тех областях, где мужчин явное меньшинство. Например, мужчин-домохозяев или кассиров)
deivan
во-1, годная, актуальная статья, — ибо надуманная проблема ненужности джунов действительно имеет место быть, лично я категорически не согласен вообще отбрасывать джунов, но в то же время нужно уметь в их потоке рассмотреть годного таланта.
во-2, хороший перевод, спасибо m1rko.
silveruser
Не собирался комментировать
(специально привожу из оригинала; сначала подумал, что «ляп» переводчика, ан нет).этот бредданную статейку, но решил, все же, внести ясность для россиян (поскольку дамочка подразумевает Штаты).Начнем с фразы
Это неправда; нет таких рейтов ни anywhere, ни here and there. Вообще, per hour считают свою зарплату контракторы, а «фуллтаймеры», обычно, указывают salary range per year. Округленно годовой доход получается умножением rate per hour * 2. То бишь дамочка говорит, как об обычном, о зарплатах от $380 до $600K. Это вранье, нет таких «обычных» зарплат! Возможно, какие-то сверхуспешные компании в биржевом high speed computer trading-е и платят подобные рейты единицам, но не просто «сеньорам», а реальным гуру, талантам и гениям от программирования, но это, скорее, исключение (а про подобные исключения в web programming я вообще никогда не слышал). В среднем, все гораздо скромнее: опытный программист может рассчитывать на salary от $140 до $200K/y (все зависит от компании, побережья и т.п.) и на рейт от $85 до $120/h при long term контракте по 1099 или W2. Заранее говорю возможным оппонентам: мои слова ну очень легко проверяются…
Вторая фраза (вернее, первая фраза в статье) для знающего человека сразу подскажет, что дамочка, скорее всего,
закоренелаяфеминистка: event for women in tech, my ass!Большаяпроблема США в том, что феминисткам дозволено проводить подобные мероприятия, а вот попробуй провести event for men in tech, те же феминистки моментально подадут на тебя в суд.В-третьих: сама позиция junior developer уже давным-давно не в тренде, таких позиций практически не существует на рынке, и компании стараются избегать публиковать такие позиции по многим причинам (но не по тем, которые перечислила дамочка). Толковый студент, еще со времени учебы подрабатывавший интерном в компании (а среди толковых студентов это, скорее, правило, нежели редкость), по получению диплома придет работать software engineer-ом в эту же компанию, и без всяческих приставок типа junior.
Ну, и, наконец, за мою долгую работу в американской IT индустрии (в том числе, и «официальной» позиции senior-а), я не замечал, чтобы компании тратили время senior-ов на обучение junior-ов или кого-то еще, это просто не предусмотрено такого бизнес-планом (а уж поверьте, сеньорам есть чем заняться)! Никто никого за ручку не тянет; хочешь быть в бизнесе, зарабатывать больше, работать над интересными проектами — сам будешь учиться и «рвать когти»; не хочешь, и не будешь справляться с работой — ты кандидат на ближайший lay off (ну, или контракт не продлят).
Neikist
По поводу денег — а это точно не о цене которую компания заказчикам выставляет?
silveruser
Neikist, если это касательно денег, упомянутых мной, то это чистый income, без учёта налогов, получаемый опытным инженером (senior software engineer, или даже team lead). С налогами, понятное дело, получится намного меньше (в MA суммарный эффективный налог — federal+state — в прошлом году составлял что-то около 34.6%. Ну, понятно, с dependentam-и (как правильно по-русски будет не работающий член семьи, иждивенец?) будет чуток поменьше, но ненамного.
То, что упомянуто в статье — полный bullshit, ерунда! Нет платят таких денег.
Если же вы имеете ввиду консалтинговые компании, через которые вы работаете (если работаете. Ведь контракт можно иногда и напрямую заключить!), то они дают исполнителю (на найденный ими контракт) от 70 до 80% от реального рейта, то бишь, если заказчик готов платить $100/h, «бадишоп» (так в некоторых узких кругах русских программистов в Штатах называются консалтинговые конторы) будет платить вам $70-80/h, в зависимости от жадности/наглости. Понятное дело, это я говорю про «цивильные» американские конторы, а не про индусские или китайские (там, по слухам, «кошмар-кошмар» творится, но я слухи пересказывать не люблю).
TrueMaker
На счёт $300 в среднем в час синьйору не враньё. Если учесть всякого рода компенсации и не только зарплатные, то может и больше получится. Учтите такой расклад:
0. Базовая зп 150-300к в год. Только не говорите что нету 300к, в моём кругу общения таких людей несколько.
1. Компенсация за мед страховку
2. Контрибуции на HSA
3. Матчинг на 401к до 1 к 1 на 100%
4. Стоки компании которые могут превышать 4 годовых дохода (вэстятся на протяжении 3-4 лет).
5. Бонусы которые составляют от 10 до 25% от базового оклада
Ведь 300 в час на на 8 часов и 200 дней рабочих в году всего получается 480 тысяч.
В общем как-то так. Если всё считать получается куда больше чем 300 в час в долине.
Alek_roebuck
The total contribution limit for 401(a) defined contribution plans under section 415©(1)(A) increased from $54,000 to $55,000 for 2018. This includes both employer and employee contributions.
Это контрактору-то?
TrueMaker
Если зарываться в подробности, то максимум 55 тысяч на 401к, но обычно просто 1 к одному, т.е. 36 тысяч.
Контракторам стоки не даются, речь о фултаймерах конечно же.
silveruser
Давайте так: я вам приведу две первые ссылки из гугла по уровню зарплат сеньоров в Бостоне (для Техаса будет даже пониже, я думаю), а вы в ответ мне пару ссылок на позиции с salary от $380K до $600K / year (ну, или контракты с рейтами $190-300/h, о которых писала глупая феминистка). Или даже больше, урежу вам осетра: хоть одну позицию на «базовую зарплату» (LOL!) в $300K/y для senior software engineer in web development!
Вот мои ссылки: первая и вторая (не хочу обременять читателей остальными ссылками, их очень легко получить, кликнув тут).
Для тех, кто не в теме, сообщу, что все остальные ваши «подсчёты» из той же оперы, и той же степени достоверности. А что до ваших друзей в долине, «так вы им тоже рассказывайте»! © старый анекдот. Вы же из Техаса, вроде? Ну, так вам положено все преувеличивать в несколько раз :)
TrueMaker
Я вам за долину говорю в целом где центр индустрии, а не за бостон или за техас.
150-300к это разброс зарплат для Senior Engineers. Например база в Netflix сейчас 300-500к (glassdoor врёт).
Оглашаемые позиции зарплаты не включают, про зарплаты договариваются на собеседовании. Работодатели вообще не заинтересованы, чтобы их уровни оплаты труда разглашались.
Смотреть среднее по рынку труда, занятие тоже не благодарное. Стартапы платят мало, но дают большой эквити, если выстрелит, можно уйти с кушем в несколько миллионов долларов.
Ваша фраза о «глупой феминистке» мягко говоря неуместна, уважайте людей и вас уважать будут.
Спасибо за оскорбления не только автора оригинальной статьи, но в том числе и меня.
silveruser
Все понятно (и ожидаемо): ни одного подтверждения, ни одного факта. Вы сколько лет в Штатах то живёте? (если вообще живете тут, конечно)
Непонятно только одно: зачем вы всю эту ерунду пишете, про «300-500к» (вам самому не смешно?)? Чтобы показать российским читателям, не знакомым с американскими реалиями, какой вы крутой, успешный и богатый? Дык, без копии ваших paystub-ов — кто вам поверит? ;)
mrsweet
Достаточно открыть вакансии и проверить. Средняя стоимость специалиста составляет примерно $100к в год.
TrueMaker
1. Я за свой доход не говорю. И пейстаб не покажу. Но могу показать средний палец, он вам к лицу.
2. В штатах уже 7 лет.
3. Как же жить когда мне silveruser не верить, тяжело наверное.
silveruser
Ну, в присущем обычно врунам хамстве, которым они замещают доказательность и отсутствие реальных аргументов, я и не сомневался. Но вот любопытно, почему это вы сразу затерли в своем профиле Техас? ;)
Пальца я вам в ответ показывать не буду, не за рулем; могу лишь посоветовать прекращать нести bullshit, как у нас говорят. Выглядите вы глупо, вроде пресловутых «плоскоземельщиков» или «маскоотрицателей».
TrueMaker
Что за бред вы несёте? Я локацию свою не затирал. К вашему сведению, я в Техасе недавно по причине оффера который побил калифорнийский, но вот это уже редкое исключение и в некотором смысле редкое везение.
Если как вы говорите я вам вру, как же люди в бей эрии покупают дома за 1-2 миллиона долларов и выше? Минимальная Salary на кредит в 700к это 170 тысяч в год, т.е. 340 на 1.4 миллиона или около 500 тысяч на 2 миллиона. Причём жильё продаётся дороже процентов на 20% чем афишируется цена.
И прежде чем говорить, что кто-то врёт, в начале узнайте сколько тот же фейсбук акций даёт простым инженерам и сколько не простым, в случае не простых там цифры на миллионы долларов и при высокой базе зарплаты.
silveruser
Бред несёте вы, притом буквально в каждой фразе. Судя по всему, вы в штатах весьма недавно (за 7-то лет можно было куда больше всего узнать!), так что вам предстоит еще много «удивительных открытий» — и как дома покупать за миллион, и то, что миллион, и два миллиона — это, как говорят в Одессе, две большие разницы, и еще много всякого другого о реальной американской действительности.
Все, вы меня утомили; читателям «хабра» я свою мысль донес (и, думаю, любопытные сами уже убедились, кто тут прав, а кто нет), а спорить с «в инете кто-то не прав!» у меня нет ни желания, ни времени. Счастливо вам оставаться в вашем выдуманном мире 300-600 тысячных зарплат, «халявной» выдачей миллионных стоков, 100% «матчинга» salary на 401K и прочих «ништяков», живущих в вашем воображении. Правда, боюсь, что после первого же lay off и очередного кризиса в индустрии ваши воздушные замки рухнут, но «проблемы индейцев шерифа не волнуют».
TrueMaker
Вы наверное туповатый немного, Salary 150-300 в основном, всё остальное стоки и прочие плюшки догоняют. Я про это писал в самом начале. Базовая ЗП выше это исключение в виде Netflix.
Ну и в общем-то, мне то что? Живите в своём мире низких доходов, не умеете себя продавать значит.
naething
Зря вы не верите. В Долине действительно такие зарплаты — не редкость. Сходите сами за офером в какой-нибудь Фейсбук, например.
silveruser
Вам лично офер, на позицию senior software engineer с рейтом $190-300/h делали (или на salary $380-600K)? Какой-нибудь Фейсбук, например? :D
Или опять: «мне лично не делали, но такого народа очень много»? Нет таких инженерных зарплат в BA.
TrueMaker
Сколько вам ещё раз повторить, что base в пределах 150-300к, а всё остальное в плюшках, в основном в стоках? Salary — это минимальный пэймент, и стоки и прочее в него не в ходят. Вы сколько лет в штатах? Вы вообще знаете как тут жизнь устроена? Похоже вы тут месяц и не ориентируетесь в реалиях и вариантах оплаты труда.
Alek_roebuck
Не знаю, сколько платит Netflix, но их конкурент HBO платит что-то около 120-150 тыс.
TrueMaker
Район ЗП непосредственно от их инженеров, я в начале думал 250-300. Но как оказалось, это в прошлом по причине того, что они не дают стоков и в общем-то компанейские плюшки слабоваты, поэтому приходится нагонять в базовой ЗП.
VulvarisMagistralis
Это настолько большое исключение этот выстрел… что можно его не считать.
TrueMaker
О да, с этим спорить бессмысленно если брать всю картинку скопом. Процент успешных ничтожен, но и стартапы выбирать нужно с умом, хвататься за первый попавшийся глупо. И в принципе просто трезво взглянуть на стартап сразу становится ясно есть у него будущее для абсолютного большинства.
Тем не менее из моих близких знакомых, кто работает/
работал в стартапах, и у кого выстрелило процент не малый(относительно) это: Pure Storage, Mykonos(был выкуплен), Plum(девайс по разливу вина, в процессе активного прогресса в развитии), Vision-что-то(выкуплен майкрософтом подразделением XBox, распознавалка телевизионного контента), Sourcefire выкуплен Cisco и сейчас вроде как превратился в Cisco Talos group, Cyphort выкуплен Juniper Networks. Правда с Mykonos и Plum отдельная история, их создал и развил один и тот же человек, Дэвид Корец, который мне также помог получить представление о индустрии в целом с точки зрения инвестора.
VulvarisMagistralis
Если стартап — верняк, то это видят не только работники потенциально, но и инвесторы. Так что не факт что в верняке работнику вообще долю предложат, а не зарплату обычную.
TrueMaker
А смысл тогда идти работать на такой стартап если долю не предложат? На стартапах без доли в стартапе и без сток-опшенов денег не заработаешь, в обычной рутине у них ни бонусов, ничего, сплошные овертаймы, 401к не всегда и без матчингов, мед страховка часто просто отстой, как и зубная страховка в общем-то. Если кто-то идёт работать на стартап без эквити — это от отчаяния найти какую либо работу вообще, что в общем-то говорит о уровне специалиста.
darthunix
Я только что осознал, что кто-то получает за день мою месячную зарплату и пошёл пить водку, играть на балалайке и грустить с медведем.
VulvarisMagistralis
Так там же написано, что при таких суммах в час практически никто и не работает полный день. Поэтому о никаких 380-600 К она и не подразумевает.
silveruser
Интересно, а как вы себе представляете работу senior software engineer в американской компании, который «практически не работает полный день»?! Т.е. я, например, говорю PM-у, который наметил митинг на 9 часов утра, и CTO, который хочет меня видеть в 4 часа: «Мне компания платит такую сумму в час, что я просто не могу себе позволить ее разорять и работать 8 часов, так, что, друзья, уж выбирайте, кому я нужнее, но работать я сегодня буду только 4 часа».
Ну, господа комментаторы, включайте хотя-бы элементарную логику, даже если не имеете ни малейшего представления о теме (хотя лучше, конечно, просто промолчать)!
VulvarisMagistralis
Мне не нужно представлять.
Я работаю с таким людьми.
Руководство сообщает — с стольки то по стольки то к нам придет мега-специалист (в Слэк), придет он ненадолго. Приготовьтесь задать вопросы, попросить его что-то сделать, что-то посмотреть. И т.д.
silveruser
Во-первых, то, что «мега-специалист» проведёт у вас несколько часов, вовсе не означает, что это все его рабочие часы :) Во-вторых, попытайтесь все-таки перечитать, о чём идет речь (я понимаю, что это очень трудно, и куда проще слушать только самого себя, но все-таки попытайтесь!). Ладно, я напомню: в посте, обсуждаемом тут, идет речь о
(речь идет о senior software engineer).Я не говорю о том, что такие рейты в принципе невозможны: достаточно сходить к доктору, а потом посмотреть, на какую сумму он чаржил страховку, либо обратиться к адвокату, чтобы убедиться, что некоторая часть Америки таки живет в «развитом
коммунизмекапитализме» (это «шутка юмора» — говорю сразу, чтобы вы не набросились с опровержениями :) ), но для позиции senior software engineer такой рейт не то, что встречается «anywhere», а просто не встречается практически нигде, не существует таких зарплат по факту. Считать же возможность льготной покупки стоков, как некоторые простаки делают, просто глупо: во-первых, это далеко не зарплата (выигрыш в лотерее мы же не считаем за зарплату?), а во-вторых, можно как заработать, так и потерять (ну, либо остаться при своих).Самая высокая salary, про которую я слышал (но не люблю распространять слухи, поскольку подтверждений никаких, «ОБС», как говорится), была не в долине, а в NYC, в компании, специализирующейся на скоростном реалтаймовом трейдинге, шла речь о порядка $500K/y (плюс вероятный бонус 50% от annual salary). Но там нужен был не «сеньор» по web apps, а гуру, гений с многолетним опытом работы в трейдинге/биржевых операциях. Ну, и, к слову, позиция называлась что-то вроде «chief architect», с непосредственным подчинением CTO.
TrueMaker
Если копнуть глубже, там всё сложнее и дороже у фултаймеров. Допустим совокупные выплаты составляют 300 тысяч(зарплата, бонусы, стоки, страховки, 401к матчи), но туда ещё входит налог который контора платит с этих 300к помимо того, что ещё сотрудник платит, а это дополнительных добрых 15% набегает, а там ещё и отпуска, и больничные и парентал ливы — это вообще финансовый кошмар.
А если ещё посчитать сколько стоит нанять сотрудника в целом… ой-йо… около 50ти тысяч расходов с лёту в среднем, не считая потерь на времени которое сотрудник будет тратить на онбоардинг и втягивание в проект.
naething
Не надо быть никакой закоренелой феминисткой, чтобы ходить на такие эвенты. Просто это помогает с поиском работы.
Нынче такие мероприятия часто проводятся. Доля женщин в индустрии — около 16-17%, если мне не изменяет память. Пытаются сделать профессию более привлекательной для женского пола.
silveruser
Кто "пытается"? Капиталистическая Партия Соединенных Штатов? Мировое Правительство массонов? Закулиса рептиллоидов?
Индустрии не нужны «женщины» там или «мужчины», или «афроамериканцы». Индустрии нужны специалисты, а уж кто этот специалист по полу или цвету кожи — не имеет значения (даже по федеральному закону, должны висеть плакатики в каждом офисе, присмотритесь внимательно).
Я не часто хожу на болтологические event-ы (скажем так, вообще практически не хожу), но спам с рекламой подобных приходит. Никогда не видел еще «гендерной» или «расовой» селекции! Ссылочку на сайт подобного event-а не приведёте (ну, если «часто проводятся», вам не должно составить труда найти), любопытно взглянуть, кто именно проводит подобные мероприятия, если не феминистки (кому такие фокусы сходят с рук).
vmm86
Раз на раз не приходится.
За несколько лет опыта работы в IT я в основном собственными усилиями сделал несколько проектов разного масштаба. Самый масштабный и сложный проект — Интернет-магазин федерального масштаба с непростыми бизнес-требованиями к функционалу, который я написал "под ключ" в течение полугода с небольшим. Возможно, это что-то значит и о чём-то говорит.
При этом на недавнем собеседовании в одной известной IT-компании мне сказали, что я даже до middle-уровня не дотягиваю и что "мы не готовы начать с Вами сотрудничество...".
TrueMaker
Многие люди(не все, есть и хорошие примеры) которые считали себя Senior инженерами дома, в долине и до middle не дотягивают — это грустная правда, на родине редко есть с кем себя сравнить, кто действительно стоящий, вот и имеем, что имеем.
vmm86
удалено (ошибся веткой комментариев)VulvarisMagistralis
Отсутствие навыков работы в команде.
Отсутствие знаний инструментов организации командной работы.
Интернет-магазин даже большой и сложный (если только у вас там нет ИИ рекомендующего покупателю товар), — вполне себе рядовая задача. Да, она может занять много времени.
Что конкретно «непростого в требованиях» там было.
Реально интересно.
Areso
Многие интернет-магазины работают медленно, и нагружают клиентские устройства под 100% CPU. А еще спамят запросами к БД.
Сделать магазин, который не будет падать под нагрузкой и с большим количеством товаров надо суметь.
Сделать магазин на 3 товара и 1 покупателя в сутки может и студент, причем не особо и умный.
VulvarisMagistralis
Количество товара влияет на нагрузку слабо — типовой покупатель не перелистывает все ваши 100 000 товарных предложений. Он и сотню вряд ли пролистает.
Задачу сделать быстрый интернет-магазин я лично ставил пре-джуну (тот что «войти-в-айти»), только-только окончившему кулинарный техникум по специализации информационные технологии. Все очень просто — при обновлении каталога товара или цен нужно перегенерировать html-странички с товаром. Нужно ли говорить, что интернет-магазин, написанный пре-джуном на статике — летал? Динамическая часть (корзина) — естественная была реализована не на статике. Её в это время другой джун прекрасно сделал, попутно изучая новый для себя язык программирования.
Ну да, джун и пре-джуны это делали под присмотром. Тем не менее не вижу проблем специалисту уровня между джуном и миддлом сварганить нечто подобное и быстрое.
Areso
Почему-то разработчики OpenCart не справились с такой простой задачей и я наблюдал сотни запросов к БД, когда на сайт заходит единственный человек (потому что они рекурсивно разворачивают всю иерархию товаров). Чем больше у нас производителей, линеек, коллекций, тем медленнее это все ворочается.
И, кстати говоря, они не одни такие альтернативно-одаренные)
VulvarisMagistralis
Универсальная система наааааааамного сложнее и медленее системы узкоспециализрованной. Или сложнее конфигурируемо. Короче, «выберите два из трех». Узкоспециализированную систему подобного уровня, которая будет летать, вполне должен быть способен реализовать программист средней руки. Иначе он не программист.
Другое дело, что с точки зрения это не всегда выгодно. Экономически выгоднее зачастую использовать уже существующее универсальное решение, слегка подтачивая его под конкретную задачу.
Да и это не то же самое что разработать своими силами магазин с нуля. Навключать модулей в OpenCart или Magento или каких плагинов для Wordpress — для этого не нужна квалификация программиста даже.
vmm86
Необходимость работы с разными сервисами, предоставляющими товары для продажи и с разными сервисами онлайн-оплаты на разных сайтах. При этом максимальная унификация работы с заказом, насколько это возможно. Допускаю, что это крайне простые задачи на «раз плюнуть» для серьёзных разработчиков. Просто иногда становится хреново от того, что умеешь что-то делать, продумываешь грамотную структуру проекта, пишешь читаемый код, соблюдаешь лучшие практики и т.п., и всё равно с этой базой твои шансы на дальнейший рост весьма невелики.
VulvarisMagistralis
Джуна возьмут и так. И научат. За соответствующую маленькую зарплату.
Вы, видимо, претендовали сразу на зарплату миддла — тут другие ожидания от вас.
vmm86
Всё начиналось и заканчивалось на уровне разговоров, но, как правило, не о заработной плате.) Впрочем, я и не претендую на оплату уровня, которым пока не владею.
VulvarisMagistralis
А человека с большим списком работ чтобы взяли на зарплату джуна — ему нужно самому в явном виде высказать свое желание.
Логика работодателя тут проста: у него опыта много, денег хочет мало, видимо рассматривает наше предложение как временное и запросто может срулить хоть через неделю как начнет работать как только найдет место с соответствующей зарплатой.
vmm86
korizza_spb
так, я не понял, а на кухне все дела сделаны что ли?
naething
Что-то я вообще не понял, о какой такой смерти джуниора в статье идет речь. Вся Долина в Штатах держится на свежих выпускниках. Куча всяких стартапов в Сан-Франциско — работы для джуниоров вагон и маленькая тележка. Или речь идет о людях, которые вообще программировать не умеют никак? Тогда неудивительно, желающих «войти в айти» сейчас предостаточно.
Crocodilovich
Мне 29 лет. Учиться программировать я начал чуть более полугода назад. Выбрал направление web-разработки. Вакансий на junior-позиции хватает более чем. Все упирается в уровень подготовки и возможности работать практически бесплатно в начале этого прекрасного пути. Мне кажется, что лучше времени начать карьеру в этой индустрии не было и не будет. А если ты студент и готов самостоятельно изучать программирование, то вариантов не найти работу просто не существует.
Areso
Вы правы. «в уровень подготовки и возможности работать практически бесплатно». Но есть два нюанса: первый, это именно работа (а не пет-проекты), потому что пет проекты, может и оценят, но всех интересовало кем и где ты работал (пусть даже за еду), ну и да, все хотят наиболее подготовленных кандидатов. С этим могут быть сложности — каждая компания имеет свое представление о «подготовленном кандидате». Это могут быть настолько разные вещи, что иногда кажется приятным бонусом, где прямо пишут, что будут спрашивать на собеседовании. Где-то будут гонять по фреймворкам, где-то по стандартным библиотекам, где-то по сортировкам, где-то по деревьям, где-то по CI/CD, где-то по чтению из файла (и записью в файл)… Где-то это может быть мультимедия.
Crocodilovich
Еще хочу добавить. В России найти хорошую работу (достойна оплата труда и интересные задачи), например, инженером-строителем гораздо сложнее, чем каким-либо программистом. А на свои стабильные 60-80 тысяч рублей вы сможете рассчитывать через лет пять в лучшем случае. А до + 100 тысяч доходят далеко не все, хотя люди не глупые и трудятся много. И это если говорить о Москве. В городах за ее пределами ситуация еще хуже.
RomanArzumanyan
В старые добрые времена перед джуниором стоял выбор между Си и Паскалем, а сейчас черт его знает что. 80% времени уходит на то, чтобы добраться до кодинга.
VulvarisMagistralis
Сейчас JS один из однозначных выборов.
А раньше — еще много чего было, вы забыли просто. Скажем, языки семейства xBase
Кроме того, вы преувеличивайте значение знания конкретного языка.
Язык программирования — это базовый инструмент. Вы владеете им ну примерно так же как и быстрым набором на клавиатуре. Трудно выучить только первый.
hatari90
del
oYASo
Не знаю, как там в штатах, но в России в default city ситуация простоя — есть много людей, которые вообще не написали ни строчки кода, но хотят устроиться джуниором за, условно, 100к/мес. При этом обучение такого «джуниора» — это, считай, наполнять чистый лист знаниями в течении нескольких лет. А результат не факт, что приведет к положительному эффекту.
Дело в том, что сейчас программирование — это хайп. Родители отдают своих детей «учиться программировать», не разбираясь, нравится это им или нет, есть ли у них талан и предрасположенность. В итоге получаем армию как бы выученных на разработку ПО людей, но по факту — притянутых за уши. Им это не интересно, они этим не особо хотят заниматься, но понимают, что за это платят деньги, поэтому что-то делать надо.
В итоге, когда приходят на собеседования студенты или совсем свежие выпускники, довольно быстро можно понять, стоит ли вообще тратить время на такого джуниора. Вот общаешься и понимаешь, что просто самый-самый потолок для этого человека, есть он будет что-то делать — middle. Он выучит это, это и вот это, но если шаг в сторону — «это не в моей компетенции, это я не знаю как, это я делать не буду». Я знаю, о чем говорю, такого много. Ну и зачастую нет смысла тратить время на такого джуна, если сколько-либо серьезных задач в будущем он все равно зарешать не сможет.
По моей статистике, только 1 из 10 джунов достойны внимания. То есть таких джунов, которым надо просто дорогу показывать, а дальше они сами все откопают, спросят, напишут. Они быстро станут мидлами, а потом, если их будет дальше переть, и сеньорами. Остальных надо тянуть за уши и вытирать за ними сопли без каких-либо перспектив получить качественный кадр.
Cheremhovo
на удаленую работу из маленьго города вообще не реально залесть для junior, у меня опыт 1.5 года на yii2 и то уже 2 месяц ищу работу на hh.ru, всем нужешь middle full-stack со знанием настройки сервера
ViTaRga
Смотрю, тут одни фапальщики расплакались о том, что трава раньше была зеленее :-DDD
lotse8
Согласен с oYASo и еще хочу добавить, что программирование — это бизнес, а не благотворительность. И адекватный владелец или руководитель за свои деньги никого непонятно зачем и непонятно на кой учить не будет. Основная масса начинающих это понять не хочет, а хочет учиться и набираться опыта за чужие деньги. В этом вся проблема. Хочешь учиться — плати. Готов работать — работай и зарабатывай. Если в ВУЗе ничему не научили, то это вина не работодателя, а ВУЗа и того кто там учился.
andrsam
Может, и готовы учиться, если бы была полноценная система переподготовки кадров, а не какие-то непонятные курсы, на которых дают минимум необходимых знаний и за редким исключением вместо обучения на них занимаются профанацией бурной деятельности, повторяя школьный курс информатики. В советские времена можно было получить новую специальность через второе высшее образование, а в наши дни ни о чём подобном для программистов я не слышал.
andrsam
Почему минусуете?
andrsam
Если я в чём-то неправ, прошу аргументировать.
andrsam
С другой стороны, крупные компании всё-таки обучают специалистов и предпочтение отдают студентам и выпускникам вузов, игнорируя соискателей в возрасте, причём у обеих категорий опыт отсутствует. Вот почему одних можно учить «за чужие деньги», а других нет?
hatari90
Какие вы можете привести причины взять «соискателя в возрасте» без опыта, но зато с условной женой, детьми и ипотекой? Как думаете, какова вероятность, что он будет учиться быстрее и его запросы будут умеренней, чем у вчерашнего выпускника ВУЗа?
andrsam
Как раз мотивация учиться у человека с женой, детьми и ипотекой выше, поскольку, в отличие от необременённого обязательствами выпускника ВУЗа, необходимо заработать средства на содержание семьи, для чего нужно проявить максимум упорства, чтобы понравиться рабтодателю. Ну а запросы диктует рынок.
hatari90
Молодой, если адекватный, согласится на более низкую оплату ради опыта. Человек постарше, как правило, обременен некоторыми обязательствами, и на зарплату ниже определенной отметки пойти просто не в состоянии. Плюс, он уже имеет опыт трудовых отношений и понимает, что к месту не приклеен, если что не понравилось. Вчерашнему выпускнику это придет в голову позже, вкупе с тем, что пока ему не с чем сравнивать и некоторые минусы своей работы он может пока не воспринимать как недостатки.
Areso
Да, и некоторые конторы буквально живут за счет студентов.
3 месяца бесплатная стажировка, 3 месяца ИС с копейками ЗП, 6 месяцев на смешной ЗП, и год спустя(!) можно претендовать на рыночную зарплату junior'a. Передо мной несколько таких фирм, и очередь студентов туда никогда не оскудевает. Еще и конкурс есть — не всякого возьмут даже на таких условиях.
В такую студентовыжималку взрослому человеку смысла идти нет.
hatari90
Работал в похожей, хотя там не было не совсем так. Была система зп+квартальная премия. Премия начислялась только начиная с квартала, следующего за испытательным сроком (если ИС кончился в самом начале квартала — пролетаешь на 3 месяца). То есть, при самой неудачной дате трудоустройства первую премию получишь через ~10-11 месяцев. С учетом большой текучки и факта, что большинство уходящих делают это в первый год, экономили они неплохо.
Ну и галеры, куда же без них. Переработки считались абсолютной нормой, причем часовые не компенсировались никак, только выходные. Отказ от переработок ничем хорошим не светил, понятное дело.
VulvarisMagistralis
ИТ-шники — не могут быть полезными с первого дня.
Вот не надо — «живут за счет студентов». Как бы не наоборот.
1) Из этого времени три месяца студенты только гадят в код, за ними не успеваешь подчищать. Еще месяца 3 — студент работает хорошо если в 0. То есть никакой прибыли (а именно прибыль и является целью найма персонала). И только через полгода только начинается от него реальная польза, где уже есть сливки, которые можно снимать с зарплаты и класть в карман владельца.
2) Открою вам секрет: предприятия вообще затем и существуют, чтобы работники создавали т.н. «добавленную стоимость», а владельцы предприятий употребляли эту стоимость туда, куда сочтут нужны. Вообще все предприятия.
Даже опытнейший сеньор первые несколько дней (практика показывает, что нужно 2 недели, чтобы начать эффективно работать) — только вникает.
hatari90
В программировании да. С архитекторами/аналитиками такое тем более не пройдет. Если это крупная контора, то есть такие подходящие для большой текучки подразделения, как тестирование и внедрение. На них и получается сэкономить, вполне себе жизнеспособная бизнес-модель.
VulvarisMagistralis
Можно пояснить мысль, что такое джун-архитектор?
Насчет джуна-аналитика — сталкивался, написать кучу мутных умных слов в мегатолстый талмуд, оказывается, большого ума не надо. Доводилось читать такие талмуды.
А вот джун-архитектор — это как?
Дело в том, что на огромную толпу разработчиков достаточно одного-единственного архитектора. И нет никаких причин брать на эту должность именно джуна. Уж одного-единственного сеньора найти — в чем проблема-то?
hatari90
Имею в виду, что этими людьми, как правило, дорожат. И сменить их быстро и безболезненно не всегда можно, даже если берешь опытного человека, в отличие от какого-нибудь тестировщика. Понятное дело, что архитектором вчерашнего студента никто не поставит.
Если постановки для разработчиков пишет такой аналитик, то есть сомнения в его необходимости. Ошибка аналитика обходится дорого.
VulvarisMagistralis
Да нет. В моем случае это позволило поднять цену клиенту:
«Видите какое толстое описание задачи, значит и моя работа будет стоить дорого».
Сама постановка задачи, написанная аналитиком, была перелистана по диагонали, для оценки стоимости работ этого достаточно.
andrsam
Уважаемые господа минусующие! Задумайтесь над тем, что будет с вами по достижении определённого возрастного порога с устареванием квалификации.
VulvarisMagistralis
Первую программу написал в 1988 году.
Начал работать программистом в конце 20 века.
Ничего не устарело еще…
Вон, ковыряю Kubernetes…
Вы как то странно смотрите на мир.
Что мол то что изучено давно — только этим и ограничивается квалификация программиста.
Основные принципы все так же не меняются, да. И потому ваше древнее знание вполне актуально и полезно сейчас.
А конкретные библиотеки, фреймворки, языки — какие тут проблемы? Справочники же есть, интернет. Нужно только понимать по каким ключевым словам смотреть. Имхо, тут начинающие программисты от опытных ничем не отличаются — в интернете по своей работе ищут все.
andrsam
Согласен, но вполне можно попасть в ситуацию, когда для потенциального работодателя по уровню квалификации окажешься джуном, т.к., большинству нужны готовые сотрудники
VulvarisMagistralis
Тут я вообще не понял.
Если вы специалист в какой то узкой специализации и кроме нее вас ничего не интересует и вы ничего не знаете — то какой смысл рассматривать работодателей из других профессиональный специализаций.
Напротив, в этой специализации — вас с годами будут ценить все больше и больше.
Если же вы хотите сменить специализацию — то нужно было бы подготовиться заранее. Поскольку базу вы уже знаете, то изучить новый язык, к пример… тьфу, а не задача.
В какой-то одной фирме может произойти резкий скачок, быстрое изменение технологий на те, что вам совершенно не знакомы. Но в целом по рынку труда — подобные изменения происходят медленно, у вас есть время для переквалификации.
Например, 1С 7.7 выпущенная еще в прошлом веке — до сих пор встречается нередко.
Сайтов, писанных на (не помню какой, но знаю, что она обратно несовместима из-за большого числа уже состоявшихся deprecated) древней версии PHP тоже полно. Эта версия уже выкинута из пакетов всех современных дистрибутивов.
До сих пор активно и широко используется еще Python 2, хотя уже много очень лет усиленно продвигается не обратно совместимый Python 3.
До сих пор используется Cobol, который был устаревшим еще когда я начал изучать программирование 30 лет тому назад.
Человечеством написано очень много кода. Этот код никто не жадет переписывать, если он нормально функционирует. Это же деньги, время. А в результате получим те же яйца, только вид в профиль.
То есть всегда можно будет найти работу и со древними знаниями, если уж вам так не хочется изучать новинки.
andrsam
Справедливо. Речь о сложностях трудоустройства для переквалификацирующегося специалиста.
andrsam
Что касается медленности изменений в отрасли, то давайте вспомним, что в начале нулевых не было сложных технических собеседований с вопросами по теоретической информатике. И тенденций к понижению требований не наблюдается.
Areso
М — мотивация)
У студента живущего с родителями мотивация может быть гораздо ниже (хватило бы на платеж за новый смартфон и ладно).
akryukov
Или гораздо выше (съехать бы от них поскорее).
Areso
Молодого человека проще «переделать» под свои нужды, привить полезные привычки. Со взрослым такое получается реже. Молодые люди привыкли учить большие объемы информации. Если сравнивать, то в 30 лет и в 18 лет работа мозга, интенсивность, заметно отличается (обычно).
С другой стороны — у взрослых людей есть ответственность, семья, они не увольняются (обычно) СМС-кой «мне надоело, на работу больше не пойду», они умеют жить в рабочем коллективе (подчиняться, работать в команде).
Но выгода в скорости обучения перевешивает недостатки.
Плюс студенты профильные (хоть профильное образование может и храмать на обе ноги), а кандидаты в возрасте это либо самоучки и там нужно проводить комплексную оценку знаний, чтобы дать недостающее, либо «войти в айти», что принципиально мало отличается от предыдущего, но может отличаться целями.
andrsam
Здесь следует разграничить возрастных кандидатов, которые не имеют профильного образования, и специалистов с опытом в других областях, которые переходят в более перспективное направление, привыкли усваивать большие объёмы информации и, соответственно, обучаться.
hatari90
Взять свежего выпускника проще, чем найти человека «в возрасте», который:
Crocodilovich
Значит в 30 лет программистом не стать? Поезд ушел? Или один случай на миллион?
VulvarisMagistralis
Почему?
До миддла — 100% можно дорости.
До сеньора — при таланте и большом желании, то есть далеко не каждому светит. Но отдельным людям вполне достижимо.
Crocodilovich
У меня вопрос, если можно. Он может показаться странным, но очень он меня стал мучить. Изучение программирования я начала c Python. Прочитал пару книг, решал различные задачи, а параллельно осваивал JS, HTML, CSS. Голова гудела, но дело вроде бы и шло. Дальнейшее развитие видел в Django. Даже решил поступать на заочное отделение для отсутствия барьеров в развитии в будущем. Но оказалось, что в моем регионе Python мало кому нужен. А junior-разработчики особо не нужны даже в Москве (я говорю про web-разработку). Но при этом меня готовы были взять со знаниями PHP, если бы они были. В нескольких местах договорился встретиться вновь после освоения PHP, выполнить тестовое задание и попробовать себя на испытательном сроке. Вот уже неделю сижу за PHP, но как же он мне не нравится. Если до этого программировать было всегда в удовольствие хоть до пяти утра, то сейчас через силу. Хочется вернуться к Python, освоить Django, но такое ощущение, что тридцатилетний начинающий Python/Django разработчик никому не нужен наверняка. А с PHP и его коробочными решениями работы вагон, тележка и еще вагон, поэтому с ним начать карьеру гораздо проще. Так ли это?
VulvarisMagistralis
Не стоит.
Это совершенно нормально. Привыкайте.
Да и потом будет легче. Третий, десятый язык — уже намного легчем. Те более что там большая часть принципов повторяется из языка в языке.
Не показатель.
Заказчикам конечным или мелким конторкам — все равно на каком языке написано. Они вообще не ставят ограничения по языку, или, если даже и ставят, их легко переубедить.
И вообще — четыре-пять языков одновременно это норма. Это не так сложно как кажется, пока учишь первый. Первый — сложно, да. Не очень просто — второй. Потом уже легко.
Самая значимая проблема для вас — то, что вам нужно бы чтобы были опытные коллеги. С ними ваш рост профессиональный будет хорошим.
В принципе вы можете быть единственным знатоком языка Python в маленькой конторке, единственным там бэкендером — я таких знаю. Вас возьмут, не будут придираться к языку — у них все равно нет стандарта на бэкенд, нет и требований. Но, к сожалению, не будет и коллег.
С другой стороны:
Выбирать для обучения лучше конторы немелкие, где есть ваши коллеги, специализирующиеся именно на том, чем занимаетесь и вы
Crocodilovich
А почему Вы не видите смысла в получении профильного (пусть и заочного) образования?
kozzztik
Устаревает с той же скоростью, что вы его получаете. При этом, наоболее вероятно, вы поступите на курс, который устарел лет 5-10 назад. Можно поступать на хорошее фундаментальное образование, только если точно известно что оно реально хорошее. Это сожрет уйму сил, а на ранних этапах не даст практически никакой пользы. Имеет смысл только он сениора и выше, либо если вы точно знаете что конкретно этот курс вам действительно нужен.