Код
#статьи

Программист в госкомпании: уверенная стабильность или «непробиваемая бюрократия»?

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

Иллюстрация: Катя Павловская для Skillbox Media

Максим Епихин


об эксперте

Максим Епихин — PHP-разработчик. Вдохновляется природой и отдыхом за городом. Любит хоррор-сериалы и геймдев, ведёт канал на YouTube и блог maximepihin.ru.


ссылки


С раннего детства мне не нравились правила игр: всё казалось банальным и неинтересным. Я хотел придумывать свои правила. А когда познакомился с компьютерными играми, то загорелся идеей создать свою.

Как я попал в веб-программирование через игры

В школе я собрал на Construct Classic 2D-игрушку наподобие Mario — про путешествие жирафика, который ищет дом. Потом создал ещё две игры, но это было хобби, а не серьёзная разработка. Я показывал проекты друзьям, мы их обсуждали и обменивались идеями.

Позже один из друзей тоже увлёкся геймдевом и рассказал мне о движке Unity 3D. Я сделал на нём несколько 3D-игр с ландшафтами, а для одной даже решил создать сайт — так и познакомился с вебом.

Сайт игры Максима Loneliness after. Chapter 1. Обновлённая версия 2018 года. Скриншот: предоставлен Максимом Епихиным

Сначала я изучил вёрстку на чистых HTML и CSS, а потом приступил к программированию на PHP и JavaScript. Сайт, который я сделал, понравился одноклассникам, и меня попросили написать похожий. Я стал пилить сайты для лабораторных по информатике и зарабатывать первые деньги на веб-разработке. А уже в универе создал сервис «Шаблонджер», на котором студенты создавали и размещали свои сайты.

Главная страница «Шаблонджера». Скриншот: предоставлен Максимом Епихиным

Так я полюбил веб и решил развиваться в этом направлении. Мне по душе пришёлся бэкенд, поэтому я серьёзно взялся за PHP. Обучение проходило не гладко: я много раз забрасывал, возвращался к геймдеву и обратно. Но когда понял, что в вебе можно хорошо зарабатывать, начал искать работу.

Как я устраивался в ФГАНУ ЦИТиС им. А. В. Старовойтова

Когда в ноябре 2018 года я возвращался домой с очередного собеседования, мне позвонили из ФГАНУ ЦИТиС им. А. В. Старовойтова и пригласили на интервью. Я как раз находился в 20 минутах ходьбы и сказал, что готов прийти хоть сейчас.

Собеседование пролетело довольно быстро — в отличие от предыдущих, где нужно было пообщаться с HR, пройти интервью по софт-скиллам, а в финале встретиться с техлидами — беспощадными «вершителями судеб». В ЦИТиС тоже много умных и опытных разработчиков, но общаются они гораздо дружелюбнее. Мы сразу уселись за большой стол и провели общую беседу с HR, ведущими программистами и техлидом. У меня спрашивали, что я умею, какое есть образование, дипломы и сертификаты. Затем проверили знания в PHP и базах данных и посмотрели портфолио.

Почти сразу мне предложили работу, но я попросил пару недель на ответ — был ещё оффер из Roistat, поэтому хотелось спокойно подумать. Как вы уже догадались, я выбрал ЦИТиС — уж очень понравилась дружелюбная атмосфера на интервью. Несмотря на крепкие скиллы, мне сначала предложили должность с минимальным окладом — чтобы посмотреть, как буду справляться.

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

Классическое образование vs настоящая работа: какие знания пригодились

Я окончил бакалавриат и магистратуру в РЭУ имени Плеханова. А потом поступил в аспирантуру на единственное бюджетное место. С точки зрения программиста знания, которые я получил в университете, не пригодились на работе. Зато они помогли мне как начальнику, аналитику и просто в жизни. Я стал думать более структурно и логично.

Мы изучали управление информационными системами и консалтинг в IT. Сейчас проходим системный анализ, управление и обработку данных. Полноценной разработки ни на одном предмете не было — она не входит в учебную программу. Зато на «Математическом обеспечении» ребята, кажется, кодили днями напролёт. Но туда было сложнее поступить.

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

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

Я хотел написать с нуля систему блога. Учился по YouTube-каналам WebForMySelf и урокам Дмитрия Елисеева, советам и материалам из свободных источников. Потихоньку у меня складывалось цельное представление о веб-разработке. Да, при таком подходе придётся миллион раз переписать проект, но будьте уверены: после каждой итерации он будет становиться лучше. Конечно, если вам это нужно.

Считаю, что найти работу можно с обычным стеком:

  • HTML — язык разметки, на котором создают структуру веб-страниц;
  • CSS — каскадные таблицы стилей;
  • JavaScript — язык фронтенд-разработки, рекомендую учить по javascript.ru;
  • PHP — скриптовый язык для бэкенда. Учить можно по официальной доке — она у языка довольно подробная.

Изучите операторы, циклы, основы ООП и работу в связке с JavaScript. Ещё нужно хотя бы на базовом уровне понимать, как работают HTTP-запросы, уметь их отправлять и получать. Остальные инструменты можно освоить уже в процессе работы.

Если вы изучаете трендовые технологии, они обязательно пригодятся в работе и вы сможете попробовать их на практике. Когда я только пришёл в ЦИТиС, мы писали на своём фреймворке и чистом PHP, но решили уйти в сторону более современных и продуманных решений. Остановились на Yii2 — его знали большинство наших программистов, и он подходил под наши задачи. По счастливому совпадению, именно Yii2 я изучал в свободное от работы время.

Какие инструменты я использую в работе

Хоть я работаю в государственной компании, у меня довольно стандартный набор инструментов для веб-разработки:

  • PhpStorm — это основная IDE для редактирования и написания кода.
  • DataGrip или бесплатный DBeaver для баз данных. Они позволяют корректно управлять базой данных, составлять запросы, иметь наглядное представление о данных и работать с ними.
  • Postman — чтобы тестировать HTTP-запросы и смотреть, как их отрабатывает база данных.
  • Стандартные линуксовские утилиты для системного администрирования, Apache, PostgreSQL, MySQL и другие.

В ближайшее время я планирую познакомиться с Go. Думаю, каждый PHP-разработчик рано или поздно переходит на него или хотя бы пробует. Ещё хочу поработать с MariaDB и MongoDB.

Также изучаю Slim — фреймворк для создания API. Это интересный и простой инструмент, но для достижения более качественных решений приходится вникать во множество смежных технологий, что меня и коснулось. Если же у меня возникают вопросы, то я иду на PHP Standards Recommendations и Stack Overflow.

Как построена разработка в госкомпании

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

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

Когда первоочередные задачи решены, я помогаю коллегам или занимаюсь самообразованием. У нас в компании это поощряют и даже оплачивают обучение. Так я прошёл курсы по безопасной разработке ПО от «Эшелона» и разработке под Astra Linux.

Плюсы и минусы работы на государство

Начнём с недостатков. Я вижу всего два:

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

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

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

Теперь к плюсам:

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

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

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

Резюме

Если для вас главное — много зарабатывать, а условия не столь важны, идите в коммерческую разработку. Но если хотите стабильный средний доход, быть уверенным в завтрашнем дне и планировать на много лет вперёд, то работа на госпредприятии — для вас. Конечно, я тоже хочу зарабатывать больше, но всё же отношусь ко второму типу. Мне нравится, что я могу заниматься личными проектами в свободное время и совмещать основную работу с фрилансом.

Курс

Профессия PHP-разработчик с нуля до PRO

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

Узнать про курс

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

Участвовать
Обучение: Профессия PHP-разработчик с нуля до PRO Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована