Подлипенский Павел

Блог о технологиях и деньгах

Для тех, кто хочет на елку залезть и яйца не поколоть

clock ноября 10, 2008 09:49 by author Подлипенский Павел

Нашел довольно интересный пост о Психологическом портрете программиста(спасибо Саше Кондуфорову). Пост начинается с народной мудрости(ух, и мудрый же этот народ!):

Если ты сделаешь что-то быстро, но плохо, никто не вспомнит, что ты сделал это быстро. Но все скажут, что ты сделал это плохо. Если ты сделаешь что-либо медленно, но хорошо, никто потом не вспомнит, что ты делал это медленно. Но все потом скажут, что ты сделал это хорошо.

Какой нужно сделать вывод? Что? Писать хороший код? С пляжа! Быстро писать надо, а потому криво. Почему? Потому что бизнес не ждет. Это стремительно развивающаяся среда, не терпящая задержек. Именно поэтому большинство коммерчески успешных проектов, убоги с технической точки зрения. Заказчика никогда не будут интересовать архитектура, стиль написания кода или гибкость вашего решения (речь идет о B2C нише). Заказчика всегда интересуют сроки сдачи проекта, реже внешний вид, еще реже производительность или масштабируемость проекта.

Далее автор рассматривает четыре типа программистов:

  • первые, что делают все быстро и хорошо
  • вторые, что делают все быстро и плохо
  • третьи, что делают все медленно и хорошо
  • и четвертые, которые делают все медленно и плохо.

Последних отбрасываем за их бесполезностью для человечества. О первых автор метко отмечает:

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

Поэтому, если вы думаете, что наняли лучшего программиста (за N или даже К тысяц долларов в месяц). То поспешу вас разочаровать - лучший программист давно нанял вас.

Остаются два типа, наиболее распространенных типа(по мнению автора) программистов: те, что делают работу быстро и плохо и те, что делают все медленно, но хорошо. О каждом из них довольно толково написано, советую почитать. Из своего опыта могу сказать, что в каждом проекте есть такой период, когда нужно наложить написать кучу вонючего кода. Для этой задачи лучше всего подойдут быстро-плохо программисты. Но в то же время, обязательно наступит момент, когда заказчик спрашивает своего быстро-плохо программиста: "сделай мне паровую микроволновку инженера Гарина на бобовых косточках". На что программист с полной уверенностью заявляет - это невозможно (кстати, отсюда родился миф о "лени" программистов, мол они все могут, вот только ленятся). К сожалению, данного сорта программист не может построить такую систему. Для таких задач как раз и нужен программист медленно-быстро. Поэтому "смешанные" команды наиболее эффективны в нашей объективно-жестокой экономической действительности. Главное - уметь правильно распределять задачи.

Текущий рейтинг: 3.9 (7 голосов)

  • Currently 3,857143/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Быстрые веб-страницы: Уменьшаем количество файлов загружаемых браузером

clock октября 29, 2008 09:00 by author Подлипенский Павел

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

AppTurns - число файлов ресурсов, требуемых страницей. Они включают файлы CSS, JS, изображений и любые другие файлы, извлекаемые обозревателем в процессе визуализации страницы. Уравнение учитывает страницу HTML отдельно, добавляя время приема-передачи (round-trip time – RTT) перед выражением AppTurns.

Использование множества CSS- и JS-файлов небольшого размера, является хорошей практикой с точки зрения удобства в разработке веб-приложения. Но плохо, с точки зрения производительности вашего приложения. Каждый запрос к серверу требует определенных ресурсов как браузера, так и самого сервера: ожидание в очереди в браузере, время на инициализацию и отправку запроса, передача соответствующих заголовков и cookies, время на обработку запроса и формирования ответа. Время, необходимое для обработки/формирования запроса, называется latency(серенькая область на рисунках ниже). Каждый ресурс, помещенный в отдельный файл, будет бесцеремонно занимать это драгоценное для клиента время.

podlipensky.com without combiner

