Идеальный программист

    Доброго времени. В конце октября был хороший пост «Умей говорить «нет» и умей говорить «да»».
    Мы оперативно запросили электронные права на книгу, из которой автор поста брал идеи.

    image

    Идеальный программист. Как стать профессионалом разработки ПО
    Автор: Р. Мартин
    Прототип: The Clean Coder: A Code of Conduct for Professional Programmers

    Аннотация:


    Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела. В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.

    От автора:


    Почему вы выбрали эту книгу? Наверное, потому что вы — программист, и вас интересует понятие профессионализма. И правильно! Про-фессионализм — то, чего так отчаянно не хватает в нашей профессии. Я тоже программист. Я занимался программированием 42 года и за это время повидал многое. Меня увольняли. Меня превозносили до небес. Я побывал руководителем группы, начальником, рядовым работником и даже исполнительным директором. Я работал с выдающимися программистами, и я работал со слизняками. Я занимался разработкой как самых передовых встроенных программных/аппаратных систем, так и корпоративных систем начисления зарплаты. Я программировал на COBOL, FORTRAN, BAL, PDP-8, PDP-11, C, C++, Java, Ruby, Smalltalk и на многих других языках. Я работал с бездарными халявщиками, и я работал с высококвалифицированными профессионалами. Именно последней классификации посвящена эта книга.

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

    Книга на сайте издательства
    Оглавление
    Отрывок

    Для Хабры скидка по купону Professional Programmers — 40%

    Comments 64

      +3
      Возможно я и не прав, но в первом же предложении отрывка пропущено слово «назад»: «Методология разработки через тестирование, или TDD (Test Driven Development), появилась в нашей отрасли уже более 10 лет.» Как-то странно это, в общем.
        0
        Это жутчайший оффтопик, но правильно ли я понимаю, что книга сверстана при помощи koma-script?
          0
          в InDesign
          0
          На бумаге планируете выпускать?
            0
            если будет спрос — да
              –5
              На бумагу спрос есть! Реквестирую бумажную версию.
              Не люблю читать с игрушки…
                0
                Так вы же уже выпускали. Или распродан тираж?
                  0
                  бумажный вариант распродан давно
                  0
                  Спрос на бумажный вариант есть.
                  –9
                  Лучше скажите прочитав данную книгу и став профессионалом наконец в России уже начнем получать деньги в районе американских разработчиков в $2500-$5000, а то что-то читай не читай, а работы в области не так много или я ошибаюсь?
                    +12
                    я считаю вкладывать в самого себя всегда выгодно
                      –13
                      Можно заниматься чем угодно и где угодно и как угодно. но Все зависит от Вашей цели. Если Вам нравиться читать или учиться, то запрещать это никто не станет. А если ваша цель например бизнес и развитие бизнеса, то чтение этой книги пока неоправдано, так как скорее несет убыток в виде времени и неясную прибыль. Думаю это относиться ко всем книгам и делам в целом. Так что «я считаю вкладывать в самого себя всегда выгодно» на мой взгляд холостая работа в вымышленную цель.
                        +3
                        Вкладывайте в английский язык.
                          0
                          Это как продолжение вкладывания в пустые цели. Вы понимаете, что кто-то вдолбил многим в голову, что за «профессионализм» или за «обученность» кто-то будет платить? Конечно я не хочу показаться невеждой, который отрицает сам факт знания и образования в целом, но просто хочу обратить внимание, что учиться надо только вполне конкретным навыкам приносящим Вам конкретные выгоды. Знание математики позволяет считать деньги, понимание экономики помогает разобраться со своей бухгалтерией, а знание программирования позволяет вам решать КОНКРЕТНЫЕ ПРИКЛАДНЫЕ ПРОБЛЕМЫ, но почему-то речь идет о профессионализме в отрасли, которая в России в стагнации с 1969 года. Я очень хочу ошибаться и думать, что Yandex, Касперский и 1С это далеко не все чем мы можем гордиться.

                          Теперь по поводу Английского понимаете, что совет гораздо глубже, а именно звучит так «забейте Вы на Россию и смотрите в сторону Америки и европейских стран, так как тут ловить нечего». Я это понимаю, но таки хочется верить в счастливое будущее в России…

                          P.S. Минусующие раскрывайте свою позицию не будьте лемингами.
                            +3
                            По моему вы очень узко мыслите. Изучение таких дисциплин, как математика, не только поможет вам считать свои деньги, но и создаст фундамент для дальнейшего развития (того же бухгалтерского учета).

                            По вашей логике, если я не «считаю денег», то мне математика не нужна? Многие называют это врожденными способностями к какой то области, на пример — к техническим наукам. Я думаю это чушь! Любой человек рождается без каких либо способностей, все приобретается в процессе взросления и чем крепче ваш теоретический и практический фундамент в какой то области, тем вы к этой области более способны. Многие считают себя гуманитариями и отказываются изучать технические дисциплины списывая это на то, что они не родились с какими то особыми способностями к точным наукам. Очередная чушь! Просто эти люди не имеют крепкого фундамента в области точных наук, а ведь все эти науки тесно связаны, и не поняв основы, сложно становится в будущем изучать их (эффект снежного кома). Другими словами, если «гуманитарии» в прошлом не упустили бы что либо в области точных наук, они не были бы гуманитариями, а с легкостью познавали бы любую точную науку. Говорю это потому, что сам считал себя до 1 курса ВУЗа таковым, пока не приобрел 5 школьных учебников по алгебре и не изучил их за 1 год. Отсюда я делаю вывод, что изучение чего либо важно не только с практической точки зрения (особенно в юном возрасте о какой практике может идти речь?), а для создания крепкого теоретического фундамента, дабы в будущем сложные науки, такие как IT давались нам проще.

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

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

                            Теперь можно минусовать?
                              0
                              > Вы правы, нет смысла «коллекционировать знания», все знания должны иметь практическую цель, но я считаю, что практика это нечто большее, чем считаете вы.

                              Давайте разбираться, что я считаю практикой, а то же заминусуете ;)

                              Давайте рассмотрим пример. Скажем Вы живете на острове и Вы обречены жить на нем дальше (аналогия Россия), так как покинуть остров у Вас нет сил/ресурсов/желания/мотива/возможности (одним словом пока не собираетесь). Ваше питание это бананы, птицы и кокосы (остров у нас будет теплый, так как я хочу в отпуск), но житель острова упорно изучает и читает книжки «Профессиональный бобслей». Знание конечно в условиях пальм не пригодиться и оно практический не оправдано. Именно это я и имел в виду. Конечно фундаментальные знания вроде умения писать, читать, считать, но не писать во сне на Прологе. Надо разделять профессиональные навыки и общие навыки практический полезные и именно ВУЗ и делает и показывает эту границу.

                              > Теперь можно минусовать?

                              Я не в праве ограничивать Вашу волю. Я так понимаю он будет основан на «я считаю, что практика это нечто большее, чем считаете вы»?
                                +3
                                  +1
                                  Как связана история об острове и бобслее и ваши слова?
                                  А если ваша цель например бизнес и развитие бизнеса, то чтение этой книги пока неоправдано, так как скорее несет убыток в виде времени и неясную прибыль

                                  Книга, целью которой является описание качеств профессионала в IT, и развитие (скажем IT) бизнеса, это аналог острова и бобслея? Если да, то я вас не понимаю, если нет, то это плохой пример.
                                    0
                                    Еще раз мысль время это ресурс. Ресурс можно конвертировать в деньги, а можно не конвертировать. Если вложить неверно ресурс время, то можно не получить деньги. С точки зрения получения максимальной прибыли я пока не понял как можно конвертировать ресурсы в дальнейшем (после прочтения данной книги) с большим успехом и вижу данную книгу просто вложением ресурса времени (или денег), то есть явный убыток. И хотел бы побольше услышать, чем же поможет данная книга в конвертации иначе утверждаю я это просто убыточная книга.
                                      +1
                                      Я же написал выше о том, чем полезна данная книга (в конце).
                                        0
                                        Прикупил книгу. Через пару месяцев предлагаю вернуться к обсуждению ;)
                                          0
                                          Думается из моего трекера эта тема выпадет уже к завтрашнему дню, потому прошу пожаловать в ЛС )
                                        0
                                        Эта книга со скидкой обойдется вам в каких-то 180 рублей, и прочитать эти 224 страницы займет не так уж много времени.
                                        Скорее комментарии, которые вы оставили, обсуждая эту книгу плюс время, потраченное на раздумья «покупать или не покупать» принесло вам убыток, а не книга))
                                  0
                                  … став профессионалом наконец в России уже начнем получать деньги в районе американских разработчиков в $2500-$5000...


                                  Английский язык сильно расширяет рынки, на которых нужны ваши услуги. Всё перестаёт упираться в какую-то отдельно взятую страну.
                                  +2
                                  В русский.
                              +1
                              А какая средняя зарплата программиста в Росии? У нас в Украине запросто можно иметь 2000-3000. У вас разве хуже? Разве у вас одеск плохо работает?
                                0
                                Это смотря по какому курсу считать. Если по старому, «стабильному» — то 2000-3000 (60к-90к рублей) легко, в Москве и Питере.
                                  0
                                  Т.е. сейчас эти 2000-3000 превратились в 1100-1700? Или в Москве и Питере практикуется привязка к доллару в айти компаниях? Просто интерес. Раньше уж больно часто заманивали в Москву гораздо более высокими зп, чем здесь, в Минске.
                                    0
                                    Везде по-разному, как я понимаю. Знакомый работает в немецкой кампании, ему зп начали повышать, как только курс пошёл вверх.
                                      0
                                      Если компания чисто российская, то обычно нет привязки. Стало поводом для смены работы, именно из-за того что 2500 за последние полгода превратились в ~$1700.
                                  +2
                                  Если сможете стать профессионалом, то будете получать. Гарантирую.
                                  Все мои коллеги и друзья получают в этом диапазоне (ближе к верхнему краю, некоторые даже выше).
                                    –5
                                    Попробую взять конкретные метрики.

                                    1. Что считается профессионалом это измеримое или качественное?
                                    2. Как понять, что уровень профессионализма достигнут?
                                    3. Кто может определить уровень профессионализма?
                                    4. Ваши коллеги программисты? Не может ли быть так, что их заработок несправедлив? Вроде завышенных цен на произведенные ими товары?

                                    Пока не могу поверить в вашу гарантию, так как она какая-то абстрактная. Скажите Вы конкретно ценники и требования, то стало бы гораздо более все предметно.
                                      +2
                                      1. Завершение уровня Junior. К этому моменту обычно есть не менее 3 лет опыта (возможны исключения) и возможность работать над любыми проектами в своей сфере. Успешное выполнение любых проектов в своей области по моему мнению может назваться профессионализмом.
                                      2. Способность успешно выполнять работу Middle Developer.
                                      3. Сеньор в этой сфере. Какой-нибудь ведущий разработчик из известной фирмы вполне подойдет, хоть это и перебор :)
                                      4. Программисты. Их заработок справедлив, потому что им готов столько платить. Особенности рыночной экономики. Если рынок в какой-то области в каком-то месте не платит, то либо программисты уходят в другую область, либо в другое место. Пример — текущая Россия. Если не поднимут зарплаты программистов относительно прежних в валютном эквиваленте, мы увидим отток мозга в соседние страны (для примера скажу, что среди моих знакомых программистов в Москве около 3/4 иногородние, приехавшие за длинным рублем, они и уедут).

                                      Гарантия основана на ответе на ваш четвертый вопрос.
                                        0
                                        По другим пунктам не скажу, а вот по п. 2 всё просто — как только вам начнут платить 2500-5000 долларов в месяц, считайте, что уровень профессионализма достигнут :)
                                          +2
                                          По моему мнению, уровень зп в России не всегда коррелирует с уровнем профессионализма.
                                            +2
                                            Собственно я и хотел обратить внимание общественности на этот факт, но как видно не все готовы к восприятию и диалогу. Знай только минусики нажимай ;) Вспомнил игру лемминги )))
                                      0
                                      Скажите, Вас больше волнует количество работы или количество денег? Без обид, просто мне всегда казалось, что для того чтобы зарабатывать как американские разработчики надо для начала работать как американские разработчики. А лучше стать круче американских разработчиков, так можно и самому стать американским разработчиком.
                                        +1
                                        Для того, чтобы зарабатывать, как американские разработчики, достаточно жить в США и изначально расчитывать на дутую зарплату. По-моему, американский разработчики ничуть не лучше русских разработчиков, английских разработчиков, чешских разработчиков и других разработчиков.
                                        +1
                                        Работы раз в 10 больше чем исполнителей. Зарплаты да, не очень высокие. Но к счастью вы всегда можете начать работать на «американскую» компанию и получать, необходимые вам 2500-5000, или опять же Odesk — там можно и больше.
                                          +2
                                          Если вас интересуют в первую очередь деньги, забудьте. Проще ту же сумму заработать иными способами.

                                          Когда я 14 лет назад устраивался джуниором (а в те времена зарплата в районе 300 долларов считалась очень немаленькой, и сравнивать с зарплатами в США никому в голову не приходило), я вообще не думал о деньгах, лишь бы взяли и я смог бы чему-то научиться.

                                          У всех знакомых профессиональных разработчиков примерно такая же история. Зарабатывают уже все в рамках озвученной вами вилки, но это никогда не было основной целью.
                                          0
                                          Не удержался, купил :) Спасибо за скидку!
                                            +1
                                            После регистрации на сайте издательства и входа в личный кабинет при возвращении на главную страницу при отключенном кеше в Google Chrome и нажатии несколько раз F5 наблюдаю кнопку «Войти». Возникает такое чувство, что на сайте черезмерно хорошо работает кеширование. Исправьте пожалуйста. Спасибо.
                                              0
                                              Также не обновляются покупки и многое другое.
                                              +3
                                              «Невежливые ответы часто исходят из Зоны. Возможно, вас раздражает, что вас вытаскивают из Зоны или кто-то мешает вашим попыткам войти в Зону. Как бы то ни было, грубость часто объясняется вашей связью с Зоной.» вот эту цитату из книги по достоинству оценили бы братья Стругацкие.
                                                0
                                                Купил на сдачу от обеда. Теперь есть что почитать перед сном. Спасибо.
                                                  0
                                                  Я не понял, ее вообще можно купить частному лицу на сайте издательства?

                                                  Дошел до шага, на котором вместо привычных слов «Банковская карта», «Яндекс-деньги», «PayPal», «Мобильный платеж» вижу это:
                                                  image

                                                  Или я что-то не так делаю?
                                                    +2
                                                    Вы что то не так делаете. Купил через яндекс.деньги введя имя, телефон и электронную почту. Возможно вы выбрали покупку для ЮЛ.

                                                    Кстати, что касается телефона, мне пришло 3 (!!!) смс при покупке этой книги. Сначала меня уведомили о том, что я оформил заказ, затем меня поблагодарили за этот заказ, а после оплаты мне сообщили, что оплата успешна и еще раз поблагодарили. Зачем все это? Я знаю, что вы благодарны людям, которые отдают вам свои деньги. Я так же знаю, что я оформил заказ, ведь я сделал это за минуту до того, как пришла смс. Более того я знаю, что я оплатил вам за заказ, так как сразу книга пришла мне на почту. Зачем все эти подтверждения? Покажите этот комментарий тому человеку (думаю это ваше начальство или отдел сбыта), который придумал эту систему и пусть он запомнит — с вами работают не умственно отсталые, не надо сопровождать каждый шаг клиента подтверждениями, особенно с помощью смс.
                                                      0
                                                      Спасибо, виноват, пролетел один шаг, не заметил.
                                                        0
                                                        Про назойливые подтверждения на почту и смс +100500 к предыдущему спикеру.
                                                          +4
                                                          завтра с утра не будет
                                                            0
                                                            Надеюсь после прочтения моего комментария ваше начальство не затребовало работы в ночную смену для срочного исправления сложившейся ситуации?
                                                        0
                                                        А версия в mobi будет? Или в epub?
                                                        0
                                                        А вы не планируете переводить и издавать Becoming the better programmer? Могу поучаствовать в переводе.
                                                          0
                                                          А вы её уже прочитали в оригинале? Что скажете? Чем она отличается в лучшую сторону от всех прочих? Мы на неё тоже посматриваем в раздумьях )
                                                          На Амазоне её за 2 месяца как-то мало откомментили…
                                                            0
                                                            Я еe еще не всю прочитал, но читается легко, занятно. От других отличается тем, что они — старые. Но вообще мне трудно сравнить, я никогда не читал других, типа идеального кода, идеального программиста, только вот Джоэл о программировании. В сравнении с последним — это совсем разные форматы подачи информации и разный ее набор.

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

                                                            Будь эта книга в русском издании, с большим удовольствием купил бы такое чтиво на ночь.
                                                              +1
                                                              Я бы посоветовал вашему издательству оперативно переводить горячие новинки издательств Packt Publishing и O'Reilly, сделать редизайн, улучшить интернет-магазин и быть одним из самых крутых издательств в России. Я думаю, все только рады будут.

                                                              А то приходится за дорогущие доллары покупать электронные англоязычные издания книг без надежды их когда-нибудь прочитать на русском, когда они еще актуальны.
                                                            0
                                                            Хотел купить, ан нет, не принимается PayPal. Как купить книгу если нет ни счёта в российском банке, ни билайна. Есть PayPal и счёт в Монако.
                                                              0
                                                              Просто скачайте книжку и поддержите автора пожертвовав денег на его счет.
                                                              0
                                                              Книга повествует как достаточно идеально, что местами складывается что это только у тебя всё идет шиворот на выворот.
                                                                0
                                                                Мне думается вы потеряли парочку слов в своем предложении.
                                                                0
                                                                Хотим купить себе в корпоративную библиотеку.

                                                                Библиотекарь ответила:
                                                                К сожалению, не удается оплатить, т.к. платежная система не принимает платеж нашей корпоративной карточкой. Попробую возобновить попытку завтра.
                                                                  0
                                                                  Спасибо, замечательная книга. Посмотрев цены и курс доллара, решил всё-таки купить не оригинал, а перевод. Прочитал взахлёб за два дня.
                                                                  Косяки перевода кончено встречаются, но сильно впечатления не портят. Спасибо за работу!

                                                                  Процесс оплаты немного напряг:
                                                                  • выбрал оплату банковской картой;
                                                                  • какой-то въедливый payonline — помимо данных моей карты, просит ещё название банка, e-mail, адрес, город, телефон — зачем ему всё это? Почему во всех остальных местах достаточно данных карты и иногда + email?;
                                                                  • выбрать другой способ оплаты нельзя, пришлось сделать новый заказ и там уже оплатить через paypal;
                                                                    0
                                                                    Когда я готовил свою статью «Умей говорить „да“ и умей говорить „нет“», я использовал оригинальную версию книги. Электронного варианта на русском языке не нашел. Рад, что мой пост повлиял на ваше решение по выпуску электронной версии! Кстати, сама статья переехала на Мегамозг вместе с клоном моего аккаунта, когда редакция отпочковала этот ресурс.

                                                                    Only users with full accounts can post comments. Log in, please.