Pull to refresh

Comments 101

Если вы менеджер…

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

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

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

Вся эта история с удаленщиками — про оптимизацию бюджетов. Тем же моим клиентам выгоднее платить мне условные 30 монет за какой-то прогнозируемый объем работы, чем ломать голову, чем же загрузить мой фуллтайм, который обойдется им в 300 серебрянных.

Чаще всего на удаленку идут за деньгами, как не странно. Потому что удаленка — это чаще всего сделка, четкий трекинг отработанного времени/объема задач и так далее. Удаленщик — самостоятельная боевая единица, которую не подкупишь громкими пламенными речами и печеньками в офисе, у него нет морали и «любви к команде». Это человек, работающий всегда строго за деньги и, если очень повезет, за интерес к проекту, но это бывает очень редко.

Так что давайте не будем про желание «нанимать лучших». Нанимают всегда самых выгодных.
Скажите, а почему вы смешиваете удаленную работу и сдельную? Что мешает работать в обычной команде, но распределенной?
Любая удаленная работа = сдельная работа, потому что это трекинг задач, времени, иногда рабочего стола на совсем жестких конторах. Я прекрасно знаю обо всех механизмах контроля «фуллтайм удаленки» и в этом случае товаром выступает не конкретная услуга или кусок кода, а просто рабочее время. И это все та же прямая сделка. Потому что в физическом офисе можно смазаться и прикинуться ветошью, посмотреть ютубик или залипнуть у куллера с коллегами, когда как на удаленке все намного и намного жестче, иначе никак. Так что я не смешиваю удаленку и сделку, я ставлю между ними не слишком жирный, но все же, знак равенства.
Может это как раз тот случай, который, являясь исключением, подтверждает правило, но все же имею удаленную работу и совсем не имею сделки. Нет ни трекинга задач (вернее веду его сам для себя), нет трекинга времени (веду его тоже сам и только для себя), рабочего стола тоже. Порой про меня забывают на неделю, порой созвоны несколько раз в день, когда факап или дедлайн у клиента. В этом плане с офисом различий не много.
Тут еще зависит от характера работы. Я работаю не на удаленке (хотя и на ней работал тоже и ничего против не имею, мне по большому счету практически все равно где), но у нас команда разработчиков раскидана по трем городам. Да, при этом отлично налажена связь — почта, мессенджер, видео, телефония, Jira… Но общаться с коллегами приходится постоянно. То у меня к ним вопросы, то у них ко мне, то групповая встреча с обсуждением насущного…

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

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

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

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

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

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

У разработчиков не бывает вопросов, требующих решения быстрее чем за сутки


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

За исключением "онлайн дебага" — не вижу у вас кейсов, где нельзя "написать письмо и пойти заниматься другой задачей". А "онлайн-дебаг" — это не рутинная задача, а реальный факап и говорить о нём как о нормальном виде деятельности — точно не стоит.

Не всегда есть другая задача. Обычно все задачи выстроены в очередь в порядке приоритета и сроков сдачи.

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

Я уже работал в таком режиме — не скажу чтобы это было очень продуктивно. Но там команда была небольшая и в целом все было терпимо.

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

Я тоже так работал добрые 10 лет. На удаленке и типа без сделки. А знаете, в чем был секрет? В том, что я из РФ работал на США, по цене меньшей, чем в США стоит интерн без скиллов.
По этой цене я был настолько выгоден конторе, что они всячески готовы были поддерживать видимость, что «сделки нет». Лишь бы факапы иногда разгребал, да. И да, про меня тоже забывали на месяцы, потому что контору вполне устраивало наличие очень дешевого но квалифицированного разработчика «про запас» — работа рано или поздно появлялась.
У меня ситуация обратная. Головной офис фирмы находится от меня в 20ти километрах, месячный оклад у меня средний по рынку, а может и даже чуть завышен, учитывая мои плохие знания местного языка. Устроен официально, имею обыкновенный контракт. Так что секрета нет)
В корне неверное мнение, ничем неподтверждённое к тому же.
Я на удалёнке. Я полноценный участник команды. Я посещаю дейли-митинги и все командные активности в течении дня. Я участвую в общем планировании спринтов. Я делаю код ревью. Я общаюсь с коллегами. Этот список можно продолжать бесконечно.

Отсутствие моей задницы в офисе практически ничего не меняет в рабочем процессе.
+1 На самом деле, верное замечание, удалённая работа не предполагает строгую форму правовых отношений.
Ну, на самом деле не всегда. Хватает позиций, когда компания ищет конкретно рок звезду, и платить будут, сколько попросишь. Ну, после того, как отберут тебя из сотни кандидатов. Всё таки рынок у разработчков сейчас шикарный. У меня лично были кейсы, когда вакансия была на фултайм, я проходил собес, а потом требовал ремоут — и соглашались
Падажжите, автор утверждает, что «если вы менеджер, то вы хотите рокстар». То есть все менеджеры хотят рокстаров? Да менеджеры из условного EPAM или любой другой аутсорс-галеры, где больше «кодят на Jira и митингах», чем на ЯП, рокстаров себе не хотят. Потому что рокстары не соблюдают процессы и давят на линейных разработчиков. Это триггернуло в первую очередь.
Не, автор то конечно чушь несёт, кто бы спорил. Я к тому, что рокстары всё же кому-то нужны.
А, ну это само собой. Рокстары нужны как минимум на этапе архитектуры, грубо говоря, на этапе «стартапа» и первичного становления проекта. Рокстары нужны на новых направлениях, потому что у них достаточно велики яйца для экспериментов, новых технологий и вот этого всего. Рокстары не нужны на аутсорсе, поддержке или линейных проектах, которым 5+ лет. А это минимум 80% рынка разработки ПО.
Рокстары не нужны на аутсорсе, поддержке или линейных проектах, которым 5+ лет. А это минимум 80% рынка разработки ПО.