Поэтому имеет смысл объединять однотипные файлы ресурсов в один. Таким образом, мы экономим на этот самом latency каждого файла ресурсов.

podlipensky.com with combiner

Так как мы говорим о CSS или JS коде, то объединение будет представлять собой конкатенацию строк. Проще всего написать HttpHandler, который бы смог объединять файлы ресурсов в runtime режиме, оставляя разработчику возможность оперировать множеством файлов. При этом не стоит забывать о таких способах оптимизации как GZIP и кэширование ваших ресурсов. Код такого HttpHandler'a может быть таким:

   1: public void ProcessRequest (HttpContext context) {
   2:         
   3:         HttpRequest request = context.Request;
   4:         
   5:         // Читаем параметры: имя ключа в конфиге(содержит список файлов для объединения), тип конетнат и версию конента. 
   6:         //Все эти поля обязательны, т.к. они используются как ключ для кэширования.
   7:         string setName = request["s"] ?? string.Empty;
   8:         string contentType = request["t"] ?? string.Empty;
   9:         string version = request["v"] ?? string.Empty;
  10:  
  11:         // Определяем, позволяет ли браузер сжатие контента
  12:         bool isCompressed = DO_GZIP && this.CanGZip(context.Request);
  13:  
  14:         // Ответ формируем в UTF8 кодировке
  15:         UTF8Encoding encoding = new UTF8Encoding();
  16:  
  17:         // Если ресурс есть в кэше, то берем из кэша.
  18:         // В противном случае, считываем файлы, объединяем и кладем в кэш
  19:         if (!this.WriteFromCache(context, setName, version, isCompressed, contentType))
  20:         {
  21:             using (MemoryStream memoryStream = new MemoryStream(5000))
  22:             {
  23:                 // Определяем тип потока, в который будем писать результат
  24:                 using (Stream writer = isCompressed ?
  25:                     (Stream)(new GZipStream(memoryStream, CompressionMode.Compress)) :
  26:                     memoryStream)
  27:                 {
  28:  
  29:                     // Загружаем файлы, основываясь на ключе в <appSettings>
  30:                     string setDefinition = 
  31:                         System.Configuration.ConfigurationManager.AppSettings[setName] ?? "";
  32:                     string[] fileNames = setDefinition.Split(new char[] { ',' }, 
  33:                         StringSplitOptions.RemoveEmptyEntries);
  34:                     string delimeter = "\r\n";
  35:                     foreach (string fileName in fileNames)
  36:                     {   
  37:                         //Добавляем разделитель, чтобы в двух соседних файлах не произошло объединения ключевых слов.
  38:                         byte[] bytes = encoding.GetBytes(delimeter);
  39:                         writer.Write(bytes, 0, bytes.Length);
  40:                         
  41:                         string text = GetFileText(context, fileName.Trim(), encoding);
  42:                         byte[] fileBytes = encoding.GetBytes(text);
  43:                         writer.Write(fileBytes, 0, fileBytes.Length);
  44:                     }
  45:  
  46:                     writer.Close();
  47:                 }
  48:  
  49:                 //Кэшируем результат
  50:                 byte[] responseBytes = memoryStream.ToArray();
  51:                 context.Cache.Insert(GetCacheKey(setName, version, isCompressed),
  52:                     responseBytes, null, System.Web.Caching.Cache.NoAbsoluteExpiration,
  53:                     CACHE_DURATION);
  54:  
  55:                 // Генерируем ответ
  56:                 this.WriteBytes(responseBytes, context, isCompressed, contentType);
  57:             }
  58:         }
  59:     }

Функция GetFileText читает содержимое файла и возвращает его в виде строки (ввиду простоты функции, я не стал приводить листинг ее кода).

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

Image Map‘ы объединяют несколько картинок в одну большую. Общий объем такой картинки примерно равен сумме объемов маленьких картинок, но уменьшение количества запросов к серверу сокращает общее время загрузки страницы. Image Map будет работать, если картинки на странице находятся рядом друг с другом, например в случае полосы навигации. Определение координат для Image Map’ов — занятие довольно утомительное и зачастую приводит к ошибкам (вообще-то для этого есть специальный софт, однако ничего не могу сказать про качество его работы).

