LINUX.ORG.RU

как вырасти из junior

 , ,


1

5

Заканчивается 3 год и я все еще junior software developer. Собственно, в этом слове junior вся соль проблемы.

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

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

1. Начнем с банальщины: - Делай свои проекты! Ок. Делал. Делаю. Буду делать. Сколько мелких проектов запилено уже не сосчитать, к сожалению никого ими не удивишь, да и после определенного уровня все становится однообразным и бонуса к скиллу не дает никакого. Были попытки сделать более крупные проекты, все были сделаны до какого то уровня, а потом заброшены, ибо за рутиной потерян интерес. Лично мне для себя пилить что то крупное прям сильно напряжно. И снова, даже когда делаешь что то большое, то все равно это набор каких то знакомых тебе паттернов, просто их много.

2. Пробовал ли говорить с начальником, чтобы дали другую работу? - Пробовал, иногда давали разовые задачи, но каждый раз заканчивалось одинаково - «мы тебя взяли под определенную задачу, ты нам нужен тут». Так было и на 1, и на 2, и на 3 работе. Пробовал брать напором, и скулежом - только испортил отношения. На 2 работе так вообще до смешного дошло, добавили зп лишь бы больше не поднимал этот разговор.

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

4. Мысли по поводу книг: - В последние года 2 приналег на книги, читаю все подряд - алгоритмы, про язык, про технологии, т.е. вроде бы все близкое по смыслу. Но как показывает опыт на это тратится очень много времени, но выхлоп очень маленький, т.е. реально за целую книжку в 800-1000 страниц говоришь «мм вон оно как» в лучшем случае 2-3 раза, остальное не имеет смысла пока плотно не столкнешься, а когда начнешь делать то проще загуглить.

5. По поводу фриланса: - Если рассматривать в целом то, что предлагают биржи, то это ахтунг, 90% задач реально зашкварные, чуть более менее нормальная задача появляется, то сразу конкуренция высокая.

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

- Если пытаться на елку залезть и кое куда присесть, то у среднестатистического человека 9 часов на работу + сколько то на дорогу. Итого, в лучшем случае ~4 часа в день. Со сроками, которые ставят заказчики - 4 часа это ни о чем. Да, я знаю людей, которые умудряются делать на основной работе то, что продают потом вечером как фриланс. Я искренне восхищаюсь ими и считаю их талантами, у меня такое не прокатывает.

6. Коммитить на гитхабе. - Ок, выбираю язык + технологию, которые мне интересны, смотрю баги и то что открыто. Если открыто и нет пул реквестов, то моих знаний там тоже не достаточно. Ищу тупо то, что мог бы хотя бы потенциально починить. Смотрю - их уже кто то фиксил, а они так и висят в pull request, потому что владелец давно забил на проект. Допилить фичу в какой то имеющийся проект? Да тоже самое, те идеи что и приходят в голову требуют хороших скилов.

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

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

Конечно, все это без конкретики пустые строки. Поэтому попробую вспомнить, все свои проблемы.

1. Самая главная претензия, ты медленно пишешь код. Чаще всего бывает так, что подобный код пишу впервые. Я не представляю как можно писать код не разобравшись в проблеме досконально. Обычно, если не разобрался до конца, то потом будет багов столько, что проще будет все таки сесть разобраться и написать код заново. Лично видел людей, которые вообще не разбираясь в сути проблемы сходу пишут код и каким то чудом им удается избежать багов. Для меня это мистика, если есть потенциальные грабли, я их соберу все до единого. Анон, как мне набить этот скилл???!!!

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

3. Поиск информации. Речь не о том, чтобы открыть stack overflow, отнюдь! Если инфа не гуглится, то я буду сидеть месяцами и снова таки пытаться разобраться с проблемой пока не разберу ее на винтики и таки снова я вижу что большинству удается найти инфу там, где никогда не догадаешься искать. На вопрос, как?? как ты до этого дошел, человек пожимает плечами.

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

5. Многостаночник. лично от меня на работе это постоянно требуют, но я вижу что некоторым товарищам удается это обойти и они занимаются одним делом. И снова вопрос, стоит ли?

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

Итого, много сумбура. Я понимаю что главный ответ на мои вопросы - сиди программируй, это понятно. Вопрос как делать это эффективно, при таких исходных данных, с такими темпами я еще 10 лет буду джуном. Хочется мяса и жести, роста, интересных проектов, удовольствия от того что делаешь. ЗЫ анон, прошу больше конкретики.



Последнее исправление: xvier (всего исправлений: 1)

Ответ на: комментарий от Legioner

Частенько ещё дополняют - на аналогичной должности.

Ну, суть я понял.

CryNet ★★★★★
()

как вырасти из junior

Увольняйся. Устраивайся на middle. Работай пару лет. Увольняйся. Устраивайся на middle. Работай пару лет. Увольняйся. Устраивайся на senior.

Пробовал говорить с начальником

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

MetalBeaver
()
Ответ на: комментарий от CryNet