98%
Менеджер может хочет и не рокстара, но в целом адекватного сеньера (а в статье сказано, что они ищут именно таких) хотят практически все. Я, например, знаю компанию, которая уже почти год ищет сеньера в прекрасный город Гамбург и не может найти. Потому что переезжать — это геморно, а в Германии еще и очень дорого. Вот и ищут.
суперстара, эффективность которого всего на 20% выше, чем у трех нанятых на его рейт гребцов в совокупности
А вы понимаете под эффективностью конкретно что? LOC за ч/день? Тогда да. А так известна масса случаев, когда одному суперстару приходилось разгребать авгиевы конюшни после нескольких гребцов средней эффективности. Как там говорится, 9 женщин за месяц ребенка не родят, но и 9 мужчин не родят его тоже, даже за 18 месяцев. Нужна одна нормальная здоровая вменяемая женщина.

Нанимают обычно кого попало, на самом деле.
Если нанимать выгодных, то быстро становится понятно, что нанимать надо лучших, поскольку лучшему заплатишь в 1.5-2 раза больше, а его производительность выше в 3-5 раз. Полно таких исследований.

Чаще всего на удаленку идут за деньгами
Посмеялся и дальше не читал.
Уже много лет работаю на удаленке и при смене работы даже если работодатель не рассматривал удаленку, предлагал ему такой вариант даже с условиями -20% зп, потому что мне гораздо важнее освободить 60часов в месяц (которые мне окупятся даже если я все их просплю), и уют и комфорт собственного дома и пк, никогда в жизни никакой офис не заменит.
Все кто говорит что удаленка зло, обычно имеют проблемы с самоорганизацией либо основываются на неудачном опыте когда им не повезло с начальством например.
Тем же моим клиентам выгоднее платить мне условные 30 монет за какой-то прогнозируемый объем работы, чем ломать голову, чем же загрузить мой фуллтайм, который обойдется им в 300 серебрянных.


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

1. Удаленка, это между прочим весьма неслабый аргумент, который не стоит бюджету практически ничего (а если это постоянная удаленка, то еще и минус расходы на рабочее место), а вот для работника это ощутимое и привлекательное преимущество именно этого проекта.
2. В компанию не нужно 100% суперстаров. Нужны парочка на 30-40 сотрудников, чтобы проект в принципе завелся.
3. На удаленку можно брать людей с периферии, без релокации. Опять таки сэкономив на ЗП.

Чаще всего на удаленку идут за деньгами, как не странно.

Вроде как чаще на удаленку идут за комфортом. За деньгами можно и в офис, а еще лучше онсайт/релокация.

Удаленщик — самостоятельная боевая единица, которую не подкупишь громкими пламенными речами и печеньками в офисе, у него нет морали и «любви к команде».

Я думаю ваша ошибка в том, что удаленщик-джуниор это понятие несовместимое. Удаленщик-мид — крайне редкое. А если говорить о сеньорах, то в общем-то почти все они самостоятельные боевые единицы, которым уже приелись и пламенные речи и печеньки. Так что тут IMHO подмена понятий.

Читаю все эти статьи и напрашивается вопрос — все эти удаленные работы и фриланс хороши если работа подразумевает определенный сценарий ежедневной деятельности, а именно:
Работа чисто с компьютером, выполнение задачи в основном в одиночку с коммуникациями не более 10% от времени. Нет строгих временных рамок — например сделать это в течении 5 минут. Полная самодисциплина.


Но проблема в том, что далеко не все профессии возможно таким образом перевести на удаленку. Да, разработку вполне можно, но как быть, например, с инженером-технологом на сборочной линии, водителем, поваром, парикмахером, автомехаником?


Или вот такой пример — учитель. Вроде ж можно сделать удаленно? Но есть же нюансы!
А врачи — это же непаханное поле — не надоело ходить к терапевту и ждать очереди с гриппом? Можно сделать удаленного врача?


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


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


А еще вот у меня возникает такая мысля для выбора профессии для ребенка — она должна позволять удаленку. Обязательно.

Для учителя (репетитора) нет никакой проблемы обучать через Skype. Сейчас полно таких предложений, начиная от языков до обучения пению или рисованию. А вот в удаленной диагностики авто нет смысла — после диагностики всё равно нужно что-то ремонтировать. Если бы стоимость автодиагноста и ремонтника были бы по три сотни тыс. в месяц, то возможно в этом был бы смысл. А пока это всё бессмысленно.
но как быть, например, с инженером-технологом на сборочной линии, водителем, поваром, парикмахером, автомехаником?

Водитель — скоро начнёт отмирать (лет 10 осталось до реального внедрения на дороги автопилотов, а там лет за 10-20 они биоводителей вытеснят).
Поваром из дома — невозможно только из-за невозможности сейчас получить необходимые сертификаты на помещение для готовки пищи в массовых масштабов для домашней кухни… ну и неудобство делать большие объёмы на относительно маленькой кухне. Ах да! Ещё ресторанам такой кейс не подойдёт — это ж как же ресторанам без понтов-то обойтись?!
Инженер-технолог на линии нельзя? А хирург удалённо почему-то уже можно (хоть и крайне рарный кейс пока что). Т.е. и инженера-технолога можно будет заменить манипулятором с онлайн-подключением… когда-нибудь. Это если к тому моменту его не удастся заменить на тот же манипулятор + ИИ.
То же касается и остальных предложенных профессий. Т.е. по факту — это всё вопрос времени и развития инструментов… Ну и целесообразности этих всех разработок.

