×

Памятка для начинающих разработчиков

Beginner image via Shutterstock.

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

Ваша мотивация

Итак, допустим, вы хотите стать программистом. Для начала вам необходимо ответить себе на вопрос: «а зачем?». Если ответ заключается в деньгах и каком то престиже — бросайте эту затею. Почему так? Все очень просто!

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

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

Как начать и что изучать

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

Занимайтесь программированием всегда, когда есть время на это. Не вгоняйте себя в рамки одного проекта, за который вам платят в офисе. Изучайте новые технологии, пытайтесь сделать что-нибудь в opensource проектах, читайте новости своей отрасли, изучайте фреймворки, аналогичные тем, которые используете на работе. Изучение реализаций известных фреймворков покажет вам существующие best practice в архитектуре и написании программ. Когда я впервые залез в папку system фреймворка codeigniter, впервые познакомился с паттерном Singleton и посмотрел, как и зачем его использовать (+1 к знаниям), то понял, в чем суть порождающих шаблонов и принципа MVC (еще +2 к знаниям). Сейчас, когда меня начинает подташнивать от PHP, я лезу в исходники фреймворка beego, чтобы немного глубже понять GO.

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

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

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

Работа над ошибками

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

«Почему меня заставляют работать с базой данных и разбираться в разнице между InnoDB и MyISAM? Я еще джун, я не должен этого знать. Пусть мидл это решает!»

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

— Что должен знать джун?
— Всё.
— Но всё знает только сеньор!

И никто не понимает, что почти вся разница между сеньором и джуном — это опыт.

***

«Сейчас я буду использовать анонимные функции, замыкания, ООП, паттерн ‘абстрактная фабрика’ и вот этот большой синий молот для того, чтобы открыть модальное окно в браузере»

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

***

«Я уже всё знаю и могу сделать всё!»

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

В китайском искусстве владения боевым клинком есть три стадии познания:
— Сю — означает, что надо заучивать всё точно так, как показывает учитель. Требуется много лет тренироваться, иначе не будет базы для перехода на следующую ступень.
— Ха — означает освободиться от правил — где правил нет, там есть естественный ход вещей. Многие пробуют делать это слишком рано, поскольку переоценивают свои возможности.
— Ри — означает подняться над всем, что изучалось раньше, создать более высокие и более общие принципы (кстати, в программировании тоже есть три стадии: junior, middle, senior).

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

***

«Я программист, поэтому платите мне 2000 долларов в месяц, и где вообще моя массажистка?», или «А я знаю, что другие программисты получают больше, чем я, в 3 раза!»

— да, и поверьте, по-настоящему хороший программист оплачивается и удерживается. Если ваша работа не оплачивается в полном объеме — значит, может быть, она еще не стоит желаемого уровня. Продолжайте учиться, набирайтесь опыта. Всему свое время.

***

«Я боюсь это делать, я такое никогда не делал, я что-то сломаю...»

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

Будьте смелее

В качестве заключения немного советов тем, кто уже в теме, но еще не уверенно себя чувствует:

— Открывать свой код через месяц, делать фейспалм со словами «боже, как я мог это написать?!» — нормально. Если у вас так и происходит, то вы на правильном пути. Пока вы будете ненавидеть код, который написали на прошлой неделе или в прошлом месяце, вы будете развиваться.

— Делать свою cms — это нормально. Главное — написав свой велосипед, никому его не показывать и нигде не использовать. Сам факт того, что вы ее написали — знак того, что вы честно впитали информацию и закрепили ее на практике.

— Каждый раз думайте: «правильно ли я делаю?», «можно ли сделать лучше?», «это можно сделать лучше, я знаю».

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

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

— Даже не думайте учить 1С (да простят меня 1Сники).

Будьте смелее и не спешите переходить на стадию middle. Всё придет само собой.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному2
LinkedIn



Найкращі коментарі пропустити

