программист профессиональные компетенции

Junior

После сдачи экзаменов (о форме и особенностях экзаменации читайте ниже), недавний стажер становится junior-разработчиком 1С. Что это значит:

  • базовые знания и компетенции подтверждены;
  • способен САМ (под чутким контролем) выполнять несложные задачи;
  • в объемных проектах участвует как участник команды (при этом продолжает активно обучаться под контролем наставника ).

Программист 1С уровня джуниор — это начальный ПРОФЕССИОНАЛЬНЫЙ уровень. Какие задачи способен выполнять:

  • работа с универсальными коллекциями значений;
  • работа с хранилищем конфигурации;
  • обновление нетиповых конфигураций;
  • поиск и исправление ошибок в своем и чужом несложном коде;
  • работа с несколькими наборами данных и конструктором СКД и т.д.

У junior-а, в отличии от стажера, в матрице компетенций добавлен перечень задач, которые учиться решать, для дальнейшего роста. Эти задачи мы объединили в три группы — оперативные, бухгалтерские и расчетные.

Быстро и качественно — синоним дорого, а когда в сутках только 24 часа — невыполнимо. Для того, чтобы сотрудники не повторяли фокусы Тома Круза в “Миссия невыполнима”, введено минимальное время подготовки от стажера до джуниора — не менее 3 месяцев работы в ИНТЕРВОЛГЕ.

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

Что практически должен уметь Junior на старте

  • переписать (а значить досконально понимать) авторизацию на сайте;
  • собирать простые интерфейсы управления данными и целые сайты на фреймворке;
  • писать простую интеграцию с внешним API.

Покажем что должен знать Junior веб-разработчик по SQL.

Select со всеми конструкциями, включая Join

  • синтаксис select-а (смысловой порядок);
  • второй способ выбрать данные из нескольких таблиц кроме join и почему его не надо использовать;
  • where-having;
  • limit;
  • вывести для каждого пользователя количество групп в которых он состоит.

Типы данных MySQL

  • перечислить все типы;
  • разница в хранении.

Типы join-ов

  • продемонстрировать работу двух основных типов join-ов на таблицах (хуже на кружках);
  • что такое “cross join”.

Типы таблиц Mysql

  • как переименовать таблицу;
  • как задать значение по умолчанию для столбца.

Отношение многие ко многим

  • проведите аналогию с реальным миром: бд = библиотека, что будет индексами?;
  • на какие типы данных можно создавать;
  • тебе нужно самому запрограммировать индексы: primary, unique, index какие переменные/структуры данных для этого нужны;

Работа с СУБД в консоли

  • как выбрать бд при подключении и как сменить после;
  • вывести список баз и список таблиц в базе;
  • посмотреть список всех процессов бд (кто висит).

программист профессиональные компетенции

Как применять матрицу?

Эту матрицу мы написали для развития собственных программистов 1С. Но теперь каждый может взять нашу матрицу и оценить себя как разработчика 1С уровня стажер, junior, middle или выше.

Для нас матрица знаний программиста 1С — это инструмент:

  • определения текущих компетенций работника (пригодится как вакансия для приема на работу новых программистов 1С);
  • выбора программистов под задачи проекта;
  • наглядной демонстрации зон роста и развития специалистов в компании;
  • прозрачная система мотивации, от которой зависит заработная плата.

Стажер

Стажер-разработчик 1С — это сотрудник, обладающий базовыми знаниями, который только что устроился в компанию. Задача руководителя — проверить общие знания у новичка, определить его способность быстро и результативно усваивать “новую” и необходимую информацию, а также задать направление развития.

О каких знаниях идет речь:

  • программный модуль, переменные и константы, процедуры и функции и т.д;
  • толстый, тонкий и веб-клиенты, журнал регистрации, обновление конфигурации и настройки поддержки;
  • источники данных запросов, общие сведения о компоновке данных (СКД) и т.д.

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

Каким типам задач мы уделяем пристальное внимание:

  • установка платформы и конфигурации;
  • обновление типовой конфигурации;
  • установка, настройка и доработка модулей обмена 1С;
  • написание запроса с использованием СКД и т.д.

У junior-а, в отличии от стажера, в матрице компетенций добавлен перечень задач, которые учиться решать, для дальнейшего роста. Эти задачи мы объединили в три группы — оперативные, бухгалтерские и расчетные. Быстро и качественно — синоним дорого, а когда в сутках только 24 часа — невыполнимо. Для того, чтобы сотрудники не повторяли фокусы Тома Круза в “Миссия невыполнима”, введено минимальное время подготовки от стажера до джуниора — не менее 3 месяцев работы в ИНТЕРВОЛГЕ.

Middle

Функционально рабочая единица, которая не только сама способна решать много задач, но и консультировать или направлять стажёров. Что знает и умеет мидл-разработчик 1С:

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

Для аттестации на middle, как и на junior установлен минимально обязательный срок для подготовки: не менее 1,5 лет работы в профессии (а лучше в ИНТЕРВОЛГЕ).

