Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней.
Книга известная, ранее издавалась под названием «Страсть к программированию» и на хабре выкладывали главы из нее.
В целом идеи Фаулера иногда очень банальны и очевидны (даже думаешь, зачем об этом вообще было писать, это и так всем понятно); иногда спорны; а иногда любопытны.
Книга разделена, как и полагается, на главы, они названы советами и пронумерованы.
Всего 5 частей и 53 совета.
Главный посыл и идея книги раскрываются с первых же слов:
Книга посвящается тому, как реализовать себя и сделать карьеру. В этой книге описывается стратегия, позволяющая спланировать и реализовать совершенную с точки зрения успеха карьеру разработчика программного обеспечения
Автор в прошлом профессиональный музыкант. И в самом начале высказывает любопытную идею. Он задается вопросом:
Почему так много хороших музыкантов являются также хорошими программистами?
И сам же отвечает на него:
Дело в том, что используются одни и те же функции мозга, обе профессии ориентированы на нюансы, обе требуют креативности.
Итак. Часть 1. Найди свой рынок
В предисловии к главе еще раз подчеркивается, что профессия и карьера — это инвестиции времени своей жизни. Поэтому карьеру ни в коем случае нельзя пускать на самотек.
Совет 1. Будь впереди или погибнешь
Технологии меняются. Старое отмирает не сразу, оставляя за собой угасающий шлейф во времени. Важно не остаться «Последним из могикан» с умершей технологией на руках. Нужно держать руку на пульсе и отслеживать тенденции.
В конце главы предлагается упражнение. Разделить лист на две части. В правой выписать угасающие технологии, а слева набирающие силу, недавно заявившие о себе. Когда все будет готово, отметить то, с чем знаком наиболее полно. Затем то, в чем есть опыт, но недостаточный.
Дальше Фаулер предлагает оценить получившийся результат: чего больше? прослеживается ли тенденция?
Совет 2. Предложение и спрос
Тут уже все понятно из названия главы, при этом нужно сделать поправку, что речь идет в первую очередь об американском рынке. Говорится о необходимом уровне для вхождения в профессию.
Рассматривается аутсорс и уровень владения навыками. Предлагается такая стратегия:
Смысл выбрать для приложения своих усилий область рынка труда, спрос на которую невысок. Это может прозвучать абсурдно, но если тебя беспокоит заполнение рабочих мест иностранной рабочей силой, достаточно избегать областей, на которых специализируются офшорные компании. Они выполняют работы, пользующиеся высоким спросом.
В конце главы предлагается исследовать рынок труда.
Совет 3. Умения писать код мало
Фаулер советует: чтобы стать незаменимым специалистом, нужно иметь хорошее представление об особенностях бизнеса, с которым связана деятельность. Чтобы разобраться в этом предлагается почитать отраслевой журнал. Понять суть проблем бизнеса, с которыми ему приходится бороться, как он хочет их решить.
Совет 4. Будь худшим
Глава начинается с цитаты Пэта Метени: "В какой бы группе ты ни был, всегда будь в ней худшим".
По сути дела это все что можно вынести из этой главы: играя с лучшими — сам тянешься к их уровню. Если, конечно, они тебе не наваляют за косорукость.
Совет 5. Инвестируй в интеллект
Фаулер советует изменять тип мышления изучая языки, наподобие, SmallTalk. Это добавляет вариативности в подходах.
Совет 6. Не слушай родителей
Рассматриваются старые походы к карьере:
- «Вечная» работа в одной компании.
- Работа только ради работы.
В конце главы предлагается вспомнить принятые карьерные решения. После чего оценить их. Насколько этим конкретным решением управлял страх? Какое решение было бы, если бы страха не было?
Совет 7. Будь универсалом
Если ты хочешь оказаться последним человеком в списке на увольнение, имеет смысл стать полезным в как можно большем числе случаев.
Автор предлагает как минимум пять «степеней свободы» и не ограничивать себя конкретной технологией или ролью. А также не ограничиваться и максимально расширять свои знания в направлениях:
- Конкретная должность. Умение не ограничиваться четко своим сектором, а, если это потребуется, поддерживать соседние и помочь им своими знаниями.
- Платформа/ОС.
- Базы данных.
- Системное администрирование.
- Бизнес. Об этом уже говорилось в главе 3.
Совет 8. Будь специалистом
Суть главы — максимально изучить все, что можно по своему направлению. Фаулер рассказывает историю. Он нанимал людей, и они не могли ответить на вопрос:
Как бы вы написали на Java программу, которая уронит виртуальную
машину Java?» А в ответ — тишина… «Эй, как вас там? Ау!
Совет 9. Не клади все свои яйца в чужую корзину
Тут нет смысла что-то писать. В названии главы и отрывке вся суть:
Ставить во главу угла производителей не имеет смысла еще и потому, что детали реализации программного обеспечения, как правило, держатся в секрете. Ты можешь изучать патентованное программное обеспечение ровно до границы, за которой начинается сервисное обслуживание. Это искусственный барьер, призванный не дать пользователям самостоятельно разобраться с возникающими проблемами.
Поэтому, хотя целенаправленные инвестиции в конкретную технологию являются плохой идеей, если по каким-то причинам ты вынужден так поступать, постарайся выбрать вариант с открытым исходным кодом. Даже если ты не можешь или не хочешь использовать подобное решение на рабочем месте, пусть оно станет платформой для глубокого погружения в технологию.
В конце рекомендуется:
Начни небольшой проект создав две реализации. Сначала используй внутреннюю технологию фирмы, в которой ты работаешь, а затем конкурирующую технологию, постаравшись по возможности воспроизвести ее особенности
Совет 10. Полюби или уходи
Вся суть главы в одном предложении: если ты хочешь достичь высот в своей работе, ты должен быть влюблен в нее.
На этом глава 10, а заодно и часть 1 закончились.
Часть 2 + конспект-таблица
Часть 3 + конспект-таблица
Комментарии (52)
Cassiopeya
20.12.2019 06:50Спасибо за Вашу работу!
Хотела прочитать ее, но останавливало всегда именно то, что в подобных книгах смысла на десяток страниц и на 300+ водыAGregory Автор
20.12.2019 10:33+1Пожалуйста. В ближайшие дни, как будет время, вылажу конспект остальной части. В книге очень много воды, поэтому конспект передает мысли автора в сжатом виде и саму книгу можно уже не читать.
iago
20.12.2019 17:26присоединюсь к благодарности автору, молодец что осилил, но даже в конспекте куча воды и капитанства, примерно как на annual мотивационных митингах в нашей enterprise компании
MinimumLaw
20.12.2019 07:16Ой как не хочется в очередной раз влезать в фанатские дискуссии… Но просто не могу.
Ознакомился я с конспектом. Простите, но нет. Не куплю. И читать не буду. Потому как почти каждый довод в конспекте крайне спорный. Впрочем, если хотите чтоб как у автора — не получилось с музыкой, не получилось с программированием, не получилось с Web, и вроде как-то нашел себя в организаторской деятельности но сунулся писать книги и учить других — на здоровье. Следуйте его советам.
К слову, у меня у одного сайт chadfowler.com в хроме 79.0.3945.79 и Firefox 71 (macOs) не работает (только пункт articles из верхнего меню нормально отрабатывает)? Так и задумано или что?
Читайте классику. То же «Искусство программирования». Оно реально полезнее.jaiprakash
20.12.2019 09:14FF на андроиде: на многих пунктах меню вместо открытия страницы загружает файл index.textfile
jaiprakash
20.12.2019 09:19Который при открытии в текстовом редакторе оказывается html. Так что сохраните, переименуйте. Или напишите автору.
vmm86
20.12.2019 09:58+1Видимо, есть Фаулер более-менее здорового человека, и есть Фаулер курильщика.-)
AGregory Автор
20.12.2019 10:37+1Так в этом же и смысл. Смысл конспекта — познакомить со спорными мыслями автора, а не воспринять их как истину. Разные подходы рождают дискуссию и это хорошо.
ua30
20.12.2019 14:08Спорные мысли это неплохо (может быть). Но… Вам не кажется, что советы 1, 2, 7, 8, 9 просто конфликтуют друг с другом? Одно дело, когда автор ведет свою спорную линию. А другое, когда одни его мысли противоречат другим его же мыслям.
VMichael
20.12.2019 09:09+1Совет 6. Не слушай родителей
Рассматриваются старые походы к карьере:
«Вечная» работа в одной компании.
Работа только ради работы.
Что, родители могут только такие советы давать? Родители разные бывают. Инфантилизм и идиотизм какой то просто.
Я бы советовал прислушиваться к советам родителям, у них есть жизненный опыт, которого нет у детей (речь совсем не о технологиях). Вообще полезно, когда ты слышишь о разных сторонах вопроса информацию. Но также нужно помнить, что ответственность за принятое решение за тем, кто его принимает, а не за тем, кто советует. Не нужно пытаться переложить ее на советчиков.iago
20.12.2019 17:28Бывает, мне теща все время где бы я ни работал говорит «сиди цихенька, работай, я вот до пенсии всю жизнь на одной работе проработала, а у тебя такая работа хорошая!».
Но забывает что по пути к этой «хорошей работе» я за 13 лет сменил 6 компаний. А если бы остался в первой, то получал бы, как мне говорили когда уговаривали к ним на распределение, «не меньше чем на интеграле» (завод такой в Минске)
Sonnenwendekind
20.12.2019 10:38-2>Совет 4. Будь худшим
Совет не ясен: пришёл на работу пьяным, начальнику это не понравилось.AGregory Автор
20.12.2019 10:41Смысл в другом. Фаулер считает, что нужно работать в том месте, в котором есть огромный потенциал для профессионального роста. Возьмем его пример с оркестром. Музыкант стремится попасть в коллектив, в котором он играет хуже всех остальных. За счет этого всеми силами он старается «подтянуться» до уровня остальных музыкантов.
VMichael
20.12.2019 10:44Это просто любовь говорить простые вещи «оригинальными фразами», типа умными и не банальными, до такой степени, что порой смысл приходится выковыривать путем каких то умозаключений. На мой взгляд это глупость, искусственное усложнение.
На самом деле автор хотел сказать — старайся попасть в команду, в которой другие будут более компетентны чем ты, тогда тебе будет у кого учится.DrunkBear
20.12.2019 12:03Только автор умалчивает — а ты-то зачем этой команде нужен? /irony
Если ты не знаешь и не умеешь того, что будет полезно другим, ты просто балласт.AGregory Автор
20.12.2019 12:18Вы абсолютно правы. И это стрессовая ситуация для человека. Т.к. он сам видит свою некомпетентность, т.е. это его внутреннее состояние, но коллектив это тоже видит и это внешнее давление. В такой ситуации только два хороших решения: 1. уйти; 2. потратить все силы, чтобы как можно быстрее (насколько возможно, конечно) перестать быть худшим и поднять свой уровень.
DrunkBear
20.12.2019 14:57Я немного не о том: если человек приходит в команду — он уже должен уметь что-то полезное для этой команды — тестить рутинные операции, делать мёрджи веток или вовремя приносить хороший кофе — не суть важно.
Поэтому не стоит недооценивать свои сильные стороны.
zomby
20.12.2019 20:46В любой команде есть кто-то худший. После нескольких итераций увольнения худшего ваша команда будет состоять из одного человека :)
webmascon
22.12.2019 05:15команда не может состоять из одного человека. точно так же как симфонический оркестр — из одного музыканта. следовательно после ряда увольений у вас в орекстре остнется только тщательно отобранные сыгранные музыканты, которые могут доверять друг другу а не прятать свои фальшивые ноты за общим шумом оркестра
lazexe
20.12.2019 13:21Вот только совсем недавно прочитал эту книгу — воды налито более чем. Советы более чем очевидные для типичного здравого разработчика программного обеспечения. Не тратьте на нее даже время. А этой статьи — более чем достаточно.
ixolit
20.12.2019 13:43+1Последние пару лет читаю книги американских авторов по разным тематикам и там всегда так — книжка на 300 страниц, полезных мыслей 2 страницы максимум, остальное вода.
iago
20.12.2019 17:30то же самое — канал дискавери, некогда любимый. Теперь даже засыпать под него скучно, на 1.5 часовое видео 1.5 минуты смысла. Не знаю точно почему так — то ли деградация зрителя, то ли платят за метр пленки
arheops
20.12.2019 14:52Ага, будь универсалом и одновременно будь специалистом.
А еще желательно богатым и здоровым.lxsmkv
20.12.2019 16:02+1Никакого противоречия. Тут имеется ввиду то, что сейчас в аджайле называют T-Shaped People. У тебя сильно развита одна область, но ты понимаешь и смежные области, относящиеся к жизненному циклу ПО.
missman
20.12.2019 17:01Объясните джуну)
Как бы вы написали на Java программу, которая уронит виртуальную
машину Java?Ritikular
20.12.2019 20:00System.exit(0); выполнит остановку JVM
Vlad_02
22.12.2019 08:47Некорректный перевод или постановка задачи. Не уронит а остановит систему, уронит это, извините выход по ошибке во время исполнения, у вас же прекращение выполнения программы(даже если это выход из цикла)
Ritikular
22.12.2019 14:22+1Согласен с Вами. В оригинале вопрос звучал как: «How would you crash a JVM», так что мой ответ не совсем корректен. Хотя exit() и выполнит остановку с вызовом shutdown hook и finalize полагаю что автор хотел бы услышать другой ответ. Как альтернативу я бы еще мог предложить «Runtime.getRuntime().halt()» которая как раз уронит запущенную JVM. Учитывая что автор посетовал на то, что не услышал даже неверного ответа это скорее можно расценивать как поле для дальнейшей дискуссии, вряд ли кому-то на самом деле приходилось писать такой код. Опять же, какой вопрос — такой и ответ. Некорректность можно расценивать в свою пользу.
OZR
20.12.2019 17:30-1Для меня эта книга оказалась самой интересной и полезной в этом году. И ещё точно будет перепрочитана в будущем, для лучшего осознания. Важное уточнение:
Книга не имеет абсолютно никакого отношения к программированию и программной инженерии. Т.е совсем. Никак. В ней нет никакой информации про то как или что-то работает. На мой взгляд она даже никакого отношения к IT не имеет.
То что в ней описано настолько банально и понятно. Что всё это должно было быть усвоено адекватным человеком ещё со школьной скамьи, или привито в семье. Книга скорее о процессе воспитания и дисциплины.
Она не техническая. Всё написанное — именно гуманитарные навыки и привычки. Книгу проглотил за сутки. Очень понравилась.iago
20.12.2019 17:31у меня для вас плохие новости. Вы — гуманитарий!
OZR
20.12.2019 19:36+1Скорее часть нашего _технарского_ общества выпускает наглухо оторванных от реальности технофашистов, с наукой, вместо религии и лозунгами аля «Всю власть — инженерам!». «Программисты — 31337!»…
А хочется быть элитой, настоящей. А не навязанно-выдуманной. А для этого необходимо понимать всё вот это humanities. Как минимум для того, чтобы не быть в глазах обществаIT-специалистомпаршивым интеллигентным инженеришкой, место которогов НИИ, в шарашке. А социальный статус почти у всех IT-шников и тыжпрограммистов не выше токаря.
А потом на хабре появляются посты про социальное бессилие, прокрастинацию, несправедливость, как IT-шников не уважают, как они неорганизованны, как у них нет профсоюзов и куда же когда-нибудь от подобной жизни свалить, и прочее бла-бла.MinimumLaw
21.12.2019 10:09+1А хочется быть элитой, настоящей. А не навязанно-выдуманной. А для этого необходимо понимать всё вот это humanities.
Ммм… Однако…
Ну давайте поразмышляем. Скажите, а Вы вправду читаете что вот просто обязательно должны быть «элитой настоящей» или это так, к слову пришлось? Вы всерьез верите в то, что общество будет воспринимать эту самую «настоящую элиту» как нечто находящееся сильно выше его самого по развитию. практически как некую божественную сущность?
Может все не так. И никогда общество в добровольном порядке не признает себя «быдлом» в противовес «настоящей» и «не настоящей» элите. Общество может (и будет) ценить профессионалов. Мастера токаря (посмотрите количество работ на том же YouTube и комментариев под ними), продавца, к которому приятно прийти за покупками, директора, который грамотно обеспечивает работу своей организации не допуская авралов или простоев и заботящегося о своих сотрудниках, да того же IT'шника, который в сотый раз может рассказать с улыбкой и прибауткой какую кнопку нажать надо и программиста, который упрощает жизнь админу и пользователям.
Но признание общества закончится как только любая его часть начинает «звездить» и считать себя той самой «настоящей элитой» а остальных «быдлом». Настоятельно рекомендую эту простую истину понять. Много нервов сбережет.
А уж как с этим соотносится конспект книги… Давайте оставим это на совести каждого конкретного человека. Не хочу сильно углубляться. Хотя бы по тому, что мое мнение может не совпадать с мнением окружающих. Больше того, на Хабре не просто может, а практически гарантированно будет не совпадать.lxsmkv
21.12.2019 23:33Мне показалось, OZR говорил об "элитизме" который иногда проявляют некоторые представители этой профессиональной области. Т.е. говоря просто, это профессионально обусловленная заносчивость. Этот элитизм проявляется, например, посредством такой беззлобной дискриминации вроде «Вы — гуманитарий» (см. комментарий выше).
Ни в каком другом ремесле я не встречал столько людей охотно дискриминирующих всех остальных. Хотя может это когнитивное искажение и таких везде хватает. Наверное просто я вращаюсь в этих кругах, в связи с чем субьективное ощущение частотности у меня сдвинуто.
Есть у меня еще одна теория на этот счет. Что эта профессиональная область до определенной степени заполнена самозванцами (людми обладающими поверхностными знаниями, дилетантами), которые себя так ведут, чтобы сойти «за своего». Но это только теория.MinimumLaw
22.12.2019 11:04Хотя может это когнитивное искажение и таких везде хватает.
Думаю, это так. Рискну предположить, что самой природой запланирован определенный процент людей с таким складом характера. Если копнуть чуть глубже, то «синдром вахтера» скорее всего имеет те же самые причины. Доктора, водители, актеры, да практические представители любой профессии имеют привычку считать себя центром вселенной. На сколько «беззлобной» будет такая заносчивость — вопрос открытый. Разные окружающие люби по разному будут оценивать эту самую «злобность». В любом случае, думаю, нельзя принижать ничью роль.
Другое дело, что со своим уставом в чужой монастырь не ходят. С гуманитариями очень интересно говорить о технике или электроннике. К сожалению, в последнее время я выпал из «старой команды», где были и врачи, и художники, и осветители в театре. Было крайне интересно слушать «гуманитариев», увлеченно обсуждающих свои темы, но и они с интересом слушали «технарей». Конфликтов типа «ты в этом ничего не понимаешь» на моей памяти не было. Они всегда гасились заходами в стиле «ну давай поговорим о...» или «знаешь, а так не получится по причине...». И очень часто выяснялось, что может и получиться…
Но это только теория.
Вот и я о том же. Видимо природе нужны кричащие самозванцы, что бы остальные тянулись до их мнимого уровня и превосходили его. Впрочем, настоятельно не рекомендую развивать эту тему на хабре. Тут «своя атмосфера». И, в целом, это не плохо.
dbarabanshchikov
20.12.2019 19:39+1Читал её пару лет назад, детали уже подзабылб, а перечитывать желания нету. За статью спасибо, освяжил в памяти. Жду следующую часть.
Northerner19
21.12.2019 00:11+1Книгу уже начал читать ранее но остановился. Случайно увидел статью. Спасибо за конспект, буду ждать следующие части.
Londoner
21.12.2019 00:53Да, есть ощущение, что гонорар авторов книг зависит от количества страниц. А нет ли где-нибудь на просторах Интернета проекта, где добровольцы публикуют конспекты различных книг?
SlavikMIPT
четко
CrzyDocTI
ага, особенно:
enjoykaz
Комбо
SlavikMIPT
не вижу противоречий
webmascon
это называется Т-специализация: широкая специализация во многих областях, и узкая но очень грубокая — в какой-то особенной
SlavikMIPT
Ну или так: чем бы я ни занимался — я в этом становлюсь специалистом, в зависимости от обстоятельств фокус меняется, получить нужную компетенцию в чем угодно — вопрос времени. Если есть возможность работать в команде узкоспециализированных профессионалов — отлично, но если вдруг для общего дела потребуется зашарить какую то область новую чтобы решить проблему — быстро разберусь и решу.
«Быть специалистом» — на мой взгляд вопрос фундаментального образования, характера и природных данных.
«Быть универсалом» — вопрос адекватного восприятия реальности и эффективности использования ресурсов. Если наиболее эффективно будет сфокусироваться на одном чем то — не вижу проблем.
Важно актуализировать периодически свою картину мира — по сторонам поглядывать, мир меняется — то что раньше было наилучшим вектором приложения усилий может измениться.
Как говорится:
— Почаще задавайте себе вопрос «а не хню ли я делаю?»