На прошлой неделе я только что посмотрел это потрясающее интервью Кевина Роуза из Phillip Rosedale из Second Life.
И у них была потрясающая дискуссия о том, как найти, нанять и идентифицировать хороших программистов, и как трудно найти хороших программистов.
Что заставило меня задуматься о том, как нас учат программисты. Для большинства из нас, включая меня, мы самоучки. Что здорово в том, чтобы быть программистом, любой может учиться и развивать навыки.
Но это также означает, что не существует реальных стандартов того, что такое хороший программист и какие среды способствуют росту навыков программирования.
Это не столько вопрос, сколько желание во мне увидеть, как мы можем изменить культуру программирования и программирование менеджера, чтобы поощрять образование и самосовершенствование.
Есть много возможностей для непрерывного образования, видео на YouTube, книги, конференции, но из-за практического характера того, что мы делаем, не всегда ясно, что важно изучать и осваивать.
Давайте посмотрим на The Joel 12 Steps.
Джоэл Тест
Вы используете контроль версий?
Вы можете сделать сборку за один шаг?
Вы делаете ежедневные сборки?
У вас есть база данных ошибок?
Вы исправляете ошибки перед написанием нового кода?
У вас есть актуальное расписание?
У вас есть спецификация?
У программистов тихие условия труда?
Используете ли вы лучшие инструменты, которые можно купить за деньги?
У вас есть тестеры?
Пишут ли новые кандидаты код во время интервью?
Вы проводите тестирование юзабилити?
Я думаю, что все это имеет важное значение, но из-за чего-то, что я называю Experiential Gap, если программист или менеджер никогда не испытывал каких-либо негативных последствий из-за отсутствия элементов в списке, они никогда не увидят необходимости делать какие-либо действия. их.
«Экспериментальный разрыв» - моя основная теория, согласно которой у каждого из нас разные рабочие места и разный опыт. Поэтому для некоторых из нас, которые всегда работали с десятками программистов, контроль над исходным кодом является обязательным условием. Но для людей, которые всегда были единственным программистом, они не могут себе представить необходимость контроля версий.
И именно из-за этого серьезного недостатка в том, как мы учимся, мы оцениваем людей по тому, какие лучшие практики они делают или не делают, и причина того или другого может начать пламенную войну.
Мы всегда оцениваем людей в нашей области по тому, что они делают, и думаем: «О, если этот парень / девчонка не делает лучшие практики xyz, он / она не может быть хорошим программистом, поэтому давайте не будем тратить время или энергию на разговоры с ними» «.
Именно поэтому у нас так много программных пламенных войн, что из-за пробела в опыте мы не можем представить себе людей, не принявших решения, которые мы должны были принять.
Таким образом, это привело меня к мысли, что нам совершенно необходимо переосмыслить то, как мы обучаем, обучаем и управляем программистами.
Например, какой процент ваших менеджеров поощряют вас посещать конференции и даже платят ли они за это?
Для меня и многих людей это крайне редко, многие из нас хотели бы пойти на конференции, узнать больше, но денег на это нет.
Таким образом, суть этого вопроса состоит в том, чтобы зажечь многое из того, как мы можем лучше тренироваться, учиться и управлять?
Как мы можем создать новую культуру обучения, которая не оскорбляет людей за то, что они не имеют одинакового опыта работы?
Да, у всех нас есть работа и работа, но наша способность хорошо выполнять свою работу зависит от нашего желания, заинтересованности и поддержки в совершенствовании наших навыков.
Прямо сейчас я вижу, что наша культура довольно дезорганизована, мы поддерживаем элиту, но те тонны нас, которые хотят стать лучше, просто не имеют достаточной поддержки, чтобы учиться и совершенствоваться.
Я имею в виду, хотим ли мы, как индустрия, восприниматься как просто сменные винтики?
Спасибо...