Всем привет! Я новичок на Хабре в части публикаций, поэтому прошу сразу не пинать.
Хочу начать со знакомства и сперва поделиться своим опытом вхождения в IT. Он был долгим. Извилистым. Порой я с него сворачивал, но все дороги известно куда ведут. И так, обо всем по порядку.
Предыстория
15 своих «лучших» лет я отдал МВД России. Служил во благо Родине, но стало так тошно, что уже невмоготу. Интерес к программированию был всегда и в 2014-ом (спасибо моему коллеге) я начал свое непосредственное погружение в него. Первым проектом была ведомственная региональная информационная система.
В ней мы собирали данные о людях, вынесенных в отношении них процессуальных решениях, заявлениях о преступлениях, административных правонарушениях, доставлениях в дежурную часть, фотографии и т.д. Одним словом, много раздолья было для сбора, анализа, проектирования системы, накопления опыта по взаимодействию с иными сервисами, базами и системами данных. Но потом пришли «федералы» со своим «Следопытом», законы о персональных данных, повысились требования к их защите и наши наработки стали проблематичны в поддержке, развитии и в конечном итоге сошли на нет. Успел забрать исходники — и на том спасибо.
Писалось сие детище (подумать страшно) в Notepad++ (что существуют IDE мне никто не подсказал) на PHP. По мере прокачки своих скиллов, прикрутил туда JavaScript c Ajax-ом, на CSS оформил кнопочки, схлопывания, аккордеоны. Из готового использовал только JQuery-плагин Datepicker. Старался писать все сам, пускай велосипеды и хардкор, но зато это опыт реализации и решения уймы сопутствующих задач. Да и в целом приятно видеть результат своих трудов. В общем, получил опыт в фулстеке. Во всем ведомстве не было конкурентов по формату, функциональности и наполнению.
Потом я перевелся в Центральный аппарат и таки забыл о программировании. Начались серые будни. Никакого творчества — только бумаги. Редкие задачи по написанию какого-то нестандартного функционала формочек для сбора статистики на Lua в ИСУБД «CronosPro» были как глоток чистого горного воздуха в центре Пекина.
Сфера дополнительного IT-образования тогда выходила на новый уровень и дала толчок развитию его онлайн форме. В одном из известных онлайн-университетов я и приобрел курс «Python-разработчик с нуля». Первую часть курса преподавал Вадим Шандринов @suguby пожалуй, лучший преподаватель на курсе.
Вадим, если Вы меня читаете, спасибо за полученные знания!
В одно время, правда, забросил — пропала мотивация после выплаты всей стоимости курса. К слову сказать, пройдя его полностью, диплом я так и не осилил. Взяв себя в руки (примерно через год), я расширил его до профессии и получил бонусом курсы по Django, верстке, Git-у, SQL. Здесь Django стал моей целью. Я взахлеб (ну, почти) проходил блоки и добрался до кульминации. Дипломным проектом стала традиционно разработка интернет-магазина. Изначальный дизайн и верстка страничек были любезно предоставлены кураторами, однако, всю динамику пришлось прикручивать самим. Большую часть задач я с удовольствием взял на себя. Спроектировал структуру БД и оформил ее в графическом виде в DB Designer. Форкнул js-библиотеку для работы с Django-формсетами и допилил ее для работы с Datepicker и корректной отрисовкой ошибок по каждой из форм. Слегка погрузился в Celery для организации фонового импорта данных. В итоге, командой из трех человек (изначально нас было пятеро) со второго раза мы таки защитились.
Дополнительно прошел двухнедельные курсы «Программирование на Python» базового и продвинутого уровней. Почти ничего там нового не получил для себя, но от синдрома самозванца избавиться так и не смог.
В то же время на сопровождении имел АПК, использующий для работы python-скрипты. Это помогло мне набраться опыта парсинга и обработки файлов и дампов различных БД и загрузки их в PostgreSQL. С напарником для этого написали универсальный загрузчик. Почти закончил конвертор данных из CronosPro, но оставил его вместе с МВД на произвол судьбы.
В программу обучения в онлайн-университете входило составление резюме. В новогодние праздники нового 2022 года я слегка актуализировал его и разместил на известной платформе по поиску работы, а уже 14 февраля 2022 года выразил свою любовь к Системе рапортом на увольнение, сказав ей: «Давай, до свидания! ©».
Собственно вхождение в IT
Сменить род деятельности, на самом деле, было очень сложно. В первую очередь, с моральной точки зрения. Все-таки 15 лет в Системе. До пенсии в льготном исчислении меньше четырех оставалось, но терпеть все, что там происходило, желания было много меньше, чем дослужить до нее. Я откликался почти на все подходящие вакансии (если верить истории, за полтора месяца их было порядка 80-и, правда, некоторые до сих пор не рассмотрены) и получал достаточно встречных предложений. В конечном итоге даже пришлось выбирать и отказать одному известному российскому оператору связи, когда был получен официальный оффер и забронирована должность.
На собеседованиях задавали типичные для джунов вопросы:
- что такое наследование, инкапсуляция и полиморфизм; 
- типы данных в python; 
- декораторы; 
- SQL-запросы (выборки, группировки, объединения, подзапросы и т.п.) 
- транзакции. 
Дальше приведу примеры некоторых тестовых заданий:
Hidden text
- Спроектировать схему БД. 
Модель данных реляционная.
Сущности:
- Номенклатура (наименование, кол-во, цена); 
- Каталог номенклатуры/Дерево категорий; 
- Клиенты (наименование, адрес); 
- Заказы покупателей. Необходимо предусмотреть возможность делать заказ из разного набора товаров. 
Необходимо хранить данные о категориях товара, при этом сами категории могут иметь неограниченный уровень вложенности
Пример дерева категорий:
Бытовая техника
Стиральные машины
Холодильники
однокамерные
двухкамерные
Телевизоры
…
Компьютеры
Ноутбуки
17“
19“
...
Моноблоки
…
Схема данных категорий номенклатуры должна безболезненно позволять добавлять категории любого уровня вложенности. На этапе проектирования максимальный уровень вложенности неизвестен.
Необходимо продумать схему БД, бизнес логику описывать не требуется.
- Написать следующие SQL запросы: 
- Получение информации о сумме товаров заказанных под каждого клиента (Наименование клиента, сумма); 
- Найти количество дочерних элементов первого уровня вложенности для категорий номенклатуры. 
Пример:
| Бытовая техника | 3 | ||
| Стиральные машины | 0 | ||
| Холодильники | 2 | ||
| однокамерные | 0 | ||
| двухкамерные | 0 | ||
| Телевизоры | 0 | ||
| Компьютеры | 2 | ||
| Ноутбуки | 2 | ||
| 17“ | 0 | ||
| 19“ | 0 | ||
| Моноблоки | 0 | 
Результатом выполнения задания должна быть даталогическая схема данных и SQL запросы.
Само задание проблем не вызвало, а SQL-запросы я даже сделал в двух вариантах: попроще и с рекурсией, что очень заинтересовало потенциального работодателя. Однако, при устном собеседовании одним вопросом «Можете ли Вы поднять простой веб-сервер на aiohttp?» меня поставили в тупик и предложение сорвалось.
Другое тестовое меня заставило захардкодить.
Hidden text
Написать небольшой сервис на языке Python, имитирующий работу банка со счетами клиентов.
Требования к сервису:
- работа с сервисом должна осуществляться через Interactive CLI 
- состояние счетов хранится только в рамках одной сессии 
- у клиента может быть только один счет 
- валюта у всех счетов одинаковая - USD 
- 
поддерживаемые операции: - deposit - операция пополнения счета на сумму, аргументы: client, amount, description 
- withdraw - операция снятия со счета, аргументы: client, amount, description 
- show_bank_statement - вывод на экран выписки со счета за период, аргументы: client, since, till 
  Пример использования сервиса 