Отличная статья. У меня сейчас кстати есть примерно две недели пока буду искать себе новый проект, и могу пока поменторить по Java. Поэтому напишу предложение прям тут:
О себе: джава синьёр по вебу, есть небольшой опыт менторства, помог нескольким джуниорам устроится.
Что предлагаю:
— Неделю парно программируем через Тимвьювер. Проект выбираем: либо дипломный проект по институту, либо если учите высшую математику берём задачи из контрольно и программируем, либо делаем сайт с нуля. В день до четырёх часов могу выделить.
— На выходе у вас будет готовый проект для резюме + реально боевой опыт. Обучу как правильно пользоватся IDE, как искать в интернете, как пользоватся контролем версий (GitHub), как делать рефакторинг и писать тесты.
— Расскажу как спамить эйчаркам, помогу составить резюме, подготовлю к интервью (я сам был интервьювером, так что знаю как это быть с той стороны стола).

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

Поменторю только за деньги, причём деньги вперёд чтобы халявщиков не было. Возьму немного, гривен 800-1000 за неделю (т.е. 7 вечеров). Если вас будет двое то так будет даже лучше, я вас поучу вместе парно педалить и мерджить вашу работу.
Не понравится как рассказываю — верну деньги. Понравитесь вы мне, верну часть и лично порекомендую по своим эйчаркам.

Актуально пару дней, потому что если не откликнется никто то пойду подфрилансивать.

Пишите в скайп: stokito

\\Если ответ заключается в деньгах и каком то престиже — бросайте эту затею.\\
Это жлобская и лживая фраза. Я не знаю о престиже, для меня это далекая и малопонятная фигня, но деньги являются достаточной мотивацией. Программирование — один из немногих способов у нас в стране много пахать и достойно продавать результаты своей пахоты. Соотношение результат/затраты одно из самых лучших. У тебя нет ВО, ты работаешь охранником, работа не нравится и бросить её ты не можешь, потому что надо на что-то жить? Попробуй учить Java, — даже если ты от этого не тащишься, всё равно у тебя высокие шансы получить интересную и неплохо оплачиваемую работу. Если уж совсем не понравится, всегда можешь вернуться в охранники.

Большинство «фанатов программирования» всё равно занимаются нудной, не творческой рутиной за деньги, а не моделируют искусственный интеллект.

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

В общем, теперь я точно знаю, что делать. Спасибо автор. Надеюсь теперь справлюсь.

131 коментар

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.
«Даже не думайте учить 1С ...»

- эта фраза сделала мой день;))

