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

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

Но сначала важно понять одну вещь, которая окажет наибольшее влияние на ваш прогресс — не только как программиста, но практически в любой области.

Правило номер один улучшения

Не устраивайтесь поудобнее.

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

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

Как стать элитным программистом

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

Специализация

Если вы попытаетесь сделать слишком много дел одновременно, вы, скорее всего, окажетесь на среднем уровне во всех них.

Чтобы преуспеть, вы должны сосредоточить большую часть своего внимания на чем-то одном. Изучение 10 языков программирования и 30 фреймворков ни к чему не приведет, и таким образом вы с меньшей вероятностью получите работу.

Так что найдите что-то, что вам действительно нравится, отдайте этому все, что у вас есть, и не бойтесь делать это конкретным. Например, бэкенд-разработчик с Node и MongoDB.

Изучите некоторые дополнительные темы

Если вы изучаете программирование, следуя курсам, вполне вероятно, что они не охватывают всего, что касается языка.

Освоив основы, попробуйте изучить некоторые из более продвинутых функций или концепций выбранного вами языка программирования. Например, пытаясь сделать многопоточность и параллелизм. В Python вы можете изучить такие вещи, как замыкания, генераторы, декораторы и менеджеры контекста. Для C++ вы можете ознакомиться с различными типами указателей и тем, для чего они используются.

Проблемы кодирования

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

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

Одни из самых популярных: LeetCode, CodeWars, CodeChef, HackerRank и Project Euler. Имейте в виду, что последний более склонен к математике; другими словами, все задачи связаны с математикой.

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

Проекты

Еще один способ попрактиковаться — работать над проектами. Если у вас есть идея, постарайтесь воплотить ее в жизнь. Хотите сделать видеоигру? Есть идея для мобильного приложения? Сделай это. Как новичок, вы будете много бороться, но и многому научитесь.

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

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

Алгоритмы и структуры данных

Знаю, знаю. Вы много слышали об этом. Но это важно.

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

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

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

И вот оно. Это способы, которыми вы можете повысить свои навыки кодера. В конце концов, все дело в том, чтобы приступить к работе. Если у вас есть что добавить, не стесняйтесь оставлять комментарии.