Добрый день, меня зовут Максим. Я хочу рассказать о том, как я стал программистом и как это повлияло на мою жизнь.
Знакомство с программированием
Как и многие начинающие программисты, впервые с программированием я столкнулся ещё в школе, однако заинтересовался им намного раньше. С самого детства мне нравились компьютеры и различные устройства. Я не тратил своё время на игры, мне было интереснее разбираться, как работает компьютер, что и где настраивается и пр. Где-то в возрасте 14-ти лет соседи стали приглашать меня к себе, починить и настроить компьютер. Это был мой небольшой заработок.
В школе нам рассказывали про какой-то учебный язык программирования, на котором написать что-то толковое было практически невозможно в то время. Этот язык даже ООП не поддерживал. Тогда я стал ходить на компьютерные курсы и познакомился с web-разработкой (HTML, JS, PHP). JavaScript я вроде как понял, но вот PHP совсем не нравился. Может быть в силу возраста, но было не особо интересно.
Первый опыт
После школы и компьютерных курсов я поступил в Санкт-Петербургский политехнический университет Петра Великого (Политех). В то время мне программирование было не интересно, хотя в школе я частенько писал скрипты (*.bat) и давал их своим одноклассницам. Я пошёл работать. Начал с местного интернет-провайдера, ходил по заявкам, чинил компьютеры, телевизоры и телефонию. Спустя полгода я трудоустроился в компанию покрупнее. Меня взяли в отдел разработки ПО, но я практически сразу переметнулся в отдел к системным администраторам. Там я тоже проработал недолго, постоянно возникали разногласия с начальством, уже через полгода я ушёл.
Через некоторое время мне удалось устроиться системным администратором в фармацевтическую компанию, где я стал разбираться в том, как устроены сети, поднимал и чинил сервера, телефонную станцию. В итоге я починил всю сеть в офисе, разобрался в работе DNS, AD, Exchange и за полгода всё привёл в порядок. Наступило время, когда делать особо было нечего, я приходил, пил чай, обедал, гулял на крыльце (если было лето) и сидел в интернете. Казалось бы, именно этого я и хотел! Но мне быстро надоело бездельничать.
Тогда я решил заняться программированием. Мой выбор сначала пал на Java. Я нашёл несколько учебников и книг. Начал читать. Вроде всё было понятно, но книжки были жутко скучными и мне быстро надоело. Я бросил это дело ещё на полгода.
Немного об онлайн-курсах
Я понял, что мне нужно изучать программирование, когда мне надоело сопровождение систем в офисе. Приходишь, сидишь и ничего не делаешь. Весь интернет уже пересмотрел, играть не люблю, скучно. Решил, что надо менять сферу деятельности. И поменял.
К концу весны 2014 г. у меня уже был IPad и MacBook, и я подумал, почему бы мне не написать программу для планшета Apple. Я стал искать курсы по разработке для IOS и практически сразу увидел Школу Программирования (тогда ещё не было GeekBrains). Прочитав отзывы, я понял, что школа хорошая, и я купил себе курс «Objective C» со скидкой.
В течение всего курса, а затем и следующего уровня Objective C, интерес к разработке на IOS рос. Я прошёл два курса с огромным интересом и начал уже строить свои планы для самостоятельного обучения. Сомнений у меня не было, я чётко намеривался заняться разработкой для IOS на профессиональном уровне.
Примерно через год я решил пройти ещё курс «Ruby / Rails». Кроме мобильных приложений я захотел научиться писать ещё и Backend для них.
Карьера по специальности
Прошло примерно полгода после того, как я закончил курсы «Objective C». В течение этого времени я постоянно занимался саморазвитием и стал ходить по собеседованиям (надо же как-то наработать небольшой опыт, стажировки ещё не было тогда). Через полтора месяца мне пришло приглашение на работу в небольшую студию разработки мобильных приложений.
После полугода работы в этой студии (я как раз закончил курс «Ruby on Rails») я решил найти дополнительный заработок на фрилансе: зарегистрировался на бирже, купил подписку и стал мониторить заказы. Мне очень повезло и через неделю у меня был уже крупный проект, для которого нужно было реализовывать Backend и IOS-клиент. После этого заказа меня нашла студия разработки мобильных приложений из другого города, с которой я работаю и по сей день.
Больше на фриланс я вообще не заходил. Было ещё много заказов, я постоянно развивал свои навыки программирования и профессионально рос. К концу года на официальной работе всех программистов, включая меня, сократили. Я решил, что не буду больше искать работу, а открою себе ИП и буду заниматься разработкой ПО.
Так оно и вышло. Сейчас заказы сами меня находят, работа есть всегда. Более того, иногда приходится делегировать заказы другим разработчикам. Я переехал из города в область и живу теперь на природе. Сам себе начальник, как говорится.
Советы начинающим программистам
Главное, определитесь, что вам наиболее интересно: создавать сайты, серверные, десктопные или мобильные приложения и пр. Только после этого погружайтесь с головой в изучение.
Преодолевайте свою лень и свой страх. Не получится, если вы будете плохо стараться. А в целом, в программировании нет ничего сложного. Напротив, чем сложнее задача, тем интереснее её решать. Заставьте себя думать и у вас обязательно появится спортивный интерес изобрести решение. Например, используя Ruby, я автоматизировал некоторые скучные и рутинные задачи.
Занимайтесь самообразованием даже во время обучения (онлайн-курсы, ВУЗы, не важно). А после обучения сразу же пробуйте устроиться в компании. GeekBrains предлагает стажировки, но не стоит ждать, когда за вас решат, где и кем вы будете работать. В Интернете есть множество ресурсов, где вы также можете найти стажировки и приобрести необходимые навыки командной разработки для дальнейшего старта карьеры. Это вполне реально и не представляет особых сложностей. Не стоит думать, что вы сразу состоитесь в сфере фриланса. Для самостоятельной разработки требуются такие же важные навыки, как и для работы в компаниях.
Ставьте цели и начинайте двигаться к ним. Всем успехов!