CSS-спрайты являются предпочтительным методом сокращения количества запросов на сервер. Объедините все картинки веб-страницы в одну большую картинку и используйте CSS-свойства для отображения нужного участка картинки.

Inline-картинки используют URL-схему data: для встраивания картинки в саму страницу. Это, однако, увеличит размер HTML-документа. Встраивайте inline-картинки в ваши (кешированные) таблицы стилей — и вы добьетесь уменьшения запросов к серверу, а размер HTML останется прежним.

Полезные ссылки

Быстрые веб-страницы: Формирование страницы из нескольких источников

Быстрые веб-страницы: Сжатие и Очистка веб-страниц

Performance Research, Part 6: Less is More — Serving Files Faster by Combining Them

Combine JavaScript with ASP.NET Web forms

CSS Sprites: What They Are, Why They’re Cool, and How To Use Them

 

Текущий рейтинг: 5.0 (6 голосов)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Windows Server 2008 в качестве рабочей станции

clock октября 8, 2008 09:00 by author Подлипенский Павел

Всю свою программисткую жизнь я предпочитаю пользоваться серверными ОСями семейства Windows, в качестве своих рабочих станций. На то есть несколько причин. Первая - конфигурация моей машины в точности совпадает с настройками продакшин сервера, таким образом я избегаю багов связанных с меняющимся окружением проекта. Вторая причина - в серверном решении отсутствуют бесполезные для разработчика сервисы и службы. Тем не менее, даже серверные ОСи требуют неких настроек. Недавно я пересел с Windows 2003 на Windows 2008 Server, и надо сказать очень доволен. Первое, что меня обрадовало - это быстрая и удобная установка этой операционки. Дальше мне необходимо было настроить ее под себя, для нужд разработки. Эти настройки довольно отличаются от тех, что я делал в 2003ей, поэтому опишу основные шаги.

Отключить вопрос-объяснительную при перезагрузке/выключении машины

Start->Run->gpedit.msc -> Administrative tools->System-> Display Shutdown event tracked -> Disable 

Win2008Shutdown_48

Win2008GpEdit_1

Отключить некоторые настройки безопасности в IE

Start->Server Manager->Configure IE Sec->Выкл. для обеих опций.

Win2008srvrmgrieesc2_1

Win2008iesecconfig_7

Включить поддержку WiFi (для тех у кого он есть)

Start->Server Manager->Features->Add Feature->Wireless LAN Services

Win2008AddFeatures_7

Win2008EnableWireless_3

Включить звук (да, программисты тоже слушают музыку)

Start->Run->Service.msc ->Windows Audio -> Automatic
Start->Run->Services.msc ->Windows Audio Endpoint Builder->Automatic

Включить поддержку .NET 3.0

Start->Server Manager->Features->Add Feature->.NET Framework 3.0 Features

Включить Windows Search (надо признаться поиск в этой версии сделан превосходно - быстро и удобно)

Start->Server Manager->Roles->Add Roles->File Services->Windows Search

Включить SuperFetch (помогает запускать приложения значительно быстрее)

Start->Run->regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Добавить новый DWORD с именем EnablePrefetcher и значением равным 3

Добавить новый DWORD с именем EnableSuperfetch и значением равным 3

Start->Run->services.msc ->SuperFetch->Automatic

Установить Windows Live Messenger

К сожалению последняя версия этого мессенджера не станет на 2008 ОСь, поэтому вам придется поставить версию 8.1. После этого вы можете скопировать Live Messenger директорию с вашего бэкапа и продолжить общаться со своими заказчиками.

Установить Skype

Последняя версия Skype упала через 2 секунды после запуска. Зато версия 3.1.0.152 работает превосходно.

Установка Office 2007, VS 2008, MS SQL 2008 проходит без проблем.

Активировать веб-роль сервера, т.е. установить IIS

