Автор оригинала: FreeCodeCamp Community Member.
Я работаю около девяти месяцев в Декстер как разработчик программного обеспечения. Я написал сообщение в блоге о посадка на работу изначально , а также техническое сообщение о Компонент самостоятельной позиционирования Я сделал в своей первой пару месяцев в компании. Получение работы была моей первоначальной целью, и сохраняя его и расти как разработчик, был естественным следующим шагом вперед.
Мои мысли о моей роли значительно изменились с тех пор, как начал. Я думал, что будучи разработчиком было как можно быстрее, как можно быстрее. Это самая дальняя вещь от реальности. Ударьте много дерьмового кода быстро не масштабируемый способ построить бизнес или карьеру в развитии. К счастью, я нашел работодателя, который чувствовал то же самое, и чей продукт является программным обеспечением.
Цель состоит в том, чтобы написать правильное количество хорошего кода и хорошо общаться. Вы не уплатите коду, вам платят, думаете, и выясните проблемы. Побочный продукт кристаллизуется мысль и инструкция для машины для последующей обработки в виде кода. Я бы предпочел решить проблему в одной строке четкого читаемого кода, чем 10 строк кода, который трудно понять. Я предпочел бы решить проблему в 5 строках читаемого прокомментированного кода, чем одна строка очень сложного, многоядерного кода с несколькими тройными операторами. Вы получаете идею.
Задавайте много вопросов, и документируйте ответы
Мой босс послал меня это Ссылка, которая инкапсулировала много стресса и беспокойства, которое я чувствую как новый инженер. Это занижение, чтобы сказать, что я очень зазнанил вопрос о вопросах.
Я использую этот контрольный список, прежде чем просить других за помощью:
- Это вопрос, который я спросил раньше, и если да, то где я документировал ответ?
- Это то, что я мог бы гугл?
- Это документировано где-то кем-то другим внутринально?
- Что тут происходит? Какова корневая причина ошибки или неожиданного поведения, которое я испытываю?
- Я действительно понимаю вопрос, который я пытаюсь ответить? Это нормально, чтобы занять некоторое время и снова прочитать проблему, а не давать наполовину или поспешил ответ.
После выполнения этих шагов я решаю проблему самостоятельно, найдите документальному решению или задайте вопрос с гораздо лучшим контекстом и деталями, что облегчает кому-то еще, чтобы помочь мне. Еще лучше, если я задаю хороший вопрос, и его можно ответить за чашкой, мой товарищ по команде не нужно бросать все, чтобы помочь мне.
Если бы я ушел 90% пути к решению проблемы, и просто нуждаются в последних 10% помощи, старший разработчик будет рад помочь познакомиться с тем, что я получил настолько, насколько я мог самостоятельно. Ищете кого-то другого для решения ваших проблем, не отличный способ построить доверие в вашей команде.
Умные люди любят хорошие вопросы – спросить их.
Избегайте одинаковых ошибок и спрашивая одинаковые вопросы снова и снова
Это легче сказать, чем сделано, и может быть правдой для любой работы, а не просто программирования. Многие новые концепции и информации бросают свой путь, и совершая ошибки неизбежны. Будьте в курсе этого. Думаю, прежде чем спросить. Google Parts. Посмотрите на документы. Они твой друг. Если вы видите тренд, попробуйте идентифицировать его. Примите активное усилие, чтобы поймать себя вопросом о том же типе. Запишите это и сделайте это целью ее исправить.
Убедитесь, что в следующий раз вы столкнетесь с той же проблемой, вы знаете, что делать. Мы все делаем ошибки, но будьте уверены в себе и прилагаем усилия, – это то, как все лучше.
Просмотрите свою работу, всегда
Никто не любит проходить через PR и не сказать вам удалить вашу консоль .Logs и отладки или сообщать вам, чтобы исправить ошибки подтянутыми. Я бы не публиковал этот пост, не читая его через пару раз и посмотреть другом.
Действительно посмотрите на свой код и задайте себе эти вопросы:
- Я написал сложный кусок логики. Есть ли подобные функции в приложении, которые, возможно, могут сделать это более читаемым, гибким или общим образом?
- Если нет, я помню, почему я написал этот код через неделю? Если ответ нет, я, вероятно, хочу изменить код или комментировать его. Человек, рассматривающий PR, должен иметь некоторое контекст в том, почему я принял это решение.
- Убедитесь, что ваш код проходит переживание и тесты, прежде чем давать ему кому-либо еще.
- Я повторяю себя? Могу ли я инкапсулировать логику, я повторяю в функцию?
- Если бы это был чужим кодом, который я рассматривал, какие комментарии я бы сделал? Что бы я хотел изменить, чтобы сделать его более прямом?
Посмотрите на свой код свежим набором глаз (возможно, на следующий день). Существует ли конкретная логика кровотечения на компоненты, которые не должны быть? Ваш компонент обрабатывает деловую логику, которая должна идти в контейнер?
Кроме того, хороший обзор самокоба, экономит время и деньги для компании. Вам стоит дорого, чтобы вы нашли свои собственные ошибки и исправить их самостоятельно, а не на то, что кто-то другой найдет их через два дня.
Последнее о проверке вашего кода. Нажмите и нажмите все, на что вы работали. Я хочу, чтобы код, который я отправляю кому-то, чтобы быть супер трудно сломать. Если они нажимают на новую страницу и получите большую ошибку или белый экран смерти, он показывает, что я действительно не рассмотрел мою работу. GREP для кода, который вы отредактировали и действительно убедитесь, что вы не сломали что-то еще со своим дополнением к общему компоненту.
Это может показаться глупым, но большие базы кода являются сложными, и вы можете не осознавать, что вы что-то сломаете, пока вы не сделаете.
Серьезно, вы не хотите видеть первый проект этого поста в блоге:)
Ничто не является магией
Обычно есть веские причины для того, почему код был LGTM’Ed (одобрен и в кодовой базе). Если вы не понимаете, как это работает, проведите некоторое время на выяснение. Журнал вещей, разбить вещи, посмотрите на некоторую документацию функций и узоров, которые были использованы.
Не могли бы вы рассказать резиновую утку, как это сработало? Если вы все еще не уверены, задайте несколько вопросов о конкретных пробелах в вашем понимании.
Получите удобную отладку, так как вы делаете это много
Для отладки – понять базовую проблему в функциональности вашего кода, а затем решить ошибку. Вам нужно понять, как работает, чтобы выяснить, почему она не работает в первую очередь. Возможность использования инструментов отладки браузера будет легче сделать вашу жизнь и работу. Методы отладчика и консоли – ваши друзья.
Некоторые полезные ресурсы, которые я нашел:
- CSS трюки на отладке
- Отладка передних мастеров (Это оплачено, но довольно хорошо)
Pro-наконечник: Вывод Console.log может быть стилизован с использованием CSS. Это делает журнал, который вы хотите увидеть проще, чтобы идентифицировать.
console.log('%c I want this to be big and red', 'font-size: 30px; color: red;');
Следуйте данным
Это снова подошло снова, потому что по общему признанию, это была ошибка, которую я продолжал делать. Это то, что я поправился, но все еще нужно работать.
Большая часть разработки программного обеспечения включает в себя манипулирование данными в формат, чтобы пользователь мог получить действительное понимание от него или обновить его самостоятельно.
Приложения с потоком данных Uni-Disional и глобальным состоянием имеют прямую строку данных. Все, что данные приходят откуда-то. После того, как вы узнаете, где он идет от того, легче отладить.
Изолировать ваши проблемы, затем интегрируйте их в то, на чем вы работаете
Codepen.io Мой близкий друг, и это должно быть твоему тоже. Когда я не могу выяснить, что вызывает вопрос, я делаю простую версию того, что я строю. Я уверен, что он работает, а затем интегрирует его в мою среду развития. Легче выяснить, что может разбить ваш интерфейс в раздельной среде.
Подумайте о том, как функциональность должна работать
Список того, как что-то должно работать с уровня 30 000 футов, а затем с технического уровня помогло мне понять, что я должен быть настроен, как я должен построить его, и помогает смягчить водопад. Если я не могу объяснить, как то, что я строит, работает (с высокого и низкого уровня), я делаю себя вреднением. Без плана я собираюсь делать много колесного вращения в самом ближайшем будущем.
Кроме того, я могу обратиться к тому, что я написал или покажу кому-то, что я думаю, что помогает снизить несоответствие.
Охватить борьбу
Через 10 000 часов борются на работе, вы будете лучше бороться и решать проблемы. Вам придется делать это независимо от того, чтобы наслаждаться опытом, собирается сделать ваш день сегодня намного лучше. Смейтесь на себя немного и постарайтесь действительно сломать проблему. Вы попадете туда, даже если вам нужна небольшая дополнительная помощь.
Принять конструктивную критику и постоянно повторяющуюся на этом
Ваши товарищи по команде хотят, чтобы вы делали лучше. Старшие разработчики хотят сделать вас более сильным разработчиком. Действуйте по их совету, даже если вы изначально не понимаете, почему они говорят вам сделать это. Там никогда не бывает всего одного человека, который все знает. Общайтесь.
Не торопитесь
Спешись сквозь вашу работу, вызывает резервное и обратно, множество путаницы и дополнительного разочарования. Мой босс скорее увидит лучший код позже, чем плохой код раньше. Я имею в виду, не так ли мы все?
Продолжать учиться вне работы
Как я узнаю на работе, я все еще хочу продолжать изучать новые вещи за пределами просто работы над нашей кодовой базой. Это может забрать Python, создавая бот, работающую через видео сериал или работать над личным проектом. Я сделал доску с Zenhub + Github, чтобы отследить, где я нахожусь, и что я привержен за месяц. Сохранение общей цели на месяц заставило меня продолжать обучение, здание и да, вести блог в свое время.