Прочитав книгу «Идеальный программист», я составил выжимки, которые затрагивают определенные сферы или ситуации в разработке. В этой статье я поделюсь выжимкой о том, кто такой профессиональный программист.
Мое мнение о книге
Книги Роберта Мартина всегда интересно читать. Эта книга не исключение. Она охватывает тематики тестирования, руководства, работы на проекте, профессионализма и многие другие. Я рекомендую прочитать ее каждому, кто связал себя с IT.
Качества профессионала
Профессионализм - это ответственное отношение к делу
Пишет качественный код
Стремится создавать меньше ошибок;
Не устраивает грязь в коде;
Не передает на тестирование код, в котором не уверен;
Становится героем, когда хорошо выполняет свою работу, без нарушения сроков и бюджета;
Сам решает свою ошибку, а не перекладывает ее на других.
Всегда помогает бизнесу достичь его целей
Использует личное время, чтобы работать продуктивнее;
«Удерживает бизнес на плаву», а не «укрывается в убежище» когда он рушится;
Проблемы работодателя - его проблемы;
Всегда спокоен и решителен;
Работает быстро, но без спешки.
Хорошо взаимодействует с коллегами
Уделяет внимание возможным ошибкам коллег и помогает их исправить;
Не издевается и не высмеивает коллег;
Принимает заслуженные насмешки и легко отмахивается от незаслуженных;
Оказавшись мишенью для насмешки, смеется первым;
Не боится обратиться за помощью или предложить ее;
Берет на себя ответственность за обучение новичков.
Не принимает обязательства, которые приняли за него
Говорит правду;
Имеет смелость сказать «нет» начальству.
Заражение профессионализмом
Профессионализм передается от человека к человеку. Старшие обучают ему младших. Коллеги обмениваются им между собой;
Профессионализм распространяется как интеллектуальный вирус. Вы «заражаетесь» профессионализмом, наблюдая за другими;
Нельзя убедить людей быть профессионалами или принять профессиональное отношение к делу;
Чтобы заразить профессионализмом, нужно демонстрировать его. Стать образцом для подражания.
Обещания
Пожалуй, одна из самых высоких репутаций в нашей отрасли - серьезный разработчик, который держит слово
-
Обещание состоит из 3 частей:
Вы говорите, что вы это сделаете;
Вы ответственно относитесь к своим словам;
Вы выполняете обещанное.
-
Пустые обещания начинаются с:
«Нужно / Должен»;
«Надеюсь / Хорошо бы»;
«Давайте».
Серьезное обещание звучит так: «Я сделаю X к времени Y»;
Обещай только то, что находится под твоим контролем;
Если не можешь выполнить обещание - как можно быстрее сообщи об этом.
Помощь
Принимай помощь
Не отказывайся от помощи из-за нехватки времени;
Выдели на разговор около 30 минут;
Прими помощь с благодарностью и отнесись к ней со всем вниманием;
Если особой пользы от помощи не видно, вежливо извинись и заверши беседу с благодарностью.
Предлагай помощь
Если кто-то испытывает затруднения, предложи помощь;
Свежая точка зрения может стать катализатором для решения проблем;
Запланируй на помощь не менее часа. Реального времени уйдет меньше, но торопиться не стоит;
Скорее всего, от такого сотрудничества ты получишь больше, чем отдашь.
Не отставай от отрасли
Изучай новые языки, дисциплины и методологии;
Читай книги, статьи, блоги, твиты;
Посещай конференции;
Участвуй в Open Source проектах;
Изучай то, что лежит за пределами твой привычной зоны;
Расширяй кругозор.
Уровни разработчиков
Роберт Мартин выделяет 3 уровня разработчиков в некотором «идеальном» мире программирования.
Мастер
Возглавлял более одного серьезного проекта;
Больше 10 лет работает с разными системами, языками и ОС;
Умеет руководить несколькими командами;
Является квалифицированным проектировщиком и архитектором;
Может запросто спрограммировать что угодно;
Несет ответственность за реализацию проекта с технической стороны.
Ремесленник
Рядовой программист - обученный, компетентный и энергичный;
Учится работать в группах и выполнять функции руководителя;
Обычно не хватает опыта работы с разными системами;
Обычно знает один язык, одну систему, одну платформу;
Средний стаж около 5 лет;
Есть наставник - мастер или более опытный ремесленник.
Ученик / интерн
Никакой самостоятельности, его очень плотно контролируют ремесленники;
Сначала просто помогает ремесленникам и не выполняет никаких задач;
Ученичество должно длиться не менее года.
Ваше мнение
Надеюсь, эта статья была вам полезна. Будет интересно услышать мнение о ней и о самой книге в комментариях. Instagram для связи.
Комментарии (17)
oleg_shamshura
11.10.2022 18:22+2"Профессионал -- человек, сделавший какое-н. занятие своей постоянной профессией."
OsnovaDT Автор
11.10.2022 18:26-1Ваша цитата?
lair
11.10.2022 18:52Использует личное время, чтобы работать продуктивнее;
Это ваше утверждение или Мартина? Если второе, то можно, пожалуйста, точную цитату и атрибуцию?
Проблемы работодателя — его проблемы;
Вот у работодателя проблема — он не заплатил вовремя налоги, и теперь надо заплатить штраф. Почему это моя проблема, как профессионального программиста, и что ожидается, что я с этой проблемой должен сделать?
OsnovaDT Автор
11.10.2022 19:05Это ваше утверждение или Мартина? Если второе, то можно, пожалуйста, точную цитату и атрибуцию?
Мартина:
Профессиональные разработчики тратят личное время для того, чтобы время на работе проводилось как можно продуктивнее
Вот у работодателя проблема — он не заплатил вовремя налоги, и теперь надо заплатить штраф. Почему это моя проблема, как профессионального программиста, и что ожидается, что я с этой проблемой должен сделать?
Согласен, это не проблема программиста. Мне стоило описать этот момент подробнее. Имеются ввиду проблемы, связанные с кодом и в которых программист может помочь. Например если завтра утром сдача проекта и неожданно отвалилась важная функциональность, но уже закончен рабочий день, профессионал постарается помочь и решить эту проблему
lair
11.10.2022 19:09Мартина:
Можно, пожалуйста, точную атрибуцию — книга, год выхода, глава, страница.
Например если завтра утром сдача проекта и неожданно отвалилась важная функциональность, но уже закончен рабочий день, профессионал постарается помочь и решить эту проблему
Почему?
oleg_shamshura
11.10.2022 19:11"Имеет смелость сказать «нет» начальству." ?
OsnovaDT Автор
11.10.2022 19:23"постарается помочь" - не значит что его попросят и он не сможет отказать. Значит что он сам чувствует ответственность за эту ошибку и сам без всяких просьб постарается найти время чтобы ее исправить. В моем понимании это так
OsnovaDT Автор
11.10.2022 19:24Потому что он несет ответственность за этот код, за эту ошибку. Разве нет?
OsnovaDT Автор
11.10.2022 19:28"Идеальный программист"
версии 2022 года (из которой этот текст взят) сейчас на руках нет, но в версии 2012 года это глава 4, пункт "Программирование в расстроенных чувствах". Ближе к концу
hengenvaarallinen
11.10.2022 19:08Принимает заслуженные насмешки и легко отмахивается от незаслуженных;
На самом деле, не стоит от них отмахиваться. Да, вы знаете правду, но в глазах других людей, которые менее в теме, (например начальства) потихоньку может создаться о вас свое мнение, которое не всегда можно перебить объективными данными, и вот вы уже первый кандидат на увольнение. В принципе это работает и наоборот.
lair
11.10.2022 19:10+1Принимает заслуженные насмешки и легко отмахивается от незаслуженных;
Насмешки никогда принимать не надо. Насмехаться над коллегой — это плохая рабочая этика.
sovaz1997
Чтобы стать профессионалом, необходимо потратить несколько тысяч часов продуктивно на освоение професии. Продуктивно - это значит не только книжечки читать, а практиковаться с работой над ошибками (если кратко). Все, что вы описали, не будет работать без самого главного, а именно продуктивной траты времени на изучение.
OsnovaDT Автор
Я где-то сказал что описанного мной достаточно?
MentalBlood
Пособие в котором не упомянуто главное — так себе пособие