Форма и сроки обучения

Обучение профессии программиста в университете проводится по очной форме: занятия ведутся в дневное время по установленному расписанию.

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

Документом, подтверждающим успешное завершение обучения, станет сертификат, удостоверение или диплом государственного образца.

Профессиональные навыки

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

  • Структура данных, алгоритмы. Эти знания – первое требование работодателя при приеме IT-специалиста на работу в любую компанию. Структура данных представляет собой связанные списки, массивы и стеки. Без использования этих инструментов невозможно написать ни одну программу или приложение. В процессе обучения профессии особое внимание уделяется именно основам структур данных и базовым алгоритмам.
  • Языки программирования. Профессиональный специалист в обязательном порядке должен владеть не одним, а сразу несколькими языками: изучение начинается с Java – простого и понятного для новичков. После успешного освоения можно переходить к C++, JavaScript и Python. Важно отметить, что даже при владении базового Java специалист справится с решением задач разного уровня сложности.
  • Интегрированная среда разработки. Любой специалист, занимающийся созданием программного обеспечения, должен знать о том, что такое современная интегрированная среда разработки. Программисты, которые пользуются языком C, C++ и C Sharp, работают с инструментом Visual Studio. Те же, кто предпочитает Python, используют в работе Jupiter Notebook – систему, функциональность которой увеличивается с каждым годом.
  • Управлением исходными кодами. Инструменты, которые иначе называется управлением версиями, позволяют программистам выполнять любые действия с кодами программного обеспечения. Как правило, современные компании пользуются в работе Git и SVN. Не владея этим инструментом, программист не сможет внести изменения в командную строку, а также разобраться в сути ветвления и слияния.
  • Текстовые редакторы. Современными представителями таких приложений являются NotePad++ и Sublime – функциональные интегрированные системные разработки. Для того чтобы работа в редакторе была эффективной, необходимо знать горячие клавиши – это позволит значительно сэкономить время работы программиста.
  • Базы данных и SQL. При работе с SQL необходимо знать такие основные компоненты баз данных, как нормализация или проектирование таблиц. Несмотря на огромное разнообразие баз, программист должен понимать суть работы каждой из них – удаление, обновление, составление запросов SQL.
  • Microsoft Excel. Электронный редактор таблиц, при помощи которого можно создавать, хранить и обрабатывать значительные объемы информации. Приложение Microsoft Office позволяет программистам контролировать прогресс и динамику, анализировать данные, одновременно проверяя качество аналитических функций программного обеспечения. Каждому IT-специалисту крайне важно овладеть широким функционалом Excel: он должен не только научиться вставлять и копировать данные, но и работать с такими опциями, как настройка фильтров, поиск, VLOOKUP, сортировка.
  • UNIX, Linux. Инструменты, которыми на протяжении длительного времени пользуются программисты, направлены на повышение эффективности действий специалистов.
  • Основы компьютерных сетей, которые прочно вошли в повседневную жизнь каждого человека.

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

Soft skills, или гибкие навыки

Soft skills в переводе с английского — «гибкие навыки» или «мягкие навыки». Они не связаны со знанием предметной области, но влияют на профессиональную деятельность. Исследования в этой области начались в США примерно в 1960-е годы, а в бизнес-среду этот термин вошёл ещё позже, в конце 90-х.

В журнале ‘Higher Education in Europe’ ещё в 2008 году была опубликована статья, доказывающая, что гибкие навыки — неотъемлемая часть профессиональных компетенций.

Junior’у желательно обладать этими самыми soft-skills – они помогут быстрее развиваться в профессии, перенимать опыт коллег.

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

Описания вакансий на позиции Junior обычно схожи в области этих качеств сотрудника.

Аналитическое мышлениеБез аналитического навыка сложно представить успешного программиста: именно с таким мышлением выбирают ИТ-сферу. Как оно проявляется в работе разработчика? Ему необходимо регулярно изучать, систематизировать информацию и делать по ней выводы. Перед тем, как написать код, программист подробно изучает проект, пишет план, составляет структура продукта, выбирает инструменты и способы реализации. Системный подход помогает представить готовый продукт, определить его интерфейс и внутреннюю логику.

Работа в команде

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

Способность к обучению и развитию

В ИТ каждый год появляются новые технологии. Любому программисту необходимо владеть актуальными инструментами разработки и регулярно саморазвиваться. Рекрутер должен обращать внимание на пройденные курсы, мастер-классы, хакатоны и ИТ-конференции: они показывают  профессионализм и интерес к сфере.

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

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

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

Важные личные качества

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

Знаете, что больше всего выдает в вас низкоквалифицированного программиста?

Желание неукоснительно придерживаться ТЗ при недостигнутых задачах бизнеса.

Этот тезис больно ударит по вашему самолюбию, если вы привыкли к уровню обслуживания «нет в ТЗ – идите мимо». Тем не менее, если вы хотя бы чуть-чуть поменяете свое мнение в сторону большей клиентоориентированности, то сможете понять, о чем я.

