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 лет буду джуном. Хочется мяса и жести, роста, интересных проектов, удовольствия от того что делаешь. ЗЫ анон, прошу больше конкретики.


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

Всё остальное мог бы не писать. Меняй сферу деятельности.

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

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

xvier ()

Ты уже как минимум мидл, просто тебя держат как джуна вот и всё. Уровень не определяется названием должности. Можно и сеньёра в эникейщики взять.

anonymous ()

Пробовал ли говорить с начальником, чтобы дали другую работу?

Ты про задачу спрашивал или про то как вырасти из джуна?

Если первое, то ответ «нужно делать конкретно это» - нормальный. Выбора часто действительно и нет особо, есть критичные вещи которые надо делать и не воротить нос.

Но вот ответ на вопрос «что нужно сделать чтобы подняться на следующую ступень» у начальника должен быть. Это его ответственность как твоего начальника. И если этого ответа нет, то кроме как менять работу ничего не посоветуешь.

Ну может HR-а привлечь или верхнего начальника, но вероятность успеха тут минимальна.

alpha ★★★★★ ()

Просто нарекаешь сам себя мидлом и идешь на собеседование. Если ты действительно еще и книги читал эти три года то вообще проблем нет. 90% разработчиков что я видел живой книги в руках не держали.

urxvt ★★★★★ ()

Делай свои проекты! Ок. Делал. Делаю. Буду делать.

Дык, я так же. ПиснИ мне на мыло (в профиле видно) — обсудим чо как.

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

Так попал. Пиши, чо...

Я не представляю как можно писать код не разобравшись в проблеме досконально

+

сходу пишут код и каким то чудом им удается избежать багов

Случайность, вернее, они в курсе апи, но уже не помнят, потому на урове «чота тами было так, потому напишу эдак».

умудряются сходу понять, что не так

Подтверждаю. Важно в конкретной области.

Многостаночник. Стоит ли бодаться или изучать?

Да, если хочешь остаться в том месте. И лишь только в перспективе — получить скиллы.

deep-purple ★★★★★ ()
Ответ на: комментарий от urxvt

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

xvier ()

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

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

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

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

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

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

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

а на работе к вкусняшкам не подпускают
к следующему собеседованию сказать, вот я молодец, сделал то и то.

Ну так а ты говори что ты это делал и подпускали туда. Главное что ты знаешь как это должно работать и как это сделать. Не беда что ты его на практике не делал. Ты же не архитектором идешь.
Я абсолютно серьезно тебе говорю. У меня похожие проблемы были.

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

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

Врать нужно правильно и во благо. Так если я дома буду в исходниках Кафки копаться при этом в проде ее не видав подавляющее большинство работодателей это не оценит. Они предпочтут кандидата который с ней работал, и не важно что на самом деле она у него просто есть где-то там под капотом и он с ней знаком как я с планировщиком ядра. Это раз. Главное же тут то что это капитализм, и в 99% случаев работодатель тоже разводит кандидата баснями про то какой у них интересный проект и Ерланг во все поля. Приходишь — а там Ерланг только в соседнем отделе, да и то, от Ерланга там только то что ejabberd установлен.
Как я уже говорил, капитализм-с. Главное на этом рынке это реклама. А с рекламой у парниши как раз и проблемы.

urxvt ★★★★★ ()
Последнее исправление: urxvt (всего исправлений: 2)

Валить в международные компании, а не сидеть в russkom бизнесе, где старые hr и пердуны начальники басни поют. В хорошей компании будешь по конфам ездить раз-два в год, во всякие нью-йорки, если захочешь, и выступать желательно с темами типа «каффка для джуна с нуля за 10 минут», у нас в рф такое не оценят всё-равно, и то, что ты тянешься куда-то там...ну, тока если очень крупные маил.ру группа и Яндекс - сходи к ним, расскажи суть проблемы, но не рассчитывай на быструю «смерть» - т.е. трудоустройство, главное, тебе надо посмотреть компании - где какие отделы над какими задачами заняты, и, главное, найти очень интересные задачи и хвататься за них при трудоустройстве, что само по себе сложная задача, т.к. интересное могут разобрать более сильные программари, т.ч. надо уметь произвести впечатления, гитхаб в помощь, ищи живые и популярные проекты и коммить, пусть и мелочь, никто не будет особо смотреть че ты там коммитил, главное, участие :)

