Кем быть? Front-end? Back-end? Или UX разработчиком? | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Авторы: , ,

Рубрика: Технические науки

Опубликовано в Молодой учёный №19 (123) октябрь-1 2016 г.

Дата публикации: 02.10.2016

Статья просмотрена: 2791 раз

Библиографическое описание:

Когай, Г. Д. Кем быть? Front-end? Back-end? Или UX разработчиком? / Г. Д. Когай, А. Ж. Амиров, Р. В. Стародубенко. — Текст : непосредственный // Молодой ученый. — 2016. — № 19 (123). — С. 78-80. — URL: https://moluch.ru/archive/123/33937/ (дата обращения: 16.11.2024).



На сегодня веб-разработка развилась и выросла на столько, что программисты давно разделились, на серверных, клиентских, и дизайнеров. Вас наверно интересует вопрос как же так? Раньше все умели делать и дизайн, и клиентскую, и серверную часть — были так сказать универсалами. Но сейчас всё очень сильно поменялось, программисты стали умнее, технологий стало больше, заказчики стали требовательней. Первое и второе как раз вытекает из третьего. Если вы когда-либо разрабатывали веб, не на готовых шаблонизаторах, то вы наверно имели опыт формирования пользовательских страничек на сервере. Да, это проверенных надежный вариант, но он подразумевает перезагрузку страницы полностью. Этим самым лишая страницу всяких вкусностей, связанных с динамичными данными, для глаза. С целью разрешения этой проблемы и были придуманы аякс (ajax) запросы. Но это совсем пустяки, так как с разрастанием проекта клиентская часть в итоге превращалась в бесконечные лабиринты кода в которые программисты просто боялись лезть. Но это не самые большие проблемы для наборщика кода, в дополнение к этому программисту необходимо было знать и уметь работать с графикой, чтоб создавать дизайн. Для маленького сайта это не проблема, но для реального проекта, с красивым дизайном и анимацией, это превращалось в проблему.

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

Разработка веб проектов по системе front-end и back-end подразумевает иерархическое разделение процесса создания ресурса на две части, на разработку пользовательского интерфейса — (Front-end) и его программно-административной части (Back-end).

Разработка клиентской части (Front-end development) — это работа по созданию публичной части сайта, с которой непосредственно контактирует пользователь и функционал который обычно обыгрывается на клиентской стороне (в браузере).

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

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

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

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

– программисты, которые занимаются серверной частью, в основном работают с серверными языками, такими как Java, C#, Python, Ruby и т. д., а также скорее всего они работают базой данных и языком типа SQL. Основное удовольствие — это решать интересные не тривиальные задачи, придумывание алгоритмов, которые бы позволили быстро обработать большое количество данных. По своему опыту скажу, что красота и интерес в цифрах, т. е. обработать больше данных, за меньшее время, или построить какой-нибудь обработчик, конвертер, хранилище, искусственный интелект. В каком-то роде искусство в цифрах.

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

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

Что нужно знать?

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

