То, что я рад узнать, и что я хотел бы знать уже после 6 месяцев работы

1656637940 to chto ya rad uznat i chto ya hotel by

Михаил Рыбинцев

1*eUjsL_eiuoKzWlAF6oNxqA

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

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

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

Пять вещей, которые я рад знать перед началом работы

1. Как подойти к проблеме.

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

Это главные критерии полного решения.

Подготовьте две итерации: большую и малую.

малый:

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

1*WMjalOoAKeADDdo4mr1z-g
Встречайте Густава.

Записывайте вещи, рисуйте, создавайте схемы. Затем разберите вещи. Сложное в сложное, затем сложное в простое.

Затем перечислите известные неизвестные и изучите их. Поговорите со своим Густавом о следующих шагах. Что он говорит? Попробуйте что-нибудь и, если не удастся, повторите итерацию.

большой:

Сделайте три небольшие итерации. Больше – пустая трата времени, хотя само число может изменяться и является личным.

Если что-то не работает, сделайте перерыв и поговорите с людьми о том, что вы делаете. Густав, к сожалению, здесь не поможет. Можно пойти на прогулку/бегать/в спортзал/в душ/что угодно однообразное. Попытайтесь полностью переключить психические проблемы. Изучите урок иностранного языка, почитайте книгу, посмотрите уроки игры на гитаре/фортепиано/банджо на YouTube. Написать среднюю статью…

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

  • фоновая работа.
  • начальная искра.
  • тяжелый труд, чтобы достичь результатов на дом.

И именно тогда дневник является идеальным фильтром:

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

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

Напряженную работу можно оптимизировать.

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

2. Как находить нужную информацию.

Google является шагом к переполнению стека. Так что используйте это себе на пользу.

  • Ваш поиск возвращает интересующие вас сроки? Выключите их!
  • Ищете точную фразу? Используйте точное соответствие!
  • Не уверены в сроке или ищете что-то подобное? Поиск синонимов!

Есть сотни статей, поэтому я приведу эту в пример:

Как пользоваться поиском как профессионал: 10 советов и подсказок для Google и не только
Сейчас поисковики достаточно хорошо находят то, что вы ищете, но иногда они все равно не оправдываются.www.theguardian.com

Поиск того, что вам нужно составляет почти 50% работы, которую вы собираетесь выполнять. Уберегите себя от сканирования миллионов результатов!

3. Как быстро заметить ненужную информацию.

Да, многое из того, что вы найдете, является мусором. Снятие и сканирование являются основными навыками.

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

Съемка и сканирование
Поймите разницу между сканированием и сканированием текста или текстов, чтобы получить информацию или понять суть.www.bbc.co.uk

4. Нельзя все знать.

Мой дедушка всегда говорил: «Я хотел бы знать то, чего не знаю». Да, правда.

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

1*lRUjvx0CmzfFWJINeD6sBg
Потому что кому не нравятся диаграммы?

5. Предполагаемые основания.

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

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

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

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

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

История Интернета:

Доклад Эндрю Блюма о том, что такое Интернет как совокупность физических объектов:

Пожалуй, один из самых полезных ресурсов об основах Интернета от разработчиков Chrome:

20 вещей, которые я узнал о браузерах и Интернет
То, что вы всегда хотели знать об Интернете, но боялись спросить. Узнайте об Интернете и браузерах в этом…www.20thingsilearned.com

Хорошее знакомство freeCodeCamp с маршрутизаторами и пакетами:

Научитесь программировать с помощью бесплатных онлайн-курсов, проектов программирования и подготовки к собеседованиям.
В этом видео мы подробнее рассмотрим маршрутизаторы и пакеты, важные понятия, чтобы понять, как…www.freecodecamp.org

Мое любимое трио из Treehouse:

Основной курс HTTP
Во время этого курса мы рассмотрим основной метод, используемый устройствами для связи друг с другом: HTTP…teamtreehouse.comБазовый курс REST API
Многие API, которые вы встретите в Интернете используют основную идею дизайна, известную как REST, что означает…teamtreehouse.com

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

«Вау, подожди, ты заплатил за курсы, чтобы учиться?»