>> Поваром из дома — невозможно только из-за невозможности сейчас получить необходимые сертификаты на помещение для готовки пищи в массовых масштабов для домашней кухни

Тащемта кучу народу даже это не останавливает. От девушек продающих испеченные дома торты через инстаграм, до чуваков, которые ради стеба продавали не сервисе доставки разогретые в микроволновке готовые блюда — I Sold Microwave Meals On Deliveroo

Про инженеров технологов и подобное — отличная статья как человек наклепал белок технологиями генной инженерии не выходя из-за компа дома Разработка белков в облаке с помощью Python и Transcriptic или Как создать любой белок за $360

Мой опыт работы в удалёнке говорит, что она очень демотивирует. Отсутствие нормальной коммуникации (увы, любые электронные методы не достаточно high fidelity чтобы их использовать без специального режима "а сейчас мы тщательно проговариваем всё, чтобы поняли") сильно затрудняет погружение в проблему, а в отсутствие погружения в проблему появляется формализмы вида "задача — сделал". Что, для ряда работников отлично, но где-то должен быть человек, которому "не всё равно" — и для таких отсутствие коммуникации оказывается демотивирующим.

А видеосозвоны тоже недостаточно high fidelity? На практике в удалёнке используется микс асинхронной письменной коммуникации и синхронной устной в виде созвонов.


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


При этом командные созвоны жёстко ограничены количеством (1-2 раза в неделю, но кто-то всё же вводит ежедневные стендапы), а вот личные созвоны 1-на-1 в стиле «а расскажи, что это за фича и почему она так сделана» — сколько угодно, когда всем задействованным удобно.

У моих глаз и ушей качество кратно лучше, чем у скайпа и т.д., не говоря уже про стереозрение. Возможно, через некоторое время качество (HDR и т.д.) дойдёт до уровня, что можно будет иметь нормальную связь. Сейчас связь — всегда рулетка (раз) и понижение качества связи (два).

Фиг знает. Проблема что становишься асоциальным — действительно есть. А вот что современных средств связи не хватает для решения рабочих задач… Меня, наоборот, радует асинхронность и то что тебя никто не отвлекает. Идеальный вариант для меня — работа в офисе, но что-бы все коллеги были на удалёнке (к примеру, в других офисах). Так у тебя есть рабочая атмосфера, люди вокруг, а коллеги оставляют большинство своих вопросов на митинги.
Идеальный вариант для меня — работа в офисе, но что-бы все коллеги были на удалёнке (к примеру, в других офисах)


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

Совсем удаленка в наших условиях сложна, особенно для бэкенд разработчиков, работающих на мейнфрейм. Это уже заморочки УИБа. Да, есть VPN, есть Удаленное Рабочее Место Сотрудника, но ни то ни другое не дает 100% полноценного доступа ко всем информационным сиcтемам (тестовый сервер, Jira, Bitbucket, Jenkins, Artifactory, Confluence, внутренняя телефония + Cisco Jabber...)

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

При смене работы в финальный шортлист вышли два места — 100% удаленка на небольшую компанию и 100% галеры в крупном банке. По деньгам было примерно равноценно, в моменте даже первый вариант выглядел привлекательнее.

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

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

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

Ну и однозначно не разделяю

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


Мнение очень однобокое. Наверное, какая-нибудь мобильная разработка такое позволяет. А вот, скажем, банковское IT уже сложнее — там для бэк разработчиков нужен терминальный доступ к тестовому серверу (а он хоть и тестовый, но там много чего всего интересного может быть чего наружу выпускать совсем никак нельзя). Который во внутренней сети. За безопасность которой УИБ очень переживает т.к. из внутренней сети есть и к боевым серверам доступ…
Или с предыдущего места работы пример — разработка софта, привязанного к определенной аппаратуре. Т.е. тестирование на специальном стенде-макете. Который нужно где-то разместить. А если в процессе тестирования нужна еще и отладка, то будь добр приехать туда где стенд и поработать там. Или дорабатывай свой софт так, чтобы иметь возможность удаленно видеть что он внутри себя делает в реальном времени (я к этому пришел в конце концов — это помогло и потом на реальных объектах решать проблемы).

В общем, не так все просто и универсально с удаленкой…

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

Я бы не стал рассматривать только граничные варианты. Офис может быть «распределенным» — у нас, например, разработчики распределены межу Москвой, Екатом и Питером. Что совершенно не мешает полноценно общаться в процессе как один на один (обычно это обсуждение задачи с аналитиком), так и в режиме конференции (групповые митапы или обсуждение крупных сложных задач).
Часто общение идет с расшариванием экрана чтобы показать что как где работает или порисовать какие-то схемы.
Есть еще еженедельные доклады разработчиков — что-то типа семинаров на различные интересные темы, своеобразный обмен опытом. Но тут подключаешься когда тема интересна самому.

Живое же общение с коллегами обычно на другие темы — обмен опытом (я что-то у кого-то спросил, у меня кто-то что-то спросил), помощь молодым разработчикам и т.п.

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

Ну у нас совсем до трепа не принято опускаться. Ну, иногда, в виде перерыва минут на 5-10 бывает, но далеко не каждый день.

А что дома дичаешь — согласен полностью. Года три когда-то просидел, потом попросился в контору. Просто чтобы была хоть какая-то видимость «это рабочее время, это нерабочее». Иначе выгораешь быстро…

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

Возможно, это часть моего характера, но при реальном непонимании в чате (это когда приходится писать много-много букв, а люди не очень хотят их читать) личное общение работает лучше. Просто потому, что в личном общении можно управлять вниманием собеседника.


Речь не про установленный workflow, а про момент создания. naming things, архитектурные вопросы, выбор технологии т.д. — всё, что относится к полугуманитарной области.

