Тихий криза в розробці софта



Про мене
Я працюю в сфері розробки програмного забезпечення 28 років. Моя нинішня посада — старший директор з розвитку програмного забезпечення консалтингової компанії в Остіні, штат Техас. Я працюю на цій посаді трохи більше шести років.

Мій зріст був спочатку технічного характеру — я починав як програміст-аналітик як тільки закінчив коледж. Одним з моїх улюблених хобі в ті часи було висміювання дурниці менеджменту. Лише пізніше я виявив у себе здібності до менеджменту і усвідомив, що мені це дійсно подобається.

У Всесвіті працює досить жорстокий вид карми.

В моєму нинішньому становищі в якості старшого директора з розвитку програмного забезпечення у мене є 6 менеджерів з розвитку, які звітують переді мною. Тільки в моїй організації близько 50 розробників програмного забезпечення. У нас завидно низька плинність кадрів і дуже високий рівень задоволеності клієнтів.

За ці роки я поділився зі своїми підлеглими і їхніми безпосередніми підлеглими тими ж висновками, якими я збираюся поділитися з вами зараз. Ці висновки — це вистраждана мудрість, а не те, що я інтуїтивно знав або читав. Тобто, я дізнався, пройшовши через важкий шлях.

Підтримка публікації — компанія Edison, яка розробила систему обрахунку дорожнього трафіку на перехрестях і додаток обміну замовленнями таксі.

Читати далі →

Тихий криза в розробці софта



Про мене
Я працюю в сфері розробки програмного забезпечення 28 років. Моя нинішня посада — старший директор з розвитку програмного забезпечення консалтингової компанії в Остіні, штат Техас. Я працюю на цій посаді трохи більше шести років.

Мій зріст був спочатку технічного характеру — я починав як програміст-аналітик як тільки закінчив коледж. Одним з моїх улюблених хобі в ті часи було висміювання дурниці менеджменту. Лише пізніше я виявив у себе здібності до менеджменту і усвідомив, що мені це дійсно подобається.

У Всесвіті працює досить жорстокий вид карми.

В моєму нинішньому становищі в якості старшого директора з розвитку програмного забезпечення у мене є 6 менеджерів з розвитку, які звітують переді мною. Тільки в моїй організації близько 50 розробників програмного забезпечення. У нас завидно низька плинність кадрів і дуже високий рівень задоволеності клієнтів.

За ці роки я поділився зі своїми підлеглими і їхніми безпосередніми підлеглими тими ж висновками, якими я збираюся поділитися з вами зараз. Ці висновки — це вистраждана мудрість, а не те, що я інтуїтивно знав або читав. Тобто, я дізнався, пройшовши через важкий шлях.
Читати далі →

П'ятниця: всі дизайнери інтерфейсів потрапляють в пекло...

image

Кожен раз, коли я бачу напис «Оновити зараз або нагадати завтра», у мене виникає посмішка, при думці про те, що всі люди, які брали участь у розробці подібних діалогових вікон (с*ки, поверніть кнопку «Немає і ніколи більше не питати»), виявляться в тепленькому уютненьком пеклі, де їм потрібно буде просто ввести телефонний номер…

Читати далі →

П'ятниця: всі дизайнери інтерфейсів потрапляють в пекло...

image

Кожен раз, коли я бачу напис «Оновити зараз або нагадати завтра», у мене виникає посмішка, при думці про те, що всі люди, які брали участь у розробці подібних діалогових вікон (с*ки, поверніть кнопку «Немає і ніколи більше не питати»), виявляться в тепленькому уютненьком пеклі, де їм потрібно буде просто ввести телефонний номер…

Читати далі →

MapReduce на коліні. Частина III – збираємо всі разом

Mosaic by Joan PollakУ першій (досить капітанською) частини цієї серії ми розповіли про базові концепції MapReduce чому це погано, чому це неминуче, і як з цим жити в інших середовищах розробки (якщо ви не про Сі++ або Java). У другий частини ми таки почали розповідати про базові класи реалізації MapReduce на Caché ObjectScript, ввівши абстрактні інтерфейси і їх первинні реалізації.
Прийшов сьогодні наш день! – ми покажемо перший приклад зібраний у парадигмі MapReduce, так, він буде дивний і не найефективніший, і зовсім не розподілений, але цілком MapReduce.


Читати далі →

