Как менторинг помогает постигать практические азы профессии и адаптироваться на новом рабочем месте? Изучаем вопрос IT-наставничества в iTechArt.
Начинающие программисты не сразу способны понять старших коллег с полуслова. Фразы вроде «нужно замержить» или «задеплой комиты» как минимум способны ввести новичков в лёгкий ступор, как максимум – стать причиной панической атаки.
Вадим Владымцев, Students Lab Coordinator, составил мини-словарь основных IT-жаргонизмов, изучив которые можно быстрее влиться в профессиональную среду.
Начнём с Web разработки :) Отличие Java от JavaScript уже знают все, а вот отличия «фронта» от «бэка» — единицы.
Фронтенд (от англ. «frontend») — то, что считывается браузером и демонстрируется (запускается) на экране пользователя (CSS, HTML, JavaScript). Речь о самих страницах сайта и связанных с ними элементах – таблицах, кнопках, рекламных баннерах, формах обратной связи и прочем.
Бэкенд (от англ. «back-end») – серверная, иначе говоря, внутренняя часть сайта или приложения. Обычно она отвечает за сохранность и обработку данных. К этой программной части пользователь доступа не имеет. В работе с бэкендом в ход идут языки программирования типа Python, Ruby, Java, PHP, C#, Swift и проч., а ещё системы управления базами данных MySQL, PostgreSQL и др.
Фулстек-разработчик (от англ. «full stack developer» или «full stack engineer») – специалист, который в равной степени способен работать как с внешним, так и с внутренним интерфейсом веб-сайта или приложения. То есть фулстек-разработчики могут заниматься проектами, которые включают базы данных, создание веб-сайтов, ориентированных на пользователя, или даже работать с клиентами на этапе планирования проекта.
Фреймворк (от англ. «framework») – в буквальном смысле программный «каркас» или шаблон, который разработчик наполняет своим кодом. Фреймворки помогают собрать воедино разрозненные куски приложения/программы, повышают скорость и удобство разработки.
В веб-разработке самыми популярными фреймворками являются React, Angular, Vue.js и Node.js.
Кстати, если у тебя есть базовые знания JS и небольшой опыт разработки Web приложений, то прямо сейчас можно подать заявку на стажировку Junior Full-stack JS Developer, где как раз изучаются все самые популярные фреймворки на проектах приближенных к реальным. Не упусти свой шанс стать Junior JavaScript разработчиком уже сейчас!
Не одним JS единым! Пройдёмся по процессу разработки.
Юзабилити (от англ. «usability») – показатель того, насколько тот или иной продукт/интерфейс удобен для пользователей.
В сайте, который сделан по всем канонам юзабилити, пользователь на раз-два находит нужную информацию, легко ориентируется в навигации страниц и разделов и в целом получает удовольствие от времяпрепровождения на ресурсе. К примеру, юзабилити веб-сервиса строится по следующим принципам:
- Удобный дизайн
- Логичный и структурированный контент
- Общение с пользователем
- Возможность отмены действия
- Ненавязчивые предложения помощи
- Все возможности на виду
Часто за юзабилити приложения отвечает UI/UX Developer. Он ответственен за применение принципов интерактивного и визуального дизайна на веб-сайтах и веб-приложениях для обеспечения положительного и связного взаимодействия с пользователем.
Рисёрч (от англ. «research») – попросту говоря, изучение определенной темы. Задача сделать «рисёрч» в джуниорском айтишном сленге подразумевает необходимость самостоятельно разобраться с темой.
Парсить (от англ. «parse») – собирать и обрабатывать данные. В среде разработчиков термин может обозначать поиск и систематизацию информации, размещенной на определенных сайтах, с помощью специальных программ, автоматизирующих процесс.
Мержить (от англ. «merge»). Речь идет об объединении или слиянии веток кода. В ногу с этим термином идёт ещё один - коммитить, и часто между ними возникает путаница. Закомитить означает залить свои изменения (свой код) в ветку, в то время как замержить - объединить свой код с чужим (с другими коммитами).
Деплой (от англ. «deploy») – многоступенчатый процесс переноса кода на сервер или устройство, где он должен функционировать. В ходе деплоя происходят следующие этапы (ниже приведем один из простейших примеров):
- Код подгружается на сервер
- Ставятся все зависимости, которые необходимы
- Выполняется сборка, а после нее - миграции (к примеру, меняется структура базы данных с помощью SQL-скриптов)
- Запускается обновленная версия кода
Продакшн (от англ. «production») – версия сайта, программы или приложения, в которой устранены все ошибки и которая доступная конечным пользователям.
Аутсорс (от англ. «outsourcing») – выполнение определенных функций/задач компании внештатными специалистами. Например, iTechArt является аутсорс-компанией. Наши сотрудники разрабатывают программное обеспечение для заказчиков из Западной Европы и США.
Легаси-код (от англ. «legacy code») – код, который устарел или по какой-то причине больше не поддерживается, но всё ещё используется.
Нативный (от англ. «native») – не измененный и не модицированный. В разработке чаще всего используется в сочетании «нативный код», т.е. исходный. Нативные приложения (англ. native app(lication)s) – это прикладные программы, которые были разработаны для использования на определённой платформе или устройстве. Например нативные приложения для iOS написаны на Swift или Objective-C, а для Android написаны на Kotlin или Java. Apple и Google предлагают разработчикам приложений собственные инструменты разработки, элементы интерфейса и стандартизированный SDK; Xcode для iOS и Android Studio для Android
Код-ревью (от англ. «code review») – систематическая проверка кода одним или несколькими рецензентами на предмет ошибок, не обнаруженных на этапе написания кода. В процессе код-ревью устраняются ошибки в форматировании строк, утечка памяти, переполнение буфера и др.
Рефакторинг кода (от англ. «refactoring») – переработка исходного кода, которая призвана сделать его «чистым», облегчить его понимание и последующую поддержку. Чистый код имеет следующие свойства:
- Проходит все тесты, разработанные специалистами по тестированию;
- Понятен для других программистов: в коде появились уточняющие комментарии о том, что именно значит та или иная строчка, стиль оформления программы соответствует общепринятым правилам;
- Не содержит дублирования кода;
- Содержит минимум классов и других движущихся частей.
Если следовать этим свойствам, то на выходе мы получим Чистый код который легче и дешевле поддерживать :)
Для более подробной информации советую прочесть Clean Code за авторством Robert C. Martin
From hard skills, to soft skills.
Хард скиллы (от англ. «hard skills») – професссиональные компетенции IT-специалиста (языки программирования, протоколы и стандарты, системы анализа и т.п.). Наиболее популярные технологии для программистов на июнь 2021 года можно найти на index | TIOBE - The Software Quality Company.
Софт скиллы (от англ. «soft skills») – компетенции специалиста, которые помогают ему взаимодействовать с коллегами. На стажировках в Students Lab большое внимание уделяется различным софт скиллам, таким как коммуникативность, проактивность, ответственность и самостоятельность. Перед началом занятий менторы проходят специальные курсы для оценки и развития навыков и во время стажировки помогают стажёрам улучшить свои софт скиллы.
Нетворкинг (от англ. «networking») – это целенаправленное расширение сети контактов (личных и профессиональных). Нетворкинг способствует максимально быстрому и эффективному решению бытовых и бизнес-вопросов. Его основа – доверительные и долгосрочные отношения людей, основанные на взаимопомощи.
Технологический стек – это пакет инструментов, которые программисты задействуют в работе над проектами. Понятие «стек» чаще всего включает в себя языки программирования, фреймворки, облачные провайдеры, системы управления базами данных, веб-компоненты, дистрибутивы и т.д. А если в твоей голове сразу всплыли тарелки, LIFO и загадочный «Abstract data type», то поспеши подать заявку на стажировку в Students Lab!