Блин, велосипед на гит залил(

Опять почти ни о чём — «найти первое рабочее место».
Нету, всё проехали, нету места! — «Начинаем свой проект.» — вот если бы я встретил эти строки в статье, тогда автору — уважение.
А так — очередной вброс в масы....

Отличная статья!
В некоторых местах думал — «О, так это же про меня!»

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

В общем, теперь я точно знаю, что делать. Спасибо автор. Надеюсь теперь справлюсь.

Статья не об этом.

Желаю удачи с поиском, она вам пригодится

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

Сейчас у меня резюме почти идеальное. В отличие от того, что было лет 6-8 назад. Тогда получал до 10 приглашений на собеседования в день. Большую часть отсеивал сразу по словам «тимлид», «руководитель проекта» , «опыт 2 года мин.» и т.п., но по 2-3 раза в день мотался по фимам. Собеседования сначала состояли из одного вопроса «Сколько лет опыта», хотя в заголовке резюме был указано «без опыта», а когда небольшой реальный появился добавился второй вопрос «Дай ссылки на работы» и дальше этого вопроса не шло.
Сегодняшнее резюме отлично выполняет свою главную функцию — отсеивает работодателей которые меня точно не возьмут. После трети собеседований удается попасть на работу. Наоборот, нужно бы еще слегка четче указать свои минусы (с точки зрения НР и работодателей), чтоб отсеять эты лишние 2/3, чтоб зря не ездить.
К сожалению практически все работы, на которые берут людей без опыта — это работы которые не дают формальных признаков опыта. Ссылок на работы не появляется. И следующую работу приходится опять искать как новичку без опыта.
Это замечание и к автору статьи. Работать за еду — это часто работать без получения формального опыта. И все проблемы новичков после такой работы остаются.
При том, что 15 лет все время безработный, но уже как-то набралось больше7 лет работы программистом. И ниодного дня опыта.
Правда 5 лет это 1С, тут авторо совершенно прав, это абсолютный тупик.

я вас сейчас не понимаю, какие ссылки?
У меня после каждого места работы нет ни одной ссылки на свою работу, весь код закрыт NDA. О чем тогда речь?

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

Я за свой опыт проходил собеседования в десятках компаний и там тоже было так.

Не вводите новеньких в заблуждение. Вы просто не умеете это готовить.

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

На приложения на маркете, на работающий веб проект (коммерческий).

Если я работаю в секторе B2B, где нет «маркета», а все мои клиенты закрыты NDA, что мне дать в качестве ссылки?

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

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

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

Смысл работающего веб-проекта в доказательстве его существования.

а смысл?

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

в общем, я сказал все ниже, не вводите в заблуждение людей своими фантазиями

Это уже не ко мне. Самому интересно. С вашей позицией, за исключением фразы о фантазиях, согласен на 100%. Но в iOS и Android ссылки — наше все.
Тестовых заданий с 2007 года получил меньше десятка. Пару штук из них даже не получил, а давались в объявлении на вакансию.
Сейчас в резюме даю ссылки на свои хелловорды на gihub и Google play. Пока молчат.
Вероятно хелловорды не катят, интересны только коммерческие проекты.

Все правильно, я бы тоже отказал человеку с тайтлом " Java / Android / iOS developer".
iOS и Android находятся в совсем разных стеках, я уже молчу про JAVA (JAVA — вообще отдельная тема, там столько всего, а вы так уверены в своих силах, что прямо пишите в тайтл...).
В одно время можно быть качественным специалистом только в рамках одного стека. (к примеру, PHP и JS — один стек. PHP и Objective-C — из двух разных стеков)

по моему в интернетах уже эта тема обсосана до изнеможения. Любой iOS девелопер будет по умолчанию лучше вас (Android+iOS)

Я все еще не убежден вами. Чужой код (который написан вами, но пренадлежит прошлому работодателю) показывать не нужно, чтобы устроится на работу.

Значит ли это, что Вы бы не дали тестовое задание ни по Java ни по Android ни по iOS если у человека все это указано в как знакомые ему названия? Большинство прорамм под Андроид пишутся на Java.
Сейчас есть пара открытых вакансий Android + iOS разработчик.
Я так понимаю, людям которые туда пойдут, потом на Ваши ваканси лучше не откликаться.

Я все еще не убежден вами. Чужой код (который написан вами, но пренадлежит прошлому работодателю) показывать не нужно, чтобы устроится на работу.

Я никогда противополжного не утверждал. Вы правы, не нужно. Как бы ни просили.

Значит ли это, что Вы бы не дали тестовое задание ни по Java ни по Android ни по iOS если у человека все это указано в как знакомые ему названия?

дал бы, но относился бы скептично

Большинство прорамм под Андроид пишутся на Java.

Hа php пишут крупные enterprise системы и сайты на joomla. Это я к тому, что не каждый, кто пишет сайты может сесть за серьезный бекэнд.

Сейчас есть пара открытых вакансий Android + iOS разработчик.

если бы конкретно у меня была компания и мне нужен был бы android девелопер, я бы взял именно android девелопера.

ps

по моему в интернетах уже эта тема обсосана до изнеможения. Любой iOS девелопер будет по умолчанию лучше вас (Android+iOS)

«эта тема» = «вы либо знаете 100500 языков на уровне hello world или 1 но так хорошо, что равных вам нет»

Значит, раз уже так сложилось, ято я прочитал книжку не только по Android но и по iOS, то мне теперь в программирование путь закрыт?
А ведь еще и на С++ и Ассемблер и ПХП и Пролог и Паскаль и другие лабы были, не говоря уже о 1С.
Может какие курсы посоветуете, где можно побыстрячку забыть все лишнее?

Статья не об этом.
Желаю удачи с поиском, она вам пригодится
Если я работаю в секторе B2B, где нет «маркета», а все мои клиенты закрыты NDA, что мне дать в качестве ссылки?
смысл с работающего веб-проекта? у него в лучшем случае можно посмотреть лендинг пейдж. Без кода и деталей вашей реализации.
Вы либо не по тем компаниям ходите, либо что то придумываете.

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


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

Где Вы увидели злобу и обиды?
Отправляю во все, где не требуют опыта больше чем у меня есть. Во все 10.

я более чем уверен, что их не 10

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

это я не утрирую, буквально на прошлой неделе встретил человека, который доказывал мне, что в Украине можно устроится на работу только по знакомству или со взяткой (оО мне нужно дать взятку, чтобы мне платили зарплату? оО)

Тот человек прав на 100%. Сначала знакомишсья с человеком ответственным за прием на работу, а потом устраиваешся. Без знакомства (хотя бы заочного) ничего не выйдет.

Где Вы увидели злобу и обиды?
Прекратите тратить энергию на злобу и обиды на компании, которые вас не берут.

ок. перефразирую.

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

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

я не шучу, всегда готов помочь

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

тогда пишите в мой линкедин, мне там проще будет вас презентовать

Блин! Я тащусь от этих социальных сетей. Пытаюсь оправить инвайт с линкедина. «How do you know Anatolii?» выбираю «I don’t know Anatolii». Жму отправить. Результат: «Your invitation was not sent.
Invitations should only be sent to people you know personally.»
Тоесть, я не могу пытаться завести знакомство с незнакомым человеком. Все как в реальном мире. Сначала познакомся, а потом заводи знакомство, или соври.
Можно я совру Линкедину и скажу, что мы уже друзья?

я отправил, после завтра займусь вами :)

