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

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

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

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

Недавно я наткнулся на документ Microsoft под названием Что отличает великих разработчиков программного обеспечения?. в вашей жизни действенным и устойчивым образом.

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

Основные моменты

  1. Пять качеств выдающихся разработчиков.Пять золотых качеств – это написание хорошего кода, корректировка поведения с расчетом на будущее, принятие обоснованных решений, неусложнение работы других и постоянное обучение. Обратите внимание, как они почти точно совпадают с тем, что я подчеркивал в своем содержании. Исключительные результаты подводных лодок не случайны.
  2. Как развивать эти качества—Подробнее. Это повлияет на все эти черты. В этой статье мы расскажем, на чем конкретно вы хотите сосредоточиться для каждой отдельной черты. Но все это связано с тем, чтобы больше читать. Исследуйте свои интересы. Откройте для себя новые идеи и реализации (как технические, так и нетехнические). По крайней мере, подпишитесь на эту рассылку. Ознакомьтесь с рекомендованными источниками, которыми я делюсь. Мне не платят ни за одну из них. Я делюсь/рекомендую их, потому что они имеют большую ценность.
  3. Грехи, которые совершают плохие инженеры. Из упомянутых выше качеств были две отрицательные оценки: трудолюбие (готовность работать по 8 и более часов в день) и торговля. услуги (око за око). Обычно они связаны с положительными чертами, но то, как все устроено, приводит к отрицательным результатам. Мы расскажем, что вам следует делать вместо этого.

Давайте приступим к делу. Это будет один из лучших уик-эндов в вашей карьере.

5 золотых качеств

Взгляните на следующую цитату, взятую прямо из газеты:

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

Как исследователи определяют каждую из этих черт? Давайте посмотрим на значение каждой из этих черт, как это определено в исследовании.

  1. Писать хороший код — обращает внимание на детали кода и умственно способен справляться со сложностями. Здесь нет ничего слишком шокирующего. Без знания того, как писать хороший код, ничего не получится.
  2. Корректировка поведения с учетом будущей ценности и затрат. Хорошие разработчики могут создавать решения, которые максимизируют текущую ценность их работы таким образом, чтобы учитывать будущее. Помните, как я всегда говорю о том, что разработчикам нужно понимать экономику, чтобы быть потрясающими? В этой статье также упоминается понимание таких экономических концепций, как риск и доходность.
  3. Практика принятия обоснованных решений — "Великие инженеры отличались от других тем, что применяли правильные процессы для принятия обоснованных решений". Эта цитата из статьи действительно объясняет все, что вам нужно знать. . Вспомните мою статью о Математике масштаба. Из-за масштаба, в котором работает технология, хорошие решения могут принести миллионы. Плохие решения теряют миллионы. Одно правильное решение может быть намного лучше, чем 10 среднестатистических. Для примера IRL прочитайте статью ниже.


  1. Не усложняйте работу других. Помните, что все, что вы создаете, является частью более крупной системы. Никто не платит вам только за то, чтобы вы писали код. Вам платят за то, что вы вносите свой вклад в систему, которая будет приносить деньги. Если я создам потрясающую модель ИИ с точностью 99 %, которая отключит всю систему из-за обработки всех данных и необходимых ресурсов, тогда Я только что создал плохую модель. Как заявляют авторы: «Великие инженеры отличились тем, что облегчили работу других, помогая им принимать решения более эффективно (или, как минимум, не ухудшили их)».
  2. Непрерывное обучение. Важно не то, где вы находитесь, а то, где вы хотите и можете быть. Учитесь последовательно, и вы станете легендой. Поскольку вы подписались на эту рассылку по собственной инициативе и, скорее всего, читаете ее на выходных, я бы сказал, что у вас, по крайней мере, правильное отношение.

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

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

Воспитание этих качеств

Читать далее. Видео YouTube на информативные темы также учитываются.

Это действительно так. Я мог бы рассказать 20 историй, но вот к чему все сводится.

Прохладный? Мы на одной волне? Давайте рассмотрим следующую часть — что вам следует прочитать?

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

Вы уверены, что у вас нет догадок?

Я дам тебе печенье, если ты ответишь правильно.

