Список необходимых компетенций для full stack разработчика bitrix

Список необходимых компетенций для full stack разработчика bitrix
27 Декабря 2018

Современные условия накладывают высокие требования к подготовке фул стек разработчика на 1C-битрикс фреймверк, анализ рынка труда и реализй разработки программного обеспечения позволил выделить следующий список необходимых компетенций для full stack разработчика bitrix :

В скобках после технологии ключевогослово сколько вакансий выдает hh.ru в сочетании со словом битрикс мо городу Москва.
Запоненно и отсортированного 20181209 + дополнительные компетенции с hh.ru superjob.ru rabota.ru и их востребованность с hh.ru от 20181211,от 20181212. Правки 20181219 и добавление технологий

Популярность технологий для битрикс разработчика (Сборная информация с вакансий и собеседований)

1С-Битрикс 939
битрикс 24 366
php 259
JavaScript 222
HTML5 211
MySQL 171
интеграция 1С 156
git 141
JQuery 122
API Bitrix 114
Photoshop 93
SQL 82
Ajax 73
Linux 59
JQuery Ajax 57
CMS WordPress 52 это не битрикс, но часто указывается вместе с битрикс
XML 51
REST 46
bootstrap 43
D7 42
email-рассылок 40
nginx 38
Командная 36
apache 32
SEO 32
SOAP 29 !!!!МОГУТ НЕ УКАЗЫВАТЬ В ВАКАНСИИ НО ОЧЕНЬ ВАЖНО
JSON 28
YII Framework не битрикс 27 !!!!почти всегда спрашивают на собеседованиях
CMS Joomla не битрикс 26 это не битрикс, но часто указывается вместе с битрикс
MSSQL 23
PostgreSQL 21
Laravel Framework не битрикс 21 !!!!почти всегда спрашивают на собеседованиях
AmoCRM не битрикс 21 это не битрикс, но часто указывается вместе с битрикс
Паттерн 19 не битрикс !!!!почти всегда спрашивают на собеседованиях
В2В 19
python язык не битрикс 19 это не битрикс, но часто указывается вместе с битрикс
CMS MODX не битрикс 18 это не битрикс, но часто указывается вместе с битрикс
Java язык не битрикс 17 это не битрикс, но часто указывается вместе с битрикс 
нагрузки 18
ORM 15
redis 15
MobX 15
HTTP 14
Symfony Framework не битрикс 14 !!!!почти всегда спрашивают на собеседованиях
CMS Drupal не битрикс 13 это не битрикс, но часто указывается вместе с битрикс
CentOs 13
Confluence 13
MVC 12 не битрикс !!!!почти всегда спрашивают на собеседованиях
VUE 12
Elasticsearch 12
Scrum 12
Redmine 12
CMS OpenCart не битрикс 12 это не битрикс, но часто указывается вместе с битрикс
Less 11
RabbitMQ 11
Zabbix 11
SASS 10
GitLab 10
LAMP 9
PHPStorm 9
Zend Framework не битрикс 9 !!!!почти всегда спрашивают на собеседованиях
MongoDB 8
Angular 8
DevOps 8
Atlassian JIRA 8
*nix 8
Oracle 8
Sphinx 7
Composer 7
Docker 7
Gulp 7
bash 7
SharePoint 7
CMS Magento не битрикс 7 это не битрикс, но часто указывается вместе с битрикс
C# язык не битрикс 7 это не битрикс, но часто указывается вместе с битрикс 
NoSQL 6
БЭМ 6
webpack 6
SSH 6
RequireJS 5
NodeJS 5
Memcached 5
Xdebug 5
ruby язык не битрикс 5 это не битрикс, но часто указывается вместе с битрикс
ES6 4
нативного JavaScript 4
SOA 4
xhprof 4
SOLID 4
coffee 4
Foundation 4
Smarty 3
GO 3
FreeBSD 3
YouTrack 3
Шаблонизаторы 3
SMARTY 3
Шаблонизаторы Tilda, SMARTY, XSLT и др 3
Опыт работы с Backbone 3
svg 3
CakePHP не битрикс 3 это не битрикс, но часто указывается вместе с битрикс
XSLT 2
Tilda 2
Doctrine 2
Galera 2
адаптив 2
TeamCity 2
cron 2
Qrator 2
newrelic 2
XSL 2
CodeIgniter Framework не битрикс 2 это не битрикс, но часто указывается вместе с битрикс
retailCRM не битрикс 2 это не битрикс, но часто указывается вместе с битрикс
Django не битрикс 2 это не битрикс, но часто указывается вместе с битрикс
NodeJS 2
ECMAScript 2
GD 2
imagick 2
Reflection 2
phpDocumentor 2
phpDoc 2
CommerceML 2
TypeScript 1
PDO 1
Скейтч 1
Redux 1
React.js 1
Опыт разработки вэб-форм 1
Twig 1
WebSocket 1
инъекции 1
Grunt 1
АОП 1
Gitolite 1
парсинг xml 1
ReactNative 1
Solr 1
кроссбраузер 1
AMQP 1
Promise 1
WebGL 1
GDAL 1
XSS 1
Firewall 1
CSRF 1
XSS 1
MantisBT 1
rendering 1
repaint 1
reflow 1
Browserify 1
Принципыкод-гайдов(e.g.GoogleJS code guide) 1
JSDoc 1
GetResponce 1
Tarantool 1
Beanstalkd 1
MS CRM 1
styl 1
Reflux 1
Semantic UI 1
WSDL 1  
ExtJS 1
CMS TomatoCart не битрикс 1 это не битрикс, но часто указывается вместе с битрикс
Silex Framework не битрикс 1 это не битрикс, но часто указывается вместе с битрикс
Slim Framework не битрикс 1 это не битрикс, но часто указывается вместе с битрикс
Phalcon Framework не битрикс 1 это не битрикс, но часто указывается вместе с битрикс





