• Мой путь к тому, чтобы стать разработчиком-самоучкой

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

Честно говоря, я понятия не имел, с чего мне начать, поэтому я посмотрел так много видео на YouTube. Это все, что я делал какое-то время, и я все еще иногда делаю по сей день. Сначала я пытался понять Python. Python — это первый язык, который я бы порекомендовал новым программистам выбрать в качестве первого языка. Кроме того, мне было любопытно узнать, хочу ли я работать над бэкэндом или над интерфейсом. Я перешел к бэкенду, и я много узнал о том, как работает Интернет, протокол HTTP, TCP и UDP, веб-сокеты и т. д. Также я узнал о том, как работает разработка программного обеспечения? Что это за процесс? Я только что начал активно учиться, я также узнал о развертывании CI / CD и просто пытался понять, как создается программное обеспечение. Я хотел знать все, но это было одной из моих слабостей. Потому что я никогда не мог сосредоточиться на изучении чего-то одного. Обучение разработке программного обеспечения — это процесс, и я проделал плохую работу, потому что я просто использовал метод грубой силы в своей стратегии обучения. Не торопитесь и не пытайтесь выучить все эти ключевые понятия за один раз. Примерно через 2 месяца я попытался немного изучить Django. Я все еще знаю основы Django, но я не мог по-настоящему в нем разобраться, потому что торопил процесс. Я потратил около 1-2 месяцев на изучение Django. Сейчас я работаю в Django для бэкенда своих проектов.

Следующие месяцы были, честно говоря, самыми тяжелыми. Главным образом потому, что я хотел работать над своими навыками DSA, а также над дизайном систем. Я потратил примерно полтора месяца, просто пытаясь изучить все структуры данных и алгоритмы. Мне нужно было больше времени, чем я ожидал, это было очень сложно для меня. Структуры данных — это, по сути, способ хранения данных, и есть много разных способов, которыми вы можете это сделать, но все дело в выборе правильной структуры данных или алгоритма, когда это необходимо. Существует так много структур данных, как связанные списки, массивы, хеш-таблицы, стеки, очереди, графики, деревья, двоичные деревья, двоичные деревья поиска и т. д. Вам просто нужно не торопиться и выделить достаточно времени, чтобы изучить их, потому что это много практики и требует времени. Я также перешел к изучению большого O, сложности времени и пространства примерно в то же время, когда я изучал все эти структуры данных.

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

Итак, после всего этого я понял, что на самом деле интерфейс мне нравится больше, чем бэкенд. Я заметил, что я более активно взаимодействую с веб-сайтами и программным обеспечением. Изучение CSS было для меня очень увлекательным. На данный момент я изучаю Tailwind CSS и Bootstrap, которые являются CSS-фреймворками. Я работаю над тем, чтобы стать разработчиком полного стека, потому что я все еще хочу работать над бэкэндом, поскольку мне нравится работать с базами данных и пытаться масштабироваться. Всегда есть чему поучиться новому, после этого я собираюсь немного изучить React и Redux.

У меня много целей, чтобы выучить разные языки, и некоторые из вас могли бы тоже. Но я считаю, что самое главное, это то, что вы делаете ПРОЕКТЫ! Они чрезвычайно важны, и они помогают вам лучше понять то, о чем вы узнали. Испытайте себя, чтобы сделать что-то самостоятельно, чтобы вы могли улучшать и улучшать свои навыки. Вы будете готовы начать создавать свои собственные веб-сайты раньше, чем вы это знаете. Я буду вести больше блогов о множестве разных тем и вещах, которые я узнал за время своего путешествия, и которые могут помочь другим. Надеюсь, вам, ребята, понравилось, и вы узнали что-то новое. Наслаждайтесь путешествием и до встречи в следующем.