По моему опыту, если не зафиксировать все детали, то итоги этого общения оказываются поняты всеми участниками абсолютно по-разному. И да, возможно при личном общении легче достичь договоренностей, но при письменном — гораздо легче их точно зафиксировать.

Детали — безусловно. А вот стратегические (идеологические) вопросы лучше обсуждать всё-таки лично, в диалоге. Собственно, в хороших правилах после технического совещания писать summary (в локальную бд), так, чтобы все участники совещания с ним согласились.

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

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

В пограничных ситуациях — семейный психолог.

Всем добра, любите друг друга.
UFO just landed and posted this here

Вот вроде все правильно говорите, но звучит в стиле ББПЕ. А ведь бывает, что жена зарабатывает больше (притом, что муж не в носу ковыряет) и упахивается в офисе по самое некуда.
Так что только конструктив без взаимных обвинений.

UFO just landed and posted this here
получается что это в основном для того чтобы с подружками там потрепаться и иметь возможность сказать «я тоже с работы пришла, устала»

Вот прямо слово в слово в голове всплывало, когда вынужденно нашему(и соседнему) it-отделу пришлось поработать в одном (большом) кабинете с этими, прошу прощения, клушками.

Локация — довольно крупная фирма регионального масштаба.
Я думал такое только в шутейках про офисный планктон бывает, вот честно.

Целый отдел, человек 10+ женщин «сильно за 30», занимаются вот буквально НИЧЕМ.
Ну как ничем: падают какие то заявки к ним на email, редко — входящие звонки, что то там они отвечают, иногда даже звонят сами. Реальной работы за весь день на человека — минут на 40, не напрягаясь.

Все остальное время — «ой девочки, а пойдем чай попьем!». И уходят в столовую комнату.
Всем отделом.
Минут на 40+.
Естественно, что если в этот момент на столе зазвонит телефон — никто не ответит, они же все отделом свалили.

Чай пьют стабильно каждые час-полтора после окончания предыдущего чаепития.

Но самое ужасное постоянный, постоянный, ПОСТОЯННЫЙ ТРЁП.
Не затыкаются ни на минуту, даже когда их остается в кабинете две(!!!) особи — шума В РАЗЫ больше чем от двух айти-отделов (нашего и параллельного, кабинет вынужденно делили тремя отделами).
Обсуждают, само собой, только стандартные темы (то, что непосредственно касается их): «муж-козёл», «дети-молодцы», «я толстая», «зарплата маленькая», «смотрите какое платье», «у меня новая диета», «я толстая аааа!!!11», «эта с*ка вчера была в таком же платье!», «у Маринки муж изменяет», «сегодня на ноготочки записалась, надо отпроситься», «муж скотина вечером просит ему поесть приготовить снова! А я устала», «да, я своему тоже сказала что также целый день пашу, и вторую смену дома отрабатывать не собираюсь», «ой смотрите какое видео мне в вотсапп отправили, девочки, идемте посмотрим все вместе!».
И всё это параллельно, не слушая друг друга, перемежая всхлипыванием и взрывами хохота. А их 10+ ведь…
По шуму могу сказать только то, что в клиентской зоне находящегося по соседству отделения банка — было тише

Кстати походы на «попить чайку» не отменяют того, что постоянно что-то хомячат за столом. А затем «почему я толстая», ага.

Вот и сложилось аналогичное мнение, что такого рода «клуши» устраиваются работать ТОЛЬКО чтобы:
1. Не заниматься домашними делами, воспитанием детей, и так далее, мотивируя это тем, что «я тоже целый день работаю, я устала».
2. Приятно проводить время в компании подобных себе.
Под это подбирают «непыльную» работёнку, где естественно не платят толком, но лишь бы работать (читай «напрягаться») не нужно было. Так, день отсидеть, а вечером дождаться когда муж на машине заберет с работы.

К слову, бухгалтерами в разы проще и приятнее, как общаться так и просто находиться рядом.
С «бизнесами» аналогично.
С менеджерами — запросто, терпимо.

Но с этими — кошмар. Про слово «продуктивность» тогда пришлось забыть ))
Ни домработница, ни бабушка не объяснят маленьким детям, почему нельзя поиграть с папой. Детям вообще очень трудно что-то объяснить, они считают что компьютер только для игр и мультиков (потому что сами только так его и используют). И потому им кажется, что папа предпочитает играть с компьютером чем с ними.

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

БАСНЯ про удаленщика и работу по дому:


Мужик однажды к Богу обратился:
"Ну, что за жизнь?" — он громко возмутился.
"Пашу я на работе, словно вол.
Ну, а жена? Лишь ужин мне на стол
И утром — завтрак.А, потом весь день
Бездельничает, ей одеться лень!
Где справедливость, Господи, скажи?
И ты мои проблемы разреши!"
"Тут нет проблем — ему ответил Бог
Ведь нет того, чего бы я не смог.
Я поменяю вас с женой полами
А, дальше, вы уж, разбирайтесь сами!"
"Да! Я согласен! Вот уж отдохну!"
"Да будет так!" Бог тяжело вздохнул…
И тут всё началось для мужика:
Уборка, стирка, то — пришей рукав,
Детей умой, им супчику налей…
Один другого посадил на клей,
То — в школе с двойкой сына разберись,
То — в магазин… Как белка — вверх и вниз,
Уроки детям делать помогай,
А, ночью, с мужем — ноги раздвигай…
Недолго выдержал ту карусель мужик,
Всего неделю и мужчина — сник.
Опять взмолился:"Боже, помогай!
Не ведал я, что жизнь мужчины — рай!
Верни назад, ведь женщина я — временно,"
Но, Бог ответил:" Поздно! Ты — беременна!"

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