Знаю-знаю, вы – крутой программист и тут же возразите мне – а что же, я должен предвидеть все, что нужно бизнесу? Должен догадаться, чего хочет заказчик? Бесконечно реализовывать его странные хотелки?

А имеете ли вы моральное право задавать такие вопросы? Проверьте, что из этого списка вы сделали для этого:

  • Провели ли вы предварительный анализ требований из ТЗ, прежде чем приступить к его реализации?
  • Поставили ли вы под сомнение какие-либо пункты в спецификации или просто взяли под козырек получили аванс?
  • Предложили ли вы заказчику альтернативные варианты решения?

Если ваш ответ «ничего», значит вы просто формалист, перекладывающий ответственность с себя на заказчика.

Вы до потертости пальцев будете тыкать в ТЗ, говорить, что оно утверждено и подписано заказчиком. Что он сам виноват в том, что не углядел/не дописал, а теперь топает ногами и требует, чтобы вы доделали работу, но никогда не признаетесь, в том, что не смогли здраво оценить свои силы, потому как некомпетентны.

Знайте, если вы так делаете, то вы низкоквалифицированный программист-техник, не больше!

Нужны обоснования? – пожалуйста.

Что говорит профстандарт о вашей квалификации?

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

Здесь находится профстандарт для программистов. Это сайт министерства труда.

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

Написание программного кода с использованием языков программирования, определения и манипулирования данными

программист профессиональные компетенции

В рамках этой трудовой функции определены следующие трудовые действия:

  • Создание программного кода в соответствии с техническим заданием (готовыми спецификациями)
  • Оптимизация программного кода с использованием специализированных программных средств
  • Оценка и согласование сроков выполнения поставленных задач

программист профессиональные компетенции

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

Интересно, что программист, который обладает навыками кодинга по ТЗ, получает от Минтруда только 3 пункта к квалификации. Это программист уровня ПТУ, совершенно обоснованно в терминах профстандарта именуемый «Младший программист» или «Техник-программист».

программист профессиональные компетенции

Такой специалист может заявить: «В ТЗ этого нет». Формально он будет прав – это его уровень. При этом ему все равно, реализована ли задача бизнеса, главное, что свою часть работы он сделал.

Аналогом такого подхода могут служить следующие примеры:

  • Лампочку вкрутил, но свет есть только в 70% теплицы. Для появления завязей необходим уровень наполняемости светом 99%.
  • Реализовал функцию оплаты заказов, при этом не учел, что оплачивать заказы могут только зарегистрированные пользователи.
  • Сделал парсер для сайта, но подтягиваемые данные выводятся вкривь-вкось.

Смотрим далее. Есть такая трудовая функция как

Анализ требований к программному обеспечению

программист профессиональные компетенции

Читаем состав трудовых действий:

  • Анализ возможностей реализации требований к программному обеспечению
  • Оценка времени и трудоемкости реализации требований к программному обеспечению
  • Согласование требований к программному обеспечению с заинтересованными сторонами
  • Оценка и согласование сроков выполнения поставленных задач

И необходимые умения:

  • Проводить анализ исполнения требований
  • Вырабатывать варианты реализации требований
  • Проводить оценку и обоснование рекомендуемых решений
  • Осуществлять коммуникации с заинтересованными сторонами

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

Нетрудно заметить, что из 4 трудовых действий и 4 необходимых умений присутствуют только 2 технических навыка!

программист профессиональные компетенции

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

программист профессиональные компетенции

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

Вы имеете право говорить о «бесконечных доделках», если вы:

  • Предварительно и в полной мере убедились, что требования, положенные в ТЗ, определяются бизнес-задачей и неразрывно связаны с ней.
  • Задали заказчику исчерпывающие вопросы и утвердились в понимании «почему» и «зачем» необходимо реализовать ту или иную бизнес функцию, в результате которой родились функциональные требования, описанные в ТЗ.

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

И называется такой программист ведущим!

Для него подход «такого не было в ТЗ» – катастрофа, ведь он осознает, что ТЗ – это сфера его ответственности. Ведущий программист выполняет 60% работы на этапе аналитики и только 40% отводит на работу с кодом. Он не делает ТЗ притчей во языцех, доказывая несостоятельность заказчика. Скорее, наоборот, он чувствует себя несостоятельным, если, сделав работу по ТЗ, заказчик получает не тот результат, на который рассчитывал.

Это колоссальная разница в подходах и мышлении – заметьте!

Если программист не видит связи задач с бизнесом и не принимает каких-либо действий для обнаружения такой связи, то это программист-техник.

Как перестать быть программистом-техником и выйти на уровень компетенций ведущего программиста?

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

