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

Мое мнение о книге

Книги Роберта Мартина всегда интересно читать. Эта книга не исключение. Она охватывает тематики тестирования, руководства, работы на проекте, профессионализма и многие другие. Я рекомендую прочитать ее каждому, кто связал себя с IT.

Качества профессионала

Профессионализм - это ответственное отношение к делу

Пишет качественный код

  • Стремится создавать меньше ошибок;

  • Не устраивает грязь в коде;

  • Не передает на тестирование код, в котором не уверен;

  • Становится героем, когда хорошо выполняет свою работу, без нарушения сроков и бюджета;

  • Сам решает свою ошибку, а не перекладывает ее на других.

Всегда помогает бизнесу достичь его целей

  • Использует личное время, чтобы работать продуктивнее;

  • «Удерживает бизнес на плаву», а не «укрывается в убежище» когда он рушится;

  • Проблемы работодателя - его проблемы;

  • Всегда спокоен и решителен;

  • Работает быстро, но без спешки.

Хорошо взаимодействует с коллегами

  • Уделяет внимание возможным ошибкам коллег и помогает их исправить;

  • Не издевается и не высмеивает коллег;

  • Принимает заслуженные насмешки и легко отмахивается от незаслуженных;

  • Оказавшись мишенью для насмешки, смеется первым;

  • Не боится обратиться за помощью или предложить ее;

  • Берет на себя ответственность за обучение новичков.

Не принимает обязательства, которые приняли за него

  • Говорит правду;

  • Имеет смелость сказать «нет» начальству.

Заражение профессионализмом

  • Профессионализм передается от человека к человеку. Старшие обучают ему младших. Коллеги обмениваются им между собой;

  • Профессионализм распространяется как интеллектуальный вирус. Вы «заражаетесь» профессионализмом, наблюдая за другими;

  • Нельзя убедить людей быть профессионалами или принять профессиональное отношение к делу;

  • Чтобы заразить профессионализмом, нужно демонстрировать его. Стать образцом для подражания.

Обещания

Пожалуй, одна из самых высоких репутаций в нашей отрасли - серьезный разработчик, который держит слово

  • Обещание состоит из 3 частей:

    • Вы говорите, что вы это сделаете;

    • Вы ответственно относитесь к своим словам;

    • Вы выполняете обещанное.

  • Пустые обещания начинаются с:

    • «Нужно / Должен»;

    • «Надеюсь / Хорошо бы»;

    • «Давайте».

  • Серьезное обещание звучит так: «Я сделаю X к времени Y»;

  • Обещай только то, что находится под твоим контролем;

  • Если не можешь выполнить обещание - как можно быстрее сообщи об этом.

Помощь

Принимай помощь

  • Не отказывайся от помощи из-за нехватки времени;

  • Выдели на разговор около 30 минут;

  • Прими помощь с благодарностью и отнесись к ней со всем вниманием;

  • Если особой пользы от помощи не видно, вежливо извинись и заверши беседу с благодарностью.

Предлагай помощь

  • Если кто-то испытывает затруднения, предложи помощь;

  • Свежая точка зрения может стать катализатором для решения проблем;

  • Запланируй на помощь не менее часа. Реального времени уйдет меньше, но торопиться не стоит;

  • Скорее всего, от такого сотрудничества ты получишь больше, чем отдашь.

Не отставай от отрасли

  • Изучай новые языки, дисциплины и методологии;

  • Читай книги, статьи, блоги, твиты;

  • Посещай конференции;

  • Участвуй в Open Source проектах;

  • Изучай то, что лежит за пределами твой привычной зоны;

  • Расширяй кругозор.

Уровни разработчиков

Роберт Мартин выделяет 3 уровня разработчиков в некотором «идеальном» мире программирования.

Мастер

  • Возглавлял более одного серьезного проекта;

  • Больше 10 лет работает с разными системами, языками и ОС;

  • Умеет руководить несколькими командами;

  • Является квалифицированным проектировщиком и архитектором;

  • Может запросто спрограммировать что угодно;

  • Несет ответственность за реализацию проекта с технической стороны.

Ремесленник

  • Рядовой программист - обученный, компетентный и энергичный;

  • Учится работать в группах и выполнять функции руководителя;

  • Обычно не хватает опыта работы с разными системами;

  • Обычно знает один язык, одну систему, одну платформу;

  • Средний стаж около 5 лет;

  • Есть наставник - мастер или более опытный ремесленник.