Разложим эти технологии по категориям и опишем их:



1. СИСТЕМА

1С-Битрикс hh(939)

понимание подсистем и модулей Битрикса и их взаимодействия;

умение пользоваться системами кеширования;

Интеграция с внешними системами (API);

Интегрировать сайты с системами учёта (1с).

битрикс 24  hh(366)

D7 hh(42) битрикс.

написание собственных компонентов Bitrix компонентов.

написание собственных Bitrix модулей. написание компонентов и модулей на 1с-Bitrix.

доработка не типовой интеграции с 1с

Дополнительно знание CMS: WordPress hh(52), Joomla hh(26), Amiro.CMS hh(0), MODX hh(18), Drupal hh(13), Magento hh(7), InstantCMS hh(0), OpenCart hh(12), TomatoCart hh(1)  Знание других CMS систем будет являться плюсом Знание других CMS систем будет являться плюсом.

Дополнительно опыт работы с фреймверками YII hh(27), Laravel hh(21), Symfony hh(14), Zend Framework hh(9), Silex hh(1).

Чисто кругозор: python hh(19), Java hh(17), C# hh(7), ruby hh(5)

Интеграция 1C Soap

разработка модулей hh(116)

разработка компонентов hh(89)

Настройки обменов данными между системами с использованием механизмов web-сервисов и пост-запросов.

Битрикс и SOAP

Битрикс и XML

Битрикс и JSON

Нагрузки hh(18) Оптимизация производительности под высокие нагрузки;