Вот примерный спектр умений для прокачки в себе аналитика и успешного бизнес-коммуникатора:

  • Анкетирование. Умение сделать качественную анкету под проект можно считать базовым навыком перед тем, как вступать в очные интервью.
  • Навык индивидуального интервьюирования. Сюда можно отнести персональные встречи, интервью по телефону и навыки выявления требований посредством переписки.
  • Групповые интервью. На групповых интервью присутствует несколько заинтересованных лиц. Ничего сложного. Просто здесь лучше проявляются ваши навыки самопрезентации, умение владеть вниманием собеседника, задавать вопросы и удерживать формат беседы, необходимый для получения результата.
  • Наблюдение. Иногда, для того, чтобы понять, как что-то работает, достаточно просто понаблюдать за этим. Уверяю, что посидев полтора часа в живом отделе продаж и просто наблюдая за менеджерами, вы точно поймете, как адаптировать эту злосчастную CRM так, чтобы руководство осталось довольным.
  • Прототипирование и создание бизнес-схем с последующим их обсуждением. Прототипы великолепны в качестве первого приближения результата. Если вы пришли на встречу с клиентом или общаетесь с ним в формате конференции онлайн – разверните флип-чарт и порисуйте. Ваша дискуссия обретет иной качественный характер и понимание.

Кроме того, рекомендую почитать следующую литературу:

  • Карл Вигерс, Джой Битти – Разработка требований к программному обеспечению. Практические приемы сбора требований при разработке программных продуктов.
  • Дин Леффингуэлл, Дон Уидриг – Принципы работы с требованиями к программному обеспечению. Унифицированный подход.

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

Удачи вам и крутых проектов!

Сертификация 1С

Как уже было сказано выше, аттестация включает не только корпоративное тестирование, но и проверку знаний сторонней авторитетной организацией. Для разработчика 1С нет более компетентных и непредвзятых экзаменаторов как компания 1С. Для компетенций уровня junior предусмотрена сертификация “1С:Профессионал по платформе 1С:Предприятие 8. 3, а для middle — 1С:Специалист по платформе 1С:Предприятие 8.

О руководителях и техлидах

Как правило, руководитель отдела или группы программистов сам на хорошем уровне владеет технологиями. При этом в каждом отделе и проектной группе у нас есть “техлид” – самый компетентный и эрудированный разработчик.

Почти все наши техлиды имеют уровень Senior.

Зачем указывать технические навыки в резюме

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

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

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

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

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

Если вы используете какие-то технологии, это можно считать техническим навыком и использовать в резюме.

Технологии проникли во все сферы профессиональной деятельности.

Как определить свои технические навыки и уровень владения ими?

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

Курс по программированию

В университете «Синергия» можно пройти курс обучения программированию. Он подойдет для тех, кто хочет в короткие сроки освоить востребованную, современную профессию.

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

В университете можно пройти курсы по таким языкам программирования, как:

  • java;
  • python;
  • java-script;
  • html, css.

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

Педагоги, ведущие занятия – специалисты-практики, которые в настоящее время являются действующими сотрудниками ведущих IT-компаний с мировыми именами.

Каждый выпускник обладает глубокими теоретическими знаниями и практическим опытом, закрепленным в портфолио. Университет «Синергия» ставит своей целью трудоустройство каждого студента.

