Приветственное слово от автора
Всем привет! Меня зовут Владимир.
Я занимаюсь программированием с 12 лет. Всё начиналось с банального калькулятора, написанного на языке программирования Pascal.
С тех пор уже прошло много лет, но страсть к написанию кода так и не пропала.
Уже на протяжении 12 лет я разрабатываю Backend для высоконагруженных сайтов и веб-приложений.
В этой статье я расскажу о том, какие подводные камни могут ожидать вас в начале пути и как подойти к выбору инструментов для написания кода.
Приятного чтения ;)
0. Люби своё дело
Как истинный программист, начну с нуля. А именно с пункта "Люби своё дело".
Да-да. Как ни странно, но именно этот пункт является самой важной частью любого ремесла. А программирование - это не такое простое занятие, как может показаться на первый взгляд.
Многие люди стремятся в сферу IT, только потому что здесь хорошо платят. Но поверьте, для этого стоит прилагать большие усилия.
В IT-индустрии нет халявы. И не будет.
1. Определись с нишей
Главное не торопись и не обращай внимания на уровень зарплат.
Если ты станешь настоящим профессионалом, то всегда будешь востребован в любой сфере. Постарайся выключить свою коммерческую жилку и делай выбор с чистым разумом.
Определился с выбором? Тогда переходи к следующему пункту.
2. Инструменты и технологии
Поздравляю! Ты определился с нишей, а значит самое время приступить к изучению инструментов.
Для начала найди проекты с исходным кодом, которые тебе интересны. Посмотри какие языки программирования и технологии использовались для их разработки. В большинстве случаев это информация является общедоступной и найти её не составит труда.
Научись пользоваться поисковиками - подробнее об этом в следующем пункте.
3. Поиск информации
Итак. Если ты дошёл до этого пункта, значит всё сделал правильно и готов приступить к самому важному пункту в разработке - поиску :)
На самом деле тебе придётся искать очень много информации, к тому же делать это постоянно.
Так сложилось, что регулярный поиск информации - это устоявшаяся традиция, тем более в IT-сфере.
И вот почему: количество информации, которое нужно знать, просто не укладывается в голове. Нет, ты конечно может зубрить все термины и заучивать документации наизусть, но тогда у тебя не останется времени на написание кода.
Нужно выдерживать баланс между заучиванием и сёрчингом информации. Это позволит тебе не перегружать свой мозг и кайфовать от работы.
4. Документации и туториалы
Каждый популярный язык программирования, библиотека или фреймворк, имеют подробную документацию. Найти её можно на официальном сайте конкретного инструмента.
В большинстве случаев рядом с документацией будут ссылки на так называемые "туториалы" - это готовые блоки с практическими примерами (ещё иногда их называют книгами с рецептами Cook Books).
Не торопись приступать к разработке. Сначала теория. Много теории.
5. My english is very bad
А вот и один из подводных камней :)
Будь готов к тому, что тебе придётся подтянуть английский язык, так как большинство документаций и ответов на твои вопросы будут на общепризнанном интернациональном языке.
Но это не значит, что тебе придётся знать язык на разговорном уровне. Для начала будет достаточно уровня lower intermediate (ниже среднего), таковой имеется у большинства людей.
Как минимум нужно знать именно "технический английский", чтобы понимать основные термины и определения, связанные с программированием. Будь то переменные, массивы, циклы, интерфейсы, классы, объекты, функции и т.д.
6. Чистый код
Пиши чисто. Пиши правильно.
Всё больше IT-компаний, при наборе новых сотрудников проводят Code Review (смотрят ваш код на соответствие правилам и стандартам, а также принципам SOLID и DRY). Обязательно изучи эти принципы.
Постоянно делай рефакторинг своего кода. Помни, ты пришёл в индустрию, чтобы вершить великие дела, а это значит, что помимо правильного решения задачи, ты должен решать её грамотно.
В реальном мире, когда мы решаем сложную задачу, мы зачастую разбиваем её на более мелкие. Так вот и в программировании поступать нужно точно также. Не нужно пихать огромный код в одну функцию. Всё должно быть структурировано.
Давай своим переменным понятные имена, то же самое касается и классов, функций (методов) и вообще любых сущностей программного мира.
И всегда помни о техническом долге - это проблемы, которые накапливаются из-за пренебрежения правилами чистого когда. В последствии они вылезают боком и требуют больше времени, сил и денег на разработку проекта.
7. Пиши комментарии
Заведи себе привычку писать комментарии.
Но не увлекайся. Не нужно комментировать каждую строчку кода.
Твой код должен быть понятен и без комментариев, если это не так, значит стоит пересмотреть какие-то моменты и вернуться к двум предыдущим пунктам.
Тем не менее, соблюдай стандарты и обязательно комментируй все свойства и методы, согласно общепринятым стандартам.
8. Тестируй
Тесты бывают разные.
В этом пункте я имею в виду unit- и future-тесты, которые пишутся в коде.
Как минимум самые критические моменты вашего проекта обязательно должны быть покрыты тестами. К сожалению многие начинающие (и даже опытные) программисты пренебрегают этим важным пунктом, а зря.
Если проект, над которым ты работаешь, является крупным и долгосрочным, то ты несомненно увидишь реальную пользу от его тестирования.
Все программные сущности любого проекта так или иначе тесно связаны и работают как единое целое. Порой случается так, что при правке одной части кода, могут возникнуть ошибки в другой части. И именно тесты помогут определить ошибки заранее и выявить в каком месте вашего проекта они возникнут.
Люби своё дело
Могу повторять это правило снова и снова :)
А если серьёзно, то это самый важный пункт из всех перечисленных.
Делай то, что любишь. Люби то, что делаешь.
Это не просто совет, а секрет успеха.
Заключение
Ну вот и всё.
На этом моя статья подошла к концу. Я постарался раскрыть тему и дать ответы на самые частые вопросы.
На этом у меня всё. Спасибо за внимание!
Почитать ещё
Если тебя интересует тема программирования, то обязательно подписывайся на мой telegram-канал: https://t.me/zapiski_kodera