А кто те люди, по твоему, кто пишет вакансии типа «10+ лет опыта, владение C++, JavaScript, Delphi, Python, PHP, 1C, Windows, Linux, Solaris, HP-UX, высшее образование, возраст меньше 25 лет, з/п 20к»?

anonymous
()

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

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

Про то, как искать работу, на ЛОРе есть неплохая на мой взгляд статья.

aureliano15 ★★
()
Ответ на: комментарий от OxiD

Спасибо всем кто ответил, я понял что мой изначальный посыл был неправильный. Постараюсь скорректировать цели.

Реальный случай из жизни: Подхожу к тимлиду, говорю, мне интересно ХХХ (вроде как меня изначально брали чтобы делать XXX), есть ли подобные задачи (знаю что таких вагон). Он говорит, а знаешь ли ты XXX, говорю нет. Ковыряюсь неделю дома по ночам. Прихожу показываю свой hello world. После этого он дает задачу, я ее делаю. Потом следующую чуть сложнее нормально, потом еще сложнее делаю с трудом, т.к. мне не понятен один момент. Я не могу найти ответ на вопрос в гугле и в книжках и на форумах, вопрос специфичный. Поэтому решаю задачу с костылем. И казалось бы вот оно счастье. Через пару дней берут программиста под все эти задачи. Казалось бы в чем мораль? 1. В том, что те задачи, на которые я пытался соскочить интересные и найти программиста с улицы проще. 2. соответственно ты нам нужен на том месте где есть. 3. я задаю много вопросов, людей это раздражает, но я не понимаю как можно узнать то, о чем не пишут в гугле. Из этого случая, вроде, следует логичный вывод, так мол найди другую фирму, в которой это востребовано. На те задачи, которыми я хочу заниматься никто не хочет брать джуна. Анон поверь мне, собеседований пройдено достаточно. Берут и с руками, но чтобы заниматься тестированием, багфиксом и всякой непотребщиной, либо протирать штаны. О росте на месте речи быть не может. Кроме того, каждая из них хочет, чтобы кроме технологии XXX я еще знал YYY. Практика показала, что в принципе на рынке этих технологий всего 3, однако за 3 года они устарели в ноль. Пока я ковырялся с YYY, он стал никому не нужен. Модных технологий все также 3, но уже совершенно другие. Я не понимаю за что хвататься, мне нравится все.

Корректирую цели: 1. О смене рода деятельности не может быть и речи. Это мое. 2. Простая смена работы тоже не дает толку, меня постоянно сажают за тестирование и багфиксы, и задачи, которые никто больше не хочет делать. Вкусняшки есть, но они для мидлов+. 3. Остается вариант расти не на работе.

Собственно тут возвращаемся к тому, что я пытался изначально сформулировать, но не смог. 1. Книги дают мало профита, либо я что то делаю не так 2. Фриланс, то что мне по силам дает слишком мало профита, то что потенциально могло бы дать мне не доверяют и страшно самому облажаться (такой опыт уже есть). 3. На гитхабе есть интересные проекты, я не знаю как в них влиться. Снова, то что мне по силам - не востребовано, а все остальное не потянуть. 4. Те проекты, которые я могу сделать для себя, не приносят опыта, т.к. я не умею поставить задачу, так, чтобы узнать то чего я не знаю. 5. Хотелось бы влиться в какой нибудь большой опенсорсный проект, но снова не понимаю, где искать и как подходящий.

xvier
() автор топика

Капитал почитай, браток. Если не будешь требовать повышения то останешься младшим до пенсии. Ты свою рабочую силу продаёшь и ждешь что покупатель скажет: «А давая я буду покупать дороже чем на ценнике написано?»

perl5_guy ★★★★★
()
Ответ на: комментарий от xvier

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

На вакансиях тестеров, обычно требований раза в 2 больше, чем на вакансиях программистов, в этих-же конторах. А зарплаты наоборот, в 2 раза ниже. Кто вообще идёт на такие места, при такой альтернативе?
Или в этих двух вакансиях требование «Знание языка XXX» подразумевает не одно и тоже?
Тогда чем «Знание языка XXX» программиста, отличается от «Знание языка XXX» тестера?

anonymous
()
Ответ на: комментарий от anonymous

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

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

Deleted
()
Ответ на: комментарий от anonymous

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

Подозреваю, что «Знание языка ХХХ» для тестера отличается тем, что там достаточно будет иногда смотреть на код (или бэктрейсы, например) и (примерно) понимать, что там творится.

spijet ★★★
()
Ответ на: комментарий от xvier

А можно на реальных примерах, без XXX и прочих плейсхолдеров? Потому что не понятно всеравно ничего.

Если XXX это докер, то тебя понять можно. Но если XXX это численные методы, или машинное обучение, то как то странно тебя туда было бы подпускать без понимания.

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

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

Знаешь ли ты минимальную оценку сложности сортировки массива из целых чисел?

OxiD ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.