Я тупой разработчик. И это моё главное преимущество в IT – Фил Ранжин

Я тупой разработчик. И это моё главное преимущество в IT – Фил Ранжин

Как стать хорошим разработчиком?

Введение в тему

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

Качества хорошего разработчика

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

Специализация и экспертиза

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

Подход к обучению и развитию

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

Управление восприятием

  • Умение управлять тем, как вас воспринимают другие — важный аспект карьеры программиста.
  • Большинство программистов не понимает код на уровне деталей; знание этих деталей может стать вашей "фишкой".

Оценка работы программиста

  • Как вы работаете и пишете код не всегда влияет на то, как вас оценивают коллеги.
  • Понимание бизнеса не является обязательным для программиста; важно уметь говорить об этом.

Заключение

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

Код и его значение в индустрии

Программирование как центр индустрии

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

Технический долг и качество кода

  • Программисты часто сталкиваются с требованиями бизнеса: быстро, дешево и качественно. Однако их понимание качества может отличаться от мнения бизнеса.
  • Хороший программист всегда говорит о техническом долге и необходимости времени для написания качественного кода.

Психологические аспекты разработки

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

Создание видимости профессионализма

  • Многие создают видимость экспертизы через разговоры о сложных темах без реального глубокого понимания.
  • Часто те, кто много говорит о программировании, могут оказаться менее опытными на практике.

Гибкость и адаптивность в карьере

  • Успешные программисты обладают гибкостью: они могут работать над разными проектами и адаптироваться к новым условиям.
  • Знание нескольких языков программирования помогает выделяться среди коллег и расширяет возможности для карьерного роста.

Ключевые навыки для собеседований

  • Существуют базовые знания (20%), которые помогут ответить на 80% вопросов на собеседованиях.
  • Собеседования часто требуют знаний стандартных алгоритмов и структур данных.

Что важно знать на собеседовании программиста?

Подход к техническим вопросам

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

Важность общения с интервьюером

  • Разговор с техническим директором или тимлидом может быть решающим моментом. Здесь важно показать свои интересы в индустрии.
  • Умение вести беседу и задавать вопросы помогает избежать неловких моментов, когда ты не знаешь ответа.

Тактики ведения разговора

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

Стратегия взаимодействия

  • Важно создать атмосферу доверия во время собеседования. Постарайся сделать так, чтобы интервьюер чувствовал себя комфортно.
  • Задавай вопросы о практике интервьюера и обсуждай общие проблемы в коде. Это поможет наладить контакт.

Как говорить о бизнесе?

  • Избегай акцента на бизнесе при разговоре с программистами; это может вызвать недовольство. Лучше сосредоточиться на коде и технологиях.
  • Если ты метишь в менеджеры, тогда стоит говорить о бизнесе; но для линейного разработчика это неуместно.

Признание проблем

  • Умей открыто говорить о своих проблемах и недостатках. Это показывает честность и готовность развиваться как специалиста.

Что делать, если задача кажется слишком сложной?

Важность обращения за помощью

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

Сложность задач

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

Как управлять ожиданиями

  • Программист может столкнуться с недовольством из-за постоянного нахождения сложных задач. Однако это может быть воспринято как знак компетентности.
  • Важно уметь управлять ожиданиями бизнеса относительно сроков выполнения задач и их сложности.

Видимость работы

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

Стратегия решения проблем

  • Перед началом решения задачи стоит "раздуть" проблему, чтобы все понимали её важность. Это поможет создать впечатление о серьезности вашей работы.
  • Загружайте коллег вопросами и деталями проблемы — это сделает вашу задачу более значимой в глазах команды.

Успехи в решении сложных задач

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

Эффективное взаимодействие с менеджерами

  • На стендапах важно проявлять инициативу и задавать вопросы, чтобы звучать продуктивно и эффективно.

Как эффективно работать в команде и продвигать свои идеи?

Уведомление о переработках

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

Запрос на ревью кода

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

Декомпозиция задач

  • Обсуждается метод декомпозиции крупных задач на более мелкие, что позволяет закрывать больше задач за тот же период времени и улучшает видимость работы в команде.

Важность публичных выступлений

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

Фундаментальные знания против новых технологий

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

Риски самопиара

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

Как стать хорошим инженером?

Принципы самосовершенствования

  • "Fake it, you make it" — делая вид, что ты инженер-мыслитель, ты становишься им. Это помогает изучать сложные вещи и прокачивать свои навыки.
  • Важно признавать свои ограничения: "Мне не хватило компетенций". Запрашивание помощи у коллег — это нормально и даже полезно для роста.
  • У всех есть пробелы в знаниях. Признание этого факта создает атмосферу поддержки среди программистов и способствует совместному решению задач.

Работа с трудными задачами

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

Значение обратной связи

  • Обратная связь и поддержка от коллег важны для профессионального роста. Необходимо активно взаимодействовать с командой через различные каналы (Twitter, Telegram).
Video description

Вечный синдром самозванца, паника перед дедлайнами и ощущение, что все вокруг — гении, а ты нет. Знакомо? В этом видео разбираем, почему быть «не самым умным» в IT — это не приговор, а часто скрытое преимущество. Поддержать канал, увидеть выпуски раньше релиза на ютубе и получить классные бонусы от Фила можно на бусти - https://boosty.to/fillranzhin Залетайте в тг, там все самое свежее: анонсы, планы, обсуждения выпусков и общение со мной: Канал – https://t.me/ranzhin Чат – https://t.me/ranzhin_discuss 00:00:00 Начало 00:00:29 Что делает разработчика хорошим? 00:02:30 Эксклюзивность в программировании 00:05:48 Роль программиста в индустрии 00:09:35 Советы для разработчиков 00:10:24 Преимущества обычных разработчиков 00:11:42 Типы собеседований 00:12:35 Знания для собеседований 00:13:41 Уловки на собеседовании 00:16:20 Фокус на бизнесе 00:17:18 Проблемы и решения 00:18:08 Взаимодействие с коллегами 00:19:03 Восприятие задач 00:20:45 Демонстрация компетентности 00:23:43 Взаимодействие с менеджерами 00:25:56 Медийная активность 00:27:33 Фундаментальные знания 00:29:15 Избегание неприятных ситуаций 00:29:55 Самопиар и реальность 00:30:50 Синдром самозванца и коллективное мышление