Комментарии 77
которые только выпустились и которые не совсем понимают
Когда студент выпускается он уже специалист и если на этот момент он не понимает как ему искать работу и начинает читать такую статью и посещать он-лайн курсы, то дело очень плохо. У нас кто хотел уже на практике после 4-го курса озаботились тем, куда бы устроиться.
Когда студент выпускается он уже специалистВы не из страны эльфов, случайно? Потому что с нашими безнадёжно устаревшими программами от министерства и нехваткой современных курсов в провинциальных университетах ваша фраза звучит довольно иронично.
Потому что с нашими безнадёжно устаревшими программами от министерства
Чем же они настолько безнадежно устарели? С тех пор IP-сети стали иначе работать или красно-черные деревья по-другому балансируются?
Проблема в том, что много преподавателей старшей школы не вписываются в новые тенденции, от того и полное непонимание студентов на выходе что и как и куда вообще приткнуться. Хорошо, если от кафедры утроиться можно, а если нет? Я жалею, что такой статьи не было, когда я заканчивала бакалавриат. Это многое изменило бы.
Преподаватель просто обязан работать в данном направлении на практике. Как максимум — писать свой стартап.
Многие вещи познаются именно в практике. Голая теория вам даст только минимальные основы.
Поэтому основная масса студентов учится у теоретиков, которые в своей основе — такие же бывшие студенты.
Можете приглашать практиков читать за бесплатно или за символическую по меркам индустрии плату. Думаю, найдется много людей, желающих рубануть правду-матку, или просто поделиться опытом.
Вот про рубануть правду-матку это точно. Такое может любой разработчик, не попавший на узкоспециализированную конференцию. Да и вообще, ИМХО, любой человек хочет щегольнуть перед другими, а в таких ситуациях это будет ещё и на пользу.
Одно дело — приглашать "практика" на одноразовое мероприятие, где он щегольнет и на этом все закончится.
И совсем другое — преподавать на постоянной основе. У работающего специалиста есть три "окна" для такой деятельности:
- По субботам. Учебные заведения по субботам работают, а на основной работе обычно выходной.
- Часов в 8 утра по будням. Возможно если рабочий день фактически начинается в 10-11.
- Часов в 18 вечера. Если есть возможность стабильно уходить вечером.
Учебные заведения были бы рады, если у них будет преподавать хороший специалист. Однако далеко не каждый специалист будет жертвовать личным комфортом, чтобы связываться с системой образования в общем и со студентами в частности.
Почти каждый хороший практик был студентом. Я бы точно не отказался немного попреподавать, (уже занимался таким но только для учебного комбината, уровень не тот, хотелось бы большего). На работе можно уладить, это не проблема. Зато потом можно говорить что вот я читал в вузе. Или вот наши сотрудники раз в месяц читают в вузе, и тп. Это и вузу хорошо, и студентам.
Да, я бы честно говоря на постоянку не пошёл бы, потому что не считаю, что такой мероприятие должно быть на постоянной основе, потому что это должно пробуждать интерес к получению этой правды. Эта лекция же не должна проходить под таким названием "Методы и инструменты разработки в современном вебе", это скорее должно быть что-то типа "React и Ng для чайников: плюшки и капканы", это я из своей сферы пример взял. Оно должно пробудить антэрес, потому что всю практику не передать на одной встрече, да и зачем, если компании не проч нанять студентиков, работающих за еду/светлое будущее?
Вот только есть один прикольчик… Студенты, которым это реально интересно, либо уже на фрилансе сидят, либо где-то работают на полставки, получают реальный практический опыт. Ну ближе там к 3-4 курсу.
cry_san совершенно с вами согласен ) поэтому если вы хороший практик приезжайте и я вам передам свое рабочее место )
Заодно познакомитесь с учебной программой и практикой обучения, в которой 5 учатся, а 10 "балду гоняют".
А если серьезно, хороший практик программист и хороший преподаватель не всегда тождественно.
Очень хочется чтобы по больше практиков было в системе обучения, но не многие желают.
Вы опоздали — я уже преподаю.
10 балду гоняют, потому что бесполезный предмет или лекция. Если студенты понимают что предмет необходим для их выживания, то процент гоняющих очень скромный. И тут не запугивание экзаменом нужно, а реальные примеры из жизни где это пригодится.
Совет конечно запоздалый, но лучше за время учебы поучаствовать в опенсорсе на сотню-другую часов. Мозги прочищает, да с людьми общаться научишься, чужой код читать и оценивать. Курсы такого не дадут никогда. И главное, что в любой момент можешь уйти. С работой так не выйдет, трудовой договор обе стороны защищает же.
Наверное самая популярная программа для студентов это Google Summer of Code. Учавствуешь в опенсорсе на сотню-другую часов, знакомишься с людьми, получаешь опыт и знания, и ещё платят к тому же.
- Выбираете любую понравившуюся вам тематику.
- Ищите любой проект, который хоть как-то соответствует вашим ожиданиям.
- В зависимости от амбиций:
3.1 Переделываете часть проекта как вам нравится — разумеется ничего не получится, но опыта будет выше крыши, гендальф будет отдыхать в сторонке;
3.2 Смотрите багтрекер проекта и исправляете баги.
Как пример, было стремление разрабатывать игры, нашел игру freecol. Так как просто править баги мне наскучило — решил написать свой ИИ к нему, тот что был тогда — так себе, читер и не более того.
Пока писал ИИ нашел несколько интересных багов в серверной части проекта, которые обычным способом найти нельзя, как пример: ИИ высаживал юнит с корабля, понимал, что это не его район и обратно юнит на корабль сажал. Согласно правилам игры так делать нельзя — очков движения не хватит у юнита, а вот сервер разрешал.
ИИ я конечно же не закончил, но он один, сам по себе мог строить колонии и более менее существовать сам по себе. Вроде 1,5 месяца просидел над ним.
И только через год у меня были методы оптимизации в институте, которые бы очень сильно помогли =(
Новичком в данном контексте считать человека, который освоил основные фичи языка, но еще ни разу не участвовал в промышленной разработке.
Просто такой совет я вижу довольно часто. Обычно (для java) при этом рекомендуются проекты вроде Apache commons, guava, Spring, Hadoop и другие общеизвестные фреймворки или проекты.
Но с ними есть две проблемы:
- Они слишком сложные для новичка. Чтобы сделать действительно полезный коммит в таком проекте, даже опытному разработчику нужно покурить его исходники недельку-другую. Вдобавок у них хитрая система версий. Причем это может быть сложнее чем «релизная на поддержке» и «экспериментальная на будущее». У новичка происходит шок от объема и запутанности.
- В них существует бюрократия. Коммит, который сделает новичок, может не вписываться в общую архитектуру проекта и скорее всего будет просто отклонен или проигнорирован. Мержить имеют право вполне определенные лица, которых еще нужно поймать.
Я бы очень хотел порекомендовать своим студентам какой-нибудь open-source проект. Однако ничего такого, что было бы им по силам, я на горизонте не вижу.
У SO есть интересный проект под названием Open Source Advertising. Там разные Open Source проекты ищут программистов, можно выбрать нужный проект и спросить напрямую. Многим проектам нужны любые руки и они найдут работу даже для совсем новичков.
Лучшим первым шагом (для выпускника) будет подойти на кафедру и попросить работу. По рекомендации от преподавателя собеседование будет сильно короче и лояльнее. А поработав пару лет в условном НИИ будет уже и реальный опыт и все остальное.
По рекомендации от преподавателя собеседование будет сильно короче и лояльнее. А поработав пару лет в условном НИИ будет уже и реальный опыт и все остальное.
Нда, там может оказаться такой опыт, что на следующей работе синьорам придется долго исправлять дурные привычки. Я как-то пришел в такой условный НИИ при выпуске по рекомендации преподавателя во время диплома. При том что у меня был уже 1,5-2 года опыта мне предложили зарплату 800 (!) рублей на 3 месяца испытательного и чуть больше (возможно) после. Даже учитывая, что рубль тогда стоил дороже, 800 рублей едва-едва хватало на проезд до этого НИИ. В коммерческой фирме дали почти в 10 (!) раз больше.
При том что в коммерческой фирме более-менее научат реальным вещам, а в НИИ будут давать те же лабораторки с требованиями "как-то работает, а на код пофиг".
Покажется странным, но поработать в НИИ все же стоит. Что бы понимать, как не надо работать. Речь про организационные вопросы и попо-часы.
Очень быстро сдувает все лишние и начинаешь понимать как должно работать предприятие. Особенно когда начнешь пытаться что-то менять и стараться, а все в мусор.
Во всяком случае, если нет никаких менторов адекватных, которые в случае чего объяснят или дурь выбьют, коей во всякой голове достаточно.
И нет, в коммерческой фирме более-менее не научат, а научишься. Нигде тебя особо учить не будут.
Что бы понимать, как не надо работать. Речь про организационные вопросы и попо-часы.
Не всегда, для начинающего программиста часто опасно "заразиться" ленью и разгильдяйством. Когда человек привык лениться, не за что ни отвечать и не общаться с коллегами, это очень сложно исправляется, знаю тех кто не может потом уйти из таких НИИ, так как работать тяжело они не приучились, им проще ничего не делать за три копейки.
И нет, в коммерческой фирме более-менее не научат, а научишься. Нигде тебя особо учить не будут.
Я учил многих в коммерческой фирме. Это обычно окупается, так как специалист вырастает во много раз быстрее. Так что сильно зависит от фирмы, в некоторых наоборот будут стараться чтобы не научился, потому что им нужны манкидевелоперы за копейки, а опытных разработчиков хватает.
для начинающего программиста часто опасно "заразиться" ленью и разгильдяйством
Обычно для этого нужна почва. Сами по себе люди не становятся лентяями и разгильдяями. Если с детства к аккуратности и трудолюбию приучили — избавится сложно.
Я учил многих в коммерческой фирме. Это обычно окупается, так как специалист вырастает во много раз быстрее. Так что сильно зависит от фирмы, в некоторых наоборот будут стараться чтобы не научился, потому что им нужны манкидевелоперы за копейки, а опытных разработчиков хватает.
Проблема в том, что единицы не задают общий формат. А надеяться на чудеса — опрометчиво.
Манкидевелоперы обычно у не очень способных руководителей, коих более чем достаточно. А удержать опытного разработчика бывает сложно.
Вот что бы точно опознавать этих "неспособных" руководителей — и нужно идти работать в НИИ на пару лет, лучше еще во время учебы на полставки — посмотреть на них в живую. Только не надо этого делать с устоявшимся мнением, что там все такие — цель понять как одних от других отделять. Будет ощущение, что потерял время, зато прививка на всю жизнь. С ходу этих "эффективных" будешь распознавать. Это не только куроводителей касается. Вообще всего спектра специальностей ИТ.
А низкая зарплата только в масть в этом случае.
А теперь попробуй в коммерции, когда работать приходится очень много, заниматься такой социальной инженерией. Долго протянешь? Зарплату тебе не за исследование фирмы дают.
Будет ощущение, что потерял время, зато прививка на всю жизнь. С ходу этих "эффективных" будешь распознавать. Это не только куроводителей касается. Вообще всего спектра специальностей ИТ.
А низкая зарплата только в масть в этом случае.
Вы серьезно? А почему пару лет не побомжевать, тоже ведь в чем-то полезный опыт? Идти в "болото" на маленькую зарплату, чтобы научится определять "эффективных" определять? Нет, если жизнь бесконечна, то можно, конечно. Но лучше стараться попасть в нормальную фирму, а для опыта как делать не надо почитать умных книжек/статей.
Кстати, вот после болота бюджетной фирмы вас могут вообще никуда в коммерческие фирмы не брать. В коммерческие фирмы не очень любят брать тех кто работал на бюджете.
мне не помешало с зп в 30к перейти в коммерцию и зарабатывать 120к.
Тут вопрос что ты делаешь в "болоте", тухнешь или пытаешься что-то изменить. Хотя бы себя.
Но разумеется для каждого свое.
И да, работал в этих предприятиях пока учился.
И вы очень сильно ошибаетесь. Такие же "болота" и в коммерции бывают. Причем чаще, чем кажется и им для этого не нужны приставки "НИИ" или "НИЦ".
Пока устраивался на новую работу повидался за 5 собеседований на эти зоопарки.
Бывают, конечно. Но зачем туда идти если есть возможность пойти в нормальную организацию? И нервы сохраняться, опыт сразу пойдет и по деньгам будет веселее. Гугл + голова зачастую помогает не пойти работать в болото.
мне не помешало с зп в 30к перейти в коммерцию и зарабатывать 120к.
Не думали, что могли начать зарабатывать 120k на пару лет раньше?
работал в этих предприятиях пока учился.
Ну пока учился можно хоть эникейщиком, хоть дворником в ИТ фирме работать, если других предложений нет (да студентов берут часто не охотно). Но вы предлагаете выпускнику идти целенаправлено в болото?
Это потеря времени, денег, карьеры, зачастую проблемы при попытке иммиграции, возможно невозможность завести семью и проблемы на личном фронте, проблемы с самоуважением (когда одноклассники работают в США в гугле, а ты сидишь в НИИ на копеечные зарплаты). Это все стоит опыта распознавания эффективных менеджеров (который все равно придет, только чуть позже)?
Бывают, конечно. Но зачем туда идти если есть возможность пойти в нормальную организацию? И нервы сохраняться, опыт сразу пойдет и по деньгам будет веселее. Гугл + голова зачастую помогает не пойти работать в болото.
Асоциальность и не туда затянуть может. Вы недооцениваете степень замкнутости людей и неспособность (нежелание?) понимать окружающих.
Не знаю никаких проблем с самоуважением. А рвать в гугл только ради престижа? Деньги? Иммигрировать? Личная жизнь? Вы о чем?
Ну пока учился можно хоть эникейщиком, хоть дворником в ИТ фирме работать, если других предложений нет (да студентов берут часто не охотно). Но вы предлагаете выпускнику идти целенаправлено в болото?
А зачем работать эникейщиком? Руки марать в пыли? К моменту поступления в институт я уже хорошо программировал. Лучше, чем 80% выпускников этого же ВУЗа. Но обучался-то один. Инет появился поздно. Книжка Попова по паскалю и дельфи-хелп + позже мсдн с msvs 2006-2008 где-то урвал. По ним и учился. Были еще книжки что-то в духе 50 приемов чего-то там от Майерса.
Маленькая зарплата — это так же и возможности. Просто взять и например послать начальника в пешее путешествие. Взять и сделать по своему… и еще и оказаться правым. Что бы управлять людьми не обязательно быть руководителем. Хотя по началу я себя очень скромно вел. Очень. Пока не начал понимать что к чему и как да почему.
Кому болото — трата времени и сил, а кому песочница, которую будешь крутить как захочешь (денег же не платят, а люди пассивны довольно, кроме слов и ругани ничего не сделают). Да — ненависти огребешь по полной. Но увольнять тебя принципиально не будут, причины же очевидны, напротив — с огромным трудом уволишься.
Зато поворошив это все поймешь как оно детально работает и почему (или наоборот почему не работает).
В гугле таких же болот хватает, только там ты будешь винтиком и система в целом сложнее, что бы ее изучать без подготовки. А то и вовсе никогда не поймешь как оно получилось именно так. И потерять можно не 1-2 года, а лет 10.
А прыгать с одной работы на другую, только потому что на новой больше предлагают? Иметь трудовую, забитую под завязку записями в 1 год? Зачем?
Я уже видел резюме людей, у которых 10 раз работа поменялась за 7 лет… Как жить-то, если ты сам болото?
В НИИ для выпускника уже поздно. Лучше на последних курсах, желательно, чтобы там можно было выковырять тему для диплома. А выпускник, только если есть желание продолжить обучение в аспирантуре или есть множество других увлекательных занятий, помимо работы.
Спасибо за статью) Буду очень рад почитать про Spring, так как в данный момент изучаю эту технологию
Насколько я знаю, Spring достаточно большой фреймворк. Брался одно время за его изучение года 4 назад. И знаете что? Так и не пригодился )))
В любом случае, пока у Вас не будет в запасе пары тройки проектов, Вас даже и звать на интервью не будут.
И такой вопрос — насколько мессенджеры типа Скайпа могут компенсировать недостаток общения с коллегами?
Я целенаправленно шла в большую иностранную компанию так как лично для меня то, что компания большая и иностранная — большой плюс.
У Вас была какая то тактика и вы её придерживались…
А в чём плюс, если не секрет?
Желательно все это выкладывать на гит
На гитхаб, судя по контексту.
2. Pet — project, совершенно не обязательно для начала. Вполне сойдет образование, которое дает вуз
3. GIT — аналогично.
4. Настоятельно советую прочесать знакомых/знакомых родителей, которые могут устроить.
5. В хорошем вузе — есть много различных вариантов стажировок через кафедру (там же делают курсовые), в самых разных компаниях. Через них — легко трудоустроится.
6. Многие средние и крупные компании имеют программы по стажировке. Весь крупняк точно предлагает студентам работу за еду(20-30К) — это очень хорошая сделка для обеих сторон.
7. Все это работает только при условии, что у вас голова настроена правильным образом. Если нет — то забудьте про программирование.
3. Аналогично с чем? Если с тем, что это не нужно — то такие привычки лучше вырабатывать сразу
1) Поступайте в наилучший ВУЗ, на пределе своих возможностей. Благо в России образование бесплатное(для соотечественников и, насколько понимаю, граждан стран ЕАЭС), плюс сейчас есть ЕГЭ, и для поступления в топ ВУЗы достаточно собраться и выложиться по полной. Привыкайте — умение взять и решить (тут должна быть шутка про русское «умри, но сделай», которое более жестоко, чем «do or die») — это одно из важнейших умений в жизни.
2) В специальностях нужна математика. Направления, где «компьютерно-программиисткие» вещи занимают больше 1/5 времени от математики — сразу нафиг, иначе (с высокой вероятностью) окажетесь на свалке истории лет через 10-20 (особенно с нынешнем развитием ИИ).
3) Преподов теребите вопросами, читайте всё, что они рекомендуют и много что еще. Есть еще время — смотрите видеолекции по математике. Рекомендую первые два курса НМУ, в качестве лайт-версии можно видеолекции МФТИ, хотя, чем тяжелее в учении — тем легче в бою.
4) Только на этом пункте приходим к алгоритмам. Если вам повезло и в ВУЗЕ читают нормальный курс по алгоритмам — отлично. К сожалению, я знаю подобных вузов не больше 10, так что тут нужно что-то делать. Самом популярное — олимпиады.
5) Олимпиады же заставят научиться решать задачи понятно, и писать понятный и работающий код. Фактически, это мгновенный код ревью от сокомандников плюс тестирование корректности работы программы. Не случайно людей с «желтым» рейтингом codeforces и topcoder с руками отрывают в наукоемкие проекты, независимо от опыта работы.
6) Гиты, паттерны, комментирование кода, приколы с жесткими наследованиями — в приципе, сложно пройти все предыдущие пункты и не узнать ничего про данные вещи, всё-таки в большинстве ВУЗов все с этим сталкиваются. В крайнем случае, можете посидеть пару выходных и поизучать самостоятельно — никакого рокет сайенс там нет.
7) Место работы. Тут вопрос самостоятельности — рисковости. ИМХО, самое козырное — небольшая лаборатория с топовыми грантами в каком-нибудь НИИ или небольшой исследовательский отдел в российской компании с госзаказами(как правило, от Министерства Образования, но, также, может быть интересный проект для Министерства Обороны) либо заказами у крупных международных фирм. В подобном месте скорость роста как личностного, так и зарплатного ограничивается только собственными силами. Но это сложно, надо понимать, что конкуренцию вам составляет большая часть топ-10% выпускников России (объективный ректинг по олимпиадам, это 30-50% топового научного потенциала в мире) — так что можно и забуксовать, переоценив свои силы, и оказаться ни с чем.
Можно быть проще и пойти работать в крупную российскую компанию. Промежуточный вариант между НИИ и международными Гугло-Фейсбуками. Навскидку, Яндекс, Мэйлру, Вконтакте и т.д… Чуть больше уверенность в завтрашнем дне, чуть медленнее рост, чуть больше бюрократии.
Далее, можно быть совсем неуверенным в себе и очутиться в условном «Гугле». Еще больше стабильности, еще больше бюрократии и «забивания гвоздей», отношение «я начальньник — ты дурак»(естественно, вежливое, но неукоснительное, т.к. твой уровень ниже, просто по табели о рангах внутри компании). Вернуться обратно в топовый проект может получиться только с потерей уровня. Но зато от тебя уже зависит не так много, можно больше времени и сил тратить не на саморазвитие а на «творческую самореализацию».
Достаточно спорное утверждение про "посмотри на список самых популярных языков и выбери первый". Думаю, что тут стоит больше покопаться в себе, посмотреть ДЛЯ ЧЕГО используют те или иные языки и выбрать интересную лично для себя предметную область.
Навскидку (примеры, не 100% покрытие), Java ччаще используется в больших энтерпрайз проектах, банках, финансовых компаниях и в программирования под андроид. C в embedded разработке и системном программирования, C++ когда нужен производительный enterprise код, в разработке игр — зачастую это тоже могут себе позволить только большие компании.
Не хочешь постоянно думать о мьютексах, многоточности и указателях — тебе в мир javascript. Хочешь быть на волне прогресса и писать крутые производительные веб-сервисы — выбирай Go.
Вот только нужно вот такой комментарий делать каждые 2 года, примерно. Ну чтобы соответствовать времени. Может в какой-то момент мобильные перейдут на ВебОСи и тогда js взлетит. Может веб потихоньку задохнётся и всё перейдёт в мобильные приложения. Конечно яву с плюсами не скоро заменят в их текущем сегменте, а вот на счёт скриптовых я бы так точно не говорил. Может завтра весь комитет es решит, что нужно уже сделать статическую типизацию или решит всё-же ввести модули, вместо единого DOM, тогда в js придуть указатели, "мьютексы" и вообще многопоточность.
Это всё очень зависит от трендов, поэтому нужно так же брать в расчёт то, что через 3-4 года вся область твоей деятельности может повернуться на 180 градусов и ты опять останешься где-то позади.
Всё же чем ближе к пользователю, тем больше подвержено трендами, а соответственно и изменчивости.
Единственная рекомендация это быть активными и задавать вопросы на различных форумах. Вот список наиболее популярных: stackoverflow, тостер...
В такие моменты все почему-то забывают, что можно не только спрашивать, но и отвечать. Сначала на самые простые вопросы, потом на более сложные. Это не только расширяет кругозор, учит быстро гуглить и читать документации, но и заставляет приводить аргументы в пользу того или иного решения (ну и ссылки, понятное дело), что очень полезно. Быстро избавляет от синдрома бездумной копипасты. Да и понимающий работодатель сразу увидит, что человек не просто так говорит, что в чем-то разбирается.
Как программисту получить свой первый оффер