ничего не обещаю, но сделаю все что смогу

Но некоторые просят код коммерческого проекта, а на упоминание НДА, спрашивают «тебе нужна работа или нет?».

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

не вводите своими фантазиями людей в заблуждение

Это не фантазии пару раз реально было. И здесь на форуме несколько лет назад была статья, как искать работу, и одним из пунктов рекомендаций было — наплевать на НДА, и был небольшой срач по этому пункту. Некоторые высказывались, что если услышу НДА, сразу прекращаю собеседование.

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

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

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

на прошлой неделе мне встретился программист у которого по NDA было даже название компании в которой он работал и на вопрос: «я так и не понял, ты где то работал? почему не можешь сказать где?» я слышал молчание.

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

человек ответственно относится к NDA, это большой плюс :)

та где такие требования это такое нда, где можно в пункт внести «и вы обязуетесь не есть хлеб до конца жизни» и пусть ответственно относится

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

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

в том что это ущемление прав, может еще чтобы уволится надо убить кого-то? и переходя на +500 убивать по одному прохожему?

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

О чем вы вообще говорите? в NDA прописаны соглашения об авторском праве и указаны те тайны, которые нельзя передавать третьим лицам

О чем вы вообще?

risovach.ru/..._1342993586.jpg

название компании не может быть тайной ни коммерческой, ни банковской, ни закрыто авторским правом, никак, имя — публичная информация,
я говорю: «зашугали пацана», ты говоришь: «пацан правильно делает», объясняю почему пацан гонит, ты не понимаешь

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

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

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

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

Я надеюсь, вы трезво понимаете, что это ваша проблема, а не компании ;)

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

Вас никто не принуждает подписывать бумаги. Вы это делаете добровольно

Все верно, спасибо

Автор, огромное спасибо за статью.
Пишите ещё.

Отличная статья. У меня сейчас кстати есть примерно две недели пока буду искать себе новый проект, и могу пока поменторить по Java. Поэтому напишу предложение прям тут:
О себе: джава синьёр по вебу, есть небольшой опыт менторства, помог нескольким джуниорам устроится.
Что предлагаю:
— Неделю парно программируем через Тимвьювер. Проект выбираем: либо дипломный проект по институту, либо если учите высшую математику берём задачи из контрольно и программируем, либо делаем сайт с нуля. В день до четырёх часов могу выделить.
— На выходе у вас будет готовый проект для резюме + реально боевой опыт. Обучу как правильно пользоватся IDE, как искать в интернете, как пользоватся контролем версий (GitHub), как делать рефакторинг и писать тесты.
— Расскажу как спамить эйчаркам, помогу составить резюме, подготовлю к интервью (я сам был интервьювером, так что знаю как это быть с той стороны стола).

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