menangen ★★★★★ ()

Пошли осваивать микросервисную архитектуру, которая должна решать все твои проблемы.

1. Самая главная претензия, ты медленно пишешь код.

Похер.

2. Не понимаю ТЗ. Также одна из главных моих проблем

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

3. Поиск информации.

Задачи тупейшие типа гейт http<->rabbitmq, запускалка jar'ок и т.д.

4. Как читать код.

Читать код не нужно. Открыл, посмотрел, сказал «херня какая-то». Переписал. Повторил.

5. Многостаночник. стоит ли?

Как хочешь.

6. Смежные технологии.

Тоже по желанию.

crutch_master ★★★★★ ()

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

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

З Ы Если ты всё же долб@ёб (а ты д0лб0ёб, на мой взгляд, поэтому я и пишу дальше), и хочешь идти против природы, то вот два моих пути:

Если есть деньги:

  1. Поступаешь на нужное тебе направление в именитую кузницу кадров («Специалист» и пр.).
  2. Смотришь по сторонам, ходишь и знакомишься с людьми (!!!), ещё нужно читать литературу, которую посоветуют. Читать не так, как ты привык, а попался алгоритм - написал на эту тему программулину. Пишешь один раз, не переписывая (только если заставят). Можно написать один большой проект, где будешь использовать все эти фишки, но это сложно сходу, и требует ещё больше времени. На этом этапе не забываешь про отдых.
  3. Так проходит шесть месяцев. На выходе за тобой должен быть один проект, базовые знания языка, 1-2 книги (разобранных почти полностью) и парочка стандартов, выписок, алгоритмов, которые ты можешь набросать на бумажке по памяти.
  4. Смотришь, какая область работ тебе больше всего импонирует (финансы, наука, железяки или ещё чего), штудируешь эту область по верхушкам.
  5. Прошло ещё 2 месяца. За тобой область, в которой ты собираешься работать, 3-4 книги (разобранных почти полностью), базовые знания языков, дорабатываешь проект из предыдущего пункта, и т.д., по мелочи. Далее, ищешь работу по выбранной области и ходишь по собеседованиям, анализируя резюме конкурентов, из публичных источников.
  6. Тебя взяли на работу. Ты отработал 4 месяца. Берёшь резюме у конкурентов с опытом работы 5+ лет, и еб@шишь. Разумеется, нужно следить за «Обновлениями» в их резюме. Как только освоишь, то поздравляю, ты не джуниор. Ради строчки об этом идёшь и демпенгуешь по ЗП в других фирмах, либо в своей.

Если денег «нет»:

  1. Устраиваешь на гос службу программистом за «еду». Здесь будет капать опыт. Максимально ничего не делай и держись от всего подальше. Дают работу, а ты выдаёшь максимально возможный срок на неё, и пр.
  2. Денно и ночно разбираешь книги, алгоритмы и типы данных (их всего 2, которые стоит прочесть) и по твоему направлению (1-2 языка) + стандарты.
  3. Это должно занять не более года. После этого в течении 2х лет берёшь и еб@шишь большой проект, используя технологии, названия которых возьмёшь у конкурентов с опытом работы 5+ лет. Разумеется, нужно следить за «Обновлениями» в их резюме.
  4. Таким образом пройдёт 3-4 года работы. Должен быть готов проект, который будет оформлен должным образом (авто-тесты и пр. необходимая хрень, требования загугли в резюме). Всё, теперь время сваливать, и устраиваться на работу НЕ джуниром. При этом, разумеется, демпингуя по цене у первого встречного работодателя.

P.S. Немного сумбурно, не сплю третий день. Так пришли к успех два моих коллеги с «абсолютного дна», у первого было немного сбережений. Решай где ты находишься и вперёд. Однако, моё мнение - беги, оно того не стоит. ;)

anonymous ()

