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

Небольшой дисклеймер. Все пункты, которые будут перечислены это мое субъективное мнение. Я всегда ловил себя на мысли как здорово у некоторых ребят получается прогрессировать и получать удовольствие от своей работы. Сам никогда так не относился к тому чем занимаюсь, для меня работа была скорее вроде повинности, которую приходится отбывать. Я мог послушать умных бизнес коучей "если что-то не нравится то сжигай мосты и находи себя в другом ремесле", но не стал следовать этому совету. Шаг за шагом начал выполнять те пункты, которые будут описаны ниже и о чудо, последний год я чувствую вкус к своей профессии.

Итак, приступим советы самому себе:

1. Дружище, соблюдай work-life баланс

Я уже предвижу как бы ответил самому себе. "Как только такое вырывается из твоих уст ? Чтобы развиваться надо фигачить 24/7". На самом деле это далеко не так, когда речь идет о долгоиграющих перспективах нужно действовать, как стратег, а не как тактик. На долгую большего достигают люди, которые умеют грамотно балансировать отдых и работу. Из памяти всплывает эпизод когда пришлось уйти в отпуск больше чем на месяц просто из-за того, что перегорел и уже банально не мог без головных болей смотреть на дисплей компьютера.

Делаем вывод: Секрет достижений в балансе и четком плане действий.

2. Никогда не останавливайся в своем развитии

Причем этот пункт надо уметь совмещать с первым пунктом. Приятель, даже когда думаешь, что уже хорошо разобрался в теме все равно остаются не изученные области этой вселенной. Если ощущаешь, что уже все изучил, то нужно дать себе крепкого пинка и искать точки роста дальше. Мудрец говорил -  "Я знаю, что я ничего не знаю".  Причем эту фразу приписывают как Сократу так и Демокриту. Жизнь программиста это непрерывная погоня за новыми знаниями

Делаем вывод: Если хочешь оставаться конкурентным на рынке надо постоянно учиться.

3. Изучай алгоритмы - они основа всего

Я часто слышу, как говорят, что для того, чтобы работать рядовым разработчиком необязательно уметь вертеть бинарные деревья или эффективно сортировать списки. Соглашусь, такие таски у разрабов появляются крайне редко. Однако на мой взгляд, когда у разработчика есть хорошая алгоритмическая база это сильно повышает его уровень, естественно в совокупности со знаниями своей платформы. Объяснение не самое сложное, решение алгоритмических задачек заставляет мозг учиться и продумывать корнер кейсы, а это ключевые навыки в твоей профессии. Фреймворки меняются, технологии выходят на более продвинутый уровень, мы получаем более удобные языки, но одно остается неизменным master card алгоритмы. Приведу аналогию из футбола, ты будешь сколь угодно долго играть и даже хорошо, однако когда начинаешь чеканить мяч на количество, долго и упорно, дружище тобой будет получен качественный апгрейд и это станет заметно на поле. Надеюсь аналогия понятна. Даже если не по душе вся эта алгоритмическая ахинея я бы попытался дать ей шанс и посмотреть как это отразится на повседневной работе. Но естественно и о своей предметной области не стоит забывать.

Делаем вывод: Алгоритмы всегда будут оставаться алгоритмами, знания полученные в этой сфере никогда не устареют.

4. Не бойся ошибаться, а после делать правильные выводы

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

Делаем вывод: Каждая ошибка делает тебя сильнее, но только если проводить с собой правильную ретроспективу

5. Научись получать удовольствие от своей специальности

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

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

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

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

6. Не давай синдрому самозванца управлять тобой

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

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

7. Прокачивай софт скиллы

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

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

8. Иногда нужно делать то, что не нравится

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

Тяжело даются алгоритмы, невыносимо решать алгоритмические задачки ? - решай алгоритмические задачки, уделяй время.

Не нравится рисование, не умеешь рисовать вьюшки ? - рисуй вьюшки, уделяй этому время.

Не любишь выступать с докладами перед коллегами ? - выступай с докладами перед коллегами.
Думаю алгоритм очевиден :)

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

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

9. Сделанное всегда лучше идеального

Я много раз видел и сам попадал в ситуацию когда в погоне за идеалом упускалась простая истина. Работающий софт пусть и не с самым красивым кодом всегда лучше нерабочего "чистейшего кода". Это можно отнести и к стремлению за пиксель перфект макетами. Пользователь зачастую не видит разницу в 1-2 пикселя, а вот не выпущенный вовремя релиз приносит большие убытки бизнесу. Конечно всегда стоит пробиваться к идеалу, но держи в памяти, что я описал выше. Плюс это влияет на пресловутую мотивацию. Когда ты что-то долго делаешь и никак не приходишь к результату нападает апатия. У меня такое случалось не один раз. Именно поэтому полезно дробить задачу на мелкие части, которые можно сделать в разумное количество времени.