Модель компетенций руководителя IT

  • Принимает оптимальное решение на основе оценки и анализа
  • Своевременно самостоятельно принимает или инициирует принятие необходимых решений
  • Берёт на себя персональную ответственность за свои решения, выполнение задач и конечный результат в различных ситуациях
  • Придерживается своих решений в сложных ситуациях, если уверен в их правильности
  • Учитывает последствия различных вариантов решений, выявляет риски и берет на себя ответственность за эти риски
  • Находит компромисс при выборе вариантов решения
  • В случае неудачи продолжает эффективно работать
  • Столкнувшись с возражениями, находит точные контраргументы, демонстрируя уверенность в собственной позиции
  • Направляет беседу, управляет переговорами, достигая целей и резюмирует результат
  • При получении новых данных, в случае необходимости, быстро перестраивает работу
  • Распределяет и поручает работу сотрудникам, контролируя ее выполнение
  • Объясняет сотрудникам важность задач, настраивая их на эффективную работу и достижение цели
  • При выполнении сотрудниками задач объясняет, отвечает на вопросы, дает разъяснения и высказывает пожелания
  • Убеждается в понимании сотрудником задачи и может оценить необходимые ресурсы
  • Контролирует выполнение задач и своевременно проводит их корректировку в случае необходимости
  • В случае возникновения проблем при выполнении задач, своевременно принимает меры, направленные на решение проблем и, если необходимо, подключается к выполнению задачи в форс-мажорной ситуации
  • Обсуждает и согласовывает со смежными подразделениями сроки выполнения задач и их приоритетность, достигая понимания
  • В случае необходимости для решения задач запрашивает информацию из других отделов и привлекает сотрудников смежных подразделений
  • Ставит и распределяет задачи между подчиненными, четко определяет зоны ответственности за результат, учитывая опыт и знания сотрудников
  • Устанавливает реалистичные объемы и сроки для выполнения работ
  • Расставляет приоритеты при выполнении задач
  • Определяет и планирует необходимые ресурсы для выполнения задач подчиненными
  • Планирует время выполнения работ, составляет планы реализации задач, контролирует их выполнение
  • Точно и в срок выполняет взятые на себя обязательства
  • Строит взаимодействие в рамках решения задач, учитывая мнения и индивидуальные особенностей других людей
  • Запрашивает точку зрения других людей, внимательно выслушивает их
  • Учитывает цели и потребности других подразделений, клиентов, поставщиков, партнеров в своих действиях и решениях
  • Открыто обсуждает противоречия, предлагает решения и согласовывает различные точки зрения
  • Находит компромисс при возникновении конфликтных ситуаций
  • Находит и предлагает новые методы решения задач свыше установленных условий
  • Делится с коллегами своими идеями и решениями
  • Открыт к новым способам и методам работ с целью решения поставленных задач
  • Стимулирует подчиненных к постоянному совершенствованию сложившихся практик работы, поиску новых походов
  • Обучает и передает свои знания сотрудникам на систематической основе
  • Создает условия для внедрения новых идей, направленных на достижение целей подразделения
  • Перед началом выполнения новой задачи собирает необходимую информацию из внутренних и внешних источников об аналогичных и новых разработках и применяет ее в работе
  • Интегрирует, анализирует и оценивает информацию с целью выявления приемлемого варианта решения задачи
  • В случае необходимости запрашивает дополнительную информацию с целью принятия решения
  • Формирует целостное представление о проблеме или задаче
  • Делает логичные, рациональные, обоснованные выводы
  • Выявляет системные причины проблем
  • «Сообразителен» — довольно быстро понимает задачу и добирается до сути проблемы
  • Самостоятельно собирает мнение экспертов, изучает опыт других в профессиональной области с целью применения полученной информации в работе
  • При выполнении задач учитывает ошибки, ранее совершенных при выполнении задачи и в случае необходимости, с целью уточнения необходимой информации, обращается за советом к компетентному специалисту
  • Анализирует отзывы клиентов(внутренних и внешних) о продукте и предпринимает действия к повышению качества работы
  • Доводит информацию о ходе выполнения работ до заинтересованных сторон, высказывает свое мнение и дает предложения по решению проблем
  • Готовит презентации, доклады, выступает на совещаниях высказываясь по существу, не отклоняясь от основной темы выступления
  • Выстраивает конструктивные коммуникации на разных уровнях с целью достижения договоренностей для решения задач
  • Четко и понятно для всех излагает информацию и свое мнение в разговоре

Управление развитием программиста

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

Во время таких встреч мы вместе определяем приоритеты развития — сдать лабораторную, экзамен 1С-Битрикс или устный экзамен по нашим компетенциям.

Аттестация

Проверка знаний — краеугольный камень всех уровней и квалификаций. Для ИНТЕРВОЛГИ важно, чтобы сотрудники были признаны не только своим же руководством, но и независимыми авторитетным органом. Поэтому аттестацию компетенций у разработчиков 1С мы проводим в два этапа:

Как устроена проверка уровня (аттестация) в ИНТЕРВОЛГЕ?

Как мы проверяем знания

Что такое «аттестация»?

Это процедура подтверждения квалификации программиста. Ее проходят все программисты компании. Аттестация включает лабораторные работы и устные экзамены.

программист профессиональные компетенции

Зачем нужна аттестация?

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

Как проходит аттестация?

Аттестация включает теорию (устный экзамен) и практику (лабораторные работы). Цель – “закрыть” несколько компетенций в матрице, подтвердить уровень, получить новые задачи и повысить зарплату.

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

Многие блоки матрицы компетенций закрываются практикой и теоретических вопросов по ним нет.

Теория. Устный экзамен

Компетенции, не покрытые лабораторными работами нужно подтвердить на устном экзамене.

По каждой компетенции мы задаем около 5 вопросов. По-хорошему ответить надо на все или почти все. Длительность устного экзамена зависит от уровня, обычно это 1-2 ч.

Практика. Лабораторные работы

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

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

Примерные формулировки заданий

Мы разработали около 20 заданий лабораторные работы. Несколько – опубликуем.

Вот примеры простых заданий.

Задание 2а. Базовый web на PHP, CRUD. Компетенции:

PHP: Аутентификация и авторизация на сайте

PHP: Обработка форма обратной связи с сохранением данных и валидацией

Фронт: Создание форм на html

Фронт: Синтаксис и селекторы CSS, общее представление о весах селекторов

SQL: Основы Mysql

SQL: Типы данных

PHP: Синтаксис языка PHP

Оформление кода (локальный документ)

Суть:

завести репозиторий на bitbucket и выполнять в нем;

сразу сделать ветку и pull request;

в PhpStorm установить плагин Statistic, максимальное кол-во строк на всю лабу — 1500 (см. столбец Source Code Lines, на скриншоте ниже — 862):

через PhpStorm создать необходимые таблицы и заполнить их данными;

сделать страницу аутентификации;

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

форма обратной связи доступна только авторизованным пользователям, критерий допуска – вход в систему выполнен;

