
Во-первых, я считаю, что ответ — абсолютноне«просто писать код много лет». Я проводил собеседования с довольно многими программистами с 10-летним опытом, чей код ужасен. Опыт ценен, но одного опыта недостаточно. Это как игра в шахматы: если вы учитесь, анализируете и постоянно бросаете себе вызов, вы можете стать мастером. Но если вы продолжаете играть как попало, то даже через 20 лет останетесь всего лишь «никудышным игроком».
Я считаю, что есть более полезные способы совершенствоваться:
1. Научитесь читать код
Большинство программистов готовы использовать только код, который написали сами, но эксперты обычно могут без труда вызывать код, написанный другими. На первый взгляд это кажется различием в рабочих привычках, но на самом деле это различие в способностях. Читать код во много раз сложнее, чем писать код.
Я советую проводить ревью кода для своих коллег по работе, а после работы стараться читать открытый исходный код на GitHub.
2. Самоанализ
Программисты обычно очень заняты, у них бесконечная гора работы. Но в некоторых компаниях вы просто повторяете одни и те же действия. Иногда отложите работу, выделите время, чтобы проанализировать свои слабые места, изменить плохие привычки, прочитать новые книги или выучить новые языки.
3. Занимайтесь личными проектами
Программирование на работе обычно позволяет познакомиться лишь с частью технологий, создавая пробелы в знаниях. Это как долго тренировать броски в одиночку на заднем дворе, но только когда вы играете свою первую настоящую игру (и сильно проигрываете), вы обнаруживаете, что вам также нужны такие понятия, как передача, защита и подбор.
Facebook любит нанимать так называемых «программистов полного стека» — людей, которые умеют всё: от дизайна и интерактивности до HTML, CSS, JavaScript, сервера, SQL, архитектуры и аналитики данных. Лучший способ стать программистом полного стека — постоянно работать над личными проектами.
4. Сайты вопросов и ответов
Задавать вопросы и отвечать на них — оба отличные способы учиться. Иногда написать хороший вопрос труднее, чем написать код, необходимый для ответа на него. Написание вопросов помогает упорядочить мысли. Вы можете пытаться каждую неделюhttp://stackoverflow.comзадать хороший вопрос или написать хороший ответ.
5. Присоединяйтесь к хорошей команде
Лучший способ совершенствоваться — работать с людьми, которые лучше вас. Эксперты любят собираться вместе, поэтому многие выбирают присоединение к отличным стартапам на ранней стадии. Когда я начинал в Кремниевой долине и в Innovation Works, я встретил много удивительных людей и многому у них научился.