Возьмем к примеру серверного программиста. Чтобы покрывать большинство задач в этой области требуется как минимум знать один серверный язык (Java, C#, Ruby, Python и т. д.) также язык для работы с базой SQL (StructedQueryLanguage) или NOSql (NotonlySQL). Это достаточно много чтобы начать реально на этом зарабатывать. Плюс на сегодня в продакшене никто не использует язык программирования в чистом виде, а используют фреймворки, на которые тоже нужно уделять внимание, в среднем от месяца, тщательного изучения.

Программист, который будет заниматься клиентской частью как минимум должен знать JavaScript на хорошем уровне — это плюс, что для написания модели front-end приложения его достаточно. Этим его возможности не ограничиваются, с 2009 года во всю используется серверная имплементация JS — nodejs. Но чаще всего по мимо JS, front-end программист зачастую правит и разметку, и стили, так что к JS автоматом прибавляются требования по HTML и CSS.

Описанные выше должности также требуют изучение различных архитектур и патернов написания приложения.

В отличие от двух предыдущих программистов программист — UXDesigner редко работает с кодом, скорее с дизайном, программами для рисования, photoshop, различные программы — шаблонизаторы. Возможно иногда применяется CSS и HTML. Такие сотрудники должны быть всегда в тренде популярных методов повышения usability (удобство дизайна).

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

Вопрос: Кому учить?

На этот вопрос нельзя ответить — колледж или университет, потому что там, процесс поставлен на формирование человека как саморазвивающуюся личность. Это значит, что студент должен учится сам. По крайней мере это было замечено в Казахстанских ВУЗах.

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

Как вы думаете почему? А все потому что ВУЗы заточены на получение научных теоретиков, а не реальных практиков.

На самом деле быть программистом практиком очень даже прибыльное дело. Т. к. в мире очень ценятся программисты, которые стремятся делать что-то новое. Их зарплата может доходить до 100 тысяч долларов. Чтобы разбавить эту цифру приведу более-менее реальные цифры, например, Россия:

– программирование 1С — около 60 тысяч;

– пишущий приложения С++ — от 60 до 80 тысяч;

– работающий с PHP — от 30 до 100 тысяч;

– программист JAVA — от 120 до 200 тысяч;

– при основной специализации SQL можно рассчитывать на заработок от 150 тысяч;

– программирование автоматизированных систем управления — от 60 до 70 тысяч;

– системный программист — от 60 до 120 тысяч;

– ведущий специалист компании — от 150 до 600 тысяч в месяц;

– разработчик Flash-приложений может получать от 18 тысяч рублей в месяц.

В Казахстане разделите все на 4–5 и получите реальные зарплаты.

Европа примерно похожа на США.

Не маловажную роль еще играет место работы, если это крупная компания, то велик шанс раскрыть себя, но уровень зарплаты будет зависеть от того как себя покажешь. В маленьких з/п выше, но и ответственность соответственно. Это означает что возможно программист будет вынужден становится универсалом. Например — верстальщик, дизайнером, или front-end’щиком, back-end’щик — front-end’щиком и т. д. По итогам это получается универсал, у которого шире выбор, но как правило этот универсал непрофессионал в узком направлении. За исключением Lead/Cheff developer’ов которые выросли в крупных компаниях, те реально могут быть крутыми универсалами.

QA cпециальности (тестировщики) оплачиваются ниже по сравнению с программистами в среднем в 1.5 раза, т. к. уровень начальных вложений по времени и набору опыта довольно не большой, по сравнению с программистами.

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

Основные термины (генерируются автоматически): SQL, программист, CSS, HTML, клиентская часть, серверная часть, тысяча, JAVA, PHP, пользовательский интерфейс.


Похожие статьи

Эволюция упаковки, её дизайн и дополненная реальность

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

Важность серьезного подхода к строительству организационной структуры компании

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

Общие компоненты при кроссплатформенной разработке для web-и мобильных приложений с использованием react и react-native

С появлением таких библиотек, как ReactJS и React-Native от компании Facebook изменился ландшафт разработки web и мобильных приложений. Основная идея заключается в том, что, выучив один подход (библиотеку), ее можно использовать везде как для web- та...

Кукла-оберег из ниток своими руками

В статье описывается мастер-класс с пошаговыми фотографиями. Куклы интересны людям практически в любом возрасте. Согласны? Думаю, что все согласны, рано или поздно на определенных жизненных этапах каждый человек знакомится и прикасается к этому волш...

Травянистые сосудистые растения города Лабытнанги

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

Платформы для разработки децентрализованных приложений на основе Blockchain

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

Организация онлайн-трансляции вебинаров педагогических работников

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

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

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

Дополненная и виртуальная реальность в образовании

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

Некоторые аспекты патогенеза и лечения остеохондроза позвоночника

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

Похожие статьи

Эволюция упаковки, её дизайн и дополненная реальность

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

Важность серьезного подхода к строительству организационной структуры компании

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

Общие компоненты при кроссплатформенной разработке для web-и мобильных приложений с использованием react и react-native

С появлением таких библиотек, как ReactJS и React-Native от компании Facebook изменился ландшафт разработки web и мобильных приложений. Основная идея заключается в том, что, выучив один подход (библиотеку), ее можно использовать везде как для web- та...

Кукла-оберег из ниток своими руками

В статье описывается мастер-класс с пошаговыми фотографиями. Куклы интересны людям практически в любом возрасте. Согласны? Думаю, что все согласны, рано или поздно на определенных жизненных этапах каждый человек знакомится и прикасается к этому волш...

Травянистые сосудистые растения города Лабытнанги

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

Платформы для разработки децентрализованных приложений на основе Blockchain

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

Организация онлайн-трансляции вебинаров педагогических работников

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

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

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

Дополненная и виртуальная реальность в образовании

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

Некоторые аспекты патогенеза и лечения остеохондроза позвоночника

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

Задать вопрос