Хорошая школа и медобслуживание детям и вам не нужны?

Мы стараемся не болеть. Экология на порядок лучше, следовательно здоровья больше. Рядом с домом новый современный бассейн, музыкальная школа по сути это центр. Школа не хуже, чем была бы в большом городе. Так что у детей есть всё для развития с гораздо большей доступностью (тех же пробок нет совсем, да и пешком почти всё доступно). А когда наступит пора получать высшее образование можно и переехать назад.
Что за чудесная локация?
нам тут всем кажется что в стране полный ахтунг, а фиг бы там, в стране порядок и счастье полное :)
А что её раскрывать?

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

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

Может тогда пусть жена и работает?
никаких совещаний в курилке и случайно брошенных мимо проходя супер-мега-важных тасок. ВСЯ рабочая коммуникация задокументирована. Все можно перечитать, переспросить и ткнуть в нужную переписку.
Вот ради этого одного стоит двигаться на удаленку. Там рабочие процессы будут ВЫНУЖДЕНО отлажены. И это прекрасно.
Интересно, а в каком виде вы просите оценить сроки на тестовое? Вот я к примеру всегда говорю, что сделаю в выходные, или сразу говорю что не буду делать. Потому что тратить больше 4х часов своего времени на тестовое задание я не готов, а когда именно я найду эти 4 часа, имея постоянную работу я не уверен.
Интересно, откуда это мнение что количество удалённой работы растёт?
Если судить по hh и включить соответствующий фильтр, то не так уж много и найдётся.

Компании, которые декларируют возможность удалённой работы вообще можно по пальцам пересчитать, даже есть реестр: github.com/remoteintech/remote-jobs

И я заметил, что почти вся удалёнка это либо Ruby либо Java-Script

Наверное, потому что сотрудников на удаленку ищут не на hh? (Мне бы и в голову не пришло там искать, например).


Точно так же можно сходить на upwork и прийти к выводу, что кроме удаленки вообще ничего не существует. :)

А где же их ищут? Очень интересно. Если даже посмотреть напрямую на сайтах компаниях, то очень редко можно увидеть предложение удалёнки.

Мне кажется, это странно — пытаться нанять сотрудника и в то же время тщательно скрывать это, либо скрывать такой важный плюс, как возможность удалёной работы

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

Мне раз в неделю кто-нибудь пишет, хотя я ничего не ищу.
Насчёт блокировки — ну мне-то точно не мешает (а зачем вообще vpn отключать?). А пишут в основном не из России, конечно.

От размера графа, наверное, зависит («connections», или как там у них «друзья» называются). У меня около 100, пишут примерно раз-два в месяц.
Иногда пишут. Иногда просят добавить (в основном HR-ы).

Он, конечно, заблокирован, но HR'ов Российских компаний там предостаточно пасется :-)
По моему, лучший на сегодня ресурс поиска работы. И рекрутеры там в основном и сидят все. И пишут. В основном конечно ерунду всякую предлагают (стартапы), но каждый день.
Вот я не так давно писал статью как мне удаётся быть эффективным удалённым сотрудником: habr.com/ru/post/485110
Тут, например, можно найти ответ на вопрос serega374 или на тезис про демотивацию от amarao
За свой первый год работы поработал и на удалёнке, и в офисе примерно равное количество времени.

Основной плюс удалёнки — время. Куча времени. Большая куча времени. Я делал свои задачи немного быстрее (экономия 1 час) и не ездил на работу (экономия 2 часа). А ещё проще было менять график, отпрашиваться по делам, решать бытовые вопросы.

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

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

Все эти минусы удалёнки решаются правильным местом работы :). Несколько друзей работают в компаниях, где можно без проблем работать несколько дней в неделю из дома (или полностью уйти на удалёнку), имеют свободный график и все плюшки офиса (например, мне важно питание, ДМС, спортзал, что не всегда оплачивают удалёнщикам. По крайней мере до уверенного мидла я не встречал).
Почему никто не рассматривает вариант не стопроцентной удаленной работы? Как насчет совмещать, скажем, 3 дня удаленно, 2 дня в офисе, при чем таким образом, чтобы дни в офисе совпадали с тим-митингами, или другими активностями, для которых видеосвязь «не достаточно high-fidelity»? Мне кажется это и есть тот баланс, который подойдет как для тех, кому нужно живое общение, так и для тех, кому нужна тишина и покой.
Disclaimer: в компании, в которой я работаю именно такой график. Недовольных нет.
Как насчет совмещать, скажем, 3 дня удаленно, 2 дня в офисе

С трансконтинентальным перелетом 2 раза в неделю есть некоторые проблемы :-)

Тут Вы, конечно, правы, немного неудобно.

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

Знаю чувака — инженера — удаленщика, который делает трансконтиненталки в офис раз в месяц на неделю. Не жалуется.

Странно что не были указаны контакты HR.
Лишний раз доказывает, что удалёнка это слишком жирное преимущество, чтобы быть доступным всем и каждому, а немногие компании, которые её предоставляют, слишком малы, чтобы вместить всех желающих.
Хорошее дело в отношении условий труда, однако вызывает много вопросов с информационной безопасностью. Где-то это менее важно, где-то более.

Как верно замечено выше, есть такие работы, которые можно поручить удалённому сотруднику, а есть такие, которые нельзя.
Упоминал об этом. Работаю в банке. Для полноценной работы нужен доступ ко внутренней сети банка (которая не имеет выхода наружу — инет с рабочих компов доступен только через «безопасный браузер», который по сути есть удаленный доступ к браузеру, работающему где-то на отдельно выделенном компе), а именно:

доступ к тестовому серверу через эмулятор терминала IBM5250
Jira
Confluence
Bitbucket
Jenkins
Artifactory
внутренняя IP-телефония и привязанный к ней Cisco Jabber

