10 ошибок начинающего разработчика
Разбираемся с главными ошибками начинающих разработчиков и прилагаем действенную инструкцию по работе над собой.
13К открытий13К показов
Ошибки начинающего программиста не ограничиваются Error и Exception. Есть целый ряд нехороших привычек, которые серьёзно тормозят карьерный рост разработчика. Рассмотрим каждую из них и попытаемся найти пути искоренения.
- Да зачем мне этот английский?
- Консервация проблем
- Гуглить — это долго: быстрее дёрнуть тимлида
- Тесты? Не, не слышал
- А давайте комментировать всё!
- Забивать на ревью и рефакторинг
- Минимум времени на общение с заказчиком
- Git — просто странное слово
- Игнорировать новые инструменты
- Высыпаться? Куда высыпаться?
1. Да зачем мне этот английский?
Начнём с того, что преобладающее большинство языков программирования основаны на английском (ну если только это не 1С). Например знание английского позволит быстро понять, что происходит в этом куске кода:
Закончим тем, что большая часть комьюнити этих языков общаются на английском. Добавим к вышесказанному документацию, которая нередко бывает криво переведена либо вообще отсутствует на русском, как у Salesforce. Не будем также забывать, что многие компании работают по принципу аутсорсинга, где общение с иностранными клиентами — само собой разумеющаяся штука.
Так что если вам очень хочется написать под очередным постом «А почему эти книги не на русском?», подумайте, а хотите ли вы расти как программист дальше? Сеньор такие вопросы задавать не будет.
Решились подтянуть английский? Держите нашу подборку бесплатных материалов и книг по английскому языку:
2. Консервация проблем
Когда мы только-только начинаем свой путь, независимо от сферы деятельности, мы охотно спрашиваем и узнаём что-то новое. Но проходит некоторое время, и уже становится неловко задавать вопросы, ведь возникает ощущение, что ответы давно для всех очевидны.
Знакомьтесь, это синдром самозванца. Кажется, что все вокруг уже всё знают, а вы существенно забуксовали, поэтому с каждым днём спрашивать о чём-то становится всё сложнее. Это типичная ошибка начинающего программиста.
Есть и другой вариант: вы уверены в своих знаниях и думаете, что сами легко разберётесь в проблеме. Проходит день, два, неделя, а проблема никак не решается.
В обоих случаях поможет следующий подход:
- Перед выполнением таска всегда составляйте план решения: так, обращаясь с вопросом, вы заочно продемонстрируете человеку, что готовились, а не просто сидели, сложа руки.
- Пробегитесь по документации, потыкайте поиск и Stack Overflow.
- Не помогло? Тогда как можно скорее просите более опытного коллегу о помощи. Чем дольше тянете, тем больше вопросов к вашему тайм-менеджменту.
3. Гуглить — это долго: быстрее дёрнуть тимлида
А это уже другая крайность. Давайте будем уважать время коллег и предварительно искать информацию самостоятельно. Важно лишь, чтобы это не растягивалось на дни и недели: в документации зачастую всё лежит на поверхности.
Держите мастер-класс для программиста «Как правильно гуглить»:
4. Тесты? Не, не слышал
Даже если вы принципиально не пишете тесты, считая это лишней тратой времени, вы так или иначе тестируете код, запуская его. Возьмите в привычку каждый раз, проверив что-то вручную, написать аналогичный тест. Программный код будет расти, и в какой-то момент можно забыть, что выполняет та или иная функция, а также с какими ошибками вы сталкивались при её реализации.
Освойте методологию разработки TDD (test-driven development) — разработка через тестирование, которая основывается на повторении коротких циклов: написание теста, покрывающего изменения, а затем написание самого кода, который это реализовывает. Хотя TDD подходит не любому проекту, понимание и практика лишними не будут.
5. А давайте комментировать всё!
Нельзя это отнести к серьёзным ошибкам начинающего программиста. Скорее, к правилам хорошего тона: не стоит засорять код лишними комментариями. Если вы научитесь понятно называть переменные и функции, количество комментариев сильно сократится.
Пример так себе названий:
И вот что будет, если называть переменные нормально:
6. Забивать на ревью и рефакторинг
Ничего не трогать, если что-то работает. Увы, это очень вредная привычка: даже работающий код можно и нужно совершенствовать. Задачи имеют свойство масштабироваться: сегодня заказчик просит написать калькулятор, а завтра захочет, чтобы это был профессиональный бухгалтерский расчёт.
Код должен быть вычищен от:
- дублей;
- временных переменных;
- лишних условий;
- избыточных комментариев.
Используйте на полную принципы ООП. Помните, что класс — это не винегрет из разношёрстных действий: каждый элемент кода описывается в одном месте. При этом каждый объект предоставляет другим объектам ровно столько данных, сколько нужно: это позволяет снизить степень зависимости отдельных частей кода друг от друга, и редактировать их по отдельности, не ломая при этом всю логику.
7. Минимум времени на общение с заказчиком
Как же раздражает, когда менеджер проекта просит во всех подробностях расписать план действий по таску, правда? Ведь клиент тратит ваше драгоценное время: достаточно ответить «Yes, of course», и с места в карьер. Правильно?
А вот и нет: это очередная ошибка начинающего разработчика. Ненужные, на первый взгляд, детали сэкономят вам время в ближайшем будущем. Неверно интерпретированный таск заставит вас написать код, который после придётся переделывать. Расписывать заказчику вопросы и план действий — обязательное условие, даже если очень лень, даже если заказчика самого раздражает такая дотошность. Важно докопаться до истины и понять, что вы оба on the same page, а не каждый сам по себе.
8. Git — просто странное слово
Блокнот — вполне подходящая система контроля версий (VCS), пока вы учитесь. Но выход на профессиональный уровень, даже если это Trainee, потребует от вас умения работать в команде. И вот здесь начинается самое интересное.
Системы контроля версий позволяют обеспечить ясность кода, при том не только для других, но и для себя. История внесённых изменений ответит на большинство вопросов. Даже маленькие коммиты с понятными названиями помогут понять, как программа пришла к текущему состоянию.
VCS позволяет быстро отыскать баг, время его появления и главного виновника. В Git предусмотрен бинарный поиск bisect, который находит коммит, внёсший баг.
9. Игнорировать новые инструменты
Ошибкой начинающего разработчика также является ограниченность набором любимых инструментов. Все они предназначены для решения конкретных задач: молоток хорош в забивании гвоздей и плох в закручивании саморезов. Так что использовать молоток лишь потому, что вы хорошо с ним знакомы или он самый популярный на Amazon, — сомнительная практика.
Если стремитесь к карьерному взлёту, расширяйте кругозор, изучая и используя новые тулзы. В конце концов, в какой-то момент вы обнаружите, что стали куда более востребованным специалистом, нежели ваши коллеги по отделу.
10. Высыпаться? Куда высыпаться?
Самый банальный совет, который уже порядком надоел, но он и правда рабочий. Прекратите забивать на себя:
- Не оставляйте всё на пятницу и выходные.
- Не игнорируйте болезни и берите больничный, даже если«просто простуда».
- Не отодвигайте отпуск, если чувствуете, что знатно устали.
- ВЫСЫПАЙТЕСЬ!
Надеемся, что приведённые советы помогут вам выстроить правильную траекторию профессионального развития. Также обязательно посмотрите, какие требования к джунам предъявляют на рынке труда сегодня.
13К открытий13К показов