Немного баяна, чтобы расшевелить народ:

  • Вы ранее привлекались за хранение данных в глобальных переменных?
  • Какой результат выполнения команды git push me and then just touch me till I can get my satisfaction, satisfaction?
  • Найдите точку G бинарным поиском
  • Назовите свою любимую позу для стендап митинга
  • Вы когда-нибудь делали .Net за деньги?
  • Вы способны довести девушку до оргазма языком программирования?
  • Сформулируйте зависимость времени исправления критического бага от seniority присутствующего менеджера
  • В своём резюме вы указали знание php. вам не стыдно?
  • Почему люк скайуокер круглый?
  • Какой из циклов быстрее, for, while или правило буравчика?
  • Обоснуйте полноту Javascript по Тьюрингу с позиций фрейдистской школы программирования
  • Перед вами кисть, холст и мольберт. напишите компилятор
  • Расскажите что-нибудь про Pascal
  • Расскажите о плюсах и минусах автокомплита в сексе
  • Как часто вы говорите своему коду «ну пожалуйста..»?
  • Перестаньте краснеть и хихикать! повторяем вопрос: «вы когда-нибудь ранее использовали LaTeX?»
  • У кого был самый длинный код в вашей прошлой команде?
  • Вы моете руки перед правкой кода на продакшне?
  • Что вызывает у вас бóльшую улыбку: «I have read and agree to the terms and conditions» или подпись под соглашением о неразглашении?
  • В резюме указано, что ваша последняя должность — delivery manager... вы пиццу что ли разносили?
  • Вас раньше обвиняли в попытках программирования?
  • Ну признайтесь уже — джаваскрипт алертами дебажили?
  • Можете ли вы провести аналогию между работой на пятилетнем проекте и проктологией?
  • Что, по-вашему мнению, более эффективно: скопипастить код из примеров или убедить заказчика, что ему не нужна эта фича?
  • push —force, checkout — а какие еще способы разрешения конфликтов вы знаете?
  • Если честно, то нас немного смущает тот факт, что вы искали работу программиста через биржу труда...
  • Согласны ли вы что каждый девелопер должен посадить зрение, построить велосипед и вырастить репозиторий?
  • В своем резюме вы указали, что хотели бы поработать на интересном проекте... вы этот проект с собой принесли?
  • Правда ли, что смесь php, css, js, html и sql в одном файле имеет слабительный эффект?
  • Согласны ли вы, что у админа должна быть борода, даже если админ — женщина?
  • Скажите, вы когда-нибудь симулировали ООП?
  • Умеете ли вы «договариваться» с QA накануне релиза?
  • Каким вы видите свой код через пять лет?
  • Раскройте геополитические предпосылки kernel panic с точки зрения теории струн.
  • Xbox, PlayStation или Terminal — какую консоль предпочитаете?
  • Вас когда-нибудь запирали в серверной? За что?
  • Какие приемущества force push перед стандартной работой с репозиторием? сколько времени данная методика экономит лично вам?
  • 2048 или “Косынка” — в чём вы более успешны?
  • Скажите честно, вы врёте в LinkedIn?
  • По каким внешним признакам разработчика можно определить длину спринта?
  • Вы толерантны к копипастам?
  • «Семь раз update один раз commit» или «семь раз commit один раз revert» - какой методологии вы придерживаетесь?
  • Цикл, условие, переменная — а какие еще термины из С++ вы знаете, чтобы отказать парню?
  • Цой, Ленин, PHP — что между ними общего?
  • Как объяснить джуниору что пинговать сервера в его возрасте – это нормально?
  • Назовите самое экстремальное место в котором вы занимались багфиксингом
  • Напишите простейшую операционную систему. уложитесь в 140 символов
  • Как часто вы играете со шрифтами?
  • В резюме сказано, что вы проработали 10 лет в отделе тестирования Майкрософт. мы проверили - такого отдела не существует!
  • Как вы относитесь к легализации курения мануалов?
anonymous ()

ибо за рутиной потерян интерес.

Вот и ответ. В senior-ы проходят те, кто не теряет интерес за рутиной. Так как большая часть реальных проектов - это рутина.

то моих знаний там тоже не достаточно.