Наша Святая Троица такова:

  1. Материалы по экономике разных отраслей.В разных отраслях есть свой уникальный набор проблем, возможностей и ограничений. Чтение о том, как люди решают и решают эти проблемы, поможет вам получить более широкое представление. Также полезно понять, почему определенные решения не увенчались успехом.
  2. Инженерные блоги.Организации по всему миру публикуют исключительный контент о том, как они проектировали свои системы/решали проблемы. Они рассказывают о проблемах, с которыми столкнулись, решениях, которые они использовали, и некоторые интересные идеи. Убедитесь, что вы прочитали их. Ваша любимая крупная компания публикует очень качественные тексты. Прочтите его, чтобы лучше понять их. И узнать, как люди делают ходы в этом мире.
  3. Исследования/теоретические материалы. Потратьте некоторое время на изучение различных идей в области математики, компьютерных наук и разработки программного обеспечения. Знакомство с различными идеями и концепциями поможет вам понять некоторые нюансы различных решений и научиться эффективно находить компромиссы.

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

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

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

Два смертных греха для разработчиков

Мы уже рассмотрели 2 ужасных греха. Давайте поговорим о том, почему они плохие и что вы можете сделать вместо них.

Тяжелая работа

Это может стать шоком для большинства из вас. Hustle Culture действительно любит Sigmas, которые любят гриндить. И важно включиться в работу. Если вы пытаетесь пробежать марафон, вы должны набрать мили. Нет пути вокруг этого. Так почему же это считается плохим?

Однако, если разработчик постоянно работает по 8 часов в день, он, вероятно, делает что-то не так. Как я уже говорил много раз, дело не в том, чтобы делать больше, а в том, чтобы делать правильные вещи. Вот почему я подчеркиваю необходимость иногда делать шаг назад и анализировать вещи в целом. Как мы уже говорили ранее, 1 высокоэффективное решение › 10 среднеэффективных решений.

… рабочая нагрузка разработчика — это функция управления и планирования, происходящая над этим разработчиком. Обычно требуется много рабочего времени, потому что планирование было некачественным, решения, принятые в течение жизненного цикла проекта, были неверными, управление изменениями было недостаточно «гибким»

-Из бумаги

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

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

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

Переходим ко второму греху.

Торговые услуги

Представьте, что вы помогли кому-то что-то исправить. Тогда вы призвали их помочь вам? Что с этим не так?

Ничего. Абсолютно ничего.

Проблема возникает, когда люди начинают формировать кластеры. Вы и ваша команда идете к каждому за помощью. И помогать в основном друг другу. Не из-за драмы или чего-то особенного. Люди — племенные существа, так что это вполне естественно. Мы, естественно, будем тяготеть к людям, с которыми мы знакомы. Так почему же это плохо?

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

Любая организация, разрабатывающая систему (в широком смысле), создаст проект, структура которого является копией коммуникационной структуры организации.

— Мелвин Э. Конвей

Существует простой Tweak для решения этой проблемы. Вместо того, чтобы помогать/обращаться только к избранным, обратитесь к большему количеству людей. Активно ищите все больше и больше людей, которые могут вам помочь. Размещайте свои задачи на досках объявлений/коммуникационных каналах компании и работайте с большим разнообразием. Это позволит вам избежать этой проблемы, а также позволит вам познакомиться с большим количеством людей. Беспроигрышный.

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

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

Если вам понравилась эта статья, вам понравится мой ежедневный электронный бюллетень Простые технологии. Он охватывает темы по разработке алгоритмов, математике, искусственному интеллекту, науке о данных, недавним событиям в области технологий, разработке программного обеспечения и многим другим, чтобы сделать вас лучшим разработчиком. Сейчас действует скидка 20 % на ЦЕЛЫЙ ГОД, так что не забудьте проверить. Использование этой скидки снизит цены-

800 индийских рупий (10 долларов США) → 533 индийских рупии (8 долларов США) в месяц

8000 индийских рупий (100 долларов США) → 6400 индийских рупий (80 долларов США) в год

Подробнее о новостной рассылке можно узнать здесь

Свяжитесь со мной

Воспользуйтесь ссылками ниже, чтобы ознакомиться с другим моим контентом, узнать больше о репетиторстве или просто поздороваться. Кроме того, ознакомьтесь с бесплатной реферальной ссылкой Robinhood. Мы оба получаем свободный сток (денег вкладывать не надо), и никакого риска для вас нет. Таким образом, если вы не используете его, вы просто потеряете бесплатные деньги.

Чтобы помочь мне понять вас, заполните этот опрос (анонимно)

Ознакомьтесь с другими моими статьями на Medium. : https://rb.gy/zn1aiu

Мой Ютуб: https://rb.gy/88iwdd

Свяжитесь со мной в LinkedIn. Подключаемся: https://rb.gy/m5ok2y

Мой Инстаграм: https://rb.gy/gmvuy9

Мой Твиттер: https://twitter.com/Machine01776819

Если вы хотите построить карьеру в сфере технологий: https://codinginterviewsmadesimple.substack.com/

Получите бесплатный сток на Robinhood: https://join.robinhood.com/fnud75