все красиво сверстать, показать пример использования основных типов селекторов: id, class, attribute, pseudo-class, pseudo-element;

обе формы должны обрабатываться без JS;

проверить через PhpStorm, что данные добавляются в таблицу. Проверка:

проверяется качество декомпозиции php, js, css;

умение выделить ответственность и установить правильные зависимости между компонентами MVC/ECB;

безопасность (доступ);

безопасность (XSS, SQL injection);

корректность редиректов;

единство стиля оформления кода.

Задание 2б. Базовый web на PHP, CRUD (часть 2). Компетенции:

3 способа подключения скрипта

Создание форм на html

Синтаксис и селекторы CSS, общее представление о весах селекторов

JS: операторы, функции

Отладка JS с помощью консоли браузера

Основы Mysql

Типы данных

TODO: оформление кода

Суть — продолжаем работу над сайтом из задания 2а:

сделать мини-админку:

список отправленных форм обратной связи;

список должен быть отсортирован по дате отправки, новые – сначала;

список можно “обновить”, это делается с помощью AJAX;

совет: для интерактивного тестирования запросов к БД используйте консоль БД в PhpStorm;

отправленную форму можно удалить из админки, все на AJAX;

таким образом продемонстрировать все способы подключения JS;

отправленные данные можно отредактировать (использовать уже разработанную форму, без AJAX);

можно использовать jQuery. открыть инструменты разработчика (желательно Firefox):

найти источник запроса из лога запросов;

установить точку останова, спровоцировать выполнение кода, изучить пошаговое выполнение кода;

во время пошагового выполнения просмотреть значения переменных через соответствующий инспектор;

добавить watch;

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

проверяется качество декомпозиции php, js, css;

умение выделить и установить правильные зависимости между компонентами MVC/ECB;

безопасность (доступ);

безопасность (XSS, SQL injection);

единство стиля оформления кода;

все пункты по использованию инструментов разработчика продемонстрировать.

Вот пример “средней сложности”

Все “лабораторные работы” с методикой их выполнения и проверки доступны нашим сотрудникам.

Путь по “матрице” через лабораторные и экзамены гарантирует профессиональный рост! Подробный путь развития программиста мы описали ранее в статье.

программист профессиональные компетенции

Место работы

Go-разработчики востребованы в крупных компаниях, которые занимаются веб-разработкой, сетями и базами данных. Вакансий не слишком много, но у талантливого разработчика есть все шансы получить хорошее предложение от таких гигантов, как Google, Dropbox, SoundCloud, Ozon, Yandex, Mail. ru (VK), Twilio.

Как указать Technical Skills в резюме

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

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

программист профессиональные компетенции

Сделайте раздел “Technical Skills” читабельным и укажите те навыки, которые будут вам необходимы на новой должности.

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

После того, как список готов, самое время поработать над его профессиональным видом.

Есть несколько способов, как это сделать. Все зависит от того, на каком этапе своего карьерного пути вы находитесь. Вот некоторые рекомендации:

  • Если вы меняете сферу деятельности или у вас мало профессионального опыта, вы можете добавить свои технические навыки в раздел с опытом работы, чтобы показать что вы умеете, и тем самым поднять свою ценность в глазах работодателя. Посмотрите какие навыки важны для работодателя и если вы владеете всеми или некоторыми из них, укажите их в первую очередь. Например: бухгалтер может сослаться на опыт работы с ERP-системой для автоматизации учета и управления ресурсами предприятия, и указать позитивные изменения, которые возникли в результате. Это повысит его ценность в глазах работодателя и покажет способность работать на благо компании. Касаемо места в резюме: поместите раздел с навыками после контактной информации и раздела Цель, перед информацией про опыт работы, стажировки и образование.
  • Например: бухгалтер может сослаться на опыт работы с ERP-системой для автоматизации учета и управления ресурсами предприятия, и указать позитивные изменения, которые возникли в результате. Это повысит его ценность в глазах работодателя и покажет способность работать на благо компании.
  • Касаемо места в резюме: поместите раздел с навыками после контактной информации и раздела Цель, перед информацией про опыт работы, стажировки и образование.
  • Опытные профессионалы могут разместить раздел с техническими навыками как до опыта работы, так и после. Зависит от того, насколько ваши технические навыки важны для новой должности и какой акцент делает на них работодатель в описании к вакансии.
  • Претендуя на должность в IT сфере , разместите раздел с техническими скиллами сразу же между разделами Цель (Objective) и Опыт работы (Work Experience). Вы можете использовать списки или формат абзацев, чтобы перечислить свои навыки.

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

Подкрепите свои навыки цифрами.

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

