Программист-фанатик - [53]
Отступив назад и посмотрев на общую картину, мы констатируем, что навыки письма являются необходимыми и достаточно редкими.
Как ты знаешь, рабочая сила сейчас распределена по всему земному шару. И если эта тенденция продолжится, настанет время — а для некоторых оно уже настало! — когда большая часть делового общения будет осуществляться через службы мгновенных сообщений или по электронной почте.
Тебе придется много писать. И если изрядная часть твоей работы будет связана с писаниной, лучше научиться делать это хорошо. Более чем когда бы то ни было твоя репутация будет формироваться на базе твоих способностей грамотно писать. Ты можешь быть замечательным кодером, но без умения выразить свои мысли словами у тебя не получится результативно функционировать в «распределенной» команде.
Ты представляешь собой только то, что можешь объяснить.
Умение писать дает как внешнее впечатление о тебе, так и реальное понимание того, как работает твой ум. Если ты не можешь выразить свои мысли на родном языке таким образом, чтобы другие их без проблем поняли, как поверить в то, что ты в состоянии это сделать на языке программирования? Умение сформировать идею и привести читателя через мыслительный процесс к логическому заключению немногим отличается от умения разработать четкий проект и реализовать систему, доступную для понимания тому, кто будет заниматься сопровождением.
И дело даже не в том, что о тебе подумают. Если члены рабочей группы находятся в разных временных зонах, на большом расстоянии друг от друга, электронные письма могут быть единственным средством объяснить, что ты сделал, каким образом ты что-то спроектировал или над чем должны поработать твои коллеги.
Коммуникация, особенно посредством писем, является тем бутылочным горлышком, через которое должны пройти все твои великолепные идеи. И их воплощение зависит от твоего умения все четко объяснить.
1. Начни дневник разработчика. Ежедневно делай короткие записи, объясняя, над чем ты работаешь, обосновывая собственные проекты и подвергая тщательной проверке технические или профессиональные решения. Хотя этот дневник предназначен только для тебя, уделяй пристальное внимание качеству текста и способности четко выражать мысли. Время от времени критически перечитывай старые записи. В зависимости от того, что тебе понравилось или не понравилось в старых записях, корректируй более новые. Это не только улучшит твои навыки письменной речи, но и позволит понять причины принятия решений, а также даст материал, к которому можно будет обратиться, когда потребуется уточнение, как или почему ты что-то сделал раньше.
2. Научись быстро набирать текст. Если ты пока не умеешь печатать вслепую, запишись на курсы или загрузи обучающую программу. Если набор текста не вызывает затруднений, тебе будет проще выражать свои мысли в письменной форме. И разумеется, научившись быстро печатать, ты сэкономишь время при рабочей переписке.
Совет 36
Будь рядом
Если у тебя есть возможность лично пообщаться с руководством и коммерческими заказчиками. Не упускай ее.
В Бангалоре, когда я занимал должность главного технического директора, у меня был неприятный опыт докладов начальнице, которую я не любил (она платила мне той же монетой) и которая к тому же находилась в США. Мы вели напряженные разговоры по телефону поздно ночью или рано утром, раздражаясь из-за фоновых шумов и внезапных обрывов связи. Я писал длинные письма, пытаясь сгладить проблемы, порожденные расстоянием и разницей во времени, но они игнорировались. Стоило пожаловаться на недостаток внимания, и в ответ я получал критику моих писем. Положение казалось безвыходным.
Как раз в это время в фирме оценивали годовую производительность: руководители приводили сильные стороны своих подчиненных и (так называемые) потребности развития. Первой в списке моих потребностей развития за этот год стала такая вещь, как присутствие.
В этом контексте присутствие означает некое корпоративное понятие, описывающее несколько расплывчатое лидерское качество. Это не поддающееся измерению качество особенно ощущается в ситуациях, требующих личного общения. Сюда относится аналогично не поддающееся измерению умение вести себя как лидер.
Обсуждая по телефону обзор эффективности моей работы с моей любимой начальницей, я выключил звук, как только она произнесла слово «присутствие». Я не хотел, чтобы она слышала мой смех. Хотел бы я знать, расслышала ли она интонацию, порожденную гримасой, которую я не мог стереть со своего лица весь остаток нашего разговора. Мы оба знали, что реальная проблема была связана с присутствием в более общем смысле: меня просто не было в США, где находились все остальные.
Большинство из тех, кто делился со мной своими мыслями, не любили эту начальницу. Это было неудивительно, так как она практически ничего не делала, чтобы заслужить уважение. Вырисовывалась интересная картина. Действительно плохие отношения у нее были только с теми сотрудниками, которые работали в другой стране.
Ее отношения с сотрудниками из Индии, Венгрии и Великобритании (в порядке убывания) были натянутыми, так как мы не только физически находились далеко от нее, но и жили в другом часовом поясе. Кроме того, влияние оказывали инфраструктурный, культурный и языковой барьеры.
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система 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, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.