Есть два варианта уделенной работы — через VPN и через «удаленное рабочее место сотрудника». ни тот ни другой вариант не обеспечивают полного доступа ко всем необходимым ресурсам внутренней сети. Т.е. полноценной работы не получится.
Спасибо :-)
Ваяем помаленьку :-) Что-то на RPG, что-то на C/C++, что-то на CL…
CL — Control Language

Системный язык на платформе IBM i (AS/400). Референс (описание команд) порядка 2300 страниц в pdf. Большая часть команд доступна в интерактивном режиме в эмуляторе терминала IBM5250. Фактически все общение с системой происходит командами этого языка.

При этом на этом языке можно писать программы (что примечательно, исходный текст на CL компилируется в программный объект командой того же CL — CRTBNDCL).

Вот пример простенькой программы:

/**************************************************************************************************/
/* System - Low-Level Equation Services */
/* */
/* Module - Освобождение групп активаций Equation */
/* */
/* Level - 160 */
/**************************************************************************************************/
/* *C DFTACTGRP(*NO) - */
/* *C ACTGRP(*CALLER) - */
/* *C DBGVIEW(*ALL) - */
/**************************************************************************************************/
PGM

DCL VAR(&EOF) TYPE(*LGL) VALUE('0')
DCLF FILE(ACTGRP10LF)

MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))

RCVF
MONMSG MSGID(CPF0864) EXEC(CHGVAR VAR(&EOF) +
VALUE('1'))
DOWHILE COND(^ &EOF)
RCLACTGRP ACTGRP(&ACTGRP)
MONMSG MSGID(CPF1653)
RCVF
MONMSG MSGID(CPF0864) EXEC(CHGVAR VAR(&EOF) +
VALUE('1'))
ENDDO

SNDPGMMSG MSG('Группы активации Equation успешно +
освобождены')
GOTO CMDLBL(END)

ERROR: SNDPGMMSG MSG('Ошибка освобождения групп активации +
Equation')

END: ENDPGM


Она в цикле читает (команда чтения очередной записи — RCVF) из файла ACTGRP10LF (это т.н. «логический файл» — индекс) значение поля ACTGRP в котором содержится имя группы активации (это еще одна сущность AS/400, если интересно, могу отдельно рассказать суть) и освобождает ее командой RCLACTGRP ACTGRP(&ACTGRP)

При достижении конца файла возникает исключение с кодом CPF0864 которое перехватывается командой MONMSG MSGID(CPF0864) EXEC(CHGVAR VAR(&EOF) VALUE('1')) (по факту перехвата переменная EOF, описанная как «логическая» устанавливается в 1 — true)

Команда MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) перехватывает все остальные исключения с кодами CPFхххх и при возникновении завершает программу с выводом в JOBLOG сообщения об ошибке.

Там еще перехват исключения MONMSG MSGID(CPF1653) — это «группа активации не найдена» — его просто игнорируем (никаких действий не прописано).

Язык «расширяемый» — любая программа может быть преобразована в команду (разница в том, что программы вызываются командой CALL, а команды напрямую).

Команды CL могут вызываться из других языков. Для С/С++ функцией system, для RPG есть API QCmdExec.

CL входит в состав ILE (Integrated Language Environment, туда же входят C/C++, COBOL и RPG). Это значит что мы можем написать одну функцию на C/C++, другую на CL, третью на RPG или COBOL, потом их все скомпилировать в т.н. «модуль» (аналог объектного файла), а потом эти модули собрать в единый программный объект. При правильном описании прототипов функций и процедур, написанных на разных языках, все они смогут друг друга вызывать.

Это достаточно удобно т.к. каждый язык имеет свою специфику — что-то удобнее на RPG, что-то на С/С++, что-то на CL…
Спасибо, очень интересно!
Да не за что.

На самом деле, на CL пишем мало. Или вот такие мелкие программы, или т.н. «инсталяторы». Дело в том, что разработка кроссплатформенная — код пишется на локальном компе (есть Rational Development for i — RDi — IDE на базе Eclipce, заточенная на разработку под AS/400, можно иcпользовать VS Code с плагинами RPG и IBM Languages). Но чтобы установить поставку на сервер нужно сначала запбросить туда все исходники, а затем скомпилировать каждый объект. Если поставка мелкая — 3-4 объекта, это еще ничего, но бывают и большие — у меня сейчас в работе поставка из порядка 30-ти таблиц, более 40-ка индексов (все это описывается на специальном языке DDS — Data Description Specifications и компилируется командами CL) и несколько десятков программных объектов. Понятно, что каждый делать руками адский труд. Поэтому в поставку включается написанныа на CL программа-инсталятор. Закидываем все на сервер, компилируем инсталатор и запускаем его. Он делает все остальное.

Раньше инсталяторы писали руками. На сервер тоже закидывали руками. Сейчас все это автоматизировано gradle скриптами. Пишем скрипты (фактически — аналог make файла) и запускаем gradle таск. Он делает все остальное — генерирует инсталятор, забрасывает все на сервер, компилирует и запускает инсталятор. А мы только смотрим — если собралось, все ок. Нет — лезем в spool файлы (вывод на принтер) и там смотрим логи компиляции где описаны все ошибки (там полный листинг компилируемого объекта с указанием ошибок где что не понравилось).
Это все чрезвычайно интересно, где можно почитать подробнее? Как правильно искать (руководства пользователя IBM System i или что-то похожее?)
Ну вот так чтобы в одном месте AS/400 for dummies я не видел.

Для «вхождения» в мир AS/400 я бы рекомендовал ознакомиться с книгой Френк Солтис «Основы AS/400»

Это один из «отцов-основателей» этой платформы и ОС в частности. Книга очень многоплановая — от истории создания («как мы дошли до жизни такой») и общих концепций, лежащих в основе

Менее года назад я был в Буэнос-Айресе на встрече с группой пользователей этой системы. По окончании встречи молодой репортер газеты «La Nacion» спросил меня: «Сформулируйте, пожалуйста, коротко причины того, почему в AS/400 столь много новшеств?». И я ответил: «Потому что никто из ее создателей не заканчивал MIT.» Заинтригованный моим ответом, репортер попросил разъяснений. Я сказал, что не собирался критиковать MIT, а лишь имел в виду то, что разработчики AS/400 имели совершенно иной опыт, нежели выпускники MIT. Так как всегда было трудно заставить кого-либо переехать с восточного побережья в 70-тысячный миннесотский городок, в лаборатории IBM в Рочестере практически не оказалось выпускников университетов, расположенных на востоке США. И создатели AS/400 — представители «школ» Среднего Запада — не были так сильно привязаны к проектным решениям, используемым другими компаниями.

Френк Солтис, «Основы AS/400»

так и описание технических подробностей как оно внутри устроено.

Дальше можно искать на IBM Knowledge Center по ключу «IBM i».
Например, IBM i 7.4 documentation

7.4 — последняя версия операционки (мы, кстати, пока на 7.3 работаем).

Что-то может найтись вот тут

Ну а дальше поиск в гугле по AS/400 и IBM i.

Фактически это синонимы — AS/400 старое название платформы, то, под которым она появилась на свет. Сама ОС, соответственно, называлась OS/400. Позже (уж не знаю из каких соображений) ее переименовали — платформа стала называться IBM i (у них еще есть IBM z — это наследница System/360-370-390, в то время как IBM i развивалась как System/32-36-38 — Advansed System/400 — общего там довольно мало, разные системы). Сама ОС сейчас называется i5/OS.

Если хочется «потрогать руками» — есть публичный AS/400 сервер PUB400

Регистрация там бесплатная (хотя и немного муторная). Дают что-то около 300мб дискового пространства и две личных библиотеки (некотрый аналог папки или каталога в винде). Одна сразу создается — т.н. «профайловая», еще одну можно создать самому. Для поиграться вполне хватит.

Но чтобы поработать с сервером, потребуется как минимум эмулятор терминала IBM5250 (он же TN5250). Есть платные — их не пробовал. Мы работаем с бесплатным пакетом от IBM — Access i Client Solutions (чтобы скачать тоже придется зарегистритьваться бесплатно — получить IBM Id, если лень — могу дать ссылку на DropBox — лежит у меня одна из последгних версий). Там кроме терминала еще средство для работы со спулфайлами, интеактивный SQL (он есть и в самой системе, но в терминале не так удобно), средство для работы с БД (DB/2 — просмотр структур таблиц, индексов и т.п.). Ставится под Win, Mac, Linux.

Если захочется что-то программировать, то… можно конечно в терминале писать — там есть редактор SEU, но та еще радость…

Из бесплатных знаю только старую версию ILE Editor. У меня есть, но не работал с ней. RDi вряд ли получится так просто бесплатно получить. Он, вроде, платный. Сам-то Eclipse бесплатный, но вот все что связано с AS-кой…
Большое спасибо за информацию. Я правда совсем не представляю как я потом применю все эти знания, но какие-то концепции рано или поздно, думаю, окажутся полезными :)
Ну с применением практических знаний по AS/400 у нас туговато — мало кто работает на IBM PowerS. Навскидку — Альфа, Райф, Росбанк. Из чисто софтверных фирм — Cinimex (знаю т.к. они наши вендоры и часть задач они для нас делают).

