Первый опыт я получил в школе, кодируя алгоритмы на микрокалькуляторе “Электроника МК-52”, программируя простые игры на микрокомпьютерах “БК-0010” и “ZX Spectrum” на языке Basic. Помимо этого, я провел много времени за компьютерными играми. В университете работал с системой управления базой данных dBase, создавая программу расчета полезных веществ в продуктах питания.
Моя первая работа на должности программист-инженер была в маленьком закрытом городке Казахстана в Курчатове в Институте Атомной Энергии в Национальном Ядерном центре. Курчатов расположен недалеко от ядерного полигона, на полигоне я видел огромные скрюченные, погнутые железобетонные столбы и “атомное” озеро – последствия наземных термоядерных испытаний. Первая реализованная мною база данных, ушедшая в продакшен – “Система учета радиоактивных материалов” для Международного агентства по атомной энергии. Ценным источником знаний по языку программирования С в 1996 году, являлась бумажная распечатка руководства “Язык программирования С” Брайана Кернигана и Денниса Ритчи, по ней я обучался с моим другом и коллегой Цай Евгением. Нашими наставниками по разработке были Инков Александр, Петренко Андрей (передаю им персональный привет!). Позже по документации и книгам изучали C++ и Delphi. В дальнейшем мы работали на С, C++ и Delphi в основном над созданием информационно-управляющих систем для эксперементальных стендов Ангараи EAGLE.
В 2006 году выиграл грант и в Омске в компании Luxoft прошел 4 месячный интенсивный курс по методикам разработки Rational Unified Process, языку программирования Java, Java EE технологиям и базе данных Oracle. После этого сменил специализацию с С++, Delphi на Java стек. Большинство ребят после курса также стали работать Java разработчиками. Переехал в кремневую долину Сибири – в Новосибирск. (Передаю всем знакомым и друзьям из Курчатова, Омска и Новосибирска пламенный привет!).
Начало карьеры может быть сложным, но вам должно нравиться программировать, чтобы получать удовольствие от ИТ учебы в настоящее время и в будущем от работы в ИТ! Чертовски приятно иметь работу, которая интересна и захватывает словно хобби! Иначе, возможно имеет смысл вам найти другое занятие по душе…
Естественно, каждый человек рано или поздно имеет тенденцию терять мотивацию. Практически каждый из нас нуждается периодически в “волшебном пенделе” ;) Рекомендую найти сообщество единомышленников среди изучающих ИТ и ментора из числа опытных разработчиков, которые могут оказать как моральную поддержку, так и дать практические подсказки, советы и помощь в освоении информационных технологий. Разработчики с опытом в свою очередь, оказывая помощь курсантам, могут избежать “выгорания” и прокачать свои навыки по управлению командой и проектом и вырасти до Лидера команды.
Через много лет я достиг своей цели – разработка программного обеспечения в классной ИТ компании в профессиональной команде!
А какова твоя цель?
Я знаю, что ничего не знаю
Оглядываясь назад, я начал обобщать и фиксировать свой опыт.
Теперь я понимаю, что могу указать более короткую дорогу к твоей профессиональной цели, передать свои знания и опыт – это моя новая цель!
Почему я точно знаю, какие знания и опыт требуется в ИТ?
Почему я смог выделить самое важное для юниоров из огромного количества информации?
Потому что я писал программы (Delphi, C, C++) и кодирую сейчас (Java, JavaScript, SQL) на нескольких языках программирования.
Потому что проектировал, программировал, тестировал, внедрял и поддерживал системы с различными технологиями:
REST Services, Web Services, Micro services, JSON, XML…
Для хранения данных использовал различные базы данных:
Oracle, MySQL, MariaDB, PostgreSQL, MongoDB, Cassandra, Redis…
Потому что мы используем самые современные средства разработки:
Jira, Redmine, GitLab, Git, Jenkins, TeamCity, IDEA, Eclipse и пр.
Потому что участвовал в десятке ИТ проектов для стартапов, электронной коммерции, банков, бизнеса в одиночку и в командах от 2 до 10 человек, продолжительностью от 3 месяцев до 3 лет, на роли рядового разработчика, ведущего разработчика или технического лидера.
Потому что у меня есть некоторый опыт фриланса и "домашние" ИТ проекты, на которых я изучаю незнакомые мне технологии.
Потому что я знаю и применяю современные методики разработки:
паттерны, рефакторинг, код ревью, юнит и интеграционное тестирование, основные методологии разработки: XP, Scrum.
Потому что помимо успешных проектов были и провалы, а на ошибках учатся.
Читать дальше