Делаем вывод: Done is better than perfect :) И этим все сказано

10. Нельзя слепо верить постулатам

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


Почти как пиратский кодекс.


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

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

11. Как на дело настроишься так оно и пойдет

Дружище об этой фразе знают все, я сам буквально год назад сказал бы "Бла бла бла, опять эти психологические штучки, которые не работают". Однако я провел эксперимент (пусть сам того и не хотел) и он показал, что эта фраза действительно работает. Так произошло, что когда я приходил в андроид разработку мне под руки попалось приложение, которое влюбило меня в себя. Отмечу, что влюбился не в самого себя, а в это приложение ;)

В тот момент у меня промелькнула мысль "было бы здорово поработать в команде, которая делала эту прилу".

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

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

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

Делаем вывод: Постарайся настроить себя на то, что ты работаешь на лучшем проекте в мире и старайся делать все, чтобы это стало явью.
Помни - Keep Calm and Code.

Искренне надеюсь тебе будут полезны эти советы, твой друг из будущего.

Комментарии (22)


  1. dom3d
    11.09.2021 19:57
    +1

    Наверное, все советы хороши. Не вникал в детали.
    Дам свой совет.
    Дорогой джун! У тебя должен быть свой проект, если ты хочешь достичь успеха и не бояться, что останешься без работы после 60-ти.
    У тебя есть 40 лет в запасе. У меня было всего 30.


    1. dimuska139
      11.09.2021 20:12
      +3

      Если я правильно Вас понял, то "хороший программист" и "хороший бизнесмен" (да и просто обычный бизнесмен) - вещи довольно разные и не всегда совместимые. Я думаю, что крайне редко происходит такое, что обычный разработчик создаёт свой проект, который будет приносить прибыль не менее 30-40 лет и при этом его оттуда не выдавят. Мне кажется, либо ты разработчик, либо бизнесмен. На двух стульях сразу могут усидеть единицы. А вот делать свои проекты, чтобы не закисать в ограниченном стеке знаний и технологий - это вполне классно.


      1. dom3d
        11.09.2021 20:21
        +1

         свой проект, который будет приносить прибыль не менее 30-40 лет

        Ишь чего захотели!
        Сделал программку за месяц (ну, хорошо за год) и она вам будет прибыль приносить 30-40 лет.

        На своем проекте лучше качаются скилы.


        1. GospodinKolhoznik
          11.09.2021 22:34
          +1

          Месяц, год? Я свой проект уже делаю 3 года и конца и края не видно. Хотя я так и планировал делать его долгие годы.


          1. imater
            12.09.2021 12:26

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


      1. dom3d
        11.09.2021 20:23

        Забыл добавить из своего опыта.
        Вы пишете, - "хороший программист" и "хороший бизнесмен" - вещи довольно разные и не всегда совместимые.

        Я бы сказал, что вообще не совместимые.
        Нужна команда.


        1. alexEtse
          13.09.2021 13:22

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

          Вот потому команда и нужна.


      1. iskateli
        12.09.2021 01:50
        +4

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


    1. beDenz
      18.09.2021 16:19

      Легко сказать: делай свой проект)) у меня вот до сих пор нет идей для полноценного проекта, который можно хоть как то монетизировать.


      1. dom3d
        18.09.2021 16:40

        Да, Легко сказать: делай свой проект.

        Я вот 30 лет делаю свой проект (и не один) и до монетизации еще далеко.
        Имею в виду, что еще нет миллионов оборота.


  1. george_vernin
    12.09.2021 00:12
    +2

    Наверное, все советы хороши. 

    Но ни один из них не дал бы себе в прошлое..

    У всех видимо жизнь по разному складывается


  1. Aleksandr-JS-Developer
    12.09.2021 16:20
    +2

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


  1. Mes
    12.09.2021 17:10
    +1

    1. Учи английский


    1. ner0
      15.09.2021 08:57

      1. Учи матчасть


  1. harios
    13.09.2021 13:22

    Что то из этого актуально не только джуну. :)


  1. gophp
    13.09.2021 13:22

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


  1. elektroschwein
    13.09.2021 13:22

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

    p.s. с женитьбой, кстати, та же история. :)


  1. botyaslonim
    14.09.2021 10:38

    0 . Не берись делать кучу сайтов на Джумле за 10 тыс


    1. ner0
      15.09.2021 08:59

      А что плохого в куче сайтов за 10тыс? Можно сделать кучу денег * 10тыс = создать подушку средств к существованию и начать пилить свой проект.


      1. botyaslonim
        15.09.2021 09:56

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


  1. an9ar
    15.09.2021 13:12
    +1

    Отличная статья! Все пункты по делу, возьму своей команде джунов на заметку.