Чему я научился за 1 год работы разработчиком программного обеспечения

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

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


Не бойтесь сложных задач.

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

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

Изучайте вещи по мере их появления.

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

Истинная сила тестов (и typescript).

Не работая над достаточно крупным проектом до этой первой профессиональной роли, я так и не смог понять, почему нужно использовать кучу тестов.
Конечно, я знал, что основная идея заключается в том, чтобы проверить, работает ваш код или нет, но это никогда не казалось мне слишком важным (зачем писать неработающий код?).
Мне не хватало ключевого опыта работы над большой, постоянно развивающейся кодовой базой.
Как только кодовая база перестает быть статичной, такие инструменты, как тесты, становятся практически незаменимыми.

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

Это основная идея, которая помогла мне понять тестирование.
Некоторые другие:

  • Когда какое-то время не работаешь над областью, тесты, наряду с именами функций и так далее, помогают мне вспомнить спецификацию.
  • Бывали случаи, когда крошечный недосмотр или случай использования, о котором я никогда бы не подумал, приводил к провалу теста.
  • Наличие зеленого текста при выполнении тестов приносит большое удовлетворение.

Читайте статьи разработчиков высокого уровня.

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

Создавая функцию, помните о будущем.

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

Обучение идет по экспоненте.

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

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

Понимание людей (клиентов) очень важно.

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

Бонус:

Выучите несколько сочетаний клавиш для вашей IDE.

Вам не обязательно изучать Vim, но даже несколько сочетаний клавиш могут значительно повысить вашу производительность.
Например, для VS Code сочетание клавиш Ctrl+P отлично подходит для быстрого поиска файлов.


Если вам понравилась эта статья, пожалуйста, поделитесь ею.
Посмотрите мой github и другие статьи.

Оцените статью
devanswers.ru
Добавить комментарий