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