Ниже мы добавили пример, как это может выглядеть для начинающего специалиста:

  • Опыт работы с Koha (помогал в библиотеке кампуса во 2-м и 3-м семестре);
  • Уверенный пользователь Microsoft Excel, Powerpoint и Keynote (использовал для создания таблиц и презентаций);
  • Работал с Ximble Scheduling (организовал расписание школьных мероприятий в которых принимали участие более 1000 человек).
  • : Photoshop, Illustrator, InDesign, Figma, Adobe Xd, Sketch, Powerpoint, Keynote;
  • : Frameforge Storyboard Studio, TVPaint, Studiobinder, Storyboard, Plot;
  • : HTML/CSS;
  • : Archetype, FontStruct, Tiff.

Рассмотрим пример раздела с техническими навыками для IT разработчика.

Раздел в формате абзаца

Вы можете использовать обычный текстовый блок чтобы перечислить свои навыки:

Technical SkillsLanguages: JS, TS, CSS3/HTML. Tools: React, Webpack, Rollup, VSCode, Git, Teamcity. Operating systems: Ubuntu, Mac OS X

программист профессиональные компетенции

Раздел в формате списка

В этом случае используется более визуализированная форма подачи информации о навыках:

программист профессиональные компетенции

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

  • Веб-дизайнер
  • Lead Backend Engineer
  • Администратор отеля
  • Бортпроводница

Есть большое количество технических квалификаций.

Но, указывайте те навыки, которыми вы действительно владеете.

Если вы напишите неправду и это раскроется, вероятнее всего, ваша репутация будет подпорчена.

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

Преимущества образования

Оценить преимущества получения образования в университете можно сразу после поступления и начала курса:

  • Короткие сроки обучения. Отличная возможность максимально быстро получить все необходимые знания и навыки, которые позволят приступить к решению сложных технических заданий.
  • Поступление без сдачи обязательных ЕГЭ и ОГЭ. Необходимо только предъявить аттестат.
  • Получение диплома государственного образца.
  • Возможность прохождения практики в ведущих компаниях, формирования портфолио.

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

В чем состоит работа программиста?

Программист – специалист, которые создает исходные коды для программ – операционных систем, видеоигр и мобильных приложений.

Для написания программного кода необходимо владеть специальным языком программирования: это обычные слова и символы, комбинации которых составляют около сотник разных языков. Самыми распространенными среди них считаются Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Выбор языка напрямую зависит от поставленной перед программистом задачи и от тех знаний и навыков, которыми он владеет.

ИНТЕРВОЛГАвские проверки

Первая часть аттестации программистов — интервьюирование, тесты и задачи для проверки (лабораторные), которые разработаны и проводятся внутри компании. Матрица компетенций — это инструмент ИНТЕРВОЛГИ. К каждому тематическому блоку мы подобрали подходящие вопросы, разработали тесты и проверочные задания, знания по которые считаем необходимыми у команды.

Курсы программирования и дизайна с нуля

Занятия на компьютерных курсах для взрослых проходят под руководством преподавателей-профессионалов из сферы IT. Программы Академии представлены в виде живых практических уроков, а не в видеозаписи. Если вы хотите создавать сайты, заниматься дизайном или ищете курсы программирования для взрослых с трудоустройством.

Если ищете компьютерные курсы для взрослых в Туле по цене, оптимальной для вас, обратите внимание на Компьютерную Академию РУБИКОН. В результате вы освоите новую востребованную IT-профессию.

Программист С и С++ всегда на пике востребованности! Его профиль – проекты по созданию игровых платформ, браузеров, драйверов и программного обеспечения любой сложности.

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

Бесплатный курс для старшего поколения «Азбука интернета»

по мере набора групп

Курсы программирования и дизайна для взрослых

Получите бесплатную карьерную консультацию

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

Подберем курс по вашим потребностям
Сформулируем цели
Продемонстрируем учебный процесс
Подберем курс по вашим потребностям
Сформулируем цели
Продемонстрируем учебный процесс
Подберем курс по вашим потребностям
Сформулируем цели
Продемонстрируем учебный процесс
Подберем курс по вашим потребностям
Сформулируем цели
Продемонстрируем учебный процесс

Компании, где работают наши студенты

Образовательные программы Академии РУБИКОН по созданию сайтов и дизайну, а также обучение программированию, могут помочь вам с трудоустройством. Курсы программирования для взрослых проводятся в сотрудничестве с нашими партнерами: международными компаниями-лидерами IT-сферы. Подавляющее большинство наших студентов находят работу в новой сфере.

Мы создаем образовательные программы с учетом их требований, предъявляемых к сотрудникам. Это позволят вам быть востребованным специалистом после окончания обучения. И неважно, где вы решите работать: остаться в этих компаниях после стажировки или создать свою собственную!

Обучаясь по уникальной образовательной методике в Академии РУБИКОН, вы получите действительно профессиональные навыки, с которыми вам будет несложно устроиться на работу. Если вы хотите найти настоящие курсы программирования, создания сайтов и дизайна с трудоустройством в Туле, оставьте заявку на сайте.

Hard Skills

C личными качествами разобрались, а какие профессиональные компетенции нужны программисту?

Умение писать понятный кодДлинный и сложный код показывает прокаченность программиста — частое заблуждение в ИТ-рекрутменте. Опытный разработчик пишет простой код, который прочитает и он, и коллеги. Это навык, которым выделяются сильные разработчики.