И это тоже. Умение прокачивать знания необходимо.

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

А скиньте хороший пример ТЗ для программиста, который работает над новым проектом. Хочу понять, что же это за звери такие, junior, middle, senior.

tyakos ★★★ ()

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

Deleted ()

Перейди на другое место работы уже не джуниором, вот и всё. Какие проблемы. Джуниор это без опыта. 3 года это уже практически синьор.

Legioner ★★★★★ ()

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

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

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

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

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

slapin ★★★★★ ()

1. Все всё хотят вчера. Нужно уметь осознано объяснять что и как делал и почему. Уметь ставить сроки и оценивать риски. Скорость приходит с опытом, но потом опять снижается.

2. Разбираться с плохо написанными ТЗ позволяет опыт работы с конкретными людьми и обсуждения с коллегами и заказчиками. И предыдущий опыт написания аналогичных функций.

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

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

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

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

slapin ★★★★★ ()

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

интересных проектов

Для этого не обязательно прекращать быть джуном.

удовольствия от того что делаешь

А это вообще слабо связано с работой. Не, бывает, как бы, когда работа в кайф.

Deleted ()

Исходя из проблем:

3,5,6 - фтопку. Ни на что не влияют.

1,2,4 - ты реально джун.

1 - чаще всего полного понимания не требуется, код всё равно придётся рефакторить, так что разведка боем нормальное решение. Главное добиться минимального понимания проблемы и вперед. Лучше когда есть рабочий код и мало знаний, чем много знаний но нет кода, велкам то РЛ.

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

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

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

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

ya-betmen ★★★★★ ()

Может разработка - это просто не твоё, если ты за 3 года не научился расти, разбираться в коде и искать интересные проекты на гитхабе?

slovazap ★★★★★ ()

Смотришь на свою зарплату. Обозначаешь её буквой Х. Дальше рассылаешь своё резюме везде, где сможешь, указывая в зарплатных ожиданиях Х+25%.

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

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

Miguel ★★★★★ ()

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

Я не представляю как можно писать код не разобравшись в проблеме досконально.

Есть такая штука, exploratory programming. Из неё растёт подход к разработке программ, известный как bottom-up программирование. Характерен для лисповой экосистемы, в частности, для Common Lisp. Рекомендую ознакомиться.

Поиск информации.

Хм, источников информации обычно довольно мало. Гугл, документация используемых технологий, всякие README, прилагающиеся к исходникам, и сами исходники. Они все требуют некоторого навыка для поиска нужной информации; обычно приходит с опытом. Могу порекомендовать попробовать запоминать вместе с информацией её источник и как она была найдена. Но не уверен, что это работает так.

Как читать код

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

Смежные технологии

Ken Williams was far from a dazzling programmer when he finished Control Data Institute, but he was certainly prepared to do anything required of him. And more. As much work as possible, to help him go as high as he could. Then take on another, more demanding job, whether or not he was qualified. Instead of cleanly breaking with the previous employer, Ken tried to keep on the payroll, in сonsultant mode.

He would claim to know computer languages and operating systems he knew nothing about, reading a book about the subject hours before a job interview and bullshitting his way into the position. “Well, we’re looking for a programmer in BAL,” they would tell him, referring to an esoteric computer language, and he would laugh almost derisively.

“BAL? I’ve been programming in BAL for three years!”

Then he would immediately rush out to get hold of some books, since he had never even heard of BAL. But by the time the job started he would have procured documentation, uniformly buried in dense, cheaply printed loose-leaf manuals, to fake expertise in the “BAL environment,” or at least buy time until he could get into the machine and divine the secrets of BAL.

No matter where he worked, in any number of nameless service companies in the yawning valley above Los Angeles, Ken Williams did not meet one person who deserved an iota of his respect. He would observe people who’d been programming computers for years and he would say to himself, “Give me a book and in two hours I’ll be doing what they’re doing.” And sure enough, stackloads of manuals and a few fourteen-hour days later, he would at least appear to be one hotshot programmer.

Steven Levy. Hackers: heroes of computer revolution. Рекомендую в качестве источника вдохновения.

Jini ★★ ()