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

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

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

Путь в индустрию у всех разный.

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

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

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

Сдав этот тест, я прошел все школьные курсы, которые мог иметь отношение к компьютерам, и выучил все, что мог, в 2011–2012 годах. В 2012 году я закончил среднюю школу и прошел двухлетнюю программу интерактивного дизайна в небольшом местном университете. . Я вошел в программу, думая, что хочу сосредоточиться на работе дизайнером, но со временем я обнаружил, что мне все больше и больше нравится аспект кодирования. После первого года обучения в университете я начал стажировку в мае 2013 года и работал здесь, пока не закончил учебу в апреле 2014 года. Хотя с тех пор моя карьера сильно изменилась, я считаю, что стажировка должна стать началом моей жизни в технологической индустрии действительно началось.

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

Разработка отличного опыта не так проста, как кажется, и именно поэтому за это так много платят.

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

100% каждого рабочего дня — это решение разного рода задач. Большой процент этого времени тратится на Google. Удивительно, но разработчики часто используют Google . Быть хорошим специалистом в Google в определенных областях не так просто, как вы думаете.

Создание отличного цифрового опыта чрезвычайно конкурентоспособно, и есть так много мелких деталей, которые клиенты могут воспринимать как должное. Примером этого является исследование, которым поделилась Amazon, которое показало, что веб-сайт, который был на 100 миллисекунд медленнее, стоил им 1% дохода (а когда вы Amazon, это в конечном итоге составляет миллиарды долларов).

Кодирование — это не математика, это решение технических бизнес-задач.

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

При этом стоит также отметить, что подобно тому, как я относился к занятиям математикой в ​​старшей школе, изначально я ненавидел написание кода. Это заставляло меня чувствовать себя очень глупо большую часть времени, и многие вещи просто чувствовали, что они должны были работать. Реальность программиста заключается в том, что для этого нужно МНОГО проб и ошибок. Если кто-то кажется экспертом в программировании, есть вероятность, что он таковым является из-за множества проб и ошибок, с которыми он столкнулся при изучении этого.

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

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

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

Когда я впервые начал заниматься программированием, я думал, что сверхбыстрый компьютер позволит мне выполнять работу быстрее. На самом деле я мог использовать базовый MacBook Pro более 6 лет для всей своей профессиональной деятельности. Я также думал, что люди, которые знают кучу разных языков, лучше программируют, чем те, кто знает один или два языка программирования. Прошло 6 с лишним лет, а я действительно знаю только один язык программирования (JavaScript). Нет ничего плохого в знании большого количества языков программирования — самое важное для программиста — это лучше всего понимать лица ваших клиентов и лучший способ решения этих проблем.

Все это время я занимался JavaScript в основном потому, что это язык, который со временем рос в геометрической прогрессии, и его экосистема постоянно развивается. JavaScript чрезвычайно универсален и может использоваться для создания практически всего, что вы себе представляете. С каждым языком приходит много сложностей, библиотек и фреймворков (но это тема для другого раза).

Учебные курсы › Дипломы

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

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

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

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

Увлеченные проекты — лучший опыт обучения.

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

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

Лучшие разработчики понимают, что отличным разработчиком являются не только отличные навыки программирования.

Разработчики принимают так много технических решений в своей повседневной жизни, что они могут не осознавать их актуальность, требующую отличных навыков совместной работы. Два простых примера сотрудничества с другими заинтересованными сторонами;

  • Доступность. Как создать веб-сайт, который будет удобен для людей с ограниченными возможностями? Например, они могут плохо видеть или у них может быть тремор, который не позволяет им пользоваться мышью.
  • Поисковая оптимизация — как Google находит ваш веб-сайт и как вы определяете приоритет своего веб-сайта по сравнению с конкурентами?

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

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

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

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

Есть так много ролей, которые играют решающую роль в создании отличного цифрового продукта, но больше всего мне запомнились следующие:

  • Дизайнер пользовательского опыта
  • Аналитик данных
  • Менеджер по продукту
  • Скрам-мастер
  • Цифровой маркетинг

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