Поменторю только за деньги, причём деньги вперёд чтобы халявщиков не было. Возьму немного, гривен 800-1000 за неделю (т.е. 7 вечеров). Если вас будет двое то так будет даже лучше, я вас поучу вместе парно педалить и мерджить вашу работу.
Не понравится как рассказываю — верну деньги. Понравитесь вы мне, верну часть и лично порекомендую по своим эйчаркам.

Актуально пару дней, потому что если не откликнется никто то пойду подфрилансивать.

Пишите в скайп: stokito

Главное — написав свой велосипед, никому его не показывать и нигде не использовать.
Это еще почему?

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

Я сам спотыкался об это и видел как другие спотыкаются.

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

Почему нельзя никому показывать? А как-же review от более опытных людей?

и часто вы ревьювите чужие фреймворки? много времени занимает?

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

Что значит заведомо нерабочие? А если рабочие и вам джун демонстрирует работоспособность, у него нормально всё работает, но хочет узнать мнение более «старшего» насчет того, правильная ли архитектура в целом и есть ли «запашок» ?

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

Я говорил о самописных CMS, именно о них говорилось возле того текста, который я процитировал, вот целиком:

— Делать свою cms — это нормально. Главное — написав свой велосипед, никому его не показывать и нигде не использовать. Сам факт того, что вы ее написали — знак того, что вы честно впитали информацию и закрепили ее на практике.

CMS — это не технически сложное, а громоздкое творение.
Олсо, основные проблемы — это архитектурные. Например, из-за слишком гибкой системы шаблонов и в отсутствие кеширования все адово тормозит. Или для системы плагинов нет проверок на наличие прав доступа.
Это очень сложно определить, читая простыни кода.
Потому-то и думаю, что в ревью нет смысла.
Гораздо полезнее побеседовать с автором на тему, как он/она видит целевую структуру. и — почему именно такую. А уж вопрос «а чем твое творение лучше X» может просто перевернуть вселенную, если человек «просто заигрался».

Автор певно мав на увазі те, що не треба пхати в продакшн не протестований продукт.

А на гітхаб залити можна і треба. Так майбутні роботодавці знатимуть, що ти не тільки резюме писати вмієш.

\\Если ответ заключается в деньгах и каком то престиже — бросайте эту затею.\\
Это жлобская и лживая фраза. Я не знаю о престиже, для меня это далекая и малопонятная фигня, но деньги являются достаточной мотивацией. Программирование — один из немногих способов у нас в стране много пахать и достойно продавать результаты своей пахоты. Соотношение результат/затраты одно из самых лучших. У тебя нет ВО, ты работаешь охранником, работа не нравится и бросить её ты не можешь, потому что надо на что-то жить? Попробуй учить Java, — даже если ты от этого не тащишься, всё равно у тебя высокие шансы получить интересную и неплохо оплачиваемую работу. Если уж совсем не понравится, всегда можешь вернуться в охранники.

Большинство «фанатов программирования» всё равно занимаются нудной, не творческой рутиной за деньги, а не моделируют искусственный интеллект.

А про «посмотрите вокруг» и для охранников работает: посмотрите вокруг — есть спецназ, свот, ниндзя, а Масутацу Ояма вообще бесплатно крушил все вокруг, куда вы лезете...

нудная и не творческая рутина меняется сразу при поступления оффера от другой компании.

Я лишь поделился своим опытом. Когда люди, которые, образно, «работают охранником» начинают изучать программирование, их сильно расстраивает, что для того, чтобы стать программистом с большой буквы П нужно похерить все свое свободное время. Инфы много, времени мало. Я их видел и я их знаю. Success story о успешных программистах, которые пошли ради денег просто нет. Если у вас есть конкретные кейсы — буду рад изменить свое мнение.

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

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

