Продолжение рассказа «Карьера программиста».

На дворе стоял 2001 год. Год в который вышла крутейшая операционка — Windows XP. Когда появился rsdn.ru. Год рождения C# и .NET Framework. Первый год тысячелетия. И год экспоненциального роста мощностей нового железа: Pentium IV, 256 mb ram.

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

Тем летом, перед поступлением в колледж, я основательно занялся изучением всех возможных технологий, которые публиковались в журнале «Хакер». Я зачитывал и перечитывал его до дыр. Особенно мне нравились интервью с реальными хакерами и их советы.

Большая часть крутых хакеров сидело на «Линухе». А «маздай» (Windows) — был для ламеров. Кто читал журнал, тот помнит стилистику постов в нем. Поэтому в моем неокрепшем уме боролись между собой две идеи — оставлять Windows или быть крутым и сидеть чисто на Линуксе.
Каждый новый выпуск журнала Хакер, кидал мне новый повод для форматирования диска и установки то Linux Red Hat 7, то Windows Me. Разумеется никакого вектора обучения у меня не было, и то что я вычитывал в журналах или на пиратских CD вроде «Секреты Хакеров», то и делал. Установка двух ОС параллельно тоже стиралась, после нового вброса в духе «Windows XP aka попугай — это для домохозяек. А если хочешь заниматься серьезными вещами, то должен работать из консоли Линуха с закрытыми глазами». Разумеется, я хотел заниматься хакингом систем, понимать как устроена сеть и быть всемогущим Анонимусом в то время.

Диск форматировался без доли сожаления, и на него ставился дистрибутив Unix-подобной системы. Да, да. Однажды я прочитал интервью реального хакера, который использует только FreeBSD 4.3 из консоли. При этом за ним числились взломы банков и государственных систем. Это был удар молнии в голову, и я раз 5 ставил BSD ОС, как основную систему. Проблема была в том, что после установки, кроме голой консоли там ничего не было. Даже звука. И чтобы поставить KDE2 и включить звук, нужно было немало потанцевать с бубном, и поправить несколько конфигов.

freebsd
Дистрибутив FreeBSD 4.3 — самая хакерская ОС

О литературе


Как только у меня появился компьютер, я начал покупать книжки по программированию. Первой была руководство по «Turbo Pascal 7.0». Это и не мудрено, ведь Паскаль я уже немного знал из курсов программирования, и можно было продолжать обучение самостоятельно. Проблема была в том, что Хакеры не пишут на Паскале. Тогда в моде был язык Perl, либо, для более крутых ребят — это был С/С++. По крайней мере так писали в журнале. И первой прочитанной до конца книгой была «Язык программирования Си» — Кернигана и Ритчи. К слову, учился я в среде Linux
и использовал gcc и встроенный редактор KDE для написания кода.

Следом за этой книгой, была куплена «Энциклопедия UNIX». Весила она килограмма 3 и была напечатана на страницах формата А3.

На лицевой стороне книги во весь рост был изображен мультяшный дъявол с вилами, а стоила она тогда в Украине 125 гривен (это примерно 25$ в 2001-ом). Чтобы купить книгу, я попросил взаймы денег у школьного друга, остальное добавили родители. Затем, я с упоением стал изучать команды Unix, редактор vim и emacs, структуру файловой системы и внутренности конфиг файлов. Без малого 700 страниц энциклопедии были проглочены и я стал на шаг ближе к мечте — стать кул-Хацкером.

unix
Энциклопедия UNIX — Одна из первых прочитанных книг

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

Если бы у меня спросили, какая книга больше всего повлияла на твою карьеру, я бы не задумываясь ответил — «Искусство Программирования» — Д. Кнут. Это была перепрошивка мозга. Я не могу точно рассказать, как именно эта книга попала мне в руки, но она произвела самое сильное влияние на мою дальнейшую карьеру.

image
Искусство Программирования — must read

