Байки из отдела АСУ. Как я стал программистом

Сообщество - О жизни

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

"Мы все учились понемногу

Чему-нибудь и как-нибудь"

Ты помнишь как все начиналось?

Случилось чудо, в 11 классе средней школы ввели урок Информатика и вычислительная техника.  Учитель нам рассказывала о алгоритмических языках программирования, но практические занятия были на калькуляторах Электроника МК-61. Уникальная техника, сложить 2+2 на нем было не так просто, для этого использовался стек, из-за этого неподготовленный пользователь просто не мог сделать столь простую операцию.

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

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

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

Так началась моя карьера программиста


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

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

 
Что Бог не делает всё к лучшему

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

И это было великолепно

Чистые помещения, интеллигентные люди, большой выбор операционных систем. В классах АСУ было сосредоточено большое разнообразие компьютеров. БК, ZX Spectrum, ДВК, Термиалы большой ЭВМ крупнейшего завода. Но я безошибочно подошел к ЕС 1840. IBM совместимый компьютер, созданный на базе аналога процессора Intel 8086 с 640 килобайт ОЗУ, выпускавшиеся в силиконовой долине СССР, в белорусском городе Минск.

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

Хотя код процессора не был оригинален и был скопирован у наших американских потенциальных «друзей», операционная система была своя. М86, видимо цифры обозначали год начала разработки. Операционная система была великолепно документирована и имела псевдографический интерфейс многих программ, например, форматирование дискет было даже эстетично, не то что у американцев команда format.

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

Первый язык программирования нам начали преподавать BASIC. На мой взгляд это вредительство. Прономерованные строки, постоянное использование безусловного перехода, безобъектное программирование, без процедур, без модулей. Все это должно было наводить на мысль, что делается попытка как можно больше людей отвадить от программирования. Программа в 400 срок становилась абсолютно нечитаемой. Ни о каких серьезных разработках не было и речи. Кроме того, нельзя было откомпилировать программу, работа программы была в режиме интерпретатора. Сначала запускалась оболочка BASIC из которой запускалась программа. Чем-то мне это напоминает 1С Предприятие, может быть благодаря тому опыту я и смирился со структурой нашей любимой программы.

Экспериментируя в этой операционной системе, с системой разработки GW BASIC, мне удалось написать музыкальный синтезатор. Конечно это не было коммерческим проектом и успехом это назвать нельзя. Документация к среде разработки была на русском языке, к дискетам прилагались толстые книги.


Хочется отдельно сказать про дискеты, которые по-английски назывались FLOPPY дисками, они действительно были гнущиеся и хранить их приходилось в определенных конвертах стоили они невероятных денег, в карман не умещались. В переполненном общественном транспорте нужно было проявлять крайнюю осторожность, чтоб довести их в целости и сохранности. Размер дисков был 5’25 дюйма. Хранилось на них небольшое количество информации при двойной плотности 320 килобайт данных. Что в 2018 году звучит просто парадоксально.


Бросив советскую операционную систему, я проникся американский MS DOS версии 2.0, которая значительно отставала от Советской разработки. На смену ей быстро пришла версия 3.0, с большим количеством доработок. Появились дошедшие до современного мира директории, в отличии от советской разработки М86, которая так и застыла на месте.

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

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

Главное преимущество MS DOS, было наличие игр. Предавшись многим из них было убито огромное количество времени.

Наконец попалась приличная среда разработки Borland Pascal версии 5.5. Великолепный язык по тем временам, но совершенно невостребованный сегодняшний день. Был у меня вариант выбрать язык C, но ошибочно был выбран Pascal.

Есть такое языковое понятие Родной язык – это язык на котором думаешь и как правило это первый язык, усвоенный с детства. Потом можно учить другие языки, но думать получается только на первом. Так и с языками программирования. Первый глубоко изученный язык оставит неизгладимый отпечаток на всю карьеру. Потом, при изучении новых языков все время будет происходить сравнение. В современном мире получили распространение C-подобные языки программирования и тем, кто мыслит на Pascal приходится дополнительно напрягаться.

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

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

