Или как вам не нужно формальное образование, чтобы «добиться успеха»

Вступление

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

Окончив среднюю школу, я решил бросить университет в пользу учебного курса по программированию. Это было как раз в то время, когда они набирали популярность здесь, в Болгарии, и они давали мне надежду, что я смогу найти работу быстрее, чем через 4 года обучения в университете.
У меня было несколько основных причин, по которым я предпочел альтернатива университету:

  1. Я не хотел тратить 4 года на то, чтобы достичь чего-то (работы), на которое можно было бы потратить меньше времени. Да, конечно, эти 4 года сами по себе не потрачены впустую, и все, чему они научились, рано или поздно окупается прямым или косвенным (как в случае с математикой) способом, но я не видел достаточно веских причин для того, чтобы пройти через это.
  2. Я не хотел быть финансовым бременем для родителей еще 4 года. Я знал, что не смогу достаточно научиться, если мне придется одновременно работать на стороне, поэтому о поиске работы не могло быть и речи.
  3. Я не был уверен, что это было правильным для меня. Я боялся заниматься и учиться годами только для того, чтобы понять, что мне это не нравится, когда я почувствовал вкус профессионального мира.

Начало

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

Тем не менее, пары вводных курсов просто недостаточно. Я быстро понял, что один буткемп не поможет, и сначала решил, что лучше всего создать портфолио, которое будет сопровождать эти сертификаты.
Я начал с простого, создав консольную RPG-игру на Python. . Конечно, это было очень простое приложение, но оно разрослось примерно до 5 тыс. Строк кода, что в то время для меня было много.

Я все еще чувствовал, что прогрессирую не так быстро, как мне хотелось бы, поэтому я начал посещать другие курсы (некоторые онлайн, некоторые лично). Моя рабочая нагрузка быстро росла, и мне постоянно приходилось тратить более 10 часов, чтобы остаться. вдобавок ко всему. Это было приятно, потому что я действительно мог видеть прогресс каждый день.

Мы приближались к новому году, и у меня был командный проект для курса. Работать в команде было непросто, особенно тяжело было разделить работу, так как у всех был разный опыт (у кого-то больше, у кого-то меньше). Зная меня, я старался выполнять большую часть работы только потому, что хотел, и я знал, что вы учитесь на собственном опыте. Мы создали действительно глупого клона Facebook для домашних животных.

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

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

Что ж, этот материал оказался пока самым жестким. Внезапно я снова почувствовал, что, возможно, я не годен для этого, что было большой каплей от ощущения себя богом, потому что вы создали простое приложение CRUD и окружены людьми, которые даже не могут этого сделать. Все это завершилось, когда мне потребовалось три дня, чтобы реализовать красно-черное дерево (классический вид, а не более простой вариант с левым уклоном). Это было около Рождества, и поэтому я чувствую, что здесь действует обязательный xkcd:

С другой стороны, понимание структуры / алгоритма было достаточно полезным, чтобы я продолжал работать.

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

В следующие месяцы (декабрь-март) я потратил изрядное количество времени на решение задач, выписывание структур данных и изучение алгоритмов.

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

Тогда же, вдохновленный платформой для алгоритмических задач Hackerrank, я запустил третий проект - Deadline. Изначально это планировалось как проект хакатона, и хотя он принес нам билеты на фестиваль WebIt 2017 в Софии, и я, и мой партнер знали, что мы продолжим его развивать. (и мы по-прежнему рады, что участники приветствуются!)

Время работать

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

С декабря я тайно хотел сделать снимок в Uber, хотя это казалось невозможным. Год буткемпов / курсов и получение работы в ведущей технологической компании, где работают одни из самых элитных инженеров мира? Да, конечно.

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

Когда дела с Uber были закончены, пришло время продолжить мои поиски. Я хотел попасть в компанию, где задачи были интересными и сложными, как в соревнованиях по программированию. Следующим моим выбором была VMware, но их процесс набора был безумно медленным, и я решил, что с меня хватит ожидания. В итоге я получил должность младшего разработчика Ruby в SumUp. У меня не было предыдущего опыта работы с Ruby, но я постарался быстро изучить основы, и сейчас я чувствую себя более чем комфортно, когда пишу его. В конце концов, это просто еще один язык.

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

Заключение

В конце концов, я рад, что бросил университет.

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

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