Как некоторые из вас, возможно, знают из моих предыдущих историй, я работаю на фрилансе, это рынок, на котором я тоже начал работать, и со временем я узнал все больше и больше технологий, чтобы компенсировать многие проекты, которые я начал. список будет немного расширяться, так как у меня были проекты, начиная от простых программ на C ++ и заканчивая базовыми веб-приложениями и отдельными страницами PHP, небольшими веб-приложениями, созданными с помощью Django или Laravel, до интеграции Shopify и даже среднего размера. размерные приложения, созданные с использованием React, Redux, MySQL, Firebase и многих других технологий.

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

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

Что я из всего этого сделал?

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

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

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

Прочие аспекты

С точки зрения развития

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

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

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

С точки зрения предприятия

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

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

Разное

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

Заключительные слова

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

Ваше здоровье!