Чем больше мы узнали, тем больше осознали, что нам еще очень многое предстоит узнать.

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

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

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

Я программист-самоучка, и мне никто не нужен

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

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

Это не та область, которую можно эффективно изучить и полностью открыть в одиночку. У нас может не быть личного наставника и мы, возможно, не проходили никаких официальных курсов, но это не меняет того факта, что мы все еще учимся, читая откуда-то - будь то книга, учебник, блог, руководство или даже Stack Overflow. . Все это было кем-то написано.

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

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

Мы всегда должны быть благодарны.

Я лучше, чем молодые программисты

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

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

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

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

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

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

Новые технологии - это просто переработка старых технологий

«Чему еще можно научиться в программировании? Все новое - это просто старая вещь с другим внешним видом - или это просто _1 _-_ 2_ или for петли, покрытые внешне более причудливыми названиями и структурами ». Я подумал об этом тогда, когда освоил C ++ и объектно-ориентированное программирование.

Я презирал Java как язык, уступающий C ++, и смотрел свысока на все сценарии - VBScript, JavaScript, и давайте не будем забывать о HTML, который для меня даже не язык. Python, что это такое? Нет {} и необязательно ли использовать ;? Использование отступов обязательно ??

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

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

Однако это уже не то, как выглядит массовая разработка программного обеспечения. Веб-программирование захватило мир в 90-х и начале 2000-х годов. С момента выпуска iPhone мобильная разработка стала важным игроком в разработке программного обеспечения. И теперь искусственный интеллект может стать следующей волной, в реализации которой язык Python играет важную роль.

Перенесемся в сегодняшний день: теперь я начинаю заниматься мобильной разработкой - быстро меняющейся областью. Я только что осознал, насколько ошибался тогда, презирая новый, но, казалось бы, неполноценный продукт (то есть Java) по сравнению с тем, что я освоил (то есть C ++). Java повлияла на многие языки программирования, которые у нас есть сегодня, и ее JVM является основой многих новых языков (например, Scala и Kotlin).

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

Заключение

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