Давно прошли те времена, когда Javascript был просто языком браузера.

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

Синтаксис языка не был таким интуитивно понятным и практически не содержал удобного для разработчиков синтаксиса. Даже самый простой сетевой запрос было непросто обработать. Люди привыкли работать с JQuery вскоре после этого, предоставив некую оболочку поверх JS API и сделав вашу жизнь легкой и менее неуклюжей.

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

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

Обязанности инженера полного цикла:

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

Вы почти несете ответственность за заполнение заявки от начала до конца.

UI

Что касается Javascript Full-Stack, у вас есть множество технологий на выбор в пользовательском интерфейсе, поскольку именно для этого был создан Javascript, популярными вариантами являются Angular, React, Vue. У всех разные предпочтения, вы можете посмотреть на тенденции вакансий в вашем регионе и на свои личные предпочтения к каждому.

API

Однако в бэкэнде все по-другому. У вас есть среда выполнения JavaScript, созданная Райаном Далем под названием Node.js, которая так же популярна в многонациональных компаниях, как и в стартапах. Он использует движок Chrome v8, и команда Chrome активно работает над его улучшением. Теперь один человек, который знает, как работать с Javascript, может работать за вас как над интерфейсом, так и с серверной частью.

CI/CD

Теперь, переходя к части CI / CD, я лично использую GitLab, docker, Jenkins вместе с AWS. Jenkins используется для создания конвейера для передачи нашего кода на соответствующие серверы, которые являются виртуальными машинами или физическими компьютерами без контейнеров.

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

Я использовал ECS для запуска своих контейнеров в AWS, кроме этого, AWS имеет тонны и тонны ресурсов AWS Amplify, AWS SAM, AWS Elastic Bean Stalk, Elastic Cache AWS, AWS RDBMS, и это лишь некоторые из них. Все это широко используется в производстве как крупными, так и мелкими фирмами, и они полагаются на их услуги.

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

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

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

Удачного кодирования и оставайтесь с нами, чтобы узнать больше;)