Книги я покупал в основном на радиорынке, который работал только по воскресеньям. Сэкономив на завтраках очередные несколько десятков гривен, я отправился за новой книгой по С++ или может Perl. Выбор был достаточно большой, но наставника у меня не было, поэтому изучалось все подряд. Я попросил продавца, порекомендовать мне что-нибудь по программированию. И насколько я помню, он достал с полки «Искусство Программирования. Первый Том». Книга явно была уже пользованная. Уголки обложки были согнуты, а с задней стороны виднелась большая царапина, как раз в том месте где оставил свой отзыв Билл Гейтс: «Если вы прочитаете эту книгу, вам непременно стоит прислать мне резюме» было подписано им. Про Гейтса я знал из журналов, и подумал, что было бы неплохо отправить ему резюме, хоть его и хаяли все Хакеры. Книга стоила 72 грн. (15$), и я стремительно рванул домой на трамвае изучать новый материал.

Насколько глубокие и базовые вещи я читал, разумеется я не мог понимать в 15 лет. Но старательно пытался выполнить каждое упражнение. Однажды у меня даже получилось правильно решить задачу с оценкой сложности 25 или 30. Это была глава про математическую индукцию. Хоть школьную математику я не любил и схватывал плохо, но над мат. анализом Кнута — я просиживал часами.

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

Это C/C++, C#, Java, Python, JavaScript, Delphi. И как бы не назывался язык, в его стандартной библиотеке были структуры данных и алгоритмы описанные Дональдом Кнутом в своем трехтомнике. Поэтому изучить, что-то новое — не занимает много времени.

Первый том был проглочен достаточно быстро. Приведенные в книге Кнута алгоритмы, я переписывал на язык С. Не всегда получалось, но чем больше я практиковался, тем бoльшая ясность приходила. Усердия было не занимать. Закончив с первым томом, я не задумываясь побежал покупать второй и третий. Второй я пока отложил в сторону, а вот за третий (Сортировка и Поиск), взялся основательно.

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

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

Следующей книгой, которая оказался на меня сильное влияние была «Книга Дракона». Она же «Компиляторы: Принципы, технологии, инструменты» — А.Ахо, Р.Сети. Ей предшествовал Герберт Шилтд, с продвинутыми задачами на С++. Именно в этом месте точки сошли воедино.
Благодяря Шилдту, я научился писать парсеры и интерпретаторы языков. А следом, Книга Дракона, натолкнула меня на написание собственного компилятора С++.

image
Книга Дракона

К тому времени, мне провели модемный скрежещущий интернет, и я много времени проводил на самом популярном сайте для программистов — rsdn.ru. Там господствовал С++ и каждый профи, мог ответить на вопросы, которые я был не в силах осилить. Это меня задевало, и я понимал,
что мне далеко до этих бородатых дядек, поэтому нужно изучить внутренности плюсов «От и До». Такая мотивация, привела меня к первому серьезному проекту — собственному компилятору С++ стандарта 1998 года. Более подробную историю и исходники вы можете найти в этом посте.

Школа или самообразование


Но вернемся к реальности за пределами IDE. Хотя, к тому времени, я все больше отдалялся от реальной жизни и погружался в виртуальную, все таки возраст и общепринятые нормы вынуждали ходить меня в колледж. Это было настоящей пыткой. Я совершенно не понимал, что делаю в этом заведении и зачем слушаю эту информацию. В моей голове были совершенно другие приоритеты. Изучение Visual Studio 6.0, попытки с WinApi и Delphi 6.

Замечательный сайт firststeps.ru, который позволял радоваться каждому выполненному шажку, хотя общей картины я не понимал. Например в той же технологии MFC или ActiveX.

А что в колледже? Это была пустая трата времени. Вообще, если затрагивать тему учебы — учился я плохо. До 6 класса был круглым отличником, а потом полетели тройки, и уже к 8-9 классу, я часто прогуливал уроки, за что получал не иллюзорных ремней от родителей.

Поэтому, придя в колледж, энтузиазма было тоже мало.

— Где же программирование? Задавал я сам себе вопрос. А его в первое полугодие — не было. Зато была информатика с MS-DOS и Офис, а также общеобразовательные предметы.

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

