Попаданец тыжпрограммист

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

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

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

Хотя что там заказ, не факт, что сайт вообще загрузится из-за глушилок.

Василий положил сканер штрихкодов в карман и полез на самую верхнюю полку.

Василий достал оттуда коробку с соком и учащённо задышал. Затем он взял сок из упаковки и достав из кармана сканер штрихкодов пробил сок.

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

А сам же Василий с ноющими ногами пошел к пакетам.

– Всего одна позиция… – Василий закатил глаза.

– У меня как-то раз была одна позиция из трёх пяти килограммовых мешков сахара. – сказал один из сборщиков заказов в разговоре с другим.

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

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

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

Приложение зависло из-за глушилок, что создавались ради защиты склада.

– И за приложение они получают миллионы? – размышлял Василий . – Какое-то там приложение из пары страниц?! Уж лучше бы за сбор заказов столько платили!

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

– Вот тогда бы они запели, как миленькие… – пронеслось в голове Василия. – познали бы жизнь….

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

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

И тут он завернул за угол и пошёл к закрытой двери. Он открыл её и зашёл в морозильник. Там был ещё больший мороз, чем в холодильнике.

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

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

***

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

– О, очнулся. – сказал человек и нажал кнопку. – пропустите их.

И вот в палату вошли люди, которых он не видел ни разу за ежедневную работу на складе.

– Василий, – сказал посетитель. – наконец-то ты очнулся.

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

Посетитель посмотрел на человека в белом халате.

– После сотрясения, – прошептал врач и вздохнул. – у него амнезия. Он должен общаться с теми, кто его хорошо знает и тогда есть шансы того, что он вспомнит всё.

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

– Но у него нет близких… – сказал посетитель. – да и как быть с работой? Без неё он останется без средств к существованию.

– Ну мы не можем его содержать здесь всё время. – человек в халате зевнул. – есть более тяжёлые случаи и они в приоритете.

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

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

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

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

– Простите, Дмитрий, а где та кнопка, которой вы создаёте свои программы? – Василий обратился к сидящему рядом Димитрию.

– Во-первых, я Димитрий, а не Дмитрий… – прправил Димитрий. – А во-вторых, ты имеешь в виду компилятор или интерпретатор?

– Нет кнопку, которую вы нажимаете, чтобы создать своё приложение.

– А ты имеешь в виду кнопку, чтобы открыть консоль для конвертации программы в приложение?

– Нет, кнопку, чтобы создать приложение…

– А спросил бы сразу где вход в среду разработки. – Димитрий закатил глаза. – У тебя там какая задача?

– Создать мобильное приложение по сборке заказов. – прочёл Василий в списке полученных задач.

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

– Простите, что? – Василий закрыл левый глаз. – Я из всего этого понял только операционная система, а что такое виртуальная машина?

– Эх… – Димитрий покачал головой и тяжело вздохнул. – за что мне наказание восстанавливать память человеку после амнезии?

– А как это сделать? – спросил Василий. – Где на клавиатуре кнопка виртуальной машины? Могли бы и предусмотреть её при создании клавы…

– Мы не создаём клавиатуру, – вздохнул Димитрий. – мы пишем код…

– Ты ж программист, как это вы не чините? – спросил Василий. – Что вы даже принтер не в состоянии починить?

– Да у тебя как будто не амнезия, а изменение личности… – Димитрий закатил глаза. – хотя можно травму головы.

– А где тут надпись виртуальная машина? – спросил Василий.

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

Затем Димитрий ещё раз сверился с заданием Василия и открыл соответствующий эмулятор операционной системы.

Димитрий подождал пока эмулятор откроет операционную систему и нажал на иконку среды разработки запустив приложение.

Затем он открыл файл загрузил файл с программой и появился тулбар, который показывал создание новой программы.

Однако делал он это со скоростью улитки или ещё медленнее.

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

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

– Э… а где приложение? – Василий почесал голову и Димитрий наклонился над его экраном.

– Так ты компилятор запустил изначальную программу… – сказал Димитрий и указал на белый текст на чёрном фоне. – Вот смотри в консоли программа напечатала привет мир на английском языке.

– А где тут кнопка для создания программы? – спросил Василий и Димитрий рассмеялся.

– Тут нужно словами написать. – сказал Димитрий.

– Создай приложение для сборки заказов. – написал Василий и нажал на кнопку компилятора.

