Универ

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

Из двух групп суммарно набирается где-то три с половиной студента, которых можно не краснея порекомендовать для дальнейшей работы на должности стажеров в ИТ-компании Черкасс.

Конечно, на это можно посмотреть со стороны: если плохо научить студента, то у тебя будет меньше конкуренции. Но как-то для меня это убогий путь. Не вижу смысла находиться на скудном профессиональном поле и не иметь возможности пообщаться на рабочие темы. Также закрадывается мысль: «Неужели придется кодить до пенсии и некому будет передавать дела?» :) .

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

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

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

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

Ну и конечно есть еще один бич — это сама «Система». Она учит студентов возможности решать вопросы обходными путями. Её правила позволяют студенту не ходить на пары на протяжении семестра с полной уверенностью в том, что все будет в порядке во время сессии. Если начинать думать про фактор «Система», то накатывает грусть-тоска. Благо не все студенты идут по этому пути и остаются персоны, с которыми действительно приятно работать.

Ребята, просьба одна — учитесь. Тут я не делаю умного лица и не произношу это в назидательном тоне. В ИТ все меняется очень стремительно и учиться придется все время. Думайте о направлении развития уже сейчас. На этом все, надеюсь, месседж уловили.

Тимур Гагин, Алексей Кельин «Книга достигатора»

Начало января выдалось больше читательским чем кодо-писательским :) . Попала в руки «Книга достигатора» по давней рекомендации Димы Головаченко. После прочтения у меня остались сумбурные впечатления.

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

Теперь про минусы. В книге мало конкретики все очень обобщенно, может в этом плане мне повезет больше в другой книге авторов «Кривая коза и Грабли Мебиуса».

Суть книги для себя вывел такую:

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

- Находиться в постоянном движении, процессе. Главное условие в том, что процесс должен приносить радость. По сути в ИТ без движения нельзя, быстро утратишь актуальность на рынке труда. Да и заниматься нелюбимым делом тоже долго не сможешь;

- Жить надо радостно. Ну тут без объяснений унылые сотрудники, домочадцы, друзья  не вызывают позитивных эмоций.

Хочу прочесть еще «Кривая коза и Грабли Мебиуса», может там будут какие-то практические методики.

В целом вердикт такой — открываем перед сном на любой странице , читаем 5-10 страниц для подзарядки, закрываем.

Балдеющие от адреналина и зомбированные шаблонами

Закончил прочтение книги Дом Демарко, Тимоти Листер «Балдеющие от адреналина и зомбированные шаблонами. Паттерны поведения проектных команд». В книге описаны модели поведения разных организаций в сфере ИТ проектов. Книга получилась по принципу «куда глаза упали, от туда и читай». Так как паттерны в книге не сильно связаны друг с другом можно перед сном парочку почитать, не сильно вспоминая что было раньше. Но если хотите подойти к прочтению книги системно и попытаться охватить паттерны которые касаются определенной сферы жизни команды, например коммуникации, то это будет проблематично.

Во время прочтения книги начинаешь узнавать ситуации, в которых побывал в проектах и не очень бы хотелось побывать в них еще раз. Для себя отметил паттерны, которые стоит взять на заметку для развития.  Continue reading ‘Балдеющие от адреналина и зомбированные шаблонами’ »

Интересная ориентированность на клиента

Недавно позвонил знакомый и попросил посмотреть к неработоспособности выгрузки данных из 1с в интернет-магазин.  Симптомы неправильной выгрузки — формирование неправильного файла выгрузки, в котором были незакрыты теги по номенклатурам с проблемным описанием товара.  Но для начала немного предыстории:  человек купил надстройку к конфигурации (называть я её естественно не буду) и обратился за помощью в техподдержку когда у него не выгрузились данные из 1с в интернет-магазин . Аргументация поддержки была следующая: у вас в 1с в описании товара есть запрещенные символы, надо их заменять, это никак не связано с нашей работой поэтому заплатите нам ХХХХ рублей мы вам вышлем обработку, которая это поправит. Без этих изменений выгрузка работать не будет.

