Автор книги: Кен Уильямс
Жанр: Хобби и Ремесла, Дом и Семья
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 2 (всего у книги 25 страниц) [доступный отрывок для чтения: 8 страниц]
Глава 5. (1972–1973) Юность: Кен получает образование
…Десять лет по три дня в неделю я читал книги в публичной библиотеке, и это было лучше, чем колледж. Люди должны заниматься самообразованием – так можно получить полноценное образование совершенно бесплатно…
Рэй Брэдбери, писатель
В выпускном классе средней школы мы поехали на экскурсию в Калифорнийский университет в Лос-Анджелесе (UCLA). Единственная часть поездки, которая мне запомнилась, – именно тогда я впервые увидел компьютер.
Сейчас это невозможно себе представить, ведь компьютеры стали неотъемлемой частью нашей жизни, хоть и относительно недавно. А в те времена я компьютеров еще не встречал. Весь мир современных технологий только зарождался – лишь годы спустя, на первом курсе университета, я впервые увидел карманный калькулятор.
Я не знаю, было ли то, что я увидел в Калифорнийском университете, полноценным компьютером, или это был просто монитор с клавиатурой, а компьютер, к которому они были подключены, находился где-то еще. Все, что я помню, – как я подошел к клавиатуре и впервые в жизни сыграл в компьютерную игру. Это была текстовая игра Star Trek по мотивам телесериала «Звездный путь».
Игра Star Trek
Star Trek – текстовая стратегическая компьютерная игра, основанная на телесериале «Звездный путь». Игрок выступает в роли командира звездолета «Энтерпрайз», который странствует по галактике и выслеживает клингонские военные корабли в течение отведенного времени. Игра начинается с краткого текстового описания поставленной перед игроком задачи, после чего можно вводить команды. В начале каждой миссии задается то или иное количество клингонских кораблей, дружественных звездных баз и звезд, разбросанных по всей галактике. Галактика изображена в виде сетки «квадрантов» 8 на 8. Каждый квадрант также разделен на секторы – тоже сеткой 8 на 8. Количество звезд, клингонских кораблей и звездных баз в любом квадранте задается в начале игры, но их точное положение меняется каждый раз, когда игрок входит в этот квадрант.
«Википедия» https://en.wikipedia.org/wiki/Star_Trek_(1971_video_game)
В тот момент я был в полном восторге! Я понятия не имел о самом существовании компьютеров, тем более о том, как они работают. Я просто знал, что увидел самую потрясающую штуку на свете. Не могу сказать, что из-за этой встречи с компьютером захотел разрабатывать программное обеспечение – в те времена я и слов-то таких не знал. Я даже не представлял, что на программировании можно выстроить карьеру – в те времена это было нереально.
Тогда вузы даже и не предлагали студентам компьютерных специальностей. Я как раз поэтому и выбрал именно физику – когда я посмотрел на список курсов, мне представилось, что как раз у студентов-физиков много компьютерных классов.
Таким образом, в моем расписании оказались занятия по физике, высшей математике и вычислительной технике.
Впервые в жизни я напоролся на преграду, с которой не мог справиться.
Высшая математика оказалась мне не по зубам. Если на занятиях по физике еще было весело, то на высшей математике приходилось решать дифференциальные уравнения. Не то чтобы я не пытался учиться. Это было просто «не мое».
В университете был только один курс, где я по-настоящему блистал, и это была вычислительная техника, то бишь программирование.
Первое крупное поражение Кена: высшая математика
В те дни написание программного кода выглядело совсем иначе, чем сейчас. Я даже не видел компьютер, для которого программировал. Вместо этого нас усаживали в комнату с несколькими «устройствами подготовки данных» (УПД)[3]3
В оригинале используется словосочетание keypunch machine, клавишный перфоратор, а УПД – это русскоязычный эквивалент его названия в те времена. Устройства подготовки данных (УПД) применялись для подготовки данных на перфоносителях – перфолентах и перфокартах. Оно представляло собой отдельный от компьютера электромеханический прибор с собственной клавиатурой; оператор вводил данные – например код программы – с клавиатуры, и устройство выбивало на перфокарте соответствующие отверстия. – Прим. пер.
[Закрыть] – мы жали на клавиши, устройства пробивали дырки в перфокартах. А потом нужно было отнести готовую пачку карт в специальное окошко, где с ними дальше работал какой-то невидимый оператор компьютера. В корзину для бумаг скидывали распечатки с ошибками компилятора или результатами работы вашей компьютерной программы, если она изволила выполниться.
Устройство подготовки данных
Чтобы написать код, мне нужно было сесть за клавиатуру УПД и набрать на этой клавиатуре компьютерную программу – по одной строке за раз. Каждая строка, которую я набирал, заполняла одну перфокарту.
Перфокарта (максимум 80 знаков на каждой карте)
Компьютерная программа представляла собой стопку перфокарт – иногда несколько сотен. Если я писал программу дома, мне нужно было приехать в университет, набрать программный код на перфокартах, передать готовую стопку карт в окошко оператору, а затем вернуться через несколько часов, чтобы проверить, работает ли программа.
По вечерам после учебы я работал. Каждый вечер, часто по многу раз за вечер, мы с Робертой заезжали в университет, чтобы посмотреть, успешно ли выполнилась моя программа. Я заглядывал в корзину с компьютерными распечатками, надеясь найти хоть одну с моим именем. Иногда мы с Робертой часами сидели и ждали, пока программа выполнится, а потом выяснялось, что я где-то допустил небольшую ошибку, и мне нужно было заменить какую-то перфокарту в стопке и снова отдать стопку оператору, и опять долго ждать результатов.
Звучит примитивно? Так оно и было. Программирование было многочасовым делом, над которым нужно было корпеть днем и ночью. Чтобы отладить программу, надо было посмотреть распечатку, которую я получал через несколько часов после того, как передал стопку перфокарт оператору. Приходилось держать несколько раздельных коробок с перфокартами для разных программ. Часто получалось так, что я отправлял свою программу оператору, ждал четыре часа, приезжал в университет и обнаруживал, что по оплошности допустил опечатку в какой-нибудь малоизвестной команде. Это значило, что мне нужно быстро исправить ошибку и заново подать перфокарты оператору – и я терял несколько часов. Но мне было все равно! Среди всех занятий в мои студенческие годы это было самое интересное.
Кстати, много лет спустя, когда я уже работал программистом-разработчиком в компании Bekins Moving and Storage, другой программист принес из компьютерного зала мою коробку с карточками, но без распечатки.
– Где моя распечатка? У меня там баг? – спросил я. Коллега ответил: «Да» и открыл коробку. Оттуда выполз таракан[4]4
У слова bug есть и прямое значение – «жук», «насекомое». – Прим. пер.
[Закрыть]. Шутки программистов не всегда понятны людям, далеким от IT.
Вместе с супружеством появились счета и ответственность. К моменту, как мы поженились, я закончил только первый курс университета.
Роберта все еще работала, но сказать, что у нас финансовые трудности, значило бы ничего не сказать. Роберта об этой своей работе вспоминает с немалым отвращением. До движения #metoo тогда еще оставалось несколько десятилетий.
Мистер С ‹…›, сальный и толстый немолодой мужчина, наверное, лет сорока или пятидесяти, любил заставлять меня забираться на стремянку, чтобы расставить папки по полкам. Стремянка была приставлена к высокой стене, где полки с папками шли до самого потолка. Я все еще носила короткие платья или юбки (как и большинство девушек в те времена!). Поэтому он и требовал, чтобы я лезла на стремянку и «расставляла папки» на «верхнюю полку», а он в это время стоял внизу и глядел вверх. Еще и замечания всегда делал такие двусмысленные…
Роберта Уильямс
Через несколько месяцев после свадьбы Роберта забеременела нашим сыном Диджеем. Именно эта соломинка и сломала спину верблюда окончательно. Я не мог работать сразу на нескольких работах и очно учиться в университете. Помимо того, что я руководил бригадой, продававшей газеты по домам, и готовил пиццу в заведении с едой навынос, я работал по вечерам и в выходные дни – подметал площадку автокинотеатра, где после машин оставалось достаточно мусора. Приходилось сметать грязные подгузники, попкорн и другие вещи, о которых и рассказывать не хочется.
У меня не было другого выбора, кроме как бросить учебу и искать более денежную работу на полный рабочий день. Я быстро нашел работу на заводе, где шлифовали стекловолокно. Здесь на рабочем месте нужно было носить что-то вроде космического скафандра, чтобы стеклянная пыль не попала в легкие.
Работа на фабричной производственной линии – страшная скука. В скафандре мне было не только скучно, но еще жарко, потно и неприятно. Чтобы не сойти с ума, я начал анализировать процессы и быстро придумал, как повысить производительность. Несколько недель мой участок работал почти в два раза быстрее обычного. Это вовсе не значило, что завод стал работать продуктивнее – наоборот, моя бригада маялась от безделья, а готовые изделия лежали на полу, пока следующая бригада дальше по производственной линии пыталась обработать все то, что мы им подавали. Я пошел к начальнику и спросил, нельзя ли мне поработать над оптимизацией всей линии, чтобы справиться с заторами.
Начальник видел перед собой восемнадцатилетнего нахала, который воображал, что знает все на свете, и на которого жаловались другие бригады. Я объяснил, что обязательно смогу удвоить производительность всего завода. В ответ начальник меня уволил. Он сказал, что я здесь явно не на своем месте и на другой работе мне будет лучше. Он был прав.
Но мы с Робертой оказались на мели. Я нигде не учился, не работал, еще и с беременной женой. Что делать?
Занятия по вычислительной технике в университете оставили у меня самые приятные воспоминания. Мне казалось, что за компьютерами будущее, и я смогу найти работу, где буду заниматься только компьютерами и ничем больше. Вот это была мечта!
Все перевернулось, когда я увидел рекламу школы компьютерного программирования – она обещала будущим айтишникам ДЕНЬЖИЩИ.
Школа была не из дешевых: пять тысяч долларов! Но была и хорошая новость: можно было взять в банке студенческий кредит (их для молодежи субсидировало правительство) и платить всего 47 долларов в месяц. Выплаты начинались только через год после окончания учебы. Расплачиваться за этот кредит мне в любом случае пришлось бы много лет, но если бы я смог найти работу, где платили бы те самые ДЕНЬЖИЩИ, то все бы у меня было бы в шоколаде. Единственная загвоздка заключалась в том, что мне нужен был поручитель по кредиту: если я не смогу выплачивать кредит, банк стрясет деньги с поручителя. Моим родителям это было не по карману, но родители Роберты сходу сказали: «ДА!»
Если для окончания университета мне нужно было бы ходить туда еще три года, школа Control Data Institute (CDI) обещала сделать из меня программиста всего за девять месяцев.
Это было слишком хорошо, чтобы быть правдой.
В объявлении говорилось: «Программисты с двухлетним опытом работы, как мужчины, так и женщины, могут зарабатывать до 8–10 тысяч долларов в год».
Учеба в школе CDI превзошла все мои ожидания. Никогда не понимал, почему на профессиональные училища в Америке смотрят свысока – они заслуживают большего. Я мечтал стать программистом и вдруг оказался в окружении себе подобных, мечтающих о том же самом. У меня был преподаватель, для которого не было ничего важнее, чем сделать из меня программиста, и непосредственный доступ к оборудованию, без которого нельзя было достигнуть цели.
Компьютер IBM 407 Accounting Machine
Мне по-прежнему приходилось по вечерам развозить детей продавать газеты, чтобы заплатить за квартиру, а в качестве дополнительных заработков я набирал объявления для газет и по выходным разносил прессу. Но зато я целыми днями учился и работал с компьютером! Чего тут еще пожелать?
Для учебы на программиста время было что надо – индустрия зарождалась практически у меня на глазах. Авторы курсов хотели продемонстрировать учащимся всю эволюцию компьютерной техники – сначала у нас были теоретические занятия на темы вроде двоичного исчисления, потом нас попросили запрограммировать один из самых ранних компьютеров, IBM 407 Accounting Machine. Программировали его напрямую – вставляя провода в отверстия на печатной плате![5]5
Имеется в виду, что для чтения определенных столбцов и рядов перфокарт нужно было втыкать провода в соответствующие гнезда. – Прим. науч. ред.
[Закрыть]
Компьютер IBM 1401
От IBM 407 мы перешли к небольшому мейнфрейму IBM 1401[6]6
Мейнфрейм – компьютер с большими вычислительными мощностями, занимающий в том числе много пространства, поэтому пользователю доступны только удаленные от мейнфрейма устройства ввода и вывода (клавиатура и монитор, например). – Прим. науч. ред.
[Закрыть]. Теперь программирование было уже больше похоже на то, чем я занимался в университете: программы вводили в компьютер с помощью перфокарт.
Я впервые столкнулся с «настоящим программированием» – мы изучали написание кода на машинном языке. Это означало работу с компьютером на самом интимном уровне. Компьютерные операционные системы и языки программирования, как правило, пытаются скрыть от программиста аппаратное обеспечение. В большинстве случаев это хорошо – программист может сосредоточиться на написании кода и не слишком беспокоиться о «железе», на котором будет работать программа. Но для полного контроля программисту необходимо разобраться с компьютером на уровне внутренностей – винтиков, шпунтиков, байтиков.
К самому концу курса мы перешли на «современный» (по меркам 1973 года) компьютер IBM System 3. Я освоил настоящий язык компьютерного программирования – RPG II.
Девять месяцев я пробыл прямо-таки в раю. У меня был талант к программированию, и я быстро обогнал всю группу. Я осваивал новую информацию и за считаные минуты выполнял задания, на которые у однокашников уходили часы. Это давало мне практически неограниченное время за компьютером – программируй сколько влезет.
Компьютер IBM System 3. Фотография I. B.M. Italia (проектирование, разработка, производство)
В отличие от университета, я был на коне. Я нашел занятие, к которому у меня и правда был природный дар, и закончил школу одним из лучших на курсе.
Теперь пришло время всерьез заняться поисками работы.
Глава 6. (1973–1979) Перед основанием Sierra
По лестнице успеха лучше всего подниматься, шагая по ступенькам возможностей.
Айн Рэнд, писательница
Наш сын Диджей родился в ноябре 1973 года, примерно в то время, когда я заканчивал курсы от Control Data Institute.
После окончания курсов я нашел себе первую работу – оператором компьютера. В те времена компьютеры были громадными – каждый занимал целую комнату.
Эти большие компьютеры выделяли столько тепла, что их приходилось охлаждать огромными и очень шумными кондиционерами, которые гоняли воздух по комнате через отверстия в полу и потолке. Чем именно я занимался на своей первой работе в IT-индустрии – таскал магнитные ленты. На этих магнитных лентах хранились целые базы данных, например список клиентов какой-нибудь большой корпорации. Иногда данных было так много, что для них нужно было несколько лент. На работе мне полагалось сидеть и терпеливо ждать, пока не замигает лампочка – тут я должен был подорваться с места и загрузить новую ленту в лентопротяжный механизм. Не шибко увлекательное занятие, но я рассматривал его как первый шаг в моей новой карьере.
IBM 360
В то время – годы быстрого роста IT-индустрии – мы жили недалеко от Лос-Анджелеса. С первого же дня на этой своей работе я рассылал резюме, чтобы найти место получше. Мне не просто хотелось больше денег – я хотел попытать счастья именно в работе программистом. Не прошло и трех месяцев, как мне предложили работу в компании, занимавшейся производством компьютеров, – Burroughs Corporation. Начинать здесь нужно было опять-таки с должности оператора компьютера, но мне пообещали, что в течение года переведут в программисты. Кроме того, это был шанс поработать с дисковыми накопителями вместо ленточных. Дисковые накопители Burroughs были по тем временам самой передовой технологией. Они вмещали грандиозный объем – целых 250 мегабайт данных на диске диаметром всего четыре фута![7]7
4 фута – примерно 120 сантиметров. – Прим. науч. ред.
[Закрыть] Сейчас даже в самых «тупых» смартфонах памяти больше.
Ранние дисковые накопители были огромны, но на них помещалось всего 250 Мб данных. Понадобилось бы двести таких накопителей, чтобы они сравнялись по объему с современным диском Blu-ray
Эта часть моей жизни пролетела стремительно. Компания Burroughs дала мне возможность стать разработчиком программного обеспечения уже через пару месяцев. Как только я смог вписать в резюме слово «программист», я занялся поисками следующей работы.
В те времена найти себе работу программистом было проще простого – более того, мне постоянно названивали рекрутеры с обещаниями лучшей работы и больших денег. Я устраивался на очередную должность на разработке ПО и уже через несколько недель начинал искать следующую работу. Помнится, мне приходилось привирать насчет того, как долго я работал в каждой компании, а про некоторые места работы я и вовсе не говорил, чтобы их в списке не было слишком много.
Благодаря частым сменам работы я изучил великое множество разных технологий и языков программирования. Мной в поисках новой работы двигали две вещи: больше денег и опыт, который хорошо бы смотрелся в моем резюме.
Честно скажу, я преувеличивал в резюме свои профессиональные навыки. Если я только собирался изучить какой-то конкретный спектр навыков, технологию или язык программирования, то писал, что уже знаю их в совершенстве. Если меня приглашали на собеседование, я всю ночь перед этим изучал нужную тему, а потом старался обаять работодателя, чтобы меня взяли.
Оглядываясь назад, я бы сказал, что именно в этот период своей жизни моя простая самоуверенность переросла в настоящую гордыню. Однажды я сел в лужу – оставил хорошо оплачиваемую работу программистом на одном языке, чтобы устроиться на другую, более высокооплачиваемую, работу программистом на ассемблере[8]8
Ассемблер (assembler) – язык программирования, наиболее близкий к машинному коду. – Прим. науч. ред.
[Закрыть] для мейнфрейма IBM. Я изучил этот предмет достаточно хорошо, чтобы на работу меня взяли, но бдительный руководитель отдела программирования быстро выяснил, что я наврал – опыта у меня не было никакого. Меня тут же уволили, но я успел получить достаточно знаний, чтобы уже через пару недель найти другую, еще более денежную работу, тоже с программированием на ассемблере IBM.
Вспоминая те времена, вывод можно сделать такой: я всегда концентрировался на двух вещах – на резюме и счете в банке. Мне хотелось накрутить себе такое резюме, с которым меня могли бы взять куда угодно. Я изучал объявления с вакансиями и высматривал там самые востребованные технологии, за которые платили больше всего. Я знал, что если останусь работать в одной компании – пусть даже какой-то суперзвездой от программирования, – то буду обречен на рост зарплаты на 5–10 % каждый год и продвижение по карьерной лестнице каждые 2–5 лет. Такими темпами я никогда бы не попал туда, куда я хотел попасть.
Вам, дорогие читатели, из этого рассказа о моей жизни в те годы тоже неплохо бы вынести эту мысль: всегда надо думать о том, насколько ты востребован на рынке. Вот это я правильно понимал уже тогда. Если у вас есть только один навык, и рынок для этого навыка ограничен, у вас мало плюсов и много минусов. Если вам повезет, то в вашей компании никогда не будет увольнений. Если работать на одном месте достаточно долго, можно дождаться и увеличения зарплаты, и повышения в должности. Если быть у начальства на хорошем счету, усердно трудиться и не прогадать с выбором работодателя, это вполне жизнеспособная стратегия – но не та, которая гарантированно обеспечит вас работой на всю жизнь или даст возможность перескакивать через ступеньки при подъеме по карьерной лестнице.
Вот лишь некоторые из многочисленных компаний, в которых мне довелось поработать в те недолгие пять лет, пока мы с Робертой не основали Sierra: Bekins Moving and Storage, Burroughs Corporation, похоронное бюро Groman Mortuary, McDonnell Douglas, Frederick’s of Hollywood, Sterling Computer Systems, Financial Decision Systems, Informatics, Aratek Services, Лос-Анджелесская детская больница, начальный колледж Чаффи, администрация штата Иллинойс, студия Warner Brothers, Atlantic Records.
Я не просто работал полный рабочий день, но и начал подрабатывать программистом-фрилансером по ночам и по выходным. Роберта в это время занималась нашим первенцем Диджеем, а пять лет спустя к нему добавился и второй сын – Крис.
Именно в это время мы с Робертой выработали систему, по которой жили следующие десятилетия. Я работал до поздней ночи с понедельника по пятницу, по пятницам даже до утра субботы. Субботний день и вечер мы отдыхали – ходили в ресторан или занимались чем-нибудь, пока дети были дома с няней. Это время принадлежало только Кену и Роберте, и никто и ничто не могло нам помешать. Потом в воскресенье я мог поработать с утра, но потом просыпались дети, и наступал их день – весь воскресный день и вечер мы полностью посвящали им.
Достигнув почтенного возраста двадцати лет, мы впервые в жизни купили дом. И – никогда не угадаете – как только мы сообразили, что сможем продать его дороже, чем купили, мы так и сделали: продали этот дом и купили другой. И как только мы отбили вложения с лихвой, то сразу же выставили и второй дом на продажу. Мы наловчились очень хорошо упаковывать вещи и иногда переезжали из одного дома в другой, даже не успев распаковать коробки.
К 1979 году, когда я впервые открыл для себя персональные компьютеры, я сделал неплохую карьеру, и мы были на пути к финансовому успеху.
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?