Минимальная установка

Start -> Run -> start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel

Полная установка

Start -> Run -> start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-FTPPublishingService;IIS-FTPServer;WAS-WindowsActivationService;WAS-ProcessModel

Также это можно сделать с помощью интерфейса винды

Start -> All Programs -> Administrative Tools -> Server Manager

file.axd

Далее выбрать Roles

file2.axd

Жмакнуть Add Roles, Next и выбираем Web Server (IIS) роль

file3.axd 

Затем добавляем необходимые для этой роли сервисы, выбираем необходимые фичи IIS и завершаем установку.

Настроить процессор

Start->Control Panel ->System ->Advanced system settings-> Advanced -> Performance -> Settings->Advanced->Adjust best performance->Programs

Изменить DEP режим

Start->Control Panel ->System ->Advanced system settings-> Advanced -> Performance -> Settings-> Data Execution Prevention-> Turn On DEP для основных Windows программ и сервисов

Включить Remote Desktop

Если вы планируете получать доступ с другого Win 2008 Server или Vista

Start -> Run -> Cscript %windir%\system32\SCRegEdit.wsf /ar 0

Если вы хотите получить доступ с других операционных систем семейства Windows

Start -> Run -> Cscript %windir%\system32\SCRegEdit.wsf /ar 0

и

Start -> Run -> Cscript %windir%\system32\SCRegEdit.wsf /cs 0

Любители интерфейса Vistы могут включить всякие анимашки и приколяшки

Start->Server Manager->Features->Add Feature->Desktop Experience

для активации тем - Start->Run->Service.msc->Themes->Automatic

Полезные ссылки

Как включить sleep режим в Windows 2008

Administering IIS7 on Server Core Installations of Windows Server 2008

Текущий рейтинг: 5.0 (4 голосов)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Как уснуть на рабочем месте?

clock июня 20, 2008 09:29 by author Подлипенский Павел

О том, что спать на рабочем месте нехорошо, знают все, особенно ваше начальство. Сегодня натолкнулся на интересную статью, рассказывающую об исследованиях доктора Olaf Lahl в этой области. Оказывается, кратковременный сон может значительно улучшить память и умственную деятельность человека.  Ученые провели такой эксперимент. Студентов-добровольцев попросили запомнить список из 30 слов. До проведения данного испытания им был дан часовой перерыв, во время которого некоторым добровольцам предлагалось вздремнуть в течение шести минут, а другим, наоборот, - бодрствовать. Как выяснилось в результате эксперимента, люди, которые воспользовались возможностью вздремнуть, продемонстрировали отличные способности к запоминанию слов - по сравнению с теми людьми, которые не спали.

 

Что ж, о подобных исследованиях я слышал и раньше, но как уснуть на рабочем месте, когда вокруг стоит рабочий гул? Оказывается уже и эта проблема решена наукой – небольшая утилита Pzizz поможет вам погрузиться в кратковременный сон от 10 до 90 минут. Pzizz начинает и заканчивает сеанс некоторым набором специальных фраз, а во время вашего сна проигрывает некоторую комбинацию мелодий(шум морского прибоя, пение птиц и тп.), влияя таким образом на ход вашего сна. Работа этой утилиты основана на нейро-лингвистическом программировании (NLP) и по словам создателей абсолютно безвредна для вашего здоровья.

 

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

  • возмещение ущерба от инцидентов на работе вследствие ошибок сотрудников
  • затраты на непредвиденные отгулы, отпуска, больничные и тп.
  • потеря клиентов, вследствие невежливого или неаккуратного обращения сотрудников

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

Так что будем ждать пока прогресс дойдет и до нас или начнем работать дома… 

Текущий рейтинг: 4.8 (4 голосов)

  • Currently 4,75/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


10 сервисов, которые помогают мне в работе

clock июня 18, 2008 08:39 by author Подлипенский Павел

