3 типа мышления, которых стоит избегать senior разработчику
Чем дольше мы работаем, тем больше опыта мы получаем. В конце концов, мы можем даже стать специалистом в команде или организации, которого будут рассматривать как некого технических гуру в своей области. В этот момент у нас растет самооценка, что, в целом, положительно, но иногда мы можем попасть в ловушку ненужного эго. В таком случае в нашу голову закрадывается неправильное мышление, которое может привести к началу конца.
Я лично прошел через это и теперь сознательно напоминаю себе, что нельзя снова впадать в одно из этих мышлений. Давайте поговорим о трех из них.
Я программист-самоучка, и мне никто не нужен
Однажды я увидел твит от человека, который утверждал, что его отец (также программист) предлагал научить его программированию, но он его отверг. Автор твита теперь тоже разработчик, который, к тому же, называет себя программистом-самоучкой.
Программирование — это не тот навык, который можно полностью освоить, просто пройдя курсы или получив ученую степень. Чтобы повысить свои профессиональные качества, нужно много пота и времени, потраченного на усердную работу и обучение.
Это точно не та область, которую можно эффективно изучить и полностью освоить в одиночку. У нас может не быть личного наставника и мы, возможно, не проходили никаких курсов, но это не меняет того факта, что мы все еще учимся, читая откуда-то — будь то книга, учебник, блог, руководство или даже Stack Overflow. Все это было кем-то написано.
На самом деле, лучший способ изучить программирование — это работать с группой разработчиков — анализировать код, объединяться в пары, постоянно проводить обсуждение, а также обмениваться идеями и полученной информацией. Также помогает посещение конференций, хакатонов, и т. Д. Следовательно, многое из того, что мы узнали и где мы находимся сегодня, не является результатом нашей ‘медитации на горе’. Напротив, это накопленное усвоение знаний и опыта, которыми другие прямо или косвенно поделились с нами.
Мы всегда должны быть благодарны.
Я лучше, чем вся эта молодежь
Мне как то ответили на один из моих прошлых постов: «Молодые люди не могут сосредоточиться. Их продуктивность намного ниже, чем у нас, стариков. Качество их кода намного хуже». Мне было противно это заявление, адресованное молодым программистам, даже учитывая, что я уже не молод.
Мы учимся, растём, стареем. Правильно используя время, мы иногда получаем преимущество с точки зрения знаний и опыта в какой-либо области. Однако разработка программного обеспечения — это постоянно меняющаяся область. Чтобы быть на волне, нужно продолжать учиться. Со временем некоторые из ранее полученных знаний, которые мы так усердно приобретали и на которые потратили время, больше не актуальны. Если учесть, что действительно остается актуальным, то разрыв в знаниях между старшими и младшими программистами не такой уж и большой.
Иногда в некоторых областях молодые программисты могут превосходить нас, людей старшего возраста (я считаю себя пожилым человеком, проработавшим более двух десятилетий). В разработке программного обеспечения за последние 10 лет было собрано так много новых знаний, что невозможно извлечь их все.
Никогда не смотрите свысока на молодых. Уважайте друг друга и всегда бесстыдно спрашивайте и прислушивайтесь к их мнению. Будьте открытыми. Избегайте синдрома самозванца. Мы можем быть удивлены, узнав много нового у тех, кто моложе нас. Молодые — будущее. Однажды они сформируют мир. Обучайте их как можно большему и учитесь у них как можно большему. Мы не всегда правы.
Новые технологии — это просто переделанные старые технологии
«Чему еще можно научиться в программировании? Все новое — это просто старое с другим внешним видом — это или if-else
, или for
, но с более причудливыми именами и структурами ». Я думал об этом тогда, когда освоил C++ и объектно-ориентированное программирование.
Я презирал Java как язык, уступающий C++, и смотрел свысока на все скриптовые языки — VBScript, JavaScript, и давайте не будем забывать об HTML. Python, что это такое? Нет {}
и использовать ;
необязательно? Использование отступов обязательно? Слово «эволюционировать» для меня ничего не значило, и через десять лет Python стал наиболее часто используемым языком.
Я по-прежнему очень уважаю тех, кто обладает хорошими навыками в программировании на C, умеет работать с указателями, умеет правильно управлять памятью и пишет код, который компилируется в небольшой и эффективный исполняемый файл. Однако это уже не про массовую разработку программного обеспечения. Веб-программирование захватило мир еще в 90-х и начале 2000-х годов. С момента выпуска iPhone мобильная разработка стала важным игроком в сфере разработки программного обеспечения. А теперь искусственный интеллект может стать следующей волной, в реализации которой язык Python играет также важную роль.
Перенесемся в сегодняшний день: теперь я начинаю заниматься мобильной разработкой — быстро меняющейся областью. Я только что осознал, насколько был неправ, когда презирал новый, но, казалось бы, неполноценный продукт (то есть Java) по сравнению с тем, что я освоил (то есть C ++). Java повлияла на многие языки программирования, которые у нас есть сегодня, и ее JVM является основой многих новых языков (например, Scala и Kotlin).
Никогда не презирайте новые технологии с ходу. Верно, что большинство из них порождены существующей технологией и могут выглядеть также (а иногда даже хуже), но все эти минорные изменения могут способствовать следующему прорыву в индустрии.
Заключение
В начале своей карьеры я много работал, и меня быстро продвигали по службе. Мой босс в шутку дал мне небольшой совет: «Не дерзи». Этой фразой я подведу итог…