Ученик / интерн

  • Никакой самостоятельности, его очень плотно контролируют ремесленники;

  • Сначала просто помогает ремесленникам и не выполняет никаких задач;

  • Ученичество должно длиться не менее года.

Ваше мнение

Надеюсь, эта статья была вам полезна. Будет интересно услышать мнение о ней и о самой книге в комментариях. Instagram для связи.

Комментарии (17)


  1. sovaz1997
    11.10.2022 18:17
    +1

    Чтобы стать профессионалом, необходимо потратить несколько тысяч часов продуктивно на освоение професии. Продуктивно - это значит не только книжечки читать, а практиковаться с работой над ошибками (если кратко). Все, что вы описали, не будет работать без самого главного, а именно продуктивной траты времени на изучение.


    1. OsnovaDT Автор
      11.10.2022 18:21

      Я где-то сказал что описанного мной достаточно?


      1. MentalBlood
        11.10.2022 19:20

        Пособие в котором не упомянуто главное — так себе пособие


  1. oleg_shamshura
    11.10.2022 18:22
    +2

    "Профессионал -- человек, сделавший какое-н. занятие своей постоянной профессией."


    1. OsnovaDT Автор
      11.10.2022 18:26
      -1

      Ваша цитата?


      1. oleg_shamshura
        11.10.2022 18:31
        +1

        Толковый словарь Ушакова.


        1. OsnovaDT Автор
          11.10.2022 18:35

          Понял. Ну в данном случае имеется ввиду другое определение


  1. lair
    11.10.2022 18:52

    Использует личное время, чтобы работать продуктивнее;

    Это ваше утверждение или Мартина? Если второе, то можно, пожалуйста, точную цитату и атрибуцию?


    Проблемы работодателя — его проблемы;

    Вот у работодателя проблема — он не заплатил вовремя налоги, и теперь надо заплатить штраф. Почему это моя проблема, как профессионального программиста, и что ожидается, что я с этой проблемой должен сделать?


    1. OsnovaDT Автор
      11.10.2022 19:05

      Это ваше утверждение или Мартина? Если второе, то можно, пожалуйста, точную цитату и атрибуцию?

      Мартина:

      Профессиональные разработчики тратят личное время для того, чтобы время на работе проводилось как можно продуктивнее

      Вот у работодателя проблема — он не заплатил вовремя налоги, и теперь надо заплатить штраф. Почему это моя проблема, как профессионального программиста, и что ожидается, что я с этой проблемой должен сделать?

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


      1. lair
        11.10.2022 19:09

        Мартина:

        Можно, пожалуйста, точную атрибуцию — книга, год выхода, глава, страница.


        Например если завтра утром сдача проекта и неожданно отвалилась важная функциональность, но уже закончен рабочий день, профессионал постарается помочь и решить эту проблему

        Почему?


        1. oleg_shamshura
          11.10.2022 19:11

          "Имеет смелость сказать «нет» начальству." ?


          1. lair
            11.10.2022 19:12

            Именно.


          1. OsnovaDT Автор
            11.10.2022 19:23

            "постарается помочь" - не значит что его попросят и он не сможет отказать. Значит что он сам чувствует ответственность за эту ошибку и сам без всяких просьб постарается найти время чтобы ее исправить. В моем понимании это так


        1. OsnovaDT Автор
          11.10.2022 19:24

          Потому что он несет ответственность за этот код, за эту ошибку. Разве нет?


        1. OsnovaDT Автор
          11.10.2022 19:28

          "Идеальный программист"
          версии 2022 года (из которой этот текст взят) сейчас на руках нет, но в версии 2012 года это глава 4, пункт "Программирование в расстроенных чувствах". Ближе к концу


  1. hengenvaarallinen
    11.10.2022 19:08

    Принимает заслуженные насмешки и легко отмахивается от незаслуженных;

    На самом деле, не стоит от них отмахиваться. Да, вы знаете правду, но в глазах других людей, которые менее в теме, (например начальства) потихоньку может создаться о вас свое мнение, которое не всегда можно перебить объективными данными, и вот вы уже первый кандидат на увольнение. В принципе это работает и наоборот.


  1. lair
    11.10.2022 19:10
    +1

    Принимает заслуженные насмешки и легко отмахивается от незаслуженных;

    Насмешки никогда принимать не надо. Насмехаться над коллегой — это плохая рабочая этика.