Веб-приложения в последнее время плодятся не по дням, а по часам. Если хорошенько поискать, онлайновая замена найдётся для большинства традиционных программ. И такой подход имеет свои преимущества:

  • доступ к сервису из любой точки
  • уменьшение нагрузки на собственое “железо”
  • зачастую подобные сервисы бесплатны
  • социальность отдельных сервисов открывает порой ранее недоступные возможности своим пользователям

Безусловно существует и ряд недостатков:

  • зависимость от наличия постоянного соединения (исчезает связь — информация становится недоступной или неудобной в использовании)
  • зависимость сайтов от решений сторонних компаний, зависимость качества работы сервиса от качества работы многих других компаний
  • слабая приспособленность нынешней инфраструктуры к выполнению сложных вычислительных задач в браузере
  • уязвимость конфиденциальных данных, хранимых на сторонних серверах, для злоумышленников (известны случаи хищения личных данных пользователей, массовых взломов учётных записей блогов)

Но тем не менее использование этих сервисов повышает мою производительность, а недостатки медленно, но уверенно сводятся на нет.

Gmail – почтовый сервис от Google. Прост, удобен и надежен.

Google Docs – онлайн-редактор и хранилище моих документов. Помимо присущей гуглу юзабилити, этот сервис радует меня хорошим дисковым пространством и возможностью расшаривать документы моим друзьям, коллегам.

Google Reader – RSS-читалка, привлекающая меня своей простотой и удобством в использовании. (официальный блог разработчиков)

Showmypc.com – замечательный инструмент для онлайн презентаций. Позволяет транслировать свой рабочий стол, передавать управление своей машиной другим участникам конференции и многое другое.

Linkedin.com – социальная сеть, постоянно расширяющая круг моих знакомств.

Slimtimer.com в паре с Bubbles помогает мне эффективно управлять своим временем. Я уже писал о базовых принципах эффективного управления своим временем, а этот сервис всего лищь удобный инструмент для тайменеджмента.

Foxmarks.com – сервис для синхронизации закладок. Весьма полезный сервис, особенно, когда приходиться обрабатывать большое количество информации, используя различные компьютеры.

FolderShare – кросс-платформенный сервис предлагает нечто большее, чем те программы по синхронизации, которые есть у обычных файловых хранилищ. Этот сервис позволяет мне открыть папку у себя на компьютере, а затем быстро синхронизировать ее содержимое с компьютером друга, коллеги, клиента.

Payscale.com – время от времени, оцениваю свое текущее финансовое положение на рынке труда. Хотя полностью полагаться на подобные сервисы в финансовых вопросах и не стоит, тем не менее советую всегда держать руку на пульсе.

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

Текущий рейтинг: 4.6 (7 голосов)

  • Currently 4,571429/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Один большой овертайм

clock мая 21, 2008 09:14 by author Подлипенский Павел

Многие люди видят единственный способ увеличить свой доход - работать больше, т.е. работать в овертайм. В IT-индустрии овертаймы принято оплачивать в двойном размере. И хоть сотрудник за 12 часов сделает больше, чем за 8 часов, тем не менее, овертаймы не приветствуются и используются лишь в случаях, когда для бизнеса сроки важнее денег. Дело тут не только в деньгах - при работе в овертайм у человека снижается производительность, рассеивается внимание, теряется концентрация и работу он делает хуже, чем обычно. Знакомо мне это не понаслышке – на прошлых выходных мне пришлось пережить 30 часовой овертайм! Нет, я не сошел с ума, не проигрался в карты и даже не брал кредитов - это был конкурс для программистов. Главной задачей в конкурсе было написать приложение, позволяющее проводить online-мониторинг грузоперевозок, а также анализировать такие данные как скорость, ускорение, время простоя грузовиков и тп. В качестве исходных данных нам была дана база данных и краткое описание системы. В итоге мы победили среди украинских команд, а через неделю мы узнаем результаты европейских судей. Но победа далась нам нелегко. Наблюдая за собственным самочувствием, я успел отметить, что после 12-14 часов работы:

  • заметно снизилась концентрация - достаточно было отвлечь меня каким-нибудь простым вопросом и я тут же забывал над чем работал;
  • ослабло внимание - после написания 20-30 строк кода, проект не компилился из-за банальных опечаток;
  • появилась небольшая вялость в теле;
  • стали раздражать мелочи, особенно шум, смех, мелькание людей.

