Хабрахабр

Карьера программиста. Глава 1. Первая программа

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

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

А те, кто уже работают в IT — возможно проведут параллели со своим путем.

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

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

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

О себе

Я не Джон Кармак, Николай Дуров или Ричард Мэттью Столлман. Я не работал в таких компаниях как Yandex, ВКонтакте или Mail.ru.

Но думаю, суть не столько в громком имени, сколько в самой истории пути в разработчики, и далее, в победах и поражениях, которые были за мою 12-летнюю карьеру в коммерческой разработке. Хотя у меня был опыт работы в крупной корпорации, о котором я обязательно расскажу. Но верю, что драмы и победы, которые были за мою нынешнюю карьеру — стоят того, чтобы их описать. Конечно у некоторых из вас, опыт в IT куда больше. Событий было очень много, и они все разноплановые.

17 лет назад — написал первую программу
— Microsoft Most Valuable Person 2016
— Microsoft Certified Professional
— Certified Scrum Master
— На хорошем уровне владею C#/C++/Java/Python/JS
— Основное место работы сегодня — фриланс-биржа Upwork. Кто я сегодня, как разработчик
— Участвовал в более 70 коммерческих проектах, многие из которых писал с нуля
— В десятке собственных проектов: open-source, стартапы
— 12 лет в IT. Имеет базу в 1 миллион пользователей
— Выпустил 3 приложения в AppStore и GooglePlay
— Готовлюсь основать собственную IT-компанию, вокруг проекта, который сейчас разрабатываю Через нее работаю на компанию, которая занимается NLP/AI/ML.

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

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

История. Начало

Впервые я узнал, что такое ЭВМ, когда мне было 7 лет. Я только пошел в первый класс и на уроке ИЗО нам дали домашнее задание сделать ЭВМ из картона, поролона и фломастеров. Разумеется мне помогали родители. Мама в начале 80-ых годов училась в техническом ВУЗе и не по наслышке знала, что такое ЭВМ. За курс обучения, она даже успела по пробивать перфокарты и позагружать их в гигантскую советскую машину, которая занимала львиную долю учебной комнаты.

Нашли плотный лист картона формата А4. Домашнее задание мы выполнили на 5, потому что все делали старательно. Кнопок у нашего устройства получилось немного, но мы с мамой назначили им нужный функционал и на уроке я показывал учителю, как нажимая на кнопку «Вкл.», в уголке «экрана» загорается лампочка, попутно дорисовывая фломастером красный кружок. Из старых игрушек вырезали кружочки из поролона, а фломастерами нарисовали пользовательский интерфейс.

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

1
Советский компьютер «Поиск» и периферия: телевизор «Электрон», магнитофон «Вега» и аудиокассета с языком BASIC

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

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

Первая погремушка была всем известная игра «Волк ловит яйца». Из детских воспоминаний, я конечно помню все гаджеты, которые родители мне покупали, сложившись с другими родственниками. Потом был Тетрис. Ее я прошел довольно быстро, увидел долгожданный мультик в конце и захотелось чего-то больше. Да, дело было в Украине в начале 90-ых, и за успехи в учебе мне подарили миллион. На то время он стоил 1,000,000 купонов. В день покупки, Тетрис у меня невозбранно отняли родители, которые сами не могли от него отлепиться дня два. Заслуженно чувствуя себя миллионером, я заказал родителям эту более сложную игру, где нужно было правильно раскладывать падающие сверху фигуры разных форм.

1
Знаменитые «Волк ловит яйца и Тетрис»

Наша семья жила в небольшом доме, где в соседней комнате жили также мои дядя с тетей. Потом были игровые приставки. Также как и многие люди в 90-ых, мой дядя занялся бизнесом и у него был довольно неплохой достаток. Дядя был военным-летчиком, прошел горячие точки, поэтому несмотря на свою скромность был очень хваткий и мало чего боялся, после реальных боевых действий. У меня захватывало дух, когда я смотрел, как он играет в Super Mario, TopGun, Terminator и прочие игры. Так в его комнате появился импортный телевизор, видеомагнитофон, а затем приставка Subor (аналог Dendy). А когда он передавал мне в руки джойстик — моему счастью не было предела.

1
Восьмибитная приставка «Сюбор» и легендарный «Супер Марио»

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

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

Выходили игровые приставки следующего поколения. Так проходили год за годом. Игры были моим развлечением, когда я вел себя хорошо. Сначала Sega 16-bit, потом Panasonic, потом Sony PlayStation. И еще конечно словить момент, когда ты вернулся из школы, а отец еще не вернулся с работы, чтобы занять телевизор — тоже было своеобразной удачей. Когда был какой-то косяк в школе или дома — у меня забирали джойстики и играть я разумеется не мог. Возможности такой не было. Так что сказать, что я был игроманом или просиживал целыми днями за играми — сказать нельзя. Например, совсем дикая игра — перестрелки воздушками. Я скорей целый день проводил во дворе, где тоже можно было найти что-нибудь интересное. Пейнтбол — это просто детская забава, по сравнению с тем побоищем которое мы устраивали. В наше время уже не встретишь такого во дворах, а тогда — это была настоящая война. И выстрелив в другого пацана в упор, оставался синяк на пол руки или живота. Воздушки ведь были заряжены плотными пластмасовыми пулями. Так и жили.

image
Игрушечное ружье из детства

Вышел он как раз в 1995 году, в главной роли с 20-летней Анджелиной Джоли. Не лишним будет упомянуть фильм «Хакеры». Ведь детское мышление воспринимает все за чистую монету. Сказать, что фильм произвел на меня сильное впечатление — ничего не сказать.

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