Надо отметить, что ХХХХ рублей это десятая часть стоимости самой надстройки.

С моей стороны как клиента, знающего немного о программировании, немного не укладывается следующее:

  1. Выгрузка некорректно работает с запрещенными символами в данных. Тогда почему выгрузка для начала не проверяет есть ли такие символы и не информирует об этом пользователя, а втихаря формирует неправильный файл и высылает его на сервер для обмена. Можно же использовать, например, туже НайтиНедопустимыеСимволыXML() и сигнализировать об этом пользователю.
  2. Скорее всего ситуация с запрещенными символами не единична и может повторятся на данных не одного клиента. Может в связи с этим стоит обработку подготовки описания включить в продукт в одном из обновлений.

Со стороны продавца данной надстройки вполне понятны мотивы почему функция причесывания данных не предусмотрена.

  1. Люди уже вложили денег и хотят увидеть результат и 10% от стоимости не должно их остановить на пути к его достижению.

А какую модель поведения приняли бы вы?

Долгоиграющие запросы. Ускорение.

Во время выполнения подъема данных из внешних информационных баз (ВИБ) столкнулся с длительной работой запросов, которые генерируются к ВИБ . До того как делить загрузку на параллельные потоки сначала пошел по пути оптимизации запроса. Приведу несколько моментов, которые позволили ускорить работу запроса:

1. В запросе используется регистр бухгалтерии и необходимо из субконто получать значения реквизитов. Во время настройки запроса я знаю какого именно типа будет субконто использоваться поэтому можно использовать ВЫРАЗИТЬ.

ВЫБОР КОГДА ТиповойОстаткиИОбороты.Субконто1 ССЫЛКА Справочник.Номенклатура
ТОГДА ВЫРАЗИТЬ(ТиповойОстаткиИОбороты.Субконто1 КАК Справочник.Номенклатура).Наименование
КОНЕЦ КАК СубконтоВидСубконто1_Номенклатура_Наименование

Таким образом получается упростить SQL текст запроса тем, что не будет выполняться соединение со всеми таблицами объектов, которые входят в составной тип субконто.

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

Параллельная загрузка, фоновые задачи.

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

Что у нас в 1с Предприятии 8.2 имеется для распараллеливания — это фоновые задачи. Метод, который будет вызываться в фоновой задаче, должен быть прописан в серверном общем модуле и быть экспортным. Естественно нам понадобиться в фоновую задачу передавать и забирать значения. Continue reading ‘Параллельная загрузка, фоновые задачи.’ »

Микаловиц Майк «Стартап без бюджета»

Закончил прочтение книги «Стартап без бюджета». Книга не про конфигурирование, не про управление проектами (что-то накатило почитать такое :) ) Книгу к прочтению порекомендовал мне Богдан за что ему большое спасибо.

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

«Непреложные законы«. Думаю, что фиксирование непреложных законов для специалиста важно как и для компании. Специалист в своей работе также должен следовать набору ценностей. Если для себя очертить непреложные законы, то в дальнейшем можно будет быстрее понимать различие своих непреложных законов и партнера. Чтобы сотрудничество было в радость и плодотворным непреложные законы должны коррелировать. Понравился непреложный закон автора: «Чтобы требовать от людей максимум, надо максимум в них вложить».

