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

Оставайтесь с одним языком в течение первого года

Я рекомендую выбирать язык с объектно-ориентированным программированием (ООП), так как это довольно сложная для понимания концепция. Три моих любимых языка — это Java, C# и C++.

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

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

Единственная проблема с Python заключается в том, что он слишком прост. Если бы вы в течение года придерживались Python, а затем переключились на что-то вроде C++, вам пришлось бы бороться, думая, что простота Python — это нормально, когда это не так. Java — хорошая золотая середина для этого.

Еще одна проблема с выбором C++ в первую очередь заключается в том, что он слишком сложен. Вы подумаете, что программирование предназначено только для людей с высоким IQ, хотя на самом деле это не так, и вам просто не следует сдаваться.

Что хорошо в C++, так это то, что он охватывает все концепции программирования. Таким образом, если вы придерживаетесь C++, научитесь использовать CMake, установите зависимости и очень глубоко погрузитесь в C++, после этого вы сможете быстро понять любой язык программирования.

Таким образом, C++ — отличный язык для того, чтобы стать мастером программирования с проектами.

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

Я рекомендую всегда тратить немного денег на обучение. Учебники не очень. Просто получите PDF-файл и используйте приложение, такое как Memex, чтобы аннотировать его, как приложение Kindle.

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

Лучше всего выбрать курсы типа «от нуля до героя» или курсы мастер-классов. Они должны стоить вам 12-20 долларов и заставят вас учиться с молниеносной скоростью в течение нескольких месяцев.

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

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

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

Найдите сообщество с открытым исходным кодом на вашем языке

На GitHub есть бесплатные исходники кода, к которым часто прилагается целое сообщество, окружающее источник кода. Вы можете выучить язык, приняв участие в этих проектах и ​​пообщавшись с другими людьми в их Discord, Telegram или других социальных сетях.

Я перечислю для вас несколько сообществ с открытым исходным кодом:

Java/Kotlin/Javascript: https://rune-server.org/index.php

C++: https://github.com/PanosK92/SpartanEngine

C++: https://github.com/drogonframework/drogon

Машинопись: https://github.com/microsoft/vscode

Java: https://github.com/JetBrains/intellij-community

Python: https://github.com/kitao/pyxel

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

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

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

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

Главное, чего вы хотите, — это влияние, а не постоянное обучение. У этих других разработчиков есть точки зрения, навыки и понимание, которыми они могут поделиться с вами и нормализовать развитие ваших навыков.

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