Но вообще специалистов по AS-ке в РФ очень мало. У нас это даже в требованих к вакансии не пишут — берут человека и обучают.

Если просто ради любопытства — для начала хватит Солтиса. Там достаточно много технической информации. А если вдруг захочется что-то руками попробовать-глазами посмотреть — PUB400.

Выглядит это примерно так:

image

Аскетично :-)
Ну… Есть приколы. В оригинальном терминале 24 функциональных клавиши. И очень быстро научаешься считать «F17 — это Shift + F какая?» :-)

Часть задач через меню делается, но потом надоедает и переходишь на все эти EDTLIBL WRKOBJ DSPFFD WRKSPLF и т.п. (все это команды языка CL) :-)

Или вот такое:
CPYTOSTMF FROMMBR('/QSYS.LIB/ASRCVPN.LIB/ECLSRC100.FILE/ECAPF.MBR') TOSTMF('/home/y2ku/ecapf.pf') STMFCCSID(*PCASCII)
По моему, это волшебно ) Жаль не показать никому )
Отличие AS-ки еще в том, что там все сразу внутри есть. Каккой-никакой редактор (STRSEU), интерактивный SQL (STRSQL), встроенная БД (DB/2), компиляторы языков C, C++, RPG, COBOL, CL (CRTBNDC, CRTBNDCPP, CRTBNDRPG, CRTBNDCBL, CRTBNDCL соответственно), отладчик (STRDBG) и даже возможность отлаживать программы, которые запускаются в другой задаче. Например, запускаете программу из терминала, она в свою очередь запускает другую программу в фоновой задаче (spawn в С или SBMJOB из CL). Так вот можно специальным образом поставить «сервисный брейк» в фоновой программе и тогда она в нужный момент выдаст вам сообщение о том, что фоновая программа встала на этот брейк. Открываете еще одно окно терминала и там отлаживатесь.

