Skip to main content

Программисты и музыканты

  • Эта публикация - перевод статьи. Ее автор - Jacob O'Bryant. Оригинал доступен по ссылке ниже:

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

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

  • Выполнение
  • Репетиция
  • Практика
  • Немного теории

(Репетиция - это отработка определенной пьесы, предназначенной для последующего публичного выступления, индивидуально или в группе. Под практикой я подразумеваю отработка таких вещей, как весы, артикуляция, интонация и т. п.)

Великие программисты должны проводить время в четырех похожих областях:

  • Выполнение: выпуск
  • Репетиция: написание кода для работы (или школьных проектов)
  • Практика: работа над своими проектами
  • Теория: информатика

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

Это немного лучше после окончания учебы. Если вы получаете с девяти до пяти, по крайней мере, ваши вечера и выходные немного более защищены. Возможно, у вас даже есть просвещенный работодатель, который дает вам 20% времени («Хорошие новости, музыканты - теперь мы будем разрешать вам заниматься весами каждую пятницу!»).

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

Мой аргумент прост: у программистов был бы более высокий результат в долгосрочной перспективе, если бы они могли тратить больше времени на свои собственные проекты, обучаясь автономно. [1] Вот мой план, чтобы проверить эту гипотезу:

  1. Создайте этот образ жизни для себя как консультанта. Я предпочитаю работать над одной вещью за раз, поэтому лучше всего будет работать над контрактом в течение N недель, а затем тратить следующие M недель на работу над личным проектом.

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

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

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

Я надеюсь, что смогу преодолеть эту проблему следующим образом:

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

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

Есть и другие последствия, но это план. Пожелайте мне удачи.
 


[1] Я также думаю, что колледжи преподают неправильную теорию, но я написал об этом в другом месте.