Это были не детские махания кулачками, как было в школе. Тут был знатный махач, с разбитыми носами и кучей крови. Парень оказался тоже не из робкого десятка и умело отвешивал хуки и апперкоты. Все остались живы, и с тех пор ко мне больше никто не задирался в этом «колледже для программистов». У меня же желание туда ходить и вовсе пропало в скором времени. Поэтому я перестал ходить в него, и никакие угрозы родителей на меня не действовали. Каким-то чудом мне засчитали пребывание в колледже за 10-ый класс школы, и я имел право перейти в 11-ый.

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

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

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

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

Где-то 3 месяца я сидел дома, тратя свободное время на изучение С++/WinAPI/MFC и rsdn.ru.
В конце-концов, не выдержала директор школы и позвонила домой.

— «Денис, ты думаешь учиться? Или будешь уходить? Решай. В подвешенном состоянии никто тебя не оставит.» — заявила директор
— «Буду уходить» — уверенно ответил я

И вновь, та же история. Оставалось доучиться пол года, до окончания школы. Не оставлять же меня без корочки. Родители махнули на меня рукой и наказали самому идти договариваться с директором. Я пришел к директору школы. Она крикнула, чтобы я снимал шапку, когда вхожу. Затем строго спросила — «Что с тобой делать?». Признаться я и сам не знал, что делать. Меня вполне устраивало нынешнее положение вещей. Наконец она взяла слово:

— «Значит поступим так. Я договорюсь с директором нашей вечерней школы и будешь ходить туда.»
— «Угу»

А вечерняя школа — это был настоящий рай, для таких фристайлеров как я. Хочешь ходи — хочешь не ходи. В классе числилось 45 человек, из них на занятиях появлялось от силы 6-7. Не уверен что все и списка были живы, а также были на воле. Потому что только при мне, одноклассники угоняли чужой мотоцикл. Но факт оставался фактом. Я мог безлимитно прокачивать скилы программирования, а в школу ходить, когда уж очень сильно надо. В итоге я ее закончил, сдав выпускные экзамены. Много на них не требовали, и у нас даже был выпускной. Выпускной, сам по себе — отдельная басня. Помню, что местные бандиты-одноклассники забрали у меня часы. А едва услышав свою фамилию, при вручении аттестатов — я рысью метнулся за документом и пулей вылетел из школы, чтобы не наткнуться еще на какие-нибудь неприятности.

Впереди было лето. С Дональдом Кнутом под мышкой на пляже, морем, солнцем и судьбоносным решением написать свой большой проект (компилятор).

Глава 3. Университет >>