Многопоточность тоже поддерживается (POSIX Threads), но наше сопровождение не приветствует т.к. они не могут контролировать потоки, только задачи (JOB). Так что параллельную обработку делаем через запуск обработчика в фоновых задачах. А уж общаться между задачами можно разными способами — есть пайпы, есть UnixSockets, есть чисто AS-ные средства типа очередей данных — *DTAQ и *USRQ…

Одноуровневая память (есть дисковые объекты типа *USRSPC, на которые можно получить указатель и работать с ними как с обычной памятью). Размерность указателя, кстати, 16 байт :-)

Для разработчика очень интересная система. Например, там нет ассемблера как класса. Есть TIMI — Technology Independant Machine Instrictions (ну или просто MI). Это уровень, ниже которого простым смертным нет доступа никак. Любой программный объект кроме исполняемого кода содержит еще TIMI код и метку под какую конкретную платформу этот объект собран.
При запуске система проверяет — совпадает ли эта метка с текущей платформой. Если нет, то исполняемый код будет пересобран под текущую платформу. У нас это происходит при установке поставки на пром. Тестовый сервер PowerS924 (1 18-ядерный SMT8 процессор с 1.8ТБ оперативки), а на проме кластер из трех PowerS928 (в каждом 16 12-ядерных SMT8 процессоров и 2.5Тб оперативки).
16-байтовые указатели — это немало… В них есть теги/биты защиты или все это чтобы адресовать такое большое пространство памяти?

Очень интересно узнать про очереди данных и вообще все вещи, которые не встретить например в линуксе.

После пересборки из TIMI новый исполняемый код записывается в старый файл программы?

Есть ли какие-то механизмы защиты памяти, разделения доступа, права на уровне инструкций процессора / операционной системы?
Биты защиты в указателях есть. У солтиса это все описано.

Защита памяти есть, т.е. в рамках job-а она вся общая, Но только в рамках одного задания. Между заданиями или шарить специально, или передавать данные по каналам связи.

С защитой на уроне прав доступа там все очень серьезно. Хотя я в это глубоко не вникал (у Солтиса целая глава про это).

Там есть определенный уровень, ниже которого доступ только у разработчиков системы.

Кроме того, система объектно-ориентированная. Все есть объект. Там нет понятия файл в привычном на понимании. Есть объект, который характеризуется именем и типом. Тип определяется при создании (как объект создавался) и поменять его нельзя. На уровне MI работа идет с объектами. Для каждого типа объекта есть набор допустимых с ним операций. Выполнять можно только их. Например, нельзя HEX редактором открыть программный объект (*PGM) и поправить пару байтиков — эта операция не разрешена для данного типа.

Что касается очередей. Их там много разных — есть очереди сообщений (MQ), очереди данных (DTAQ), пользовательские очереди (USRQ).

DTAQ есть дисковый объект. Создается он командой CRTDTAQ с указанием полного (qualified) имени в формате библиотека/имя. Ну и плюс параметры — максимальный размер и т.п. Там же указывается тип очереди — FIFO/LIFO/KEYED. первые два понятно, а последний позволяет класть в очередь данные с ключем и брать оттуда данные по ключу.

Если объект создали, он будет существовать пока его не удалят (DLTDTAQ). И все данные, что в него положили (но не прочитали) тоже там сохранятся.

Работа с ним аналогична работе с UDP DGRAM сокетом. Т.е. работает с «посылками» (не с потоком). Посылка (длина ее не фиксирована в общем случае) есть атом — кладется в очередь одна посылка — одна операция. Получается также — одна операция — одна посылка.

А дальше всего две функции — положить в очередь и получить из очереди. При получении посылка удаляется из очереди.

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

Есть еще USER QUEUE — практически тоже самое, но более низкоуровневое — создать и удалить можно функциями API, но вот читать и писать толкьо через MI. На С возможно это реализовать, но там заморочно — нужно сначала получать указатель на системный объект (*SYSPTR) а потом уже работать с ним. Но работает немного быстрее т.к. один раз получил *SYSPTR и с ним потом работаетшь. А системные API для DTAQ работают с именем т.е. внутри каждый раз получают этот указатель.

Подробности тут
Довольно прогрессивный набор инструментальных концепций. Уже зачесались руки с этим всем поработать
А если учесть, что все это разрабатывалось в 80-х годах прошлого столетия…

И ни одна из распостраненных ОС концептуально и близко не подошла к этим решениям.

Там еще и с интерфейсов забавно все.
Он, конечно, текстовый, но может быть достаточно навороченным — списки, менюшки, окна, радиокнопки с выбором, упраление цветом, видимостью полей и т.п.

Вот это достаточно просто вариант

image

Все это рисуется практически как в виндах (правда, для этого нужен RDi — других визуальных редакторов я не видел). И описывается на языке DDS (Data Descriptions Specifications). И потом компилируется в т.н. «дисплейный файл» — объект *DSPF.

В файле описываются константы (просто текст) и поля (переменные) которые могут быть только для вывода, только для ввода и для ввода-вывода

Файл содержит несколько типов записей.Каждая запись — экран.

В программе этот файл открывается и… Чтобы вывести что-то на экран приваиваем полям-переменным нужные значения и делаем Write для соответсвующего типа записи. Потом делает для нее Read и оно уходит в режим ввода там можно вводить данные и потом нажать Enter или F-клавишу. Возвращаемся обратно в программу и поля-переменные содержат то что ввели.

Обычно Программа содержит несколько экранов — заполнили один — обработали — выводим следующий.

Аналогично вывод на принтер — там тоже примерно также все. Только тип объекта *PRTF.
Офигеть, это удобнейший интерфейс ever — по крайней мере для программирования. Есть ли ссылка на более подробный мануал по нему (страницы книги, ссылка на которую выше?) А как сменить экран?
UFO just landed and posted this here
Sign up to leave a comment.

Articles