Несмотря на эти психологические и физические трудности, поддерживать работоспособность удавалось благодаря следующим приемам:

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

Сфокусироваться на простых решениях. Довольно часто, после длительной работы, мы не видим явного, простого решения. В подобных случаях я откладываю задачу на следующий день и, на свежую голову, нахожу решение за считанные минуты. В условиях овертайма очень помогает взгляд со стороны – когда один уставший сотрудник не видит решения, нужно позвать второго уставшего сотрудника, когда двое не видят решения – позвать третьего. А если уж трое ничего придумать не могут – отложить задачу на следующий день.

Часто делать небольшие перерывы. 5-10 минут помогут вам восстановить внимание и определиться с дальнейшими действиями. Наилучшим вариантом (100%)отдыха будет пойти подышать свежим воздухом, прогуляться. Если вы просто решили сделать себе чашечку кофе, то эффект от такого отдыха будет меньше – 60%. Если вы остались у компьютера, но переключились на общение с товарищем – эффект составит 40%. Как вариант, вы можете остаться у компьютера и почитать чей-то блог, но эффект такого отдыха будет процентов 20.

Переключать внимание. Нет ничего хуже, чем работать постоянно над одной и той же задачей. Даже если эта задача самая интересная. Мы практиковали следующий подход – человек берется за небольшую задачу и пытается выполнить ее в течение получаса-часа, если у него ничего не выходит – задача в текущем состоянии попадает к следующему участнику команды. Таким образом, каждый знал, как работает тот или иной механизм в проекте. Переключение с задачи на задачу требует повышенного внимания и постоянного обучения – что позволяло нам не думать об отдыхе.

Не позволять сознанию обмануть вас. Мозг – хитрая штука. И если он не хочет заниматься какой-либо деятельностью, то найдет тысячу и одну причину не делать этого. Он убедит вас, что есть задачи поважнее: «Да это легко сделать, можно отложить на потом… ». Не поддавайтесь на эти провокации! Заставьте себя заниматься даже неинтересными задачами – если не сам процесс, то по крайней мере результат принесет вам удовлетворение от работы.
Не спать. Честно говоря, спать хотелось, причем сильно. Я даже пытался провернуть что-то подобное на деревянной скамейке в холле, но было жутко неудобно и холодно – пришлось вернуться к работе. Через какое-то время организм адаптировался, и открылось «второе» дыхание. Возможно, этому есть какое-то медицинское объяснение – не знаю.

Музыка, музыка, музыка. Наверное, лучший способ отгородиться от реальности и погрузиться в работу. В этом вопросе у каждого свои предпочтения – мне компанию составлял Adriano Chelentano.

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

Текущий рейтинг: 4.8 (4 голосов)

  • Currently 4,75/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Как увеличить желание поработать

clock мая 12, 2008 09:39 by author Подлипенский Павел

Как это ни парадоксально, но многие из нас работают для того, чтобы не работать. То есть стараются заработать столько денег, чтобы нужды работать больше не было. И дело тут совсем не в человеческой лени или в тяге получить статус богатого человека, а в стремлении заниматься тем, что нравиться. Тем не менее, придя на «нелюбимую» работу многие из нас все же делают то, за что им платят деньги – работают. Так откуда же берется это сокровенное желание поработать? Можно ответить просто – человеком движет инстинкт самосохранения, и в условиях рыночных отношений, для выживания необходимо где-то брать деньги. Все это верно, но есть один момент – даже движимый инстинктом самосохранения человек разумный(homo sapiens), придя на работу зачастую, лишь делает вид, что работает или, по крайней мере, осуществляет ее не в том объеме, в котором хотелось бы.