Тем более, при приеме на работу, я бы брал не тех, кому нужны деньги, а кому было бы просто интересно работать.
Да я бы тоже, это понятно. Одно другому не противоречит.
Я их видел и я их знаю. Success story о успешных программистах, которые пошли ради денег просто нет.
Именно просто ради денег — у меня тоже нет. Но есть знакомые которые начали интересоваться ради денег, и им понравилось. И работу они нашли уже не «просто ради денег». Но стартом был материальный вопрос. Впрочем, никто из них не охранник, у всех были технические специальности, и они медленно гнили в системе НАНУ.
Success story о успешных программистах, которые пошли ради денег просто нет
Сам пытался вспомнить кого-то из знакомых таких. Не вспомнил :)

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

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

Вы про IT или вообще? В IT — нет, не приведу. Может ещё в отдельных областях также. А в других сфера — сплошь и рядом.

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

вы не программист?
или имеете в виду конкретную доменную зону/конкретную технологию?

то есть, конкретная доменная зона прет, а остальное перепробовано и вызывает стойкое отвращение?

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

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

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

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

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

Я встречал много людей из не IT сферы, которые уже будучи студентом старались, разбирались и пытались разложить свои знания в практическое применения, преобразовывая их и адаптируя под ситуации. Такие люди всегда найдут работу, потому что их професия доставляет им кайф и они готовы выкладываться на полную просто потому что им интересно. С другой стороны были люди, которые пошли в ВУЗ, потому что соседка Рая сказала, что у нее есть знакомый адвокат, который недавно купил себе 3х комнатную квартиру и живет в шоколаде, поэтому ты тоже иди на адвоката. Люди из второй категории через некоторое время становятся недовольными из-за того, что им никто не дал квартиру, карьера не складывается, хотя они работают от звонка до звонка, а потом рассказывают своим детям про то, что не все в жизни так весело и радужно.

С другой стороны, мысль

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

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

UPD
А теперь посмотрите на великий балерин, что было бы, если бы родители отправили их учится на адвокатов и экономистов? Были бы + к толпе неудачников и — к великим танцорам.

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

До 40. До 45 один в 2 месяца, после уже не приходят.

Значит до 40 вы делали что то не так, раз кто то, кто моложе, и априори имеет опыта меньше выглядит более ценным.

Просто ты еще очень молодой.

Я вообще не понял эту фразу, к чему она тут.

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

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

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

Кстати, у меня есть знакомый из крупной компании, который сейчас находится в поисках консультанта/специалиста по распознаванию речи и который готов платить очень много. Если вам интересно — могу подкинуть контакт и связать вас, пишите в фейсбук.

по поводу возраста и сил — да, всеми руками и ногами да.
Мне очень повезло, что я нашел свое призвание в возрасте 13 лет. У меня была возможность работать по 2-3 дня без сна и хорошо себя чувствовать, что позволило быстро обучится. Чем дальше, тем больше понимаю, что мне уже не 18, а дальше еще хуже будет.

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

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

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

Собственно об этом я хотел сказать.

