-ВСТУПЛЕНИЕ-

Учебные курсы по программированию очень строгие. Студенты тратят от 60 до 70 часов в неделю на лабораторные работы по кодированию и лекции по информатике — и все это для того, чтобы стать профессиональными разработчиками. Каждый день они строят свой технический и концептуальный репертуар, но из-за интенсивности не всегда понимают, что происходит за пределами класса. Эта информация может быть столь же важной, как и внутренняя информация.

-ПРОЛОГ-

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

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

Первый пост в этой серии я поговорил с Джошуа Харгивзом, моим другом и старшим разработчиком Bloomberg. Отказ от ответственности. Приведенные ниже мнения принадлежат Джошуа Харгивзу и не обязательно мнению Bloomberg.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

-ИНТЕРВЬЮ-

В: Джош, спасибо, что поговорили со мной.

Джош: В любое время, Тейлор.

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

Джош: Что ж, один из так называемых «секретов программного обеспечения» заключается в том, что большая часть работы не так уж сложна. Большинство разработчиков программного обеспечения просто соединяют куски кода, написанные другими людьми. И есть масса вакансий, связанных с такими простыми вещами, что делает эту профессию доступной для такой академической модели, как буткемп. Также помогает то, что буткемпы, похоже, привлекают нужные таланты, а компаниям не хватает разработчиков.

В:Кстати, популярность буткемпов резко возросла. Существует ли риск перенасыщения или разработка программного обеспечения по-прежнему является многообещающей областью?

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

Вопрос. Есть ли у вас какой-нибудь совет, как преодолеть это препятствие? Что вы можете сделать, чтобы стать лучшим кандидатом?

Джош: Самое главное — начать делать это самостоятельно. Иди и построй то, что ты хочешь построить. Большая часть обучения приходит, когда у вас нет какого-то предписанного материала, над которым вы работаете, это происходит, когда вы пытаетесь построить что-то реальное и сталкиваетесь с проблемами реального мира. По своей природе это лингвистический процесс, в котором вы должны имитировать, прежде чем говорить, но необходимо попытаться говорить самостоятельно, чтобы вы действительно научились. Когда вы начинаете писать свои собственные проекты, это вынуждает вас делать это.

В:Есть ли что-нибудь сверх этого?

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

В:Отлично. Можете ли вы рассказать мне, как вы начали заниматься кодированием?

Джош: Конечно. Свою первую программу я написал в 10 классе, у нас был И.Т. class, который предлагал две версии: одна была довольно общей, а другая предназначалась для детей, интересующихся программированием. Итак, мы сделали игру-разрушитель кирпичей — это была моя самая первая программа. Когда я пошел в шестой класс колледжа, то есть за два года до поступления в университет, я изучал информатику, что не очень хорошо для первокурсников, но это было средством для достижения цели. В рамках этого вы выполняете некоторую курсовую работу по программированию, и у меня был действительно отличный учитель, у которого была степень в области компьютерных наук, что необычно. Он был великим учителем. Он работал в большом банке в городе и хотел взять отпуск, чтобы преподавать. И когда пришло время решать, чем я хочу заниматься в университете, я выбрал информатику.

Вопрос. Какой там была трасса CS?

Джош: я не делал типичный трек CS. Когда я поступил в университет, я прошел 4-летнюю магистерскую программу. Мы занимались немного C, немного Java, немного функциональным программированием, немного языковой инженерией — например, как работают компиляторы — но больше всего мне нравилось создавать приложения. Так что, когда я закончил учебу, я устроился на эту работу.

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

Джош:Самая большая разница в том, что когда вы пишете что-то самостоятельно, у вас нет шансов запутаться. Если вы единственный участник, вы знаете о проекте все. Когда вы идете и работаете над производственным приложением, появляется гораздо больше кода и еще больше вещей, которые нужно понять. Обычно, когда вы присоединяетесь к новой команде. Первые шесть месяцев или около того вы все еще изучаете различные области базы кода и то, что все делает. Со временем вы научитесь более комфортно ориентироваться в коде и сможете выполнять задачи более эффективно.

В: Последний. Есть ли что-то, что вас действительно взволновало в мире технологий?

Джош: Да, сейчас меня больше всего волнует мобильное пространство. С нативной мобильной разработкой у нас есть iOS, у нас есть Android, а также у нас есть некоторые другие платформы, например, Blackberry 10, над которой мне приходилось работать. У нас есть нативные мобильные приложения и различные экосистемы, а также компании, стартапы и т. д., которые тратят огромные суммы денег на создание одного и того же пользовательского интерфейса на двух разных платформах. Нативные примитивы могут даже выглядеть одинаково в конце, но код под ними может отличаться. В нашем приложении мы используем React Native. И это позволяет вам писать Javascript, и этот код запускается и создает собственные представления на разных платформах и стилизует их с помощью общей системы стилей. Вы можете написать весь свой код, свою общую бизнес-логику, свою логику представления в javascript, а затем, если вам нужно написать какой-то собственный код, вы можете это сделать. Поэтому больше всего меня волнует дальнейшее развитие этой платформы. Основная причина, по которой я так взволнован этим, заключается в том, что он устраняет невероятное количество избыточности в аспекте разработки, что позволяет разработчикам больше сосредоточиться на создании отличных продуктов и меньше на том, что по сути сводится к соответствию.

В:Спасибо, что присоединились ко мне, Джош.

Джош: Спасибо.

-КОНЕЦ-

Спасибо, что нашли время в своем напряженном дне, чтобы прочитать это! «Bootcamper Versus» для читателей. Это означает, что мы берем вопросы и пытаемся включить их в наши будущие интервью. Если у вас есть вопрос, который вы хотите задать настоящему разработчику, оставьте его в комментарии к одной из наших статей, и мы займемся этим.

Все предложения приветствуются.

Если у вас есть какие-либо комментарии, вопросы или критические замечания по поводу качества статьи, оставьте комментарий.