Сисадмін з манією автоматизації і велика переробка процесів



Пару тижнів тому в ІТ-відділ зайшла співробітниця з опту і попросила доробити дрібну фічу до свого робочого місця. Заявку цілком очікувано поставили в чергу.

Дівчина трохи образилася і сказала:
— Це у вас зараз несезон, і вже не встигаєте. Дивлюсь я на вас, що тоді до нового року буде!

Передбачалося, що під новорічний раш ІТ-відділу з такою постановкою справ хана. Ніхто не пояснив милій дівчині, що сезон у нашого ІТ припадає на літо. Тому що потім, коли настане сезон у роздробу, буде взагалі поздняк метатися.

А цього літа було жарко. Особливий колорит процесам надав сисадмін Валера, схиблений на автоматизації. Настільки, що він навіть курси валют і погоду відстежував Заббиксом. Загалом, заходьте, розповім, як ми провели літо. І генеральне прибирання. Нічого особливо примітного, але пара корисних грабель для середнього бізнесу у мене завжди знайдеться.
Читати далі →

MapReduce з підручних матеріалів. Частина II – базові інтерфейси реалізації

Take it like a man by John PollakВ попередній частині серії ми (в 100500й раз) спробували розповісти про основні прийоми і стадії підходу Google MapReduce, повинен зізнатися, що перша частина була намір "капітанською", щоб дати знати про MapReduce цільової аудиторії наступних статей. Ми не встигли показати ні строчки того, як все це ми збираємося реалізовувати в Caché ObjectScript. І про це наша розповідь сьогодні (і в наступні дні).
Нагадаємо початковий посил нашого міні-проекту: ви все ще плануємо реалізувати MapReduce алгоритм використовуючи підручні засоби, що є в Caché ObjectScript. При створенні інтерфейсів, ми спробуємо дотримуватися того API, що ми описали в попередній статті про оригінальну реалізацію Google MapReduce, будь девіації будуть озвучені відповідно.

Читати далі →

Якась така Data? Або ще раз про MapReduce

Якщо Ви останні 10 років провели на віддаленому острові, без інтернету і у відриві від цивілізації, то спеціально для Вас ми спробуємо ще раз розповісти про концепцію MapReduce. Введення буде невеликим, в обсязі, достатньому для реалізації концепції MapReduce в середовищі InterSystems Caché. Якщо ж Ви не сильно далеко віддалялися останні 10 років, то відразу переходите до 2ой частини, де ми створюємо основи інфраструктури.
Big Fish Small Fry by John Pollack

Читати далі →

Інтерфейси в реальному світі: страховка від помилок користувача


В Єкатеринбурзі в одному з будинків для міжнародних конференцій є проблема з «трохи дурними» іноземцями. Кажуть, такі ж автомати почали ставити в Москві.

«Користувач п'яний» — базовий принцип проектувальника. Ще користувач нелюдськи винахідливий, розумний і вибагливий, але прямо зараз п'яний. Те ж саме стосується передачі інформації. Зараз покажу фізичні обмеження на помилки користувальницьких інтерфейсів.



Почнемо зі спеціальною клавіатурної чашки.
Читати далі →

Інтерфейс викладки (і пара маленьких порад, як не зганьбитися, вибираючи товар)



Коли ви відкриваєте холодильник будинку, там вас зустрічається інтерфейс викладки — у кого-то є система, у кого-то немає, а хтось тримає там стовбур і шкарпетки. Так от, в магазині — викладка це те, де ви бачите товар, звідки берете помацати і де його часто купуєте.

Очевидно, як і будь-який інший інтерфейс в реальному світі, викладка враховує особливості користувача. Дві руки, очі вище хапальних органів, дефіцит уваги і вірус собачого сказу (точніше, брак часу). Тому всі «за замовчуванням» і продається найчастіше лежить рівно перед вами. Точніше, там, де ви звикли розглядати товар: у фокусі очей і локусі рук. Тобто на рівні грудей.

Швидкопсувний товар враховує вашу лінь. Тому в групі однакових пляшок молока, наприклад, магазин зацікавлений продати вам саму близьку до дедлайну. Вона буде лежати першої. Найвіддаленішою буде лежати найсвіжіша — її заберуть останньої. Тому, можливо, має сенс завести звичку на автопілоті брати щось глибше на будь-яких холодних полицях.
Читати далі →