Уважаемые честолюбивые инженеры!

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

1) Выясните свои мотивы: Зарплата инженера может служить мотиватором для выхода в поле после определенного порога (75 тысяч долларов согласно this NY Times article) Деньги делают очень мало для увеличения счастья. И ваша главная цель как инженера - решать проблемы. Это означает, что вы бьетесь головой о проблеме, которую, возможно, никто не решал раньше. Вас это волнует? Это вас пугает? Важно понять, сделает ли работа вас счастливой, потому что, много вам платят или мало, зависит от того, насколько хорошо вы можете решать сложные проблемы. Если вы ненавидите решать проблемы, никакие деньги не сделают работу приятной. Честно говоря, меня изначально тянуло к программированию как к средству обеспечения большей финансовой стабильности моей семье, но, к счастью, это также оказалось новой страстью на всю жизнь. Я надеюсь, что то же самое можно сказать и о тебе.

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

3) Научитесь ходить, прежде чем бегать, а затем продолжайте заново учиться ходить. Перед тем, как присоединиться к Galvanize, я программировал. Я пробовал себя в Codecademy или редактировал HTML и CSS, но это чрезмерное упрощение того, что означает разработка веб-сайта. Веб-сайт должен быть более чем красивым. Он должен функционировать, маршрутизировать пользователя, проверять вводимые данные, предотвращать атаки безопасности и иметь логику, чтобы быть интересным. Это может быть визуализация данных или уникальная функциональность, или оформление заказа в магазине… в противном случае это может быть просто блог. Так что найдите время, чтобы изучить основы языка. И чертовски практиковать этот язык. Если вы тоже хотите изучить JavaScript, вы можете проверить Сеть разработчиков Mozilla и попрактиковаться в том, что узнали из Codewars.

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

5) Изучение: продолжайте изучать за пределами своего класса, книги или проекта. Технологии - это постоянно расширяющаяся вселенная. Каждый день кто-то работает над чем-то новым и интересным. Посмотрите на оборудование. Посмотрите новые библиотеки. Попробуйте новый фреймворк. Учите новый язык. Сходите на воркшоп / мероприятие / хакатон / конференцию. Вдохните все это. Ничто не может вдохновить вас больше, чем видеть то, что возможно, и подвергать сомнению то, что вы считали невозможным.

6) Читайте, даже если не понимаете, что читаете. Очень старайтесь: На самом деле изучение программирования таково, что поначалу все это будет выглядеть как тарабарщина. Но со временем вы почувствуете, что делает функция. Вы научитесь читать код и будете знать, чего «ожидать». Это похоже на игру на инструменте и со временем возможность услышать музыку, прежде чем сыграть одну ноту. Читайте как можно больше. Зайдите на Github и посмотрите, как люди пишут свой код, исследуйте, как они организуют свои проекты, и всегда, всегда пробуйте свои силы в написании большего количества кода новыми и интересными способами.

7) Спи. Иногда ответ приходит не через час. Иногда это происходит через день или неделю. Не отчаивайся. Ключ к решению большего количества проблем - это научиться думать, а не научиться получать правильный ответ. Иногда это удача или вдохновение, иногда кто-то говорит нам, как решить проблему, но главное - проанализировать и понять внутренности проблемы, чтобы вы могли решить больше проблем, а не одну и ту же проблему. Прочтите Методы решения проблем Поли.

8) Никто не знает всего: ни ваши учителя, ни ваши наставники, ни инженеры с многолетним опытом. Маловероятно, чтобы кто-то все знал. Так что Google, сколько душе угодно. Все остальные тоже гуглит. Это также означает, что нам никогда не должно быть стыдно за то, что мы не знаем ответа, вместо этого мы должны быть вдохновлены, чтобы всегда продолжать учиться. Это означает, что мы не должны стыдить других за то, что они не знают того, что мы знаем, потому что мы все были там в какой-то момент.

9) Нет пункта назначения. Согласно предыдущему пункту, нет такого количества информации или ноу-хау, которые заставили бы вас почувствовать себя, наконец, добросовестным программистом, потому что все, что вы изучаете, постоянно развивается или заменяется лучшими вещами. Лучшее, что вы можете сделать, - это упорно работать над тем, чтобы быть уверенным в том, что вы делаете, и держать свой мозг в тонусе, чтобы усвоить остальное по мере его поступления.

10) Последовательность и голод: не торопитесь. Не останавливайся. Учиться понемногу каждый день. Читать. Код. Отлаживать. Познакомьтесь с людьми, которым нравится то, что вы делаете, и которые творят волшебство. И никогда не бойтесь поворачиваться. Вам нравится серверная часть, интенсивно использующая логику и данные? Радует ли вас, когда ваши коробки идеально выровнены? Вы хотите работать над новыми технологиями? Работайте над тем, над чем вы хотите работать, прежде чем кто-нибудь придет и назначит цену. Образование похоже на гигантский буррито, если вы не очень голодны, вы не сможете его закончить или почувствовать удовлетворение, когда вы это сделаете.

Мелиса Им скоро станет выпускницей иммерсивной программы Full-Stack Web Development компании Galvanize. Там она изучила продвинутые архитектурные шаблоны, тестирование, интерфейсную разработку на React и такие серверные технологии, как Express, Node.js и PostgreSQL. Вы можете написать ей письмо на melisaevelynim [at] gmail [dot] com, подписаться на нее в Twitter на ImmenselyAlive или проверить ее проекты на Github.

Статья изначально опубликована в LinkedIn 14 ноября 2017 г.