ЕС 1840 не были супернадежными компьютерами. Выходили они из строя часто, чинились долго. Ремонтировать их приходил настоящий электронщик, который редко заменял платы или блоки целиком, а перепаивал микросхемы.
Отдельно необходимо упомянуть про мониторы, которые мы использовали при нашем обучении. Мониторы были CGA разрешением 320 на 200 точек, с шестнадцатью градациями серого. Надо признать, что несомненно это было большим ограничением для графических приложений.

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

Были у нас на курсе и практические задачи

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

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

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

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

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

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

Техническое оснащение отдела АСУ этого заведения было гораздо более продвинутым, и мы использовали компьютеры NIXDORF, с процессором Intel 80286, одним мегабайтом оперативной памяти жесткими дисками 10 Мб, с мониторами EGA 640х480х256.

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

- Это у нас сервер.

- А почему он выключен -, поинтересовался я.

- А толку от него. Файлы мы и без него на дискетах перенесем, или по сети передадим.

- По сети? -, у меня перехватило дыхание.

- Да, мы тут ее по всей территории тянем -, невозмутимо ответил мой провожатый.

С того момента мир вокруг меня поменялся, стало понятно, что сеть компьютеров намного интереснее персонального компьютера. Передача данных велась по коаксиальному кабелю, с использованием самодельных ArcNET адаптеров, со скоростью 2,5 Мбит/с, на расстояние более 1 километра, без активного сетевого оборудования.

Дискеты использовались 3’5 дюйма, которые были намного удобнее, потому что умещались в карман, сделаны были из твердого пластика, имели шторку на окошке доступа, имели большую емкость.
Цветные мониторы - это замечательная вещь, но при таком качестве изображения на лучевой трубке у меня после 8 часового рабочего дня был сильный туман в глазах, зрение садилась с катастрофической быстротой.

Программировали мы на Borland Pascal 6.0 с использованием Turbo Vision. Несмотря на то что операционная система была MS DOS, которая могла адресоваться только к 640 килобайтам памяти, половину которой уже занимала среда разработки, расширенный режим процессора 80286 позволял использовать и дополнительную память сверх 640 килобайт, что увеличивало скорость компиляции емких программ с Turbo Vision.

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

Мы были очень удивлены, что этот специалист признал, что ему с нами не по пути и не стал у нас работать, а ведь блатной и мог возглавить отдел.

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

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

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

8

См. также

Комментарии
Сортировка: Древо
1. PerlAmutor 30 26.08.18 20:43 Сейчас в теме
Прям ностальгия. Я свой путь программиста начинал с приставки "Сюбор". После появления первого компьютера решил изучать ассемблер. Tasm, Masm32, Nasm, в итоге FASM и AT&T под Linux. Затем С++ (Borland), g++(MinGW) + Qt. Затем скриптовые языки: Python, Perl, Lua, Tcl, C#, JavaScript, PHP. Дальше больше в T-SQL, HTML верстка, макросы на Visual Basic. В итоге начал изучать 1С и удивился скудности инструментов в нем и самого языка. То, на что у меня уходили минуты и секунды с 1С превращается в дни и недели. Но если за это хорошо платят, то почему бы и нет...
2. acanta 44 26.08.18 22:30 Сейчас в теме
(1)
Но если за это хорошо платят, то почему бы и нет...

