Первый раз был с Паскалем: ностальгические истории о коде
Айтишники рассказали о старте в профессии и о том, как он повлиял на их дальнейшую жизнь.
Кадр: фильм «Стажер»
«Помните, как всё началось?» — спросили мы наших коллег, партнёров и спикеров в Twitter. И потянулся тред историй разной степени романтичности. Которым мы, естественно, не могли не поделиться с вами.
Читаем, наслаждаемся, в юность возвращаемся.
Начали ещё в детстве
Никита Однороб
Фронтенд-разработчик
Пишет на JavaScript и React. Любит футбол, снукер и космос.
Знакомство с программированием произошло в седьмом классе. Учитель по информатике показал мне запрограммированный диалог с компьютером. Тогда это казалось какой-то магией, я заинтересовался — единственный в классе. Учитель познакомил меня с Pascal, но вскоре уволился, так что программирование встало на паузу.
В 13 лет я открыл для себя PureBasic. Это был не типичный Basic, а современный — с условиями, циклами, функциями, а также, что важно, — со встроенными формами. Можно было легко накидать Win32 и дописать события кнопкам. Именно на этом языке я изучал азы программирования, базовые алгоритмы. В 15 лет я создал на нём программу для поиска дубликатов файлов на диске, это был мой первый серьёзный проект.
Затем я пошёл в компьютерную школу мехмата ЮФУ. Два года изучал PascalABC.NET, Python и C#. Узнал, что такое сложность алгоритмов, рекурсия, графы и многое другое.
Тогда же заинтересовался вёрсткой. Сначала пробовал самостоятельно, затем купил книгу «Джентльменский набор Web-мастера», где была неплохая база по HTML, CSS, JavaScript, PHP, MySQL и куча листингов, которые я пытался повторить.
И даже что-то на этом зарабатывал. У меня сохранилась трогательная переписка тех лет:
Ещё в школе я делал игры на Java, программировал роботов и устройства для умного дома, изучал основы всех языков подряд, пробовал делать мобильные приложения. Если разложить список моих «языковых увлечений» по годам, выглядеть он будет примерно так:
- В 10 лет — освоил Паскаль.
- В 14 — поставил Linux.
- В 15 — Arduino C.
- В 16 — JavaScript и немного C++.
- В 17 — PHP, Python; поступил в вуз;
- В 18 — устроился Python-разработчиком.
- В 19 — стал системным программистом под Windows (C, C++) в той же компании, где разрабатывал на Python.
- В 21 — ушёл в компанию, которая занимается интернетом вещей, тоже системным программистом, но под другие платформы.
Очень важно, чтобы рядом были люди, которые или уже работают в IT, или учатся вместе с вами. Пока вы в школе или вузе, есть время — ведь у вас не так много обязательств. Нужно пробовать как можно больше нового, потому что всё работает по схожим принципам. А чем шире кругозор, тем проще воспринимается новая информация.
Первый опыт программирования был в девять лет. Это странная история, но если вкратце: в детской библиотеке закончились интересные книги, и я начал брать неинтересные. Одна из них была о программировании в Visual Basic на примере создания какой-то простенькой игрушки. Всё было совсем элементарно: накидал всяких формочек, переписал код из учебника, нажал на кнопку — и вот прямоугольники двигаются по нажатию стрелок.
Тогда это воспринималось как магия: забил код, и бум — оно двигается! Вау! Считай, оживил их заклинанием. Что, как, почему — совершенно непонятно, но на то она и магия. Так и увлёкся. А если бы начинал со школьной программки по решению уравнений — программирование мне бы, скорее всего, не понравилось.
@100percentdream (Ольга)
Помню, как мы с мамой и 14-летним братом в 1992 году ездили в какой-то подвал покупать первый ZX Spectrum. Брат про этот подвал нашёл объявление в газете.
Денег не было совсем, но на компьютер мама раскошелилась — и брат в итоге вырос программистом. Так что вложения в детей окупаются :)
А вот мой сын начал в 10 лет, во время карантина: занимался в детских приложениях по программированию. Сейчас ему 12, и он решил попробовать С#. Мы купили ему новый комп вместо старого ноута, наблюдаем :)
@snerh6,
учёный-физик
Я физик. Первые глупые попытки программирования были в 11 лет — на Basic, на БК-0010. А в 13 уже был Pascal и первые вменяемые программы. Сейчас пишу на OCaml, если есть время сделать хорошо. Использую Mathematica, если нужно что-то срочно рассчитать и построить картинки.
Сейчас осваиваю Julia — как более производительную замену Mathematica. Эти языки нужны мне для обработки и визуализации экспериментальных данных.
@maxjazzz,
разработчик
Лет в двенадцать меня пускали программировать на Basic в школьный компьютерный класс. Первые деньги за написанную программу заплатили лет в семнадцать. Купил на них модем. Всегда жил с ощущением, что все вокруг точно знают, чего хотят, а меня просто случайно и тайно запустили в класс, пока школьники на каникулах.
@Sonnerion,
инженер и аналитик
В пятом классе, в 2002 году, попробовал Pascal. Это не определило мою жизнь, я и так был изолированным ребёнком, просто нашлось ещё одно соло-занятие. Мне нужно залипать на что-то: придумывать себе сны или ковырять алгоритм — для меня эти два занятия мало чем различаются, но за второе платят.
Я рад, что у меня есть возможность зарабатывать на жизнь тем, что подходит к моему майндсету, и тем, для чего не противно увеличивать скиллсет. У большей части населения планеты этого нет. Хотя, наверное, в роли космического пирата я был бы счастливее.
Начали, бросили, снова начали
Евгений Антонов
Тимлид. IT-консультант
Более 15 лет в IT-индустрии. Ведёт Telegram-канал «Тимлид Очевидность» и подкаст «Кода Кода».
Чтобы приобщить меня с братом к компьютерам, папа купил ZX Spectrum и вручил нам «Энциклопедию профессора Фортрана». Я попробовал базовые вещи на Basic, но в шесть лет мне было куда интереснее играть, чем кодить. Потом программировал, учась в университете, но не понял, в чём прикол. И только в 25, когда меня взяли на стажировку, начал кодить серьёзно и втянулся. А спустя десять лет мой интерес несколько сместился в сторону менеджмента — им сейчас и занимаюсь в основном.
Анна Жаркова
Lead Mobile Developer в компании Usetech
Пишет нативные приложения под iOS (Swift/Objective-C) и Android (Kotlin, Java) и кросс-платформенные (Xamarin, Xamarin.Forms, Kotlin Multiplatform). В мобильной разработке больше восьми лет. Тимлид и ментор. Kotlin GDE. Преподаватель в Otus на курсах iOS Basic и Pro.
Я начала учиться программированию в 14 лет в компьютерном центре. Первым языком был Pascal — на нём писала простейшие программки. Также пробовала делать приложения типа редактора файлов на Delphi и Visual C++. Потом был вуз, но лабораторные там были так себе. Зато давали интересные проекты для работы с базами данных. После института взяла перерыв на несколько лет — имела тогда совсем другие жизненные приоритеты. А в реальную разработку я пришла к 23 годам: стала целенаправленно осваивать C#, принципы разработки и нативный Android. Это помогло потом плавно вкатиться в разработку на Xamarin Android на первом рабочем месте.
@fakeshluck,
дата-инженер
Ещё в школе загорелся написанием сайтиков, но родители не одобрили. В 16 попал на заводскую практику и понял, что пора всё-таки заняться делом.
Сразу после диплома начал работать дата-инженером. Изначально учил Python + Django, месяцев десять искал первую работу и не нашёл. Друг из колледжа предложил пойти на позицию интерна на Ruby. Спустя два месяца стал джуниором; дальше — больше. Сейчас я лид и ни о чём не жалею. Плакала папина мечта о сыне на заводе.
С шести-семи лет, когда купили первый компьютер, было интересно с ним возиться. В младших классах нравилась математика, но потом увлечение угасло: с седьмого класса нам преподавали КуМир, я всё ещё считаю, что это ужасный язык. Но в девятом поняла, что мне всё-таки нравятся точные науки, загорелась идеей стать программистом и поступить в матшколу, заодно для ОГЭ и олимпиад начала изучать Pascal.
ЕГЭ сдала неидеально — на 77 из 100, но благодаря олимпиадным успехам удалось поступить в хороший вуз. На первом семестре я не особо въехала в программирование и с треском провалила экзамен, пересдала на минимальную оценку и решила, что так не пойдёт.
Следующие полгода пришлось закрывать пробелы в знаниях. В итоге сдала экзамен на отлично, получила за курс хорошо, и меня даже взяли ассистентом для следующего курса — так и проработала три года. А на втором курсе ещё начала преподавать в младших параллелях олимпиадной школы С++ и алгоритмы, устроилась на первую стажировку разработчиком. В конце концов меня позвали преподавать тот самый курс, который я когда-то завалила :)
Я использовал механическую клавиатуру до того, как этого стало мейнстримом, в 1991 году. Тогда у меня был ЭВМ БК-0011, он же «Электроника МС 0513». Его мне подарил крёстный. Он говорил, что за компьютерами будущее, а родители считали, что это баловство, которое сажает зрение.
Признание пришло лишь во взрослом возрасте, когда я начал зарабатывать и присылать предкам деньги ;) Теперь я говорю сыну, что любое хобби может стать ремеслом и лучше совершенствоваться в нём, чем слушать окружающих и делать то, к чему не лежит душа.
Начали программировать в университете
Началом моего пути в IT стала программа решения квадратного уравнения, перепечатанная из учебника по Turbo Pascal 7.0. Запустил — о, работает! Стал добавлять всякие другие штучки — ввод, циклы, модули. Потом был курс по алгоритмам на С. Работа с памятью, указатели… Какой кошмар!
Однажды меня попросили сделать регистр юридических статей — с индексом, поиском по тексту и так далее. Возиться с текстами на С — ад и Палестина, поэтому начал искать более подходящий язык программирования. Остановился на Perl, закодил, получил деньги: «О, да за это платят!»
Начал работать программистом: Visual Basic 6.0, JavaScript, и IE 4. Получил травму от веба, больше в его сторону даже смотреть не хотел. К счастью, начальник это увидел и предложил разойтись.
2010 год: ушёл в стартап — четыре часа сна в сутки, драйв, адреналин, путешествия, переход в продакт-менеджмент. Через семь лет стартап купили, перешёл в JetBrains.
Почему пошёл в IT? Не знаю, так получилось. Это было что-то новое; меня не отпугнуло, что всё ломалось и сыпалось, а наоборот, хотелось с этим справиться, включился спортивный интерес.
Почему остался в профессии? За это хорошо платят. Выбрал бы я что-то другое сегодня, если бы мог сохранить уровень дохода? Вполне вероятно.
Я начал изучать программирование в 21 год с нуля. Очень рад, что не тратил на это подростковые годы: если бы начал с детства, вряд ли бы проводил большую часть времени в общении с друзьями и за совместными развлечениями.
В разработке достаточно вещей, которые могут мешать нормально спать, и без самоконтроля очень тяжело найти грань: когда стоит остановиться и сделать перерыв, а когда продолжать копать дальше.
Этот самоконтроль и у взрослых порой на очень низком уровне, не говоря про детей. В целом, если с детства есть тяга к изучению логики — программирование не повредит. Главное, чтобы оно не заменяло времяпрепровождение со сверстниками и не было единственным увлечением.
Начали кодить уже взрослыми
Виктор Карпов
Разработчик Amazon
Автор Telegram-канала Coding interviews in a nutshell. Живёт в Эдинбурге, Великобритания.
Я учился на факультете механики, математики и компьютерных наук в РГУ (сейчас ЮФУ) в Ростове-на-Дону с 2006 по 2011 год. Специальность — механика, то есть программирования по факту не было. Об этом я не раз пожалел, потому что потом пришлось ускоренно нагонять недостающие знания.
После выпуска я пошёл работать по специальности. Однако скоро у меня родился ребёнок, зарплата была низкой, и встал вопрос, как зарабатывать. И тут на помощь пришёл товарищ, который довольно успешно занимался вёрсткой сайтов на фрилансе.
Каждый день после работы и подработки репетитором математики к ЕГЭ я ездил к нему домой на учёбу. Он давал мне кусочек из реальных проектов, я гуглил и учил HTML, CSS, JS, задавал кучу глупых вопросов, раздражал его и срывал все сроки (Олег, прости).
Через несколько месяцев дело пошло в гору: устроился в веб-студию и продолжил работать с клиентами, с которыми меня свёл приятель. Дальше работы прибавилось, и обучение через боль стало ещё продуктивнее. В результате через два года я устроился в «Яндекс» и переехал в Москву.
В 27–28 лет я сделала первые попытки изучать программирование, писать лёгкие автотесты на Python и Selenium. В 29 пробовала заниматься фронтендом, брала перерыв на декрет, совмещала обучение с материнством и основной работой. В основном грызла гранит науки ночами. Лучше всего зашли курсы от Ивана Петриченко на Udemy и IT-Kamasutra на YouTube. Было тяжело, но я справилась и в 32 года стала-таки фронтенд-разработчицей.