Времени на выполнение было дано буквально вечер. Решение мне не понравилось самому и, ожидаемо, потенциальному работодателю. Обратной связи не было.
P.s.:
Сейчас я работаю в должности старшего программиста в одном государственном учреждении и занимаюсь написанием API микросервисов и останавливаться на достигнутом не собираюсь. Жалею только об одном — что так долго решался на смену деятельности.
– Итак! Что же нужно, чтобы войти в IT?
– Само желание туда войти, подкрепленное желанием трудиться, и много НЕжелания оставаться там, где Вы сейчас есть, а еще лучше — желание бежать оттуда без оглядки!
Если Вы, как я, страдаете синдромом самозванца, то посмотрите на людей в ближайшем окружении или чуть дальше. Некоторые из них с такой уверенностью рассуждают на темы, в которых они, мягко сказать, далеко не специалисты, что аж то ли зависть, то ли злость берёт. А если это вызывает какие-то чувства, с ними надо работать и двигаться только вперед. В остальном Вселенная поможет! :-) Но это уже совсем другая история...
Всем спасибо, кто дочитал до конца!
Комментарии (8)
 - yarooo06.11.2022 12:38+1- Сейчас я работаю в должности старшего программиста в одном государственном учреждении - по-моему, это все еще тернии  - v_suntsov Автор06.11.2022 12:40- Но только отчасти. На начальном этапе, как оказалось, нынешний уровень дохода далеко не самый низкий в сравнении с коммерцией, но, как я уже сказал в статье, останавливаться на достигнутом я не собираюсь – это только начало. 
 
 - Dzenbuddist06.11.2022 12:40+1- Ахахахахаха! - Привет, коллега! - Примерно в 2001 или 2002 опубликовал свой первый хомяк на Народ.ру, потом в универе немного подрабатывал, фрилансил. - Потом 12 лет в белорусском мвд, в итоге полковничья должность в ца, служебная квартира, "жалких" 8 лет до права на пенсию... Раз в пол года возвращался к вебу, читал, что там нового вместо noteopad++ изобрели, и дальше служил. - В 2020 понял, что нам сильно не по пути, свалил. Год стажерства и овсянки на воде, переживаний, страха... Теперь год в большой компании. Пока ничего не знаю, ничего не понимаю, сложно... - Зато интересно, спокойно и хорошо. - Все, что могу рекомендовать тс, - валить в коммерческую разработку из государственного болота. У него сейчас перспектив нет. А если остались красивые какие-то принципы служить обществу - подметай у подъезда по субботам. :))) 
 
           
 
Alexrook
Боюсь спросить, чего там по зарплате. Когда я видел вакансии от госучреждений (примерно два года назад), у меня невольно появлялась улыбка на лице. Программисту с минимум тремя годами опыта обычно предлагалось 40 т.р. И это Питер! Еще тогда не понимал, кого и где они на такие деньги собираются найти. Ладно бы без опыта искали. Ради опыта можно и поработать какое-то время. Так им важно, чтобы это был готовый специалист. Встречались, правда, и более высокие ставки, например, 60 т.р. для фулл-стек разработчика одного из гос. порталов, тоже обязательно с опытом от 2х лет. Выше зарплат от гос. сруктур не встречал.
v_suntsov Автор
Что удивительно, после 15 лет в МВД я сразу же получил зарплату на 25 тыс. выше. Конечная цифра значительно выше приведённых Вами. :)