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

Сосредоточьтесь на выполнении задачАктуальноВместо того, чтобы все равно выполнять задачи:

Разработчикам нравится решать сложные проблемы, и как только они находят решение, они просто хотят видеть, как работает их код, и забывают о читабельности и ремонтопригодности кода. Иногда это приводит к менее модульному, ошибочному коду с неправильными именами переменных и функций. Я хотел бы процитировать «Чистый код», чтобы подчеркнуть важность именования.

«Длинное описательное имя лучше, чем короткое загадочное имя. Длинное описательное имя лучше длинного описательного комментария».
— Роберт С. Мартин.

Не выполняйте преждевременную оптимизацию производительности:

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

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

Преждевременная оптимизация производительности — корень многих зол, и вы не должны жертвовать читабельностью ради этого. Цитата из «Чистого кода»:

«Действительно, соотношение времени, потраченного на чтение и написание, значительно превышает 10 к 1. Мы постоянно читаем старый код, пытаясь написать новый код. Поэтому, делая его легким для чтения, легче писать».
— Роберт С. Мартин.

Напишитедекларативныйкод:

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

Допустим, у нас есть массив оценок, и мы должны вернуть сумму оценок, превышающую 40.

// Declarative Code
const sumOfPassedMarks = allSubjectMarks
  .filter(subjectMarks => subjectMarks > 40)
  .reduce((sum, passedSubjectMarks) => sum + passedSubjectMarks, 0);
// Imperative Code
 let sumOfPassedMarks = 0;
 for(let i = 0; i < allSubjectMarks.length; i++) {
   if (i > 40) {
     sumOfPassedMarks = sumOfPassedMarks + allSubjectMarks[i];
   }
 }

Думайте как автор, так и сопровождающий:

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

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

Задавайте правильные вопросы:

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

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

Придайте важность проверкам кода:

Время от времени я видел, как младшие разработчики не понимали ценности проверки кода. Они не считают это своей обязанностью и чувствуют, что выполнили задачу, как только отправляют запрос на вытягивание.
Ваш код подлежит проверке всякий раз, когда вы вносите какие-либо изменения, даже если это касается только комментариев по поводу проверки. Не спешите объединять свой код, если вы не устраните все проблемы своих коллег.
При проверке кода сосредоточьтесь на каждом аспекте этой задачи. Может ли дизайн быть лучше? Могут ли имена API быть лучше? Достаточно ли письменных модульных тестов для покрытия всех сценариев? Все ли имена переменных и комментарии подходят?

Вы можете учиться, просматривая свой код и просматривая чужой код.

Вывод:

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