Спустя несколько лет, я покупал каждый номер журнала «Хакер» и пытался хакнуть Пентагон, хотя интернета у меня еще тогда не было.

image
Мои герои из фильма «Хакеры»

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

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

— А можно я включу компьютер?
— Да, делай с ним что хочешь, — ответила любящая тетя.

На рабочем столе Windows 98 были разные значки. Разумеется, я и делал с ним что хотел. Поклацав во все значки, мое внимание остановилось на FAR Manager. WinRar, Word, FAR, Косынка, игры. С виду непонятный синий экран, но с длинным списком (файлов), которые можно запускать.

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

FAR-manager
Тот самый FAR Manager

Мы с другом часто захаживали в них, поиграть в Counter-Strike и Quake по сети, чего дома сделать нельзя было. Потом были компьютерные клубы. Видя мои глаза, как у кота из Шрека, они предложили мне еще один выгодный контракт. Я часто просил у родителей мелочь, чтобы пол часа поиграть в клубе. Контракт был подписан в начале года, в сентябре, а вожделенный ПК должен был поступить аж в июне, и при условии соблюдения договоренностей. Я заканчиваю учебный год без троек, а они мне покупают компьютер.

Даже продал на эмоциях любимую Sony Playstation, чтобы меньше отвлекаться от учебы. Я старался, как мог. Кровь из носа, нужно было получать только хорошие оценки. Хотя учился я так себе, но 9-ый класс был для меня знаковым.

Я, стараюсь думать наперед, и поэтому в один прекрасный день заявил отцу: Уже весной, предвкушая покупку ПК, произошло наверное самое знаковое событие в моей жизни.

Давай запишемся на курсы. — Пап, я же не умею пользоваться компьютером.

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

Долго грузящаяся Windows 98, затем слово взял препод: Помню свое первое занятие.

Перед вами рабочий стол Windows. — Так. Внизу кнопка Пуск. На нем расположены значки программ. Вся работа начинается с кнопки Пуск. Запомните! Калькулятор, Блокнот, Word, Excel. Нажмите ее левой кнопкой мыши.
Он продолжал.
— Здесь — вы видите установленные программы. Пробуйте.
Наконец он перешел к более сложной для меня части на тот момент.
— На рабочем столе, говорил препод, вы также можете видеть программы, которые можно запустить двойным кликом.
— Двойным!? Также вы можете выключить компьютер нажав на кнопку «Завершение работы». Запустите Блокнот два раза щелкнув по нему левой кнопкой мыши. — Это как вообще?
— Давайте попробуем.

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

В один день, мне просто дали полистать картинки природы и памятников архитектуры. Потом было обучение Word'у, Excel'ю. Уж куда веселей, чем учиться форматировать текст в Ворде. Это было самое интересное занятие на моей памяти.

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

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

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

Прокомментировал свое действие преподаватель.
— Вот смотри, тут я написал документацию, как-что работает. — Это Turbo Pascal. Почитай, ознакомся.

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

На нем была написана какая-то странность, которую я раньше мельком видел на мониторах ребят с курсов программирования.
— Перепиши то, что тут написано. Наконец через некоторое время, ведущий курса протянул мне распечатанный листок A4. Скомандовал препод и удалился.
Я стал писать:
program Summa;

В Ворде то, я хоть на русском тренировался, а тут надо и другие буквы учить. Написал я, попутно выискивая на клавиатуре английские буквы. Хотя английский я учил с первого класса и знал значение многих слов, но я не мог увязать это все вместе. Программа набиралась одним пальцем, но очень старательно.
begin, end, var, integer — что это? Наконец что-то знакомое:
writeln ('Введите первое число');
Затем — writeln ('Введите второе число');
Затем — writeln ('Результат = ',c); Я как дрессированный медведь на велосипеде, продолжал крутить педали.

image
Та самая первая программа на Turbo Pascal

Убрал руки с клавиатуры, и стал ждать появления гуру для дальнейших инструкций. Фух, написал. Тогда он сказал нажать Ctrl+F9, что мне тоже в первый раз нужно было объяснять пошагово. Наконец он подошел, пробежал глазами по экрану и сказал нажать клавишу F9.
— Сейчас программа компилируется и проверяется на ошибки, сказал гуру
Ошибок не было. Экран стал черным и на нем наконец появилась понятная мне запись: «Введите первое число».
По команде учителя я ввел 7. Что нужно зажать Ctrl, потом нажать F9. Я ввожу 3 и нажимаю Enter. Затем второе число.

Это была эйфория и ничего подобного в жизни я ранее не испытывал. Молниеносно появляется строка на экране 'Результат = 10'. По телу прошло тепло, на лице появилась улыбка, и где-то очень глубоко в подсознании я понял — что это мое. Как будто вся Вселенная открылась передо мной и я попал в какой-то портал. Сколько всего можно сделать своими руками, а она это исполнит! Очень интуитивно, на уровне эмоций я начал ощущать, какой огромный потенциал в этой жужжащей коробке под столом.

В моей голове совершенно не укладывалось, как тот желтый непонятный текст на синем экране, превратился в удобную и понятную программу. Что это вообще какая-то магия. Меня удивлял не сам подсчет, а то что написанные иероглифы, превращаются в калькулятор. Которая еще сама и считает! Но интуитивно я чувствовал, что эта железяка может почти все. Между двумя этими событиями была пропасть на тот момент.

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

Продолжение следует…

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»