На написание данной статьи меня подвиг пост: "Инженер VS Программист. Или куда уходят инженеры". Оказалось, что я далеко не один такой, и как видно из комментариев интерес к данной теме велик, поэтому я решил описать и прокомментировать свою историю о пути становления программистом. Данный пост отражает исключительно мою точку зрения, так как он будет полон критических замечаний по поводу образования и трудоустройства сегодняшних инженеров. Еще в школе лучше всего мной воспринимались предметы с техническим уклоном: физика, информатика и математика. Ближе к концу обучения, как и всех вставал вопрос: "Куда пойти дальше?". Тогда конкретного ответа я дать не мог, так как не относился к тем людям из историй по типу: "в 9-м классе написал свое первое приложение". Я был обычным школьником, который ничего не хотел делать. В итоге выбор пал на университет: "МИЭТ". Для меня он показался оптимальный по отношению престижности/трудозатрат. Так же, на момент поступления (2010 год) у него было большое преимущество — студент поступал не на специальность и даже не на кафедру, а на факультет. Дальнейшее распределение шло только на 2-м курсе, если мне не изменяет память. Это был отличный вариант, как мне казалось, для человека, который не знает чего он хочет. Наверное вы догадались, что за 2 года я так и не понял, чем я именно хочу заниматься. Преподаваемые дисциплины ясности не внесли, так как они были общими. И к моменту выбора специальности я опять выбрал наиболее общую. К 3-му курсу у меня появилось осознание того, что пора начать искать работу. К счастью или нет, как раз с 3-го курса преподаватели начали хантить студентов к себе в конторы. На тот момент я был готов пойти работать в любое место и за любые деньги, ради бесценного опыта. Контора эта занимается разработкой различных изделий микроэлектроники
на заказ, заказы в основном государственные. В течении первых двух месяцев я только и делал, что правил тех документацию и разбирал резисторы. Но потом была первая зарплата! Целых 5000 ₽ (4350, после вычета налогов). На тот момент я думал, что это огромные деньги, теперь смешно вспоминать. Через некоторое время мне дали мое первое серьезное задание. Было необходимо разработать приложение для Windows, которое общалась с электронной аппаратурой по нескольким цифровым интерфейсам (rs232, usb, can). Аппаратура предназначалась для проверки более сложных изделий и имитировала сигналы тех систем, с которыми в последствии работало проверяемое оборудование. Неплохо для первого задания студенту, у которого весь опыт работы заключался в раскладывании электронных элементов по коробкам. Никаких кураторов у меня не было, так как никто программирование такого рода не знал. Конечно, весь написанный мной код был ужасен, работало все с тормозами и т.д. Итак, какое-то время я занимался исключительно говнокодингом написанием ПО под Windows. Зарплату повышали каждые пол года на те же 5000 ₽. Меня все устраивало, я был студентом, который приходил на работу по 2-4 часа в день, и получал при этом опыт, как мне казалось. Так продолжалось до момента написания бакалаврского диплома. За пол года до бакалаврского диплома появилась необходимость в разработке новой аппаратуры для проверки изделий. И тут на меня уже повесили совершенно другую работу, а именно полный цикл создания некоторых модулей этого изделия. В мои обязанности входило создание электрической схемы, топологии, отладка и написание ПО. На этот раз мне повезло и у меня появился куратор. Чудом, почти с первого раза все заработало. На тот момент я был счастлив, первое изделие, созданное собственными руками и все работало. После защиты бакалаврского диплома начались первые серьезные конфликты с начальством. Из-за того, что на работу я приходил уже не 2-4 часа, а на полный день меня перестал устраивать мой заработок. Но любая перепалка заканчивалась фразой: "Не нравится — уходи", для некоторых это так знакомо. Я даже уже начал присматривать вакансии, на должность программиста C++, так как знания по остальным направлениям разработки были крайне поверхностными. Но в какой-то момент, новое начальство пообещало "золотые горы". И было решено прекратить поиски работы, так как по своей наивности я в это поверил. Таким образом, прошел первый год магистратуры. Ничего особо выдающегося за это время не происходило, лишь увеличивалось количество работы. А вот обещанная зарплата так не росла. Любые разговоры по поводу обещанного заканчивались отговорками начальства. В итоге я понял, что ловить в этом месте, после окончания университета, нечего и начал думать над своими перспективами. Так как, кое-какие навыки в программировании у меня были в конечном итоге я решил заняться разработкой под iOS(в этом месте можно вставить что-то свое). Это был последний год обучения в университете. За 6 лет, нахождения там, какие-то, действительно необходимые знания давали лишь на последних курсах, когда все уже работали и большинство уже не могло выделить на это достаточного времени. Так вот, что-то я отвлекся. Было решено, браться за голову и начинать учиться(на 6-м курсе, то). Набив несколько шишек, я нашел очень хорошие курсы по iOS разработке, советую их всем начинающим. Приходилось заниматься все свое свободное время, а меж тем я работал в полный день и писал магистерскую диссертацию. К началу весны, я осилил базовый курс и решил походить по собеседованиям. Конечно меня разносили в пух и прах, но зато я узнал, чего именно хотят работодатели и какие пробелы необходимо восполнить. Потом мне подвернулось пара удаленных проектов от моего приятеля на разработку приложений. Это послужило огромным скачком в моих знаниях. После защиты диплома, я практически сразу уволился. Так как, описанные ранее проекты были не закончены, я вкусил все прелести удаленной работы. Это позволило мне восполнить силы перед поиском полноценной офисной работы с командой разработчиков. Эта часть, как оказалось ничем примечательным не выделяется. После прочтения горы статей на хабре я был в состоянии составить простое резюме и знал на какие площадки его опубликовать (на все, которые только можно). Работу в итоге нашел всего за 3 дня (И кстати через "Мой круг"). Надо оно или нет, решать вам самим. В моей организации работает множество людей с дипломами экономистов и историков и это им не мешает работать программистами. С другой стороны, если вдруг где-то понадобиться диплом, то у вас его не будет. Да, я отношусь к своему своим дипломам, не более, как к коркам, которые возможно пригодятся, а возможно и нет. На эту тему есть огромное количество статей. Возможно я чего-то не знаю и в других университетах дают знания, имеющие большее отношение к жизни. Тут как в diablo — пока за всех не пройдешь, не поймешь за кого лучше. Возможно, я так наплевательски относился к учебе, это уже не важно. Единственный из критических минусов своего университета я нахожу — это его географическое положение. Все таки Зеленоград — это не Москва, как бы вам не казалось в самом начале. Расстояния действительно большие и тратить каждый день на дорогу до работы по 3 часа, это очень утомительно. В первую очередь я считаю, что человек должен специализироваться на более узких вещах, нежели вся инженерия в целом(некоторые могут возмутиться по поводу того, что я назвал программирование узкой специализацией, но в моей прошлой конторе именно так и считалось). Я считаю, что чем раньше человек определится, чем он хочет заниматься, тем лучше для него и его карьеры. И не будет таких ситуаций, когда студенты получают большую зарплату, чем ты. Так же, советую сегодняшним студентам быть крайне осторожными, если вы работаете на около государственные организации. Если вам дают неподъемные задания по принципу — если выплывет, то станет крутым инженером и во всем разберется, то один вам совет — бегите. На подобных задачах можно научится только копипастить, не понимая, что происходит. Почему программирование? Маленький входной порог: как бы это банально не звучало, но начать понимать, что вообще здесь происходит намного легче, в более популяризованной области, нежели, чем в инженерии. Не просто можно услышать огромное количество историй, об экономистах — программистах. Также, ко входному порогу можно отнести, что вам понадобиться лишь компьютер, для того чтобы начать что-то делать. В какую область программирования вы пойдете — ваш выбор. Даже если вы ошибетесь, переквалифицироваться уже будет намного проще, а накопленный багаж знаний будет лишь помогать. Чего не скажешь о работе с железом — разводка печатных плат, мне никак сейчас не помогает. Я постарался кратко рассказать, о том, как я пришел в программирование. Путь был довольно долгий, как по мне. Жалею ли я о потраченном времени? Наверное нет, ведь я смог по сути пощупать все, что связано с микроэлектроникой и it, хоть и крайне поверхностно и выбрать для себя наиболее оптимальный вариант в плане удовольствия от работы и зп( кстати всего за полгода нормальной работы, моя зп поднялась в 2 раза, относительно той, что я получал работая инженером). iOS Developer