Блин, я в Банке работаю (

Looking for job — Java
Блин, я в Банке работаю (

Made my day.

В общем всю статью можно свести к двум фразам (применительно к скилам программинга)
«Proof or GTFO!» и «Practice makes perfect».

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

— Правильный опыт = успешная карьера. Не связывайтесь с банками, гос- и около-госучреждениями. Там вы такого опыта не найдете. Ни-ког-да.
Не был бы столь категоричен. Может, опыта программинга в банках и не получить, но вот опыта работы с финансами и понимания банковской внутренней кухни можно наполучать дофига. Потом очень может пригодиться в нормальной фирме, если надо будет делать интеграцию вашего über-мега приложения с этими самыми банками. Тут вы и выйдете такой крутой и расскажете всем как надо, и все вам скажут спасибо, и начальство вас после этого повысит до тимлида уволит нафиг за то, что выпендриваетесь. В общем, одни плюсы.
Что там в госах, не знаю, но подозреваю, что там можно полдня сидеть тихо педалить свой проект или изучать интересные технологии, вряд ли на их зарплатах идёт строгий контроль, все всё понимают. Опять же получить опыт работы с уродской бюрократической системой, чтобы потом сравнить и понять где у неё косяки — тоже не вредно. Ну и не забываем наше всё, Джоэля Спольски: where there’s muck, there’s brass. Потом пригодится в e-gov проектах.
поверьте, бородатые сеньоры очень мало когда делают что-то, что они уже делали раньше.
+1. Я задачи, которые делал раньше, почти всегда отдаю кому-то другому, кто с этим не сталкивался, при этом, правда, описывая кратко свой подход и показывая свой пример. Вот где по-настоящему рулит документация и хорошие грамотные комменты в коде. Ну и сам код заодно проходит краш-тест на понятность. Если прогер в итоге прибегает с вопросами по коду, его надо переделывать (кого именно «его» — программера или код — это уже второй вопрос).

По поводу гос или окологос учреждений, ваши слова логичны. Но на деле получается не так.

Я проводил собеседования с людьми из таких учреждений много раз. На деле, по большей части, это забитые бюрократией люди. Особенно с нашим, постсовковым менталитетом, который выражается во фразах: «ты что? самый умный? тебе больше всех надо?». Такая атмосфера не самая лучшая для профессионального и личностного роста. И контролируют там очень серьезно :) в банках обрубленный интернет почти полностью.

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

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

Поправте будь ласка.

в интернатах лежит очень много

Дякую, замінив на «интернетах».

Дякую, замінив на «Singleton».

Осталось всего-то найти место, куда возьмут джуника.

В многих компаниях есть программы стажировки и курсы для начинающих. Netpeak, Luxsoft, DataArt (это то, что я видел, может их уже нет, может я ошибся, но я уверен, что если поискать они там будут)

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

С моей киевской колокольни есть крайне мало (1-3) компаний, которые набирают Python джуников. Не спорю, что возможно повезет, если переключусь на другой язык (Java/JS/etc.), но..

Ситуация может казаться сложной, но поверьте, не так все печально :)

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

Python просто не на столько популярен, если посмотреть в сторону php все немного проще.

Пром.юа — всего лишь одна компания. :)

А эту не видел, поскольку была создана пару часов назад. :)
Спасибо.

Пробовал. Увидел, что в требованиях просят TDD — взял книгу по Пайтону+Джанго+ТДД, потом пошел делать задания. Сделал всё, натолкнулся с неадекватным поведением CI сервера (криво работающие миграции). Отписал. Вот уже месяц жду ответа. :)

Враховуючи, що у мене особисто нема 2 місяці читати пошту кандидатів, то все норм :)

PS міграції працюють прямо, це руки криві.

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

P.S. Запамятовал суть проблемы, но, вроде здесь та же проблема была.

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

Сабж в том, что у ребят выделенный CI сервер с закрытыми (?) исходниками, а-ля TravisCI. При всём желании не смогу изучить код. :)

тогда в коллежде, Вам, вероятно рассказывали про понятие «черная коробка»

адаптируйте свои знания и навыки в реальную жизнь. Опустив руки и сказав «нет доков. всё» вы только показываете себе и потенциальному работодателю, что вы не достаточно напористы

Про черную коробку знаю. Но с другой стороны, я помню правило 80/20, и потому, пару часов попытавшись добросовесно починить CI, решил не тратить свое время (в конце концов, это лишь тестовое задание), а пойти писать диплом.

P.S. В колледже, к крайнему моему сожалению, единственное, что мне рассказали — это булева алгебра и БД. Всё остальное пришлось учить самому.

І що, розповідати публічно про всі граблі, які акуратно розкладені? :)

Як думаєш, що важливо на реальному проекті? Щоб ти, отримавши проблему, сів і чекав, склавши руки? Чи все-таки діагностував, наскільки можливо, і поправив? Саме для випадку black box.

Між іншим, кандидат, який записав це відео — зараз працює у нас. І регулярно компостує мені мізки, чого і тобі бажаю :)

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

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

ох, если бы ко всему вокруг была документация...

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

Танівжисть! Проходиш тест, береш код-він-же-дока, і фіксиш баги :)

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

Розробники по дефолту (вважають що) мають дозвіл компостувати мізки :-D

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

P.S. И да это моё видео, и я тот человек который компостирует Андрею мозги :)

Так не цікаво. Краще написати ще одну статтю та «поразлагольствовать» що робити і що не робити джунам.

Підписатись на коментарі