типовые методы кастомизации шаблона(result_modifier.php, component_epilog.php
 
 

2. ИНТЕГРАЦИИ И НАСТРОЙКИ БИТРИКСА.

Email-рассылок hh(40).

Что используется при интеграциях, опыт разработки API , опыт реализаций сторонних API.

Настройка обменов с внутренними 1С.

Настройка обменов с внутренними битрикс 24.

Настройка обменов с внутренними маркетплейсы.

Настройка обменов с внутренними рекламные системы.

Настройка обменов с внутренними GA.

кастомные комплексные компоненты, class.php, наследование

кастомные модули

стандартный обмен с 1С

кастомизация обмена с 1С, и прочие интеграции

CommerceML hh(2) Вторая редакция стандарта CommerceML разработана с учетом развития отрасли информационных технологий и развития языка XML. XML-схема разработана в соответствии с рекомендациями консорциума W3C, пожеланиями по расширению предыдущей редакции стандарта в части формализации описаний электронных документов и классификации передаваемых данных.

опыт построения интеграций с SAP (SAP PI, SAPPOS DM, SAP BW on HANA)

Интеграция с 1С, AD, Exchange, Asterisk;





3. ПРОГРАММИРОВАНИЕ БИТРИКСА BACKEND.

API Bitrix hh(114).





4. PHP, БИБЛИОТЕКИ И ТЕХНОЛОГИИ.

PHP hh(259) Уверенное знание PHP. 

Уверенные знания ООП.

АОП hh(1) Четкое понимание и принцип ООП, АОП

MVC hh(12) - паттерн проектирования, наиболее употребительный повсеместно шаблон проектирвоания, на котором основаны многие системы и CMS 

ORM hh(15).

Паттерн hh(19) Дополнительно основные паттерны программирования.  Основных паттернов проектирования. 

построение архитектуры и разработка сервисов.

PHPStorm hh(8), чтобы удобнее было работать с CVS, codestyle и интеграцией с таск-трекером. PhpStorm – это интегрированная среда разработки на PHP с интеллектуальным редактором, которая глубоко понимает код, поддерживает PHP 5.3-7.2  phpStorm и большие мониторы для комфортной работы

Sphinx hh(7) (англ. SQL Phrase Index) — система полнотекстового поиска,  распространяемая по лицензии GNU GPL либо, для версий 3.0+ без исходных кодов. Отличительной особенностью является высокая скорость индексации и поиска, а также интеграция с существующими СУБД (MySQL, PostgreSQL) и API для распространённых языков веб-программирования (официально поддерживаются PHP, Python, Java; существуют реализованные сообществом API для Perl, Ruby,.NET[1] и C++. Sphinx используется для механизма поиска.

Solr hh(0) — платформа полнотекстового поиска с открытым исходным кодом, основанная на проекте Apache Lucene. Её основные возможности: полнотекстовый поиск, подсветка результатов, фасетный поиск, динамическая кластеризация, интеграция с базами данных, обработка документов со сложным форматом (например, Word, PDF). Так как в Solr есть возможность распределенного поиска и репликации, Solr хорошо масштабируем. По состоянию на май 2016 года Solr является вторым по популярности поисковым движком.

Smarty hh(3) - это компилирующий обработчик шаблонов для PHP. Говоря более четко, он предоставляет один из инструментов, которые позволяет добиться отделения прикладной логики и данных от представления. Это очень удобно в ситуациях, когда программист и верстальщик шаблона - различные люди. Неплохой справочник тут: https://www.smarty.net/docsv2/ru/what.is.smarty.tpl

Composer hh(7) — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении. 

Doctrine hh(2) — объектно-реляционный проектор (ORM) для PHP 7.1+, который базируется на слое абстракции доступа к БД (DBAL). 

Elasticsearch hh(12) — тиражируемая свободная программная поисковая система, по состоянию на середину 2010-х годов — самая популярная в своей категории. Написана на Java, распространяется по лицензии Apache, в основе использует библиотеку Lucene (так же как и вторая по популярности поисковая система — Solr), официальные клиенты доступны на Java, .NET (C#), Python, Groovy и ряде других языков.




5. БАЗЫ ДАННЫХ ДЛЯ ПРОГРАММИРОВАНИЯ БИТРИКС

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

SQL hh(82) + знать методики работы и оптимизации для высоконагруженных систем

JOIN из SQL спрашиваю часто

ORM hh(15) битрикс

MySQL hh(171)

PostgreSQL hh(21) PosgreSQL - иметь представление об оптимизации запросов, ускорении работы, знать что такое индексы, представления, explain и т.д. Понимание, что такое триггеры, функции, матвьюхи; PosgreSQL - иметь представление об оптимизации запросов, ускорении работы, знать что такое индексы, представления, explain и т.д. Понимание, что такое триггеры, функции, матвьюхи;

MSSQL hh(23) с репликацией в режимах Master-Master или Master-Slave для хранения данных без потерь; особенностей MySQL hh(). Уверенное знание SQL и особенностей MySQL.

Oracle hh(8) Опыт работы с MSSQL, Oracle, PostgreSQL приветствуется.


Дополнительно Опыт оптимизации работы с большими таблицами ( 100 миллионов записей ). Проектирование оптимальных БД под бизнес процессы работодателя.

Проектирование оптимальных БД под бизнес процессы

redis hh(15) Redis — сетевое журналируемое хранилище данных типа «ключ — значение» с открытым исходным кодом. Нереляционная высокопроизводительная СУБД. Redis как неконсистентное хранилище; Redis, Tarantool как вторичные data storage

Galera hh(2) Cluster - это синхронный кластер баз данных с несколькими мастерами, основанный на синхронной репликации и Galera для обеспечения высокой доступности;

PDO hh(1) PHP Data Objects — расширение для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных.

MongoDB hh(8)  (огромный) — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных. Написана на языке C++.

NoSQL hh(6)Знание принципов работы с Key-Value-хранилищами и NoSQL...Опыт работы с NoSQL-базами данных. Экономическое или управленческое образование  Понимание NoSQL

Tarantool hh(1) как вторичные data storage NoSQL базе данных Tarantool, знают о том, что она умеет хранить данные в памяти, очень быстро их обрабатывает и обладает высокой производительностью. Тарантул был написан серьезными ребятами, которые обслуживают сервисы с сотнями тысяч запросов в секунду.  Система кажется сложной. Несмотря на российские корни, изначально даже не было документации на русском языке. Чем же может помочь этот мощный инструмент обычным парням — программистам и начинающим разработчикам? Остальные могут сразу посмотреть результат


Понимание об индексах, движках (MyISAM, InnoDB, etc), внешних ключах и прочих инструментах реляционных БД. Что такое нормальная форма (1NF, 2NF, etc). Как реализовывать связи 1 ко многим, многие ко 1му и тд.




6. ДИЗАЙН И ВЕРСТКА ДЛЯ БИТРИКСА

Photoshop hh(93) 

svg hh(3)  Умение работать с синтаксисами slim, coffee, styl, svg.

Скейтч hh(1) 

bootstrap hh(43) 

адаптив hh(2) понимание адаптивной верстки

кроссбраузер hh(0) кроссбраузерной верстки

W3C (1) кроссбраузерной вёрстке и стандартах W3C

HTML5 hh(211)

CSS3 (60)

SASS hh(10) препроцессор SASS(SCSS), SCSS под Chrome с учетом touch устройств

LESS

Шаблонизаторы hh(3)

Шаблонизаторы Tilda hh(2)

Шаблонизаторы SMARTY hh(3)

Шаблонизаторы XSLT hh(2)

XSL hh(2) шаблоны

GD hh(2) работа с картинками (GD, imagick)

imagick hh(2) работа с картинками (GD, imagick)

кросс-браузерный

Foundation hh(4) ыт работы с каким-либо фреймворком: Twitter Bootstrap, Foundation, Semantic UI;

Semantic UI hh(1)  ыт работы с каким-либо фреймворком: Twitter Bootstrap, Foundation, Semantic UI;





7. ПРОГРАММИРОВАНИЕ БИТРИКСА FRONTEND

JavaScript hh(222) JavaScript - отличное знание и опыт, уметь манипулировать элементами страницы с помощью DOM

ES6 hh(4)

нативного JavaScript hh(4)  3422   нативный JS

JQuery (122)     JS/jQuery - опыт редактирования скриптов. 

JQuery Ajax (57)

Redux hh(1) — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением.

VUE hh(12) Приветствуется VUE. Vue.js — JavaScript-фреймворк с открытым исходным кодом для создания пользовательских интерфейсов. Легко интегрируется в проекты с использованием других JavaScript-библиотек. Может функционировать как веб-фреймворк, помогающий разрабатывать продвинутые одностраничные приложения. Легко интегрируется в проекты с использованием других JavaScript-библиотек. Может функционировать как веб-фреймворк, помогающий разрабатывать продвинутые одностраничные приложения.

React.js  hh(1)  – одна из самых популярных библиотек для создания сложных Frontend-приложений.

ReactNative hh(1) Желание самостоятельно развиваться и применять новейшие технологии. (В планах рассматриваем работу библиотек React и ReactNative)

Angular hh(8) Большим плюсом будет опыт работы с Angular; AngularJS — JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений[5]. Его цель — расширение браузерных приложений на основе MVC-шаблона, а также упрощение тестирования и разработки.

JSON hh(28)  Технология 

Опыт разработки вэб-форм hh(1).

RequireJS hh(5) JS-фреймворк RequireJS. RequireJS – если не самый популярный, то один из самых популярных файловых/модульных загрузчиков. При создании крупных компонентных проектов без него (или его аналогов) не обойтись, т.к. он решает основные проблемы таких приложений: – зависимости между модулями– засорение глобальной области

TypeScript hh(1) — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript. Разработчиком языка TypeScript является Андерс Хейлсберг (англ. Anders Hejlsberg), создавший ранее Turbo Pascal, Delphi и C#.


NodeJS hh(3) Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное)


JSDoc hh(1) JSDoc — генератор документации в HTML-формате из комментариев исходного кода на JavaScript. Синтаксис JSDoc похож на синтаксис Javadoc, который используется для документирования Java кода, но предназначен для работы с языком JavaScript, который является более динамичным, и поэтому JSDoc не совместим с Javadoc. Как и Javadoc, JSDoc позволяет программисту создавать доклеты и теги, которые могут быть выведены в файл, например HTML или RTF. Умение работать с синтаксисами slim, coffee, styl, svg.

Caffe hh(4) - это фреймворк глубокого машинного обучения нацеленная на простое использование, высокую скорость и модульность. Caffe выпускается под лицензией BSD 2-Clause license [en]. Выразительная архитектура располагает к удобному использованию и расширению функционала. Модели определяются в файлах конфигурации и не требуют знаний в программировании. Переключение между CPU и GPU в настройках устанавливаются всего одним флагом и позволяет запустить обучение на GPU (что значительно быстрее), затем возможно размещение обученной модели на серверных кластерах или мобильных устройствах. Умение работать с синтаксисами slim, coffee, styl, svg.

styl  hh(1)   Умение работать с синтаксисами slim, coffee, styl, svg.

 ES ECMAScript — это встраиваемый расширяемый не имеющий средств ввода-вывода язык программирования, используемый в качестве основы для построения других скриптовых языков[2]. Стандартизирован международной организацией ECMA в спецификации ECMA-262. Расширения языка: JavaScript, JScript и ActionScript.

ExtJS hh(1)



8. JAVASCRIPT BACKEND ТЕХНОЛОГИИ ПЕРЕДАЧИ ДАННЫХ И ПРОЧИХ НАВОРОТОВ

Ajax hh(73) 

XML hh(51) 

парсинг xml hh(1) Иметь понятие об основе парсинга XML, отличное понимание DOM (Document Object Model)

SOAP hh(29)  (простой протокол доступа к объектам) — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. ОSOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP. опыт работы с веб-сервисами (SOAP+WSDL, REST);

WSDL hh(27)  опыт работы с веб-сервисами (SOAP+WSDL, REST);

AMQP hh(0) Технология AMQP (Advanced Message Queuing Protocol) — открытый протокол для передачи сообщений между компонентами системы. Основная идея состоит в том, что отдельные подсистемы (или независимые приложения) могут обмениваться произвольным образом сообщениями через AMQP-брокер, который осуществляет маршрутизацию, возможно гарантирует доставку, распределение потоков данных, подписку на нужные типы сообщений.

RabbitMQ hh(11)  Используем RabbitMQ. RabbitMQ — программный брокер сообщений[en] на основе стандарта AMQP — тиражируемое связующее программное обеспечение, ориентированное на обработку сообщений. Создан на основе системы Open Telecom Platform, написан на языке Erlang, в качестве движка базы данных для хранения сообщений использует Mnesia. RabbitMQ — программный брокер сообщений[en] на основе стандарта AMQP — тиражируемое связующее программное обеспечение, ориентированное на обработку сообщений. Создан на основе системы Open Telecom Platform, написан на языке Erlang, в качестве движка базы данных для хранения сообщений использует Mnesia. RabbitMQ для организации очередей

REST hh(46) Технология REST  (то есть не нарушающих накладываемых им ограничений, «передача состояния представления») — архитектурный стиль взаимодействия компонентов распределённого приложения в сети. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. В определённых случаях (интернет-магазины, поисковые системы, прочие системы, основанные на данных) это приводит к повышению производительности и упрощению архитектуры. В широком смысле[уточнить] компоненты в REST взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине. Вызов удалённой процедуры может представлять собой обычный HTTP-запрос (обычно «GET» или «POST»; такой запрос называют «REST-запрос»), а необходимые данные передаются в качестве параметров запроса. В отличие от веб-сервисов (веб-служб) на основе SOAP, не существует «официального» стандарта для RESTful веб-API. Дело в том, что REST является архитектурным стилем, в то время как SOAP является протоколом. Несмотря на то, что REST не является стандартом сам по себе, большинство RESTful-реализаций используют стандарты, такие как HTTP, URL, JSON и XML. Для веб-служб, построенных с учётом REST. Таким образом: Rest - это в частности способ организации ссылок, на те или иные части вашего сайта, и определение особенностей взаимодействия частей сайта.

Promise hh(0)  (обычно их так и называют «промисы») – предоставляют удобный способ организации асинхронного кода. В современном JavaScript промисы часто используются в том числе и неявно, при помощи генераторов, но об этом чуть позже.

MobX hh(15) это простое, опробованное в бою решение для управления состоянием вашего приложения. Основная идея Состояние (state ориг.) это сердце каждого приложения и нет более быстрого способа создания забагованого, неуправляемого приложения, как отсутствие консистентности состояния. Или состояние, которое несогласованно с локальными переменными вокруг. Поэтому множество решений по управлению состоянием пытаются ограничить способы, которыми можно его изменять, например сделать состояние неизменяемым. Но это порождает новые проблемы, данные нуждаются в нормализации, нет гарантии ссылочной целостности и становится почти невозможно использовать такие мощные концепты как прототипы.

WebGL hh(0)  (Web-based Graphics Library) — кроссплатформенный API для 3D-графики в браузере, разрабатываемый некоммерческой организацией Khronos Group. WebGL использует язык программирования шейдеров SGSL. WebGL исполняется как элемент HTML5 и поэтому является полноценной частью объектной модели документа (DOM API) браузера. Может использоваться с любыми языками программирования, которые умеют работать с DOM API, например, JavaScript, Rust, Java, Kotlin и другими. Все ведущие разработчики браузеров Google (Chrome), Opera (Opera), Mozilla (Firefox), и Apple (Safari), являются членами Khronos и реализуют WebGL в своих браузерах. За счёт использования низкоуровневых средств поддержки OpenGL, часть кода на WebGL может выполняться непосредственно на видеокартах. WebGL — это контекст элемента canvas HTML, который обеспечивает API 3D графики без использования плагинов. Первая спецификация была выпущена 3 марта 2011 года. Современная версия 2.0 (несовместима с версией 1.0) доступна с 27 февраля 2017 года [4][5].

webpack hh(6)  Опыт использования и настройки webpack. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а. Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр. Опыт использования Webpack, понимание процесса транспайлинга


Backbone hh(3) Опыт работы с  Знание React (альтернативы – Backbone, Angular, Reflux)

ReactJS(23) Опыт работы с 

Reflux hh(1) RefluxJS — простая библиотека, обеспечивающая в вашем приложении однонаправленный поток данных, использующая концепцию Flux от Facebook. Опыт работы с  Знание React (альтернативы – Backbone, Angular, Reflux)



9. СЕРВЕРНЫЕ ТЕХНОЛОГИИ И ТЕХНОЛОГИИ НА ДРУГИХ ЯЗЫКАХ

Twig hh(1)  — компилирующий обработчик шаблонов с открытым исходным кодом, написанный на языке программирования PHP. Армин Ронахер написал Twig в 2008 году для платформы блогов Chyrp. Он больше не возвращался к разработке и в большей степени занимался разработкой на Python. Синтаксис языка шаблонов Twig берёт начало от движков шаблонов Jinja и Django, первый из которых также создан Ронахером. Идею данного шаблонизатора развивает и поддерживает Фабьен Потенсье, ведущий разработчик и идеолог фреймворка Symfony, в котором Twig используется по умолчанию.

GDAL hh(0)  Geospatial Data Abstraction Library  (англ. Geospatial Data Abstraction Library — библиотека абстракции гео-пространственных данных) — библиотека для чтения и записи растровых и векторных гео-пространственных форматов данных, выпускаемая под Open Source лицензией X/MIT организацией Open Source Geospatial Foundation(OSGeo). Библиотека предоставляет вызывающим приложениям единую абстрактную модель данных для всех поддерживаемых форматов. При сборке можно также включить дополнительные утилиты. С помощью этих утилит можно выполнять конвертацию и обработку данных используя интерфейс командной строки.

GO hh(3) Дополнительно 

NodeJS hh(5) 

Elasticsearch hh(12)  — поисковый движок с json rest api, использующий Lucene и написанный на Java. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES. Подобные движки используются при сложном поиске по базе документов. Например, поиск с учетом морфологии языка или поиск по geo координатам. В этой статье я расскажу про основы ES на примере индексации постов блога. Покажу как фильтровать, сортировать и искать документы. Чтобы не зависеть от операционной системы, все запросы к ES я буду делать с помощью CURL. Также есть плагин для google chrome под названием sense.

TeamCity hh(2)  — серверное программное обеспечение от компании JetBrains, написанное на языке Java, билд-сервер для обеспечения непрерывной интеграции. Первый релиз состоялся 2 октября 2006 года[2]. Teamcity как CI (юниты, интеграционные, статические анализаторы кода и прочие проверки);

SOA hh(4) , чтобы наши проекты были легко масштабируемы; Сервис-ориентированная архитектура (англ. Service-oriented Architecture) — подход к разработке программного обеспечения на основе слабосвязанных компонентов, взаимодействующих посредством стандартизованных интерфейсов.

Reflection hh(2) API Все программисты на Java явно или неявно пользуются reflection для вызова методов. Даже если вы не делали этого сами, это за вас наверняка делают библиотеки или фреймворки, которые вы используете. Давайте посмотрим, как этот вызов устроен внутри и насколько это быстро. Будем глядеть в OpenJDK 8 с последними обновлениями.




10. АДМИНИСТРИРОВАНИЕ СЕРВЕРА

Linux hh(59) Командная строка Linux. Основы работы с консолью Linux (работа с файлами, поиск, файловые ссылки, редактор vi)

Командная hh(36) Командная строка Linux.

CentOS hh(13) Битрикс виртуальная машина работает именно на нем, соотвественно лучше всего битрикс судя по всему тестируется именно под эту операционную систему, также имеются подробные обновляемые мануалы по использованию виртуальной машины битрикс и курс для хостера от битрикс с использованием этой операционной системы, соотвественно скорее всего с самой CentOs или виртуальной машиной на битриксе на CentOs вам и придется работать или администрировать и особенности этой операционки лучше изучить.

FreeBSD hh(3) Администрирование Linux/FreeBSD

apache hh(32) 

cron hh(2) 

LAMP hh(9)  Опыт администрирования LAMP приветствуется. Основы работы с консолью Linux (работа с файлами, поиск, файловые ссылки, редактор vi), опыт администрирования LAMP приветствуется.

nginx hh(38)  [engine x] — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал трети самых нагруженных сайтов. Nginx используется как прокси и балансировщик. Этот серверг превосходит по скорости работы Apache для негенерируемых файлов - картинок, html и прочего, для генерируемых Apache быстрей. Для высоконагруженных ресурсов делают связки этих двух серверов для обеспечения лучшей производительности. Не все технологии веб разработки поддерживают в достатчногоу мере энджин икс, и он требует более тщательной настройки и вмешательства системного администратора со специальной подготовкой к испльзованию этого сервера.

HTTP hh(14)  уверенное знание протокола 

WebSocket hh(1)  (1) — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. В настоящее время в W3C осуществляется стандартизация API Web Sockets. Черновой вариант стандарта этого протокола утверждён IETF.

Docker hh(7)  (7) — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами. Изначально использовал возможности LXC, с 2015 года применял собственную библиотеку, абстрагирующую виртуализационные возможности ядра Linux — libcontainer. С появлением ​Open Container Initiative начался переход от монолитной к модульной архитектуре. Знание Docker на уровне разработчика.  Знание технологий контейнеризации: Docker Знание технологий контейнеризации: Docker

bash hh(7) приветствуются базовые знания unix-систем (bash)

*nix hh(8) Linux (*nix),

Понимание как работает интернет (DNS, HTTP headers, HTTPS (connect, handshake), HTTP/2, IP, OSI, etс)

Знания о lxc, Docker и swarm/k8s






11. БЕЗОПАСНОСТЬ

SSH hh(6)  (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

XSS hh(0) защиту от XSS атак 

инъекции hh(1)  - защиту от SQL –инъекций. 

Firewall hh(0)    Web Application Firewall— защитный экран уровня приложений, предназначенный для выявления и блокирования современных атак на веб-приложения, в том числе и с использованием уязвимостей нулевого дня:

Qrator hh(2)  (2)  Защита от DDoS Ваш бизнес рано или поздно будет атакован, и без эффективной стратегии противодействия DDoS у него нет шансов. Qrator Labs - №1* по противодействию DDoS в России

CSRF hh(0)  знания об уязвимостях веб-приложений (CSRF, XSS);

XSS hh(0)  знания об уязвимостях веб-приложений (CSRF, XSS);

Memcached hh(5)  (5) — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы






12. Методология разработки ПО 

В2В hh(19)

Знание принципов и лучших практик оптимизации веб-страниц и приложений (rendering) hh(1)

Знание принципов и лучших практик оптимизации веб-страниц и приложений (repaint) hh(1)

Знание принципов и лучших практик оптимизации веб-страниц и приложений (reflow) hh(1)

Browserify hh(0) Знакомство Browserify и прочими модульными системами

Принципы код-гайдов (e.g. Google JS code guide)

Опыт код-ревью

Умеренный перфекционизм

БЭМ hh(6) Понимание методологии БЭМ







13. Поиск ошибок и тестирование ПО

Atlassian JIRA hh(8) На самом деле, Atlassian JIRA — это больше, чем просто система отслеживания ошибок. JIRA может использоваться довольно широко — в том числе и для управления проектами. Можно сказать, что JIRA — это система для отслеживания статуса задач. Задачи могут быть разными: это сбор требований, тестирование, непосредственно разработка и т. д. Я видел даже попытки подсадить на JIRA бухгалтеров — а что, мол, будет у нас agile-бухгалтерия! 

Опыт написания тестов и TDD (PHPUnit, etc)

Опыт работы с очередями

unit-тесты hh(2). Unit-тестирования, 

Google Tag Manager

Xdebug hh(5)  — средство профилирования и отладки PHP скриптов[1]. XDebug поставляется как расширение для PHP. Работает по протоколу DBGp

YouTrack hh(3)  Тип Система отслеживания ошибок, Программное обеспечение для управления проектами

MantisBT hh(0)  — свободно распространяемая система отслеживания ошибок в программных продуктах (bugtracker). Обеспечивает взаимодействие разработчиков с пользователями (тестировщиками). Позволяет пользователям заводить сообщения об ошибках и отслеживать дальнейший процесс работы над ними со стороны разработчиков.





14. Документирование кода

phpDocumentor hh(2)  это система документирования исходных текстов на PHP. Имеет встроенную поддержку генерации документации в формате HTML, LaTeX, man, RTF и XML. Также вывод может быть легко сконвертирован в CHM, PostScript, PDF. Альтернативой использованию phpDocumentor является Doxygen[3].

PHPDoc hh(2)  — адаптированный стандарт документирования Javadoc для использования в PHP. Пока стандарт комментирования имеет лишь формальный статус, однако, планируется его закрепление в качестве одного из стандартов разработки PHP-фреймворков, разрабатываемых группой PHP-FIG. Подготавливаемый стандарт получит номер PSR-5[1]. PHPDoc поддерживает как объектно-ориентированный, так и процедурный код в документах.


15. Мониторинг ПО

newrelic hh(2)  NewRelic — удобный мониторинг работоспособности ваших мобильных и веб-приложений

Zabbix hh(11)  — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования Zabbix и SMS уведомления, чтобы узнавать о проблемах раньше клиента;






16. Технологии взаимодейсвтия во время разработки Релизные схемы и разработка спринтами, чтобы было меньше хаоса;


git hh(141) Владение системами контроля версий Git на продвинутом уровне. Git, конечно же! И GitLab для хранения кода и управления репозиториями;

GitLab hh(10) — сайт и система управления репозиториями кода для Git, из дополнительных возможностей: собственная вики и система отслеживания ошибок. ПО доступно в системе управления пакетами Omnibus.


SharePoint hh(7) Помимо этого, предлагается инструментальное средство MS Office SharePoint Designer (SPD; см. ниже). Microsoft SharePoint Foundation — бесплатное приложение к Windows Server; предоставляет базовую инфраструктуру для совместной работы: редактирование, хранение документов, контроль версий и т. д. «SharePoint» может быть использован для создания сайтов, предоставляющих пользователям возможность для совместной работы. Создаваемые на платформе «SharePoint» сайты могут быть использованы в качестве хранилища информации, знаний и документов, а также использоваться для исполнения облегчающих взаимодействие веб-приложений, таких как вики и блоги. Пользователи могут управлять и взаимодействовать с информацией в списках и библиотеках документов используя элементы управления, называемые веб-части (SharePoint WebParts).

Gitolite hh(1) Опыт работы с системами контроля версий. Используем Git + Gitolite

PSR hh(9) – Базовый стандарт оформления кода PSR 0-4, чтобы код был аккуратным и  https://svyatoslav.biz/misc/psr_translation/ PSR 0-4 стандарты, которым следуем/  автозагрузка (PSR-4)

PHP_CodeSniffer hh(2) — Представляет собой набор из двух PHP-скриптов; Основной скрипт phpcs, который выделяет PHP, JavaScript и CSS-файлы для обнаружения нарушений определенного стандарта кодирования, а второй скрипт phpcbf автоматически исправляет стандартные нарушения кодирования. PHP_CodeSniffer — это важный инструмент разработки, который гарантирует, что ваш код остается чистым и последовательным. PHP_CodeSniffer, чтобы об этом не забывали :)

Subversion hh(0)  (также известная как «SVN»[5]) — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet[en]. С 2010 года Subversion является одним из проектов Apache Software Foundation и официально называется Apache Subversion.

Agile hh(20) (agile software development, от англ. agile – проворный) – это семейство «гибких» подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или agile-методологиями.

xhprof hh(4)  — php-расширение от facebook. Это иерархический профайлер, который позволяет собирать такую статистику как время выполнения каждой функции, использование памяти, время ожидания, количество вызовов и многое другое. Это расширение доступно из репозитория PECL: http://pecl.php.net/package/xhprof. Почитать документацию можно тут: http://php.net/xhprof.

DevOps hh(8)  — это набор методик, с помощью которых можно автоматизировать процессы между командами разработчиков и ИТ-специалистов, чтобы они могли быстрее и надежнее собирать, тестировать и выпускать релизы программного обеспечения. Знание и опыт работы с инструментами DevOps;

Scrum hh(12)  SCRUM — революционный метод управления проектами .  Кроме управления проектами по разработке ПО, SCRUM может также использоваться в работе команд поддержки программного обеспечения, или как подход к управлению разработкой и сопровождению программ, и даже в ремонте[7]: SCRUM of SCRUMs.  Знание методологии? разработки Scrum/Kanban/Agile

SOLID hh(4)  (сокр. от англ. single responsibility, open-closed, Liskov substitution, interface segregation и dependency inversion) в программировании — мнемонический акроним, введённый Майклом Фэзерсом (Michael Feathers) для первых пяти принципов, названных Робертом Мартином  в начале 2000-х[3], которые означали пять основных принципов объектно-ориентированного программирования и проектирования.

Redmine hh(12)   — открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails. Распространяется согласно GNU General Public License.

Gulp hh(7)  — это таск-менеджер для автоматического выполнения часто используемых задач (например, минификации, тестирования, объединения файлов), написанный на языке программирования JavaScript. Программное обеспечение использует командную строку для запуска задач, определённых в файле Gulpfile . Создан как ответвление от проекта Grunt, чтоб взять из него лучшие практики[3]. Распространяется через менеджер пакетов NPM под MIT лицензией .

Crunt hh(1) сборщиками Crunt Работа с инструментами автоматизации Grunt

Beanstalkd hh(1) для организации очередей Beanstalkd — упрощенная и легкая система очередей, которая разрабатывалась под нужны Causes. Представляется как менеджер заданий распределенного приложения, который собирает отложенные задачи (отправка почты, различные запросы рода).






17. РАСКРУТКА И ПРОДВИЖЕНИЕ САЙТОВ И ПРОЕКТОВ

SEO hh(32)  и web аналитика – на уровне понимания целей и средств достижения результатов

Покупка ссылок

Сервисы проверки (вставить список по сео)

UX-аналитикой и проектированием, дизайном, поддержкой и развитием интернет-проектов, digital-маркетинг, SMM, консалтингом.

Руководство фрилансерамина бирже

Analyatics hh()  Google Analyatics hh() 

Я.Метрики hh()

SMM hh(75) SMM-менеджера

Аналитика   hh()

настройка сайта под рекомендации для продвижения

GetResponce na(1) Опыт работы по интеграции сервисов по рассылкам (метод API) GetResponce;






18. CRM 

битрикс24 hh(366)

интеграция 1С hh(156)

1С:Предприятие hh(72)

1С:Управление торговлей hh(47)

1С:Бухгалтерия hh(42)

AmoCRM hh(21)

retailCRM  retail CRM hh1(2) ss(1)

MS CRM hh(1)






19. Дополнительно опыт работы с фреймверками: (это не битрикс и с ним не связано, дополнительно, но очень часто спрашивают на собеседованиях )

YII Framework hh(27), (спараршивают почти всссегеда на собеседовоаниях, имел ли опыт)

Laravel Framework hh(21), (спараршивают почти всссегеда на собеседовоаниях, имел ли опыт)

Symfony Framework hh(14), (спараршивают почти всссегеда на собеседовоаниях, имел ли опыт)

Zend Framework hh(9), (спараршивают почти всссегеда на собеседовоаниях, имел ли опыт)

CakePHP Framework hh(3),

Django Framework hh(2),

CodeIgniter Framework hh(2),

Silex Framework hh(1),

Phalcon Framework hh(1),

Slim Framework hh(1).







20. Дополнительно знание CMS (Знание других CMS систем будет являться плюсом Знание других CMS систем будет являться плюсом.
): (это не битрикс и с ним не связано, дополнительно, но в вакансиях битриксовых присутствует)

WordPress hh(52), 

Joomla hh(26),

MODX hh(18), 

Drupal hh(13), 

OpenCart hh(12), 

Magento hh(7), 

TomatoCart hh(1),

Amiro.CMS hh(0), 

InstantCMS hh(0), 






21. Чисто кругозор: (это не битрикс и с ним не связано, дополнительно, но в вакансиях битриксовых присутствует)

python язык hh(19), 

Java язык hh(17),

C# язык hh(7), 

ruby язык hh(5)

perl язык hh(1)

CGI hh(1)




Короткая ссылка на новость: https://webprogr.ru/~iUavx