Комментарии (33)


  1. nrcpp Автор
    29.04.2019 08:52

    Минусующие коллеги — вы из хаба «Карьера в IT»? Возможно мне стоит писать только в читальный зал? Или это просто не интересно?


    1. FreeBa
      29.04.2019 09:01

      Сторонники фундаментального подхода к образованию негодуют. Не обращайте внимания.


      1. nrcpp Автор
        29.04.2019 09:03
        +1

        А, вот оно что. Я тоже сторонник, только качественного и гибкого.


    1. pashkov
      29.04.2019 09:26

      Просто такая токсичная атмосфера в рунете.


      1. vassabi
        29.04.2019 09:30

        вот вы, когда пишете про т.н. «токсичную атмосферу», это серьезно так думаете, или смайлик с тегом потерялись?


        1. pashkov
          29.04.2019 15:04
          +1

          На самом деле серьезно. Если на сервисе есть система оценок, то ощущение, что попадаешь к гопникам в переулок: любое мнение, отличное от мнения «гопника» карается минусом.
          В англоязычном сегменте интернета такого нет.


          1. vassabi
            29.04.2019 23:16

            увы, в англоязычном такого — вагон и тележка, только там не минусуют, а вообще изгоняют (гуглите deplatforming \ no-platforming)


          1. GarfieldX
            30.04.2019 23:08

            И хабр со своей кармой отлично это подтверждает. Стоит написать неудобную правду, как тут же прилетит.


            1. vassabi
              01.05.2019 12:37

              если правда — это объективные факты, то не прилетит.
              А если «неудобная правда» — это подтасовка (особенно смешно когда «все все мои знакомые» или «я не знаю никого кто думает иначе») под видом «фактов» — то…


              1. GarfieldX
                02.05.2019 21:20

                Как по вашему, заявление что в общем случае разработчик с высшим образованием обладает лучшими скилами чем самоучка, это первое или второе?


                1. vassabi
                  03.05.2019 13:46

                  вы же сами написали «заявление».
                  Если бы это было «какие учебные заведения, в какие годы, название предметов\курсов обучения, какие скиллы и как измеряласть их лучшесть» — тогда, конечно же, было бы первое.
                  Например взять т.н. «рейтинги языков программирования» — их есть очень много разных. В простом случае люди честно берут гитхаб, и меряют по проектам за год. И ни у кого нет претензий к их числам (разве что к интерпретациям — но это уже личные мнения, за которые прилетает уже самим авторам мнений).


    1. vassabi
      29.04.2019 09:41

      не переживайте за минуса, сейчас подтянутся плюсующие коллеги :)
      У меня слава суслику все конечно было не так экстремально, но одноклассники тоже меня не понимали от слова совсем (вроде нормальный с виду, а ходит с микрокалькулятором, в котором кнопки "=" нет, смотрит как он мигает и периодически над чем-то смеется).

      PS: И почти все языки с алгоритмами — тоже были выучены по самоучителям (с учителем — разве что в универе были курсы по x86 asm, С и Prolog).


  1. samhuawey
    29.04.2019 09:18

    У меня примерно похожая история. Только компьютера дома не было и единственным способом влиться в профессию было проводить часы в компьютерном классе в школе. Где стояли Ямахи и новенький Mac в виде моноблока.

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


  1. tuxi
    29.04.2019 09:31

    Недавно поймал себя на одной мысли. До середины-конца 90-х годов, чтобы написать что-то свое, приходилось долго и упорно разбираться в теме, тратить много время на опыты и исследования, собирать информацию по крупицам. Было нужно (и интересно!) общаться с другими людьми, делиться своим опытом, получать новый. Опыт по крупицам, с низким КПД, но опыт базовый, разобрать все «до винтиков» и понять как это работает.
    А как появился свободный доступ в интернет, стало сильно легче, стало круче, но и уровень опыта разработчика стал стремительно падать. Куча соблазнов копи-пасте и не вникая в суть «почему там сделано так, а не иначе». Зато новые продукты все быстрее и быстрее выходят на свет.

    PS: Не обращайте внимания на минусы. Публикуйтесь дальше.


    1. submagic
      29.04.2019 11:25

      ППКС. И под постскриптумом тоже.


  1. tretyakovpe
    29.04.2019 09:50

    Прям про меня. Только драк не было.


  1. rionnagel
    29.04.2019 10:19

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


    1. samhuawey
      29.04.2019 10:29

      Я отчасти понимаю необходимость знания основ алгоритмов сортировки, хотя бы в плане «для чего применим данный конкретный алгоритм» и «верхние и средние оценки производительности и расхода памяти». Но если говорить о программировании как о профессии, то я лично уделил бы больше внимания скажем юнит-тестам, гиту, правильному форматированию кода и основным паттернам, а также экономической составляющей деятельности типа на какие статьи баланса заносятся расходы, точке возникновения прибыли, базовые сведения о налогообложении (зарплата и ИЧП) и законодательство в сфере IT.

      Потому что код писать сможет почти любой, а продать его (или себя в случае работы по найму) — не всякий.


  1. muhaa
    29.04.2019 14:22

    Боже. Вы жили в каком-то страшном месте/времени. Я в 90-м успешно прогулял два последних класса школы, пописывая игры на РК-86. Администрация школы и родители не были против. И при наличии мускулатуры уровня жертв холокоста даже не слышал что с одноклассниками можно драться (правда, учился в этом классе всего два года, смутно вообще представлял что они за люди).


  1. vitaxaxxx
    29.04.2019 15:46
    +1

    Блин, про учёбу, у меня похожая ситуация, я в 11 классе, самообразование и т.д, только уже наши реалии…


  1. ZMayk
    30.04.2019 00:24
    +1

    Продолжайте, очень интересно и слог у Вас легкий…


    1. nrcpp Автор
      30.04.2019 00:25

      Благодарю. Завтра будет следующая глава.


  1. half-life
    30.04.2019 03:46

    Таки Вы из Одессы?
    За статью спасибо, было интересно)


    1. nrcpp Автор
      30.04.2019 13:12

      А почему Вы спрашиваете?)
      Я восточней был, в те года.


  1. andrey_aksamentov
    30.04.2019 05:01
    -1

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

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

    Пока Вася читает книгу, Петя научится делать 100 программ…


    1. samhuawey
      30.04.2019 08:39

      Вася знает что делает, а Петя копипастит со стековерфлоу.

      Проверить кто из них круче проще простого — выключить интернет и попросить решить несложную программистскую задачу без среды разработки, просто имея компилятор и блокнот. Что-то мне подсказывает что Вася это сделает быстро и правильно, а Петя зависнет на include stdio


      1. Whuthering
        30.04.2019 09:10
        +1

        попросить решить несложную программистскую задачу без среды разработки, просто имея компилятор и блокнот. Что-то мне подсказывает что Вася это сделает быстро и правильно, а Петя зависнет на include stdio
        «Позвать плотника, и попросить собрать из бревна табуретку без пилы и молотка. Что-то мне подсказывает, что Вася будет грызть древесину зубами и склеивать глиной, а Петя пошлет такого заказчика в задницу и будет прав.»


        1. samhuawey
          30.04.2019 09:49

          Если плотник не знает, как починить сломавшийся молоток и как заточить пилу, он будет тупо сидеть и ждать инструменталиста. Я предполагаю что есть специальные виды плотников которые умеют делать одну операцию типа на икеевском заводе поставить деталь, выровнять и запустить станок с ЧПУ, но таким «специалистам» и платят скопом пополам, а профессионал наладит станок, проследит за чистотой и проконтролирует допуски, чего на стэкоферфлоу не найти.

          Да, IDE облегчает работу и рутинные операции, но если не знаешь суть операции, а тупо жмешь «отрефакторить», результат может быть не совсем таким, каким ожидаешь. Особенно если пропустил скучную главу про Unit testing в книжке.


      1. andrey_aksamentov
        30.04.2019 12:23

        Пока Вася осваивает теорию, Петя делает вещи которые востребованы на рынке на данный момент. Делает реальные программы и выкладывает их в портфолио.

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


        1. samhuawey
          01.05.2019 10:52

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

          Я наблюдал как сосед по галере набирал команду C#. У него был список теоретических вопросов к кандидатам и он просто ставил галочки — этот ответил правильно, этот — нет. Вопросы он составил согласно специфике проекта и возможным косякам, которые могут сделать программисты.

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

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


  1. F0iL
    30.04.2019 09:49

    История интересная, хотелось бы прочесть продолжение.
    В чем-то пересекается с моей жизнью, в чем-то совсем нет.
    Я тоже начал погружаться в мир программирования еще на границе начальной и средней школы, когда родители купили компьютер. Старший брат предпочитал играть в игры, а мне игры были не интересны, хотелось понять, как они работают и сделать что-то свое. У брата в старших классах уже была информатика, я отобрал у него книжку по Паскалю, начал читать, и с самого начала было ничего непонятно (для пятиклассника, ага) — какие-то «идентификаторы», «константы», «исключающее или»… Пролистал рандомно до середины, и попал на главу про графику — как нарисовать линию, как залить цветом прямоугольник, как сменить видеорежим — и тут стало гораздо интереснее, а синтаксис и стандартные конструкции подтянулись уже сами собой. Это уже в то время дало понимание, что теория ради теории бессмысленна, а когда есть драйвер в виде практики и интереса к ней, обучение проходит гораздо эффективнее.
    Потом были другие книги, разные компьютерные журналы, диски со всевозможном софтом на местном радиорынке… Тоже экспериментировал с Linux, первым дистром был Redhat 7.3, в котором в первое время даже подмонтировать FAT-раздел с поддержкой кириллицы было не самым элементарным делом.
    А школьные годы я вспоминаю с благодарностью моей учительнце информатики, которая, хоть и была по факту учительницей математики советской закалки, но во мне разглядела способности, вложила в мою голову пониманиие систем счисления и булевой алгебры, а на уроках разрешала вместо унылого оформления документов в Word'е программировать и решать олимпиадные задачи по алгоритмам.
    Что интересно, из моих одноклассников никто в итоге по пути IT не пошел, я такой был один.
    В старших классах школы я даже на какой-то момент сменил круг общения, влившись в тусовку таких же школьников и студентов, увлекающихся IT, сетями, программированием, и начав проводить с ними много времени. И жизнь показала, что далеко не всегда правильно объединяться по увлечениям и интересам — человек может быть хорошим программистом или админом, но говном как личность, а в замкнутых коллективах все негативные черты личностей проявляются как никогда явно. С друзьями, с кем я учился в школе, я в тесном контакте до сих пор, не смотря на то, что уже несколько лет живу в другом городе. Людей из той тусовки «айтишников» не видел уже много-много лет, и не очень-то хочу видеть.
    После школы я пошел в университет, но не на айтишную специальность. Было понимание, что практически все, что относится к программированию и ОС я смогу освоить и изучить самостоятельно, а хотелось получить еще другую специализацию, в которой я был ни бум бум, но было интересно — в любом случае, я стал бы гораздо более разносторонним и универсальным специалистом. Плюс в университете была военная кафедра, что позволяло бесплатно и абсолютно законно решить вопрос с призывом в армию. Я учился на инженера-электроника, специалиста по измерительной технике, и хоть я по сути дела никогда и не работал по специальности, не могу сказать, что это время было потрачено впустую. Часть дисциплин, относящихся к цифровой обработке сигналов, автоматическому управлению, нейросетям, низкоуровневому программированию (ассемблер), и т.д., оказалась все-таки полезной в будущем. Вдобавок университет великолепно прокачивает софт-скиллс, умение разбираться в людях и находить к ним подходы, ну а про различные не-учебные activities, опыт отношений с противоположным полом (здесь тоже достаточно интересных и даже пикантных историй, но это уже для другого ресурса), поездки от профкома на море и песни под гитару у костра на пляже до утра я и не говорю — это все дает вкус к жизни и понимание, что одним только окном терминала жизнь не ограничивается. И некоторые из тех, с кем мы учились, до сих пор мои близкие друзья.
    А работать, я, кстати, пошел на 2-м курсе.
    Вообще, в айтишной жизни было очень много всего интересного. И «почти свой интернет-провайдер», когда в городе с очень дорогим по-мегабайтным интернетом группа энтузиастов за символическую сумму шарила безлимит со спутниковой тарелки паразитируя на локалке большого провайдера, и работа в госконторе с полудетективной распильно-откатной историей которую раскрыл приятель автора этого комментария, да и автор в этом поучаствовал, с последущим выбиванием денег из этой госконторы, и работа в большом интернет-провайдере сначала в техподдержке, а потом в отделе системных администраторов, и куча восхитительных историй из того времени, и работа в нефтянке в области промышленной автоматизации, когда удалось позаниматься всем чем угодно, начиная от разработки прошивок для контроллеров, наладки датчиков отверткой, тестером и кувалдой, поднятием антенн радиосвязи и хаканьем радиомодемов, путешествий на снегоходе в места где только волки срут, прошу прощения за выражения, до руления большими базами данных, анализом работы целых нефтепромыслов и разработки веб-морды для всего этого, был и опыт программирования для авиации с последующим запуском и интеграцией всего этого в одном большом московском аэропорту, был и опыт работы в большой международной компании и сидение за одним столом с людьми из Google и Facebook, были и десятки собеседований и поиск работы за бугром…
    но всё это совсем другая история, которую я, может быть, когда-нибудь здесь расскажу…


    1. submagic
      30.04.2019 13:07

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


    1. nrcpp Автор
      30.04.2019 13:20

      История интересная, хотелось бы прочесть продолжение.

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


      Да, да. Как раз сегодня запостил продолжение об университете. Спасибо за вашу историю, искренне.