Программист-фанатик - [67]
Разработчик, оцени самого себя!
Проходя через подобную процедуру (самостоятельно или с чьей-либо помощью), ты узнаешь крайне важную информацию — в каких областях ты не разбираешься. Ты вовсе не обязан немедленно устранять все пробелы. Достаточно помнить об их существовании. Без четкого проговаривания этих аспектов ты будешь закрывать глаза на свои недостатки. А именно в этом случае можно легко попасть в неблагоприятную ситуацию, и это станет для тебя полнейшим сюрпризом. Если неприятность должна случиться, лучше заранее знать о ее приближении.
Впрочем, даже при наличии волшебной шкалы всесторонней самооценки от нее не было бы никакой выгоды, если бы ты ей не пользовался. Запланируй контрольные мероприятия. Ты не отразишься в зеркале, если не назначишь для этого конкретное время. Фраза «не забудь спросить, что о тебе думают» не обладает достаточным посылом. Используй программу-календарь с напоминалкой и назначай самому себе встречу для самооценки. Первым делом определи измерительную систему, а затем вставь ее в расписание. Если подобная процедура не интегрирована в твою рабочую жизнь, ты просто не будешь ее выполнять.
Если в фирме, где ты работаешь, подобные вещи уже практикуются, не отбрасывай их как странную причуду отдела кадров. Воспринимай их серьезно и извлекай выгоду. Они могут быть некорректно реализованы, но в их основе лежит правильная мотивация.
Наконец, выработав систему оценок и определив расписание, приступай к фиксации результатов. Держи записи со своими оценками под рукой. Часто просматривай их и анализируй. Связав процесс самооценки с физическим артефактом, ты сделаешь его более основательным. Факт того, что ты устарел, не должен стать для тебя таким же неожиданным, как обнаружение ставших слишком тесными штанов.
1. Воспользуйся методом 360-градусной оценки:
♦ Составь список заслуживающих доверие лиц, мнением которых ты можешь поинтересоваться, не испытывая дискомфорта. В список должны попасть представители разных групп: коллеги, заказчики, руководители (и подчиненные, если они у тебя есть).
♦ Перечисли десять характеристик, которые являются мерами твоего профессионализма (с твоей точки зрения).
♦ Преврати список в опросный лист. Попроси участников дать тебе оценку в терминах каждой из характеристик. Включи туда вопрос «О чем еще мне следовало спросить?»
♦ Раздай опросные листы людям, список которых ты составил на первом этапе. Попроси дать честные отзывы, тебе не нужна приукрашенная действительность.
Внимательно изучи результаты и составь список действий, которые ты собираешься предпринять. Если ты задал корректные вопросы правильным людям, то получишь итог, подразумевающий конкретные меры. Поделись результатами опроса с теми, кто принимал в нем участие, — не ответами, а изменениями, которые ты запланировал. Не забудь поблагодарить всех, кто тебе помогал.
Время от времени повторяй эту процедуру.
2. Начни делать записи. Это может быть как блог, о котором мы говорили в совете № 39, так и личный дневник. Записывай, над чем ты работаешь, что ты изучаешь, что думаешь об отрасли в целом.
Через некоторое время перечитай старые записи. Ты по-прежнему придерживаешься такого мнения? Или, может быть, теперь это выглядит наивно? Насколько ты изменился?
Совет 50
Ловушка для обезьян
Роберт Пирсиг в книге «Дзен и искусство ухода за мотоциклом» (Zen and the Art of Motorcycle Maintenance: An Inquiry into Values) рассказывает поучительную историю о том, как в Южной Индии ловят обезьян. Не знаю, правда ли это, но из этой истории можно извлечь полезный урок.
В Южной Индии, где обезьяны много лет докучали людям, был изобретен оригинальный способ их ловли. В земле вырывалась глубокая и достаточно узкая ямка, с небольшим расширением на дне и узким входом. И в эту дыру кидался рис.
Обезьяны любят поесть. Собственно, именно это качество превращает их во вредителей. Они запрыгивают в машины или бросаются в толпу людей, чтобы вырвать еду прямо из твоих рук. В Южной Индии каждый про это знает. (Поверь, когда ты спокойно стоишь в парке, а на тебя внезапно нападает макака, чтобы что-то у тебя отобрать, это крайне нервирует.)
По словам Пирсига, обезьяны подходили к таким дырам, обнаруживали там рис и тут же совали туда лапы, жадно набирая как можно больше риса и сжимая его в кулаках. В более широкой нижней части это легко можно было сделать, но узкое отверстие мешало вытащить сжатый кулак наружу. Обезьяна застревала.
Разумеется, ничто не мешало ей просто бросить рис и отправиться восвояси.
Но обезьяны ценят еду настолько, что не могут заставить себя ее выбросить. Они будут цепляться за этот рис, пока не вытащат его наружу или не умрут. Смерть, как правило, наступает раньше.
Пирсиг называет это ригидностью ценностей. Данное состояние наступает, когда ты настолько уверен в ценности какой-либо вещи, что не в состоянии подвергнуть ее сомнению. Обезьяны настолько ценили рис, что даже перед необходимостью выбора между рисом, пленом и смертью не могли понять, что в этот момент правильнее всего будет его выбросить. Обезьяны в этой истории выглядят до крайности глупо, но у большинства из нас есть собственные эквиваленты рису.
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.
Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.