Многие компании вводят гибкий график, организовывают обеды, комфортно обустраивают офисы и многое другое только ради того, чтобы вам было приятнее работать. Делают они это не ради вашей широкой улыбки, а для того, чтобы вы лучше работали и не думали менять работу. Но правда в том, что ваша продуктивность практически не зависит от вашего настроения. Еще в далеком 1964 году Victor Vroom определил: настроение/продуктивность = 0,14. Это означает, что лишь 2% результата вашей работы были получены «благодаря» вашему хорошему настроению.  Но это вовсе не значит, что люди будут лучше также работать в условиях, приближенных к тюремным (хотя в Советском Союзе считали иначе…). Ведь обиженный или даже злой сотрудник может организовать настоящий саботаж на работе. Тут важна золотая середина – необходимо создать приемлемые условия труда и сконцентрироваться не на том, как улучшить настроение сотрудника, а на том, как увеличить его продуктивность:

Гибкий график. Позволяет сотруднику чувствовать себя свободным в своих действиях и самому строить свои рабочие планы. Абсолютная свобода в графике может привести к тому, что графики нескольких сотрудников не будут совпадать, и если их работа взаимосвязана, то продуктивность команды может пострадать. Как один из вариантов выхода из данной ситуации – зафиксировать хотя бы 4 часа рабочего времени.

Социальная или медицинская страховка. Тяжело сказать, влияет ли этот пункт соцпакета многих IT-компаний на продуктивность сотрудника…

Английский. Как один из видов профессиональных тренингов в IT-индустрии, это бесспорно положительно сказывается на продуктивности сотрудников.

Питание. Врядли «лишние» $3-$4 в день повысят продуктивность сотрудника. Более того, после определенного срока, сотрудник будет воспринимать это, как должное и не дай вам бог попытаться забрать у него эту «сладость».

Спортзал. Здоровый сотрудник работает лучше, чем больной – это факт. Но тут важно не просто выделять деньги на спорт, но и как-то мотивировать сотрудников заниматься спортом. Одна, знакомая мне компания, проводила следующую политику: сотрудники, которые не занимаются регулярно спортом, рассматриваются в качестве кандидатов на премию в последнюю очередь.

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

К сожалению, многие IT-компании на рынке Украины не могут себе позволить посылать сотрудников на дорогостоящие профессиональные тренинги, выделять время на самообучение (или собственный проект, как это делает Google) или постоянно обновлять рабочие инструменты программистов. Проще нанять уже более квалифицированного, хоть и более дорого сотрудника. Но как говорил Dietrich Bonhoeffer: "If you do a good job for others, you heal yourself at the same time, because a dose of joy is a spiritual cure." - будем трудиться и все будет хорошо.

Текущий рейтинг: 5.0 (3 голосов)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search


LinkedIn Profile

Tags

Posts

  • Pingback from 241.akemet.com Cb300 Second Hand Address, Cb3000 Video Price Marine Engines
    241.akemet.com

  • http://tvsh2004.narod.ru/gm03.html
    test

  • конечно это очень дорого, у нас ведь вся страна пользуется только лицензионной windows...
    Славян

  • Алексей: С удовольствием!
    Подлипенский Павел

  • Присоединяйтесь к ЖЖ-коммьюнити http://community.livejournal.com/ua_extjs
    Алексей

  • Поправка насчет генерации самого хтмл-кода для ответа веб метода. Предлагаю сделать проще, не создавая объекта страницы и без тега <form> [WebMethod] public string GetControlHTML(string controlLocation) { HtmlTextWriter tw = new HtmlTextWriter(new StringWriter()); var uc = (UserControl)(new UserControl()).LoadControl(controlLocation); uc.RenderControl(tw); return tw.InnerWriter.ToString(); }
    Anthony

Categories

Calendar

<<  Сентябрь 2010  >>
воповтсрчепясу
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Archive

© Copyright 2010

Sign in

Ó÷àñòíèê ïëàíåòû Developers.org.ua

Bookmark and Share

Web Developement Blogs - Blog Catalog Blog Directory