На защите дипломного на меня шикали и стучали по часам, потому что "остапа понесло" и я начала подробно рассказывать содержание листинга программы на фокспро, распечатанного и приложенного к диплому, и в общем-то притянутому за уши к теме.
Что-то про выборку каждого N-го объекта по каким-либо критериям из базы данных. Программу заказала ближайшим программистам в городе, озвучила ТЗ (мне для диплома с такой-то темой и очень быстро, за две недели). После получения перед сдачей немного доработала код и показала автору первоначальной версии. Автор только спросил "ты это сама писала"? Интересно, что я должна была ему ответить? Он сказал что я смогу работать программистом. На этом в карьере была поставлена точка.
3. acanta 44 26.08.18 23:23 Сейчас в теме
Меня никогда не интересовало хорошо за это платят или нет, что у компьютера в кишках и как оно работает.
После трудоустройства во франч купила отвертку чтобы прикручивать хаспы и плоскогубцы чтобы откручивать болты принтеров и вытаскивать обломки коннекторов из разъемов сетевых карт.
Доработки типовых в 7ке шли такими темпами, что я была уверена что методистам-внедренцам хватит работы лет на 10, а затем подавляющее число предприятий будут работать на типовых.
На семинаре, фирма Абби показывала 1с 8.0, сказали что это программа не для переученных в 1с ники бухгалтеров с книжками из коробки. Вскоре после этого франч закрылся, я ушла на 7.7 на фикси. Новый работодатель имел на меня какие то планы, а старый дал им рекомендации что несмотря на несколько строчек "бухгалтер" в трудовой и непрофильный вуз я очень хороший программист. Спустя 6 лет он пришел проверить насколько он ошибся в своих рекомендациях и уточнить были ли мной довольны работодатели. "Мы в ответе за тех... "
Иногда клиенты желают потрындеть на тему "а что у нас нового в 1с". И я честно поддерживаю этот диалог. Принципиально не продаю коробки. Отвечаю что купите - на том и будем работать. Мне неинтересен бизнес и его проблемы. Это нечто что заставит вас встать, одеться, позавтракать и выйти из дома. Мне безразлично какой там санузел и как туда добираться. Я не режу салатиков в обеденный перерыв и не составляю компанию в шоппинге.
Мне все равно во сколько уходить с работы - в 17 или в два часа ночи. Мне все равно сколько лет в изучении 8ки я пропустила. Мне все равно сколько времени потребуется чтобы догнать и кого. Сколько раз в тексте встречается "мне все равно" мне тоже неинтересно. Я не энтузиаст, которому интересно программирование. Я чернорабочий, которому нечем заняться, поэтому я могу делать что-то в программе, пока остальные живут своей жизнью.
Последнее время актуальна проблема в том что пользователи линейки программ 8.2 (КА1, ЗУП 2,5, УТ 10) могут бесплатно перейти на 8.3(КА2, ЗУП3, УТ 11).
Сами. Если захотят конечно. В такой ситуации любой специалист фикси служит скорее препятствием, чем помощником. То, что специалист франчайзи с легкостью сделает для 10 клиентов в день в период с января по апрель, фикси не сделает и за год. Потому что это работа франчайзи (как у продавцов цветов к 14 февраля и 8 марта).
4. katenok86 242 27.08.18 10:53 Сейчас в теме
(3)
Последнее время актуальна проблема в том что пользователи линейки программ 8.2 (КА1, ЗУП 2,5, УТ 10) могут бесплатно перейти на 8.3(КА2, ЗУП3, УТ 11)


Перенести то можно а вот с пользователями кто потом на этом будут сами работать я бы познакомилась. Слишком координально отличаются программы, без обучения тут ни как
for-elenak; +1 Ответить
5. genayo 27.08.18 11:59 Сейчас в теме
(4) Ну "кардинально" же, а не "координально"
6. acanta 44 27.08.18 12:24 Сейчас в теме
5. Травка зенелеет. Любые различия делятся по принципу абс. 20% считаются лучше чем было. 65% изменений пусть будет, 15% отличий координально неприемлемы и выкинуть нафиг всю программу. У вас есть статистика какие это 20 и 15%?
7. alex-l19041 9 27.08.18 12:47 Сейчас в теме
... дааа ... MS-DOS, BASIC, Pascal,... CGA, EGA,VGA,...
9. A_Max 16 28.08.18 16:02 Сейчас в теме
(7) F-19 засталяющий выучить профили самолётов :o)

Радио-86РК, Нева-501, Специалист, БК-0010, Искра-1030, Турбо-86 (EGA и два seagate по 20МБ!), ну а дальше банальность современная

Весь этот опыт даёт представление о том как всё работает на самом деле и cо скептицизмом относиться к пояляющимся супер-пупер новым технологиям
8. creatermc 27.08.18 16:15 Сейчас в теме
Да конечно все с чего то начинали, кто то разбирал диски, кто то ковырялся с принтерами, а кто то изучал hex редактор и давал возможность запускать игрушки на легендарном Пентагон-128К
Главное не останавливались на достигнутом и шли вперед с надеждой стать высококлассными специалистами в своей области которая была малопонятна многим и смотрели на нее с опаской и не доверием.
Оставьте свое сообщение