Сегодня, когда люди не могут представить свою жизнь без всевозможных гаджетов, очень востребована профессия программиста. Наши собеседники рассказали, как выбрали эту профессию.
Виктор, 30 лет
Я никогда и нигде не учился на программиста, был обычным тверским лоботрясом, кое-как закончившим школу и загремевшим в армию. Нет, я не был дураком, не нарушал закон, не обзавелся дурными привычками… Просто не смог разобраться к 11 классу, чего я хочу от жизни, а от армии «косить» не стал – посчитал ниже своего достоинства.
И вот, мне 20 лет, я в последний раз «отдал честь», вернулся… не в родной город – отношения с родителями были не очень, они не одобрили мой выбор и армию, а я хотел доказать, что сам все могу, - засунул в сумку форму, сапоги, и…
И задумался… Когда негде жить и нечего есть, поневоле ускоряются мыслительные процессы. Передо мной во всей красе встал вечный русский вопрос: «Что делать?».
К тому моменту я уже решил: надо стать программистом (посмотрел вакансии, да и друзья в армии много чего рассказывали). Но сначала надо было найти работу (хоть какую-нибудь). Но лучше, чтобы она давала мне все требуемое: жилье, какие-то деньги, время на самообразование и, желательно, доступ к книгам.
И я стал охранником книжного склада одной сети книжных магазинов (невероятно повезло). Там был душ, компьютер и множество книг. Спать мне приходилось на стульях, но мы в армии и не такое видали.
Через полгода работы я вполне прилично освоил Visual Basic for Application и T-SQL. Я уже мог писать макросы автоматизации работы с Excel, которые очень помогали в жизни нашему секретарю Елене Викторовне. Вообще, очень повезло и с коллегами. Наши специалисты IT-отдела не стали особо смеяться над желанием простого бомжа (ну а кем я был?) стать программистом, а создали мне собственную «песочницу» на виртуальной машине, где с помощью Visual Studio я смог изучать уже более востребованные языки программирования вроде С++.
Кстати, работа позволила мне и улучшить эрудицию: художественных книжек тоже было море, и я с удовольствием читал их в перерывах между занятиями. Я даже разговаривать стал иначе. Это, кстати, заметили, и начальник отдела кадров предложил мне перейти в продавцы-консультанты. Я согласился с условием, что ночью продолжу работать охранником (жить мне все еще было негде, и расставаться с книгами я не хотел).
Еще через год мне предложили стать ночным старшим продавцом. И тогда у меня появилась возможность снять себе комнату и начать, наконец, спать на диване. У меня на работе было много рутинных задач, связанных с написанием отчетов, заполнением фалов и прочего. С помощью полученных знаний по программированию я автоматизировал все, что было возможно, и освободил себе под чтение 90% свободного времени.
Тогда же я впервые написал приложения, позволяющие точно сказать, где и какая книга в каком отделе находится (раньше можно было только узнать, есть ли она в магазине вообще). Мою работу заметил начальник, и предложил взяться за разработку серьезно: с планом, бюджетом, целями и прочим. Мы сделали очень удобное программное обеспечение, и я тут же написал заявление на увольнение – мне становилось слишком удобно и комфортно, я просто испугался, что застряну здесь навсегда, если не уйду немедленно.
Я долго искал работу – моим обязательным требованием был профессиональный рост. И однажды увидел вакансию, где в описании задач не понял ни слова. Я решил, что, во что бы то ни стало, получу именно эту работу. И получил (не знаю, каким чудом). В первый рабочий день я чуть в обморок не упал – такого кода я никогда не видел. Но разобрался. И все еще разбираюсь.
Николай, 45 лет
В детстве привлекали кнопки
Был конец 1980-х. Мне было около 7 лет (раньше я просто не помню). Мои родители были инженерами, поэтому дома у нас всегда были всевозможные атрибуты их профессии: готовальни, циркули, линейки, исчерченные листы ватмана, какие-то запчасти и подшипники. Но мне больше всего нравился мамин программируемый калькулятор – на нем были заветные кнопки.
О программируемых калькуляторах БЗ-34 писал и журнал «Техника молодежи» - там печатали потрясающие фантастические повести о приключениях лунохода «Кон-Тики», и к нему были простенькие программки для этого калькулятора: расчет массы топлива, необходимого луноходу для полета на другие планеты и для возвращения на Землю.
Смысла программ я не понимал, но мне нравилось нажимать нужную последовательность кнопочек, чтобы получить правильный результат. Я представлял себя великим ученым, от работы которого зависит успех экспедиций к дальним планетам.
Эпоха компьютеров
Следующим шагом развития для меня стали компьютеры, такие своеобразные предтечи, например, «ZX Spectrum». Выглядели они как клавиатуры, присоединенные к телевизору. Но на них даже игрушки были. Помню, обсуждали с одноклассниками прохождения игр «F1» и «Карате».
Мне очень хотелось такой компьютер, но мне не покупали, тогда не было лишних денег. Но когда меня отпускали в гости к друзьям, мы часто рубились именно в компьютеры. Графика казалась нам потрясающей. А сейчас – глаза болят смотреть.
Настоящим чудом мне показался цветной 286-й компьютер, появившийся в 94-ом году у одного моего приятеля. Его родители были не последними людьми в одном НИИ, и просто «выписали» его себе домой. Пашка сразу стал самым известным парнем во дворе. В каникулы его квартиру просто оккупировали – ребята приходили толпами, играли по очереди или «на выбой».
Этот, уже настоящий, компьютер, привел меня в безумный восторг. Он мне даже несколько раз снился. И тогда мама предложила мне ходить в компьютерный зал у нее на работе – там была такая программа для детей сотрудников. Там разрешали только играть. Мне это было очень интересно, но хотелось знать больше.
Первые языки программирования
Поэтому, когда у нас в школе началась информатика, я был просто счастлив. Шел 95-й год, в школе стояли дышащие на ладан УКНЦ. Все они были через терминал подключены к преподавательскому компьютеру. Загрузка операционной системы шла по сети, и первый из сдвоенных уроков мы медитировали на надпись «Загрузка из сети». А во время второго нас учили писать на Basic. Мне нравился принцип программирования, но вот Basic с его маловнятным DIM (объявление переменной) вызывал вопросы. А вот когда я узнал про Pascal, почти влюбился в этот язык, и сразу решил, что писать программы буду именно на нем.
Мой знакомый был на год старше, у него была книга «Программирование на HiSoft Pascal для ZX-Spectrum» - родители подарили, но его программирование не увлекало, и он обменял эту книгу на мою коллекцию вкладышей от жвачки. Я прочитал книжку вдоль и поперек. На каждом уроке информатики просил преподавателя разрешить мне поработать на Pascal – я вбивал листинги, описанные в книжке, и получал мгновенный результат: на экране строились графики, по нему бежали слова, машина пищала…
Полностью изучив книжку, я начал что-то менять, добавлять, экспериментировать… Больше всего я радовался, когда преподаватель разрешал мне сохранять некоторые из моих программ на дискетку через его дисковод.
У меня был друг, тоже неравнодушный к программированию. Он учился в другой школе, и компьютеры у них стояли получше – 286-е с цветными экранами. И у каждого был свой дисковод, хотя жесткого диска тоже не было. Сколько часов мы просидели с ним, обсуждая алгоритмы, программирование, компьютеры! А потом он рассказал мне, что у них в школе открылся кружок информатики, и я сразу записался. Желающих было много, места всем не хватало, и мы сидели по 2-3 человека за одним компьютером. Именно тогда я и принял решение, что хочу стать программистом.
Заочная школа при МФТИ
Как известно, чтобы пойти учиться на программиста, надо хорошо знать математику. А по математике у меня была только слабенькая четверка.
Я хотел перевестись в физмат-класс, но не смог сдать экзамен. Мне давали три попытки, но я завалил все.
Я узнал, что в Москве при МФТИ была заочная физмат-школа (ЗФТШ при МФТИ). Туда брали ребят со всей страны. Четыре года я ходил на почту, отправлял и получал толстые конверты с материалами и заданиями. Учителя физики и математики в школе начали смотреть на меня косо – я часто задавал вопросы, ответ на которые они не знали. Но без ЗФТШ я не смог бы стать программистом.
Если честно, я все равно умудрился провалить экзамены в оба вуза, которые учили программистов в нашем городе. Мне предложили пойти на другой факультет, попроще, но я не мог позволить себе расстаться с мечтой. Я готов был пропустить год, готов был даже отслужить в армии, если не смогу поступить и на следующий. Родители поддержали, и еще год я потратил на ежедневные многочасовые занятия математикой. Через год я решил, что хочу учиться в Москве и, неожиданно даже для себя, смог поступить в МГУ.
Эра дискет
Тогда я увидел и 386-е, казавшиеся мне самыми быстродейственными машинами в мире, и дискеты 3,5. На последние я тратил почти всю стипендию – компилировать программки мы могли только с них, и дискеты быстро кончались. Как карандаши у чертежников.
Объем знаний, которые пытались впихнуть преподаватели в наши головы, увеличивался с каждым семестром. Я не успевал. Мехмат оказался сложнее, чем я думал. Своего компьютера у меня не было, и я часами сидел в классах университета. И все равно мне безнадежно не хватало времени. Однажды, поняв, что сессия на носу, я даже заказал за деньги несколько заданий ребятам со старших курсов, - я не мог позволить себе вылететь.
Windows 95
Именно в институте я познакомился с Windows 95. И он мне… не понравился. Он показался мне неповоротливым, громоздким, неуютным… А потом Windows вошла в мою жизнь вместе с подаренным родителями, - о чудо!, - компьютером, сименсовским десктопом с процессором i486 DX2 33 Мгц, ОЗУ 8 Мб, SVGA-картой и HDD WD 500 Мб. А еще к нему прилагался 15-дюймовый монитор со встроенным защитным экраном. На нем была установлена операционная система Windows 95. Но основными в то время для меня были языки DOS.
Не могу сказать, что очень этим горжусь, но лично написал и запустил на университетские компьютеры пару bat-вирусов. Вообще, вирусы тогда казались мне очень увлекательной веткой программирования. Я собрал целую коллекцию, - около 1500 штук, - вирусов для DOS и Windows. К каждому прилагалось описание, которое можно было найти в составленной мной базе.
Мое увлечение вирусами вылилось… в написание чего-то вроде антивируса-обнаружителя к одному из них, который как-то просочился на наши университетские машины. Как потом выяснилось, его написал парнишка с моего курса.
В моей жизни всегда огромное место занимала музыка. Из-за музыки я в итоге сменил DOS на Windows - треки в формате mp3 слушать в DOS было уже нельзя и сделал свой первый апгрейд. Мой процессор был 33 Мгц, он просто «не тянул» прослушивание в нормальном формате.
Смена языка
После 3 курса я и мой приятель, с которым мы в детстве обсуждали компьютеры, утилиты и алгоритмы, решили выучить С++. Причем, поспорили (не абы на что, а на бутылку хорошего коньяка), кто сделает это быстрее и лучше. Судьей выбрали моего приятеля, который уже заканчивал 5-й курс. Он давал нам задания и решал, кто быстрее и лучше их сделает. Бутылку я проиграл, но С++ покорил меня так, что я забросил Pascal, и полностью перешел на него. Даже университетские задания стал выполнять исключительно на нем. А потом я познакомился со средой разработки Borland – Delphi, в которой работаю до сих пор.
Профессиональный праздник
День программиста отмечается в России в 256-й день года. 256 – это 2 в 8-й степени. Именно это число обозначает количество различных значений, которые можно выразить с помощью восьмиразрядного байта. Также это максимальная целая степень числа 2, которая не превышает количества дней в году.