Эта статья для тех, кто хочет попробовать себя в качестве программиста, но не знает с чего начать. Из нее вы узнаете минимальный набор знаний и навыков, которыми следует овладеть прежде, чем сможете приносить пользу на коммерческом проекте в роли программиста-джуна.
И да, одного языка знать не достаточно🙂
Выучите язык. Для начала нужно выучить хотя бы один язык программирования. Уровень знаний должен быть достаточным для коммерческого применения уровня. Это значит, что не нужно все знать в языке досконально, детали можно будет выучить позже по мере надобности. Вообще готовьтесь к тому, что придется разбираться во многом по ходу, вырабатывайте умение искать решения самостоятельно, тем более это пригодится для вас на более высоких позициях. Лучше выбрать какой-то популярный язык, чтоб было проще найти работу. Java или JavaScript/TypeScript в вебе это, пожалуй, самые популярные языки на данный момент.
Пишите код красиво. С точки зрения синтаксиса, код можно написать и в одну строку, он даже будет работать, но его будет неудобно читать. Код должно быть легко читать не только вам, но и вашим коллегам. Соблюдайте стиль кода, принятый на проекте. Если вы еще не работаете, есть уже устоявшиеся в индустрии правила для каждого языка - используйте их.
Научитесь запускать код в редакторе. Есть бесплатные и очень хорошие редакторы кода. Для бэкенда рекомендую IntelliJ Idea CE, а для фронтенда Visual Studio. Так же важно научится запускать код пошагово (режим дебага) ведь это, пожалуй, лучший способ понять, что именно в коде идет не так, и как это исправить.
Научитесь использовать чужой код. А это законно? Да - если соблюдено лицензионное соглашение. Очень много кода (библиотеки/фреймворки) написано с лицензиями, позволяющими бесплатное использование в коммерческий проектах. Не изобретайте велосипед, чем меньше вы напишете кода и чем больше вы переиспользуйте написанный другими код тем лучше, ваш продукт быстрее выйдет на рынок, меньше кода - меньше багов именно в вашем коде, ваши клиенты будут довольны и придут к вам снова. Внутри кода вашего приложения так же стоит исключать дублирования, чем меньше кода, тем проще его поддерживать (обновлять, добавлять новые функции и пр.)
Типовая структура приложения. Часто приложения имеют схожую структуру, это удобно, чтоб новым разработчикам на проекте приходилось разбираться как можно меньше и они сразу чувствовали себя как дома в новом коде.
Выучите GIT. Часто на коммерческих (и не только) проектах одну и ту же программу пишут несколько людей одновременно (каждый свою часть или свою функцию). Так оно быстрее, а ведь все хотят всего хорошего и побыстрей, не так ли? Но, пока у каждого программиста код лежит только в папке на их компьютере, о совместной разработке не может быть и речи. Поэтому есть способ централизованно хранить код, да еще и отслеживать историю его изменений - это и есть система контроля версий, а самая популярная из них это GIT. Для начала надо понимать концепцию веток и пул-реквестов (мерж-реквестов), как стянуть код из репозитория, как коммитить и пушить изменения, пулить чужой код, как мержить ветки и резолвить мерж-конфликты.
Выучите Jira. На проекте часто работают не только программисты, у вас в команде также могут быть и тестировщики, и менеджеры, и архитекторы, и дизайнеры. Да и сами программисты бывают разные - кто-то пишет бэкенд, ктото фронтенд, а кто-то и вовсе мобилку. Надо их как то организовывать и вообще хорошо бы понимать, в каком состоянии проект. Для этого удобно использовать доску с задачами, на доске есть несколько колонок, которые означают различные стадии разработки задачи (фичи или бага). Какие бывают стадии? Обычно выделяют беклог, разработка, ревью кода, тестирование, приемка, в релизе/в продакшене. Последняя стадия означает, что пользователи уже могут пользоваться. Задача может быть назначена на любого члена команды, который прямо сейчас над ней работает. Таким образом видно, кто чем занимается и в каком состояни задачи на проекте.
Спасибо, что заглянули,
добавляйтесь в
Telegram
канал и будьте в курсе новинок.
Если Вам было интересно, можете поддержать автора