Веб-разработка и разработка приложений для людей, которые планируют посвятить этому всю свою жизнь.
Привет! Я пишу этот пост в блоге перед тем, как выступить с докладом Введение в веб-разработку на 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 находит ваш веб-сайт и как вы определяете приоритет своего веб-сайта по сравнению с конкурентами?
Оба эти примера являются примерами инициатив, которые с каждым годом становятся все более и более актуальными для людей, создающих цифровой опыт, и представляют собой совместную работу для достижения наилучших результатов. Помимо этих двух примеров, существует множество других аспектов разработки, требующих сотрудничества между разработчиком и заинтересованными сторонами.
В конце концов, лучший навык, которым может обладать разработчик, — это отличные навыки совместной работы. Это навык, для развития которого требуется время, и важно проявлять как можно больше сочувствия к вашим клиентам и заинтересованным сторонам, чтобы наилучшим образом развивать ваш процесс в качестве разработчика на протяжении всей вашей карьеры.
Некоторые люди просто не созданы для того, чтобы быть разработчиком. Это совершенно нормально — есть много ролей, которые также необходимы в технике.
Каждая роль в технологической индустрии сама по себе сложна — только потому, что задачи веб-разработчика не совпадают с тем, чем вы хотите заниматься, это не значит, что вы не подходите для технической индустрии.
Есть так много ролей, которые играют решающую роль в создании отличного цифрового продукта, но больше всего мне запомнились следующие:
- Дизайнер пользовательского опыта
- Аналитик данных
- Менеджер по продукту
- Скрам-мастер
- Цифровой маркетинг
Работа в сфере технологий — одно из лучших решений, которое вы можете принять, если вы созданы для этого. Это отрасль, которая постоянно сосредоточена на преодолении барьеров, самосовершенствовании и выходе из зоны комфорта. Если это то, что вы решили преследовать, я желаю вам удачи!