Структура данных и алгоритмыЭти знания также важны, как и язык программирования. К структуре данных относятся связанные списки, массивы и стеки — с ними разработчик создает приложение.

Без них не обойтись ни одному программисту. Он должен разбираться в основной логике, уметь проектировать таблицы и управлять данными. Основная база данных — SQL, кроме нее существует PostgreSQL, NoSQL и другие. БиблиотекиПредставляют комплекс готовых функций, классов и объектов, которые помогают держать фокус на главном — реализовать логику приложения.

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

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

Кроме этого, программисту важно знать:

  • UNIX или Linux;
  • интегрированная среда разработки;
  • основы компьютерных сетей;

В статье мы разобрали основные знания и навыки программиста. Если вы хотите найти профессионала в свою команду, обращайтесь в кадровое ИТ-агентство BGStaff — мы учтем ваши пожелания и найдем нужного сотрудника.

На старте стажер должен быть способен:

  • уверенно отличать куки от сессий;
  • понимать на сервере или в браузере происходит конкретная операция;
  • написать на PHP без серверных фреймворков несложную задачу управления данными. Например “ведение БД групп и студентов с редактированием, удалением, созданием и выводом”;
  • прилично оформить результат своей работы.

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

Ошибки – нормальная часть обучения.

Какие знания PHP требуются на уровне стажера?

Какие вопросы задаются?

Синтаксис языка PHP

  • открывающие / закрывающие теги (+короткие +альтернативный синтаксис);
  • объяснить поведение include-require + once.

“Типы данных”, переменные

  • перечислить все типы данных (7);
  • инициализация массива (новый и старый синтаксис, ассоциативный и последовательный);
  • правила именования переменных в php;
  • как работают и зачем нужны ссылки на переменные (можно на примере preg_match).

Глобальные переменные

  • что такое выражение (определение);
  • что такое арность с примерами (унарный, бинарный, тернарный + с сокращенным синтаксисом);
  • условные операторы и циклы;
  • как работает $$.

Побитовые операторы

  • синтаксис;
  • ограничения типов аргументов, что будет если передать не тот тип;
  • аргументы по умолчанию;
  • анонимные функции: зачем нужны + пример.

Классы

  • каким оператором можно проверить тип;
  • что такое класс;
  • что такое объект;
  • что может быть членом класса;
  • что такое инициализация.

Отображение ошибок

  • где в php / apache / битриксе управлять отображением (конкретные параметры и функции) ошибок (с приоритетами);
  • где искать логи ошибок на сервере.

Авторизация на сайте

  • написать авторизацию на чистом php;
  • три отличия хеш-функций от функций шифрования.

программист профессиональные компетенции

Стажер-разработчик 1С — это сотрудник, обладающий базовыми знаниями, который только что устроился в компанию. Задача руководителя — проверить общие знания у новичка, определить его способность быстро и результативно усваивать “новую” и необходимую информацию, а также задать направление развития. О каких знаниях идет речь:

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

Как поступить?

Для того чтобы поступить на курс программирования в университет «Синергия», абитуриенту необходимо посетить официальный сайт образовательного учреждения и заполнить форму обратной связи. В ближайшее время менеджер свяжется и задаст все необходимые уточняющие вопросы. По завершении телефонного разговора абитуриенту необходимо будет заполнить ряд документов: заявление на обучение и договор на оказание образовательных услуг, а также представить документ, удостоверяющий личность.

Senior

Senior знает “свой стек” досконально, с готовностью изучает и применяет новые технологии, и работает как наставник. Вот например, что сам Senior должен знать и уметь по блоку “Работа с серверами и Linux”.

  • сборка нетиповой системы выкатки изменений;
  • работа с микросервисами;
  • организация нагрузочного тестирования;
  • настройка continuous integration;
  • синхронизация файлов и репликация данных;
  • сборка отказоустойчивого и высоконагруженного кластера на Bitrix Framework и без него;
  • ELK / другие системы логирования и аналитики;
  • серверы очередей Gearman / RabbitMQ и построение распределенных систем.

Как правило, Senior играет роль технического лидера группы разработчиков.

Личные качества программиста

Программист – специалист, который должен обладать набором определенных личностных качеств:

  • Ответственность за все действия, выполненные специалистом.
  • Умение самостоятельно принимать решения и достигать поставленной цели.

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

Эту матрицу мы написали для развития собственных программистов 1С. Но теперь каждый может взять нашу матрицу и оценить себя как разработчика 1С уровня стажер, junior, middle или выше. Для нас матрица знаний разработчика 1С — это инструмент:

  • определения текущих компетенций работника (пригодится для приема на работу новых сотрудников);
  • выбора программистов под задачи проекта;
  • наглядной демонстрации зон роста и развития специалистов в компании;
  • прозрачная система мотивации, от которой зависит заработная плата.

Специализации

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

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

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

Что написать о себе в резюме программиста?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *