Минулого тижня я щойно переглядав це дивовижне інтерв'ю Кевіна Роуза з Філіп Роуздейл, компанії Second Life.
І вони мали дивовижну дискусію про те, як знайти, найняти та визначити хороших програмістів та як важко знайти хороших.
Що змусило мене по-справжньому замислитися над тим, як ми навчаємось програмісту. Для більшості з нас, включаючи мене, ми самоучки. Що здорово, як програміст, кожен може навчитися та розвивати навички.
Але це також означає, що немає реальних стандартів того, що таке хороший програміст, і яке середовище заохочує зростання навичок програмування.
Це не стільки питання, а просто бажання в мені зрозуміти, як ми можемо змінити культуру програмування та керівництво програмуванням, щоб заохочувати освіту та самовдосконалення.
Існує багато проспектів для постійної освіти, відеороликів на ютубі, книг, конференцій, але через експериментальний характер того, що ми робимо, не завжди зрозуміло, що важливо навчитися та оволодіти.
Давайте подивимось на кроки The Joel 12.
Тест Джоеля
Чи використовуєте ви керування джерелами?
Чи можете ви зробити збірку за один крок?
Ви робите щоденні побудови?
Чи є у вас база даних про помилки?
Чи виправляєте помилки, перш ніж писати новий код?
У вас є актуальний графік?
У вас є специфікація?
Чи мають програмісти спокійні умови праці?
Чи використовуєте ви найкращі інструменти, які можна купити за гроші?
У вас є тестери?
Чи пишуть нові кандидати під час співбесіди?
Ви робите тестування на корисність передпокою?
Я думаю, що все це має важливе значення, але через щось я називаю розрив досвіду, якщо програміст або менеджер ніколи не відчував жодних негативних наслідків за те, що не зробив елементів у списку, вони ніколи не побачать необхідності робити будь-які їх.
Розрив у досвіді - моя основна теорія, що кожен з нас має різні роботи та різний досвід. Тому для деяких із нас, які завжди працювали з десятками програмістів, контроль над джерелами є обов'язковим. Але для людей, які завжди були єдиним програмістом, вони не можуть уявити необхідності управління джерелами.
І саме через цей головний недолік у тому, як ми вчимося, ми оцінюємо людей за тим, які найкращі практики вони роблять чи не роблять, і причина того, що може або почати полум'яну війну.
Ми завжди оцінюємо людей у нашій галузі за тим, що вони роблять, і думаємо: "О, якщо цей хлопець / гал не робить найкращу практику xyz, він / вона не може бути хорошим програмістом, тому давайте не витрачати час і енергію, розмовляючи з ними . "
Саме тому у нас так багато вогнів програмування, що це стає через прогалину в досвіді, що ми не можемо уявити, щоб люди не прийняли тих рішень, які ми мали прийняти.
Тому це спонукало мене думати, що нам цілком потрібно переосмислити, як ми навчаємо, навчаємо та керуємо програмістами.
Наприклад, який відсоток вас спонукав ваш менеджер ходити на конференції і навіть змусити їх платити за це?
Для мене, і для багатьох людей, це надзвичайно рідко, багато з нас хотіли б ходити на конференції, щоб дізнатися більше, але грошей немає для цього.
Тож сенс цього питання насправді полягає в тому, щоб багато чого розкрити, як ми можемо тренуватися, вчитися та краще керувати?
Як ми можемо створити нову культуру навчання, яка не ображає людей за те, що вони не мають однакового досвіду роботи.
Так, у всіх нас є робота та робота, але наша здатність добре робити свою роботу залежить від нашого бажання, зацікавленості та підтримки в покращенні майстерності наших навичок.
Зараз я бачу, що наша культура є досить дезорганізованою, ми підтримуємо еліту, але ті тонни з нас, які хочуть оздоровитись, просто не мають достатньої підтримки, щоб навчатися та вдосконалюватись.
Я маю на увазі, чи ми як галузь хочемо сприйматись як просто замінні гвинтики?
Дякую...