«Болтовня об идеях и мечтах не в счет; поднимите свою задницу и вперед». Майк в книге приводит список хитростей, которые помогают настраиваться на работу, для себя отметил следующие:

  • Фиксирование необходимого списка действий. To-Do лист очень помогает с концентрацией, уже поднимал эту тему в блоге.
  • Расстановка приоритетов. Приоритеты это наше все, чтобы не получилось ситуации когда «Я и моя команда молодая… что-то делаем… что-то важное.». Надо знать что мы делаем и насколько оно важно для клиента.
  • Избегание дублирования. Объединяем задачи в случае, если это вариации одного и того же.
  • Двухминутные дела делать сразу. Тут мы передаем привет GTD.
  • Концентрация на одной мысли. Остановиться на минуту сфокусироваться на одной задаче, думать о ней снова и снова и решение придет. Многозадачность это миф, невозможно работать над какой-то задачей в фоновом режиме. Конечно, если это не задача разворачивания базы из dt-шника.
  • Закрыть электронную почту. Набор правил фильтрации почты, который постоянно дополняется позволил мне при автоматической проверке почты телефоном видеть только важные письма. Остальные письма обрабатываются при наличии свободного времени. 
  • Делегирование задач. Пока задачи особо делегировать некому, но надо быть к этому готовым.
  • Ответственность перед другими. Ответственность перед кем-то дает хороший пинок под зад для движения вперед.
  • Делать перерывы. После овертаймов и застоя в задачах этот пункт стал понимать по-новому :)

В итоге могу сказать, что книга мотивирует к действию :) Надумали создавать свое дело, пока что сомневаетесь, вообще не думаете  — почитать стоит все-равно. Я читал книгу с точки зрения что стартап это я сам :) . Удачи.

Найджел Марш. Как достичь баланса между работой и жизнью.

Получение данных из другой базы.

Хочу поделиться подходом, который был получен после долгих замеров производительности и блужданий :) Если надо с другой базы 1с перетянуть много данных и вызов будет происходить несколько раз и все это будет на постоянной основе, то имеет смысл пойти по пути запуска на стороне другой базы внешней обработки (через ExternalDataProcessorsManager). Внешняя обработка получает данные по сгруженному в неё тексту запроса, складывает в файл и передает управление в вызвавший её метод, где потом происходит считывание данных из файла. Так же скорость и прыть прибавит использование Ramdisk. Решений много, к примеру можно использовать это. При использовании такого решения достигается существенная экономия времени на операции запись/считывание. Так же предостережение передавайте во внешнюю обработку текст запроса и параметры отдельно, а сам запрос собирайте уже во время выполнения обработки. Было замечено, что при передачи в обработку уже собранного COMобъекта типа «запрос» Выполнить().Выгрузить() работало медленнее. Скорее всего вызвавшая обработку база мониторила COMобъект и вызов Выполнить().Выгрузить() для него все-равно притормаживал работу,даже если результат выполнения запроса сгружался в файл.

Октябрь. Проверка на прочность.

Участие в текущем масштабном проекте позволило в прошедшем октябре проверить себя на прочность :) . Отсутствие постов в данном блоге как бы намекает на отсутствие свободного времени :) . Считаю что данная проверка была для меня хороша тем, что я вынес из неё некоторые свои характеристики: знаю где я могу сломаться, после чего начинаю тупить, как веду себя в критической ситуации. Подобного рода случаи случались и раньше, но тут был как раз замер в месяц (он, кстати продолжается и сейчас).

Итак мы имеем по факту 232 отработанных часов над задачами проекта в TimeSheet за октябрь. По мере наполнения данных про время могу сказать что все было хорошо до цифры так 180, потом начинается слегка дискомфорт. После отметки в 200 начинается нервозность и был замечен тупняк на задачах. Стоить отметить, что данная цифра часов была набрана по задачам программирования смены вида деятельности не было. Думаю наличие смены вида деятельности давало бы немного разгрузиться.

Для себя подчеркнул в результате данного теста, что нормально работать в отсутствии смены вида деятельности можно этак до 200 часов, большее количество для организма — перебор. Что помогало в процессе: физические упражнения и прогулки. И конечно же самое классное  — устраивать один полноценный выходной в неделю, когда нет ноута, нет задач. Такое бывает редко, не всегда есть возможность такое устроить, но к этому надо стремится. На предстоящих выходных как раз такое намечается :) .

Если у вас есть свои методы сохранения работоспособности на высоких оборотах пишите в комментариях, интересны ваши методики.