Программист не равен программисту!

Программист - довольно широкое понятие. Сегодня существует множество языков программирования, и не каждый программист знает их все. Это физически невозможно! Программист может знать, что такой язык существует, но это не значит, что он его использует.

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

Front-end разработчик - специалист по внешнему виду сайта.

Задача front-end разработчика - на практике заботиться о веб-сайте. Он отвечает за визуальную часть проекта - речь идет не о создании проекта, а о его исполнении.

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

Работа в основном основана на HTML, CSS, JavaScript (в основном разные библиотеки). В настоящее время эту группу также можно разделить в зависимости от того, какая библиотека JS используется Front-end. Часто также необходимо адаптировать существующие решения к потребностям конкретного проекта.

Представитель этой группы должен уметь настраивать базовые функции на сервере. Кроме того, также полезны возможность создавать системы CMS с нуля и принципы тестирования веб-сайтов и UX / UI.

Back-end разработчик - специалист по приложениям

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

Back-end разработчики могут программировать на многих разных языках, например, Java, SQL или PHP. Однако большинство из них используют определенные библиотеки (фреймворк), а не чистый язык (например, PHP - Yii, Kohana).

Разработчик полного стека

Это человек, который сочетает в себе навыки Back-end и Front-end разработчика. Такой человек часто сам создает сайты. Знания, которыми он владеет, объединяют обе описанные выше позиции. Чаще всего он работает с такими технологиями, как PHP, SQL или ASP.NET.

Очень часто, несмотря на название должности, например, Front-end разработчик, на самом деле это Full-stack разработчик в небольших компаниях.

Разработчик мобильных приложений (iOS / Android)

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

Судя по тому, что я читал об этой профессии, лучше всего иметь законченное образование. Тогда, наверное, проще, и у такого человека несколько иное мнение. Будущие ИТ-специалисты учатся многому - не совсем современному (с быстрыми изменениями в ИТ), но базовым вещам.

Программы для разработчиков мобильных приложений в основном работают на двух платформах:

  • Android - Objective-C
  • Apple (ios) - Swift

Разработчик игр - создатель компьютерных игр.

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

Признаюсь, я мало что знаю об этой специализации.

Разработчик базы данных. Разработчик базы данных - это человек, имеющий дело с базами данных.

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

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

Многие базы данных находятся, например, в банках, интернет-магазинах. Следовательно, повреждение или появление ошибки может привести к потере содержащихся в нем данных.

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

Тестировщик - средство проверки правильности

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

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

Резюме

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

Эти люди могут иметь некоторые знания, приобретенные не столько в рамках «формального образования в области ИТ», сколько специально для работы. Я не говорю, что у них это плохо получается.

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

Больше контента на plainenglish.io