Да. И домик на дереве действительно был довольно большой частью моего обучения.

«Можете ли вы рассказать мне больше о своем обучении, чтобы стать разработчиком?»

Конечно, об этом есть мой пост на носителе с подробным перечнем материалов.

Три вещи, которые я хотел бы знать лучше

1. Git

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

Честно говоря, я просто еще не нашел достойного курса. На самом деле, использование Git было бы лучшим курсом для этого. Охватывайте основания и делайте все с помощью Git. Не работаете разработчиком? Сделайте запросы на получение своих списков покупок!

2. MVC

должно ли это быть MCV?

Модель → Просмотр → Контроллер.

В каком бы направлении вы ни рисовали стрелки, концепция проста.

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

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

  • Модель есть ваша абстракция данных, как вы ее описываете, как вы ее записываете и как вы наконец манипулируете ею.
1*zrIRMbqfbXlbjTaG2RIrRg
Все эти, казалось бы, сложные и разные диаграммы объясняют MVC. Ну, по крайней мере, пытаются…
  • Просмотреть это ваш пользовательский интерфейс. Существует множество способов создания просмотров. Вы можете отправлять HTML/CSS, вы можете создавать его с помощью Razor (попытка .NET использовать C# в качестве языка интерфейса) или вашего React или Angular. Проще говоря, конечно.
  • Контроллер это место, где происходит связующая магия. Он обрабатывает все, что осталось. Просмотр – это изображение, модель – фоновые числа, а контроллер – это то, что объединяет все это вместе и создает страницу, с которой можно взаимодействовать. Он обрабатывает ваши щелчки и нажатия, ваши HTTP-запросы и сообщает вам, правильно ли то, что вы заполнили эту надоедливую форму или нет (также известно как проверка ввода). И как это происходит в контроллере, это известно как проверка ввода на стороне сервера.

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

На самом деле, он редко используется для больших проектов, поскольку вы все равно получаете C# и JavaScript. Потому что тот jQuery (ну да, ты думал, что он тебе не понадобится в 2017 году. *вздыхает*) действительно хорош, чтобы отбросить тебя за неправильное заполнение этих форм. Следовательно, это будет проверка ввода ввода.

Ага, забыл о ViewModels. Ну они как модели для ваших взглядов. Я знаю, как это раздражает?

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

3. Ловкий

Онлайн-курсы редко указывают на значимость этого.

Ваша задача — писать код, не правда ли? Ну, не совсем так. Никто не заботится о коде, если нет никого, кому нужен код. И когда кому-то нужен ваш код, они могут изменить свое мнение о том, сколько кода им нужно и зачем его можно использовать.

Вы можете подумать, что это не так уж сложно, но поверьте, это так! Ваши менеджеры проектов (PM) и бизнес-аналитики (BA) являются вашими лучшими друзьями. Они проделали всю сложную трудную работу за кулисами, поэтому вы можете просто написать код. «Создать кнопку, которая делает что-то» превращается в «пользователь может подтвердить свою готовность принять участие в событии, которое мы предлагаем» — попросту говоря.

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

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

Хорошее место для начала с Treehouse:

Базовый курс Scrum
Сегодня почти каждая команда программистов говорит, что они гибкие. Вы даже найдете много вакансий, объявленных…teamtreehouse.com

А теперь я перейду к некоторым другим вещам, о которых я узнал…

В общем, задачи не так повторяются, как я себе представлял.

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

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

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

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

1*kP0hNbvwpiBR4w9nFtX0Dw

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

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

Вот еще несколько моих публикаций, которые могут вам понравиться:

Экономьте время, как Бог, используя npm
Миф о создании – это все о npm, на самом деле!medium.comТоп-3 языка программирования для изучения для начинающих в 2018 году.
Javascript.
Это повсюду, и учебные материалы хорошие (просто посмотрите на курсы от freeCodeCamp, Скотта Толински…)medium.com

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

Будьте моими гостями, пожалуйста, оставьте комментарий — так много вещей, о которых мы все должны поговорить.

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

Добавить комментарий

Ваш адрес email не будет опубликован.