Однако консоль написала текст на английском языке и не появилось никакого интерфейса для сборки заказов.

– Э… – промычал Василий. – Где приложение?

И Димитрий склонился вновь над экраном Василия и хлопнул себя по лицу.

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

– Чего? – Василий прищурил глаза, пытаясь понять всё услышанное.

– Ты написал русскими буквами?

– Да.

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

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

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

– Процедурную? Парадигму? ООП? – Василий вновь почесал затылок. – это ещё что за зверь и с чем его едят?

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

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

– Читабельность кода? – лицо Василия скривилось. – Разве не проще было писать код на русском языке?

– Мы пишем код на языках программирования, – сказал Димитрий. – но сами ЯП пишем не мы.

– Вы ж программисты! – прорычал Василий. – Как это вы не создаёте ЯП? А что такое компилятор? Интерпретатор? Виртуальные машины? Это разве не ЯП?

– Нет, – Димитрий покачал головой. – это не ЯП, это средства для программирования, которые находятся над ЯП.

– Средства? – лицо Василия скривилось, прикрыв один глаз. – А ЯП это тогда что?

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

– Чё? – Василий посмотрел на Димитрия. – Нельзя было проще сделать? Без этого интерпретатора и компилятора?

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

– Да причём тут нули и единицы? – вскочил Василий. – Программы должны быть на нормальном языке, на русском!

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

– Ладно, а как вспомнить эту инструкцию? – спросил Василий, желая закончить этот разговор.

– Через документацию по ЯП или библиотекам твоего ЯП. – сказал Димитрий и показал Василию на сайты с документацией.

– Э, – прокричал Василий. – чё они все на английском?

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

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

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

И Василий занёс всё в текстовый документ и нажал кнопку подчёркнутый текст и после переноса, подчёркивание исчезло.

– Не работает! – рявкнул Василий и ударил по столу.

– Так ты используй не подчёркивание, а символ подчёркивания… – сказал Димитрий, вглядываясь в ошибку.

И вот Василий нажал кнопку заменить пробелы на нижнее подчёркивание и вставил в среду разработки.

Однако та снова выдала ошибку и Димитрий закатил глаза.

– Скажи честно, – начал Димитрий. – ты помнишь, что такое фейспалм?

– Да… – Василий почесал затылок.

– Вот… Именно так я сейчас себя чувствую. – сказал Димитрий. – Нижнее подчёркивание нужно лишь в пользовательских именованиях.

– Ни разу о таких не слышал со стороны пользователей… – пробубнил Василий. – Как пользователи получают к ним доступ?

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

– Почему их не назвать программисткими? – спросил Василий. – Это ж было логичней!

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

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

– Чё за файл тз? – спросил Василий.

– Это техническое задание… – сказал Димитрий со стеклянным взглядом. – в нём рассказано о том, что и как разрабатывать.

Василий посмотрел в содержание файла и сравнил его с предыдущим. Его функции не было в новом файле.

– Э! – прорычал Василий. – Тут нет моей функции!

– Бывает, – пожал плечами Димитрий и зевнул. – причём очень часто.

– Это ж не справедливо! – возмутился Василий. – Я тут работал в пустую!

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

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

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

– Да уж… – вздохнул Василий и тут же вспомнил ситуацию с зависшим приложением. – а что насчёт серверов? Над ними, что не программисты работают?

– Над ними свои разработчики работают также и над операционными системами работают совершенно другие разработчики. В одной ОС может быть от миллиона строк кода…

– Миллиона? – Василий выпучил глаза. – Как это миллиона? Это ж всего лишь главный экран.

– Нет, – покачал головой Димитрий. – это лишь то, что видит пользователь над системой БИОС или на русском БВВС, то есть базовая система ввода-вывода. И даже она всего лишь вершина айсберга.

– А сейчас извини, – сказал Димитрий. – мне нужно работать, иначе останусь на переработках.

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

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

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

А сам Димитрий тем временем написал специалисту по внедрению и сообщил об ожидании к готовности приложения.

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

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

– Да уж… – взгляд Василия застыл на экране, а сам Василий ждал окончание рабочего дня. – вот тебе и лёгкие деньги.

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

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

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

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

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

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

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

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

От автора

Изначально меня выбесила фраза: "Ты ж программист, почини принтер" и в итоге я написал один рассказ, а дальше идеи пошли своим чередом.

Загрузка...