Как футбольный блог изменил мою жизнь, я вкатился в IT и написал свой первый проект
Вся суть моего поста вытекает из заголовка. Тем, кто интересуется программированием, сменой профессии или пристально следит за футболом будет, наверное, интересно. Не буду также скрывать, что помимо легкого заряда мотивации для читателя, я хочу разделить удовлетворение от проделанной работы и возможно получить ценный фидбэк.
Как всё начиналось. На дворе конец 2018 года, мне 27 лет, за плечами неоконченное высшее и работа приемщиком в сервисном центре одного небольшого прибрежного городка нашей необъятной. Платят хоть и копейки, но работа не пыльная и всегда есть свободное время. Из-за нахождения в бесконечном цикле дом-работа-дом с одним выходным в неделю, меня настигло ощущение того, что я прожигаю свою жизнь впустую. Возникло острое желание занять себя чем-нибудь полезным.
Просмотр ютуба и ленты в социальных сетях мне изрядно поднадоел. Начал накидывать варианты и в какой-то момент в моей голове проскальзывает мысль:
Идея мне почему-то очень понравилась. Я так далеко зашел в своих мечтах, что уже работал на спортс.ру(прим. крупнейший спортивный интернет-портал РФ), писал статьи, а может и вовсе рулил отделом контента. Да что там отделом, я захватил всё спортивное медиа пространство! Дудь 2.0
Вру. Не отпустило. Помимо любви к футболу, я питаю самые теплые чувства к цифрам и статистике. Цифры — это необъяснимая страсть моего гуманитарного мозга. Над специализацией блога я особо не думал, ответ для меня был почему-то очевиден. Было решено примерить на себя роль скаута и поискать футбольные дарования по всему земному шару.
Как я себя чувствовал, когда шерстил статистику по сотням игроков.
Такова была отправная точка. Дан самый среднестатистический ум, подушка безопасности в размере 0 руб. 0 коп. и желание что-то изменить в своей жизни, но об этом ниже.
В процессе поиска данных для блога я столкнулся с некоторыми проблемами. Большинство статистических сайтов либо не обладают нужным функционалом для удобного поиска, либо предоставляют достаточно скудные данные. Именно тогда у меня появилась мысль. А почему бы не сделать качественный агрегатор спортивной статистики? Открытый сервис, который в удобной форме предоставляет возможность энтузиастам, контент-мэйкерам, а возможно и вовсе сотрудникам клубов, анализировать данные. У меня было всего несколько серьезных преград:
Отсутствие денег. Абсолютный ноль. В кармане был космический вакуум.
Отсутствие знакомых программистов, которых я мог бы заинтересовать своей идеей.
В раздумьях над этой дилеммой я встретил новый 2019 год.
Озарение. Раз я решил делать сервис бесплатно или “околобесплатно”, то мне нужно завести нужные знакомства. А как это сделать? Правильно, — устроиться на работу в IT компанию. Проще простого.
Так уж получилось, что во время учебы на первом курсе университета я подрабатывал фрилансом, делая всякие баннеры, логотипчики на заказ. Подрабатывал громковато звучит, по факту я неплохо умел пользоваться фотошопом, а моё портфолио насчитывало до 10 работ.
Новый год — новая жизнь, подумал я, снял с кредитки деньги на аренду комнаты и поехал в областной центр устраиваться в это ваше “айти” дизайнером. Каково было моё удивление, что в областном центре не так много компаний которым вообще нужны дизайнеры. Компании же в которых есть штат программистов можно было на пальцах одной руки не очень удачливого фрезеровщика посчитать. Я сразу обозначил себе, что искать работу могу не больше 2 недель, большего мне не позволит мое финансовое положение. И если первую неделю я ещё пытался откликаться на сколько-нибудь “айтишные” вакансии, то к началу второй я уже прозванивал и откликался на “Кладовщик в обувной магазин”, “Администратор в магазин одежды” и т.д.
Мне повезло, утром понедельника раздался звонок, девушка HR на другом конце трубки сообщила мне, что представляет компанию франчайзи 1С и что они ищут консультантов. Это наверное, покажется странным, предложить дизайнеру роль консультанта по 1С, но видимо других кандидатов у неё не было. Когда я откликался на вакансию этой компании, то видел, что на hh были вывешены вакансии не только “1Сников”, но и веб-разработчиков, поэтому я, не раздумывая, согласился на собес. Логика была весьма проста, — главное попасть в компанию, а там разберусь. Собеседование было на общую адекватность, каких-то особых технических познаний не требовалось. Спустя 3 месяца меня ждало осознание суровой реальности, — консультант 1С не имеет совершенно никакой возможности взаимодействия с мобильной или веб-разработкой 🙁.
Так пролетел год, за который я успел забыть для чего были все эти потуги с переездом. По желанию трудящихся я могу отдельно рассказать об этом этапе во всех подробностях. Если коротко, то я научился писать элементарные запросы и немного ПОНИМАТЬ код.
Шок-контент для тех, кто не в курсе. Типичный код 1С выглядит как-то так:
Да-да, настоящий православный язык программирования.
Для меня было понятно, что для дальнейшего роста надо ехать в столицу. Так, в феврале 2020 года, я по отработанной ранее схеме беру в банке 50 тысяч и перевожусь в московское подразделение на позицию “внедренца”, которую мне дали авансом. В трудовой книжке уже красовалась должность — “инженер-программист”, а не какой-то там “консультант”. Солидно. Жаль только, что от инженера у меня на тот момент была только линейка на рабочем столе, а от программиста — старый потрепанный свитер. Моя работа заключалась в том, чтобы разъезжать по клиентам, устанавливать наше ПО, настраивать, собирать функциональные требования. Периодически прилетали задачи подредактировать какой-то отчёт/обработку. Такие задачи мне очень нравились, так как хоть и немного, но я мог потренироваться в написании кода.
Так прошло полтора года, я заматерел и нашёл новую работу (где работаю по сегодняшний день). В целом мне нравится моя работа, одно “но” — 1С это очень узкоспециализированный язык решающий определенный спектр бизнес-задач к которому должна лежать душа, а я не ощущаю этого. В свободное от работы время я начал изучать и другие языки: python, golang ❤️.
По мере изучения других языков я вспомнил и о проекте, который лежал в чертогах моей памяти и с которого, по сути, всё начиналось. Оставалась только одна проблема — “сварщик-то я не настоящий”.
Одно дело почитать книжку о синтаксисе и посмотреть пару плейлистов по разработке в ютубе, а другое — запилить сервис статистики… но глаза уже загорелись и как говорится: “Голова боится, а руки тоже боятся”.
Планы на проект были грандиозные, однако для MVP пришлось выкинуть всё что только можно было, оставить самый минимум от изначальной задумки.
У меня был план, и я его придерживался:
Дизайн. Отрисовать удобный интерфейс каким я его себе представляю. Хотелось сделать просто, но в то же время максимально функционально.
Back-end. Спроектировать базу данных, написать парсер. Реализовать универсальные методы API с возможностью отборов по любым собранным данным.
Front-end. Сверстать страницы, реализовать формирование запросов и отрисовку полученных данных с клиента к нашей API.
Рассказать заинтересованной общественности о созданном сервисе. ← Сейчас мы тут 🙂
Если с первым и последним пунктом проблемы я не видел, то второй, а в особенности третий пункт меня, мягко говоря, пугали. Смотря на этот план, в голове проносилось - “фару мне на лоб, чтобы и ночью косил”. Поэтому волевым решением было принято заказать фронт на фрилансе, а на себя взять всё остальное. Человек я ленивый, но очень увлеченный, если мне что-то приспичило, я это сделаю во что бы то ни стало. В итоге после 3 месяцев работы Back-end был готов.
Разместил объявление по программированию фронт части сервиса на самой популярной бирже и сразу получил отклик от студента из Киргизии, который сказал, что работы там на вечерок под пивко(утрирую, конечно, но суть передал). По рукам! И вот что в итоге у нас вышло:
Те, кто играет или когда-то играл в FIFA, Football Manager, FIFA Manager (RIP 🥲), наверняка пользовались чем-то подобным. Существуют сервисы которые позволяют искать футболистов по виртуальным игровым характеристикам и показывают потенциал игрока. Nerostat делает тоже самое, только с реальными данными, cколько игрок совершает отборов, обводок, процент выигранных единоборств и прочее. И всё это в удобной форме, как в интернет-магазине. Сейчас поиск ограничен 12 лигами, но в будущем я хочу это исправить, пока работа ведется над полнотой и достоверностью текущих турниров. Кому это будет интересно? Людям кто пристально следит за футболом, создает контент для футбольных пабликов.
Из особенностей представленной статистики, я решил идти по пути fbref.com, на котором в отличии от других сайтов вроде whoscored, данные указывается как «действие за 90 минут игрового времени». Мне кажется, что такое представление является более объективным, в отличии от «действий за матч», так как два игрока могут отыграть 5 матчей, но один отыграет все 450 минут, а другой выходящий на замену 100... В таком случае пытаться сравнивать результативные действия в разрезе количества матчей будет не совсем корректным.
В перспективе хочется добавить возможность сравнения игроков и выгрузку результатов в виде красивой инфографики. В общем вектор развития присутствует)
Возможно у вас есть идеи/замечания, возможно не представлен какой-то игрок или всплыл какой-то баг, пишите, я буду очень рад обратной связи.
Перечитал написанное, показалось, что статья выглядит примерно так 🙂
Если в комментариях будут какие-то вопросы, я с лихвой компенсирую слитую концовку “Игры престолов”).
Технические вопросы о проекте, про опыт работы в 1С. Спрашивайте не стесняйтесь, буду рад ответить. Всем добра, мечтайте и не сдавайтесь!
HR-Link и утечка персональных данных на стыке технологий
Обратилась значит организация - идет большая утечка персональных данных. Все сотрудники вдруг стали знать кто сколько зарабатывает, от уборщицы до топ-менеджмента. Как? Откуда? Как давно? Не понятно. Никто не колется. Но в коллективах начались скандалы, увольнения, зависть и косые взгляды друг на друга. Ситуацию надо срочно исправлять!
Стали проводить расследование, откуда-куда идет поток данных содержащий инфо о деньгах. Из заголовка уже понятно где оказалась дыра, поэтому опустим сколько интеграций между системами пришлось перебрать и сколько людей пострадали от пыток паяльником ))
Так вот, HR-Link - это сервис кадрового электронного документооборота №1 по версии РБК. Как составлялся этот рейтинг - большой вопрос, ведь не найти пользователя который бы работал со всеми этими системами, чтобы поставить объективную оценку:
Но не суть. Просто как видим эта организация внедрила у себя кадровый электронный документооборот. Все документы с сотрудниками теперь подписываются в электронном виде. Документы хранятся где-то в облаке. Сотрудник заходит в личный кабинет и видит только свои документы, которые подписывает своей индивидуальной цифровой подписью. Так где же утечка?
Все данные в HR-Link попадают из кадровой системы учета 1С:Зарплата и управление персоналом, что используется практически повсеместно в нашей стране от мелких ИП до крупных корпораций. Доступ в эту систему могут иметь как HR и бухгалтера, которые по своей работе обязаны видеть ЗП сотрудников, так и другие пользователи, например табельщики, специалисты по охране труда, менеджеры по обучению и прочие, кто зарплату видеть совсем не должен и система по умолчанию от них это скрывает. Так может виновата 1С?
Я бы так не сказал. У 1С как видим выше на рисунке тоже есть свой электронный документооборот, но там на утечку никто не жалуется, потому что всё сделано грамотно. А что сделал HR-Link?
HR-Link разработал для 1С свой велосипед модуль, который передает документы на подпись из 1С в ЛК сотрудника на свою сторону в HR-Link. Как он работает и в чем проблема:
Кадровик формирует печатную форму, например на повышение сотрудника где явно видна ЗП, или бухгалтер формирует расчетный лист, где видна вообще вся ЗП за месяц.
Печатная форма сохраняется в виде PDF файла прямо в карточке сотрудника (или в связанных с ним объектах базы данных).
PDF файл улетает сотруднику на подпись через модуль HR-Link.
Пользователь без прав доступа к ЗП, но с правом просмотра карточки сотрудника - открывает карточку сотрудника и видит все файлы сгенерированные модулем HR-Link.
Я никого не хочу отговаривать от цифровизации и перехода на электронный документооборот, т.к. я сам сторонник этой движухи. Но вот так халатно изобретать свой модуль абсолютно не учитывая архитектуру и функциональные особенности тиражного решения, для которого модуль предназначен - мне кажется недопустимым, это дискредитирует всю идеологию о цифровизации и защите перс. данных. И покупать козырять рейтингом на РБК после такого должно быть как-то стыдно )
Эта история была уже относительно давно, использует ли организация HR-Link по сей день - я не знаю. Но знаю одно - HR-Link в этом вопросе никуда не продвинулся. Так что если вам предлагают использовать эту систему, имейте ввиду, что теперь вашу ЗП возможно будет знать какой-нибудь специалист из охраны труда ))
Регистр сведений с периодичностью 1 секунда: как найти свободное время для записи
Есть РС с периодичностью 1 секунда.
Нужно создать запись на определённую дату, не замещая и не удаляя существующие записи. Т.е. нужно найти свободное время начиная от 00:00.1c
В голову не приходит ничего, кроме цикла с перебором времени по результатам запроса.
Ответ на пост «Стоит ли идти на стажировку в Первый Бит?»
Работаю с прошлого года у франча (федеральный, топ-5 в своей области), но в качестве аналитика
За плечами очень давний опыт в ИТ (плюс несколько образований в этой области, плюс опыт преподавания) и большой опыт работы в проф области (успеть, экономика, финансы). Так сказать, решил сделать серьезную смену области (созрел).
За это время успел сдать три профа, сейчас сдаю спец-конса (в планах полностью закрыт с спецами три програмных продукта).
Цель - перейти на позицию "функционального архитектора" с уровнем дохода существенно выше, чем было в прошлый сфере (а там относительно неплохой уровень дохода был) с отсутствием привязки к географическому местонахождению и относительно свободным графиком.
Короткая цель - выйти на прошлый уровень дохода, но работая из дома и без потери нервных клеток, работы из дома и так далее
Так вот, мне 40+, опыт руководящей работы порядка 20 лет и уход в аналитики это было сложным решением.
Но опять же, в силу опыта в профессиональной области, спрос на меня большой (вопрос только в систематизации проф знаний именно в технической части).
Плюс, сейчас повышенный спрос именно на 1с в части именно аналитиков и функциональных архитекторов (Хз, сколько это продлится, но за это время можно в этой профессии закрепиться).
P. S. Но, сложилось впечатление, что именно на программистов сейчас спрос существенно меньше. Профа получить не сложно (это тест, а не практическое решение задач). Конкуренция большая, загрузка (если ты не в штате или тебя не взяли на фуллстаф) эпизодическая и расти в этой области лучше имея где-то фиксированный доход и свободное время (хотя бы тупо где-то админить базу).
P. P. S. В любом случае, программирование 1с требует хороших знаний в проф области и, как вариант, где-то пройти хотя бы начальные бухгалтерские курсы, а еще лучше курсы уровня ГБ (как вариант получить демо доступ на сайте главбуха и посмотреть, какие области для тебя новые и на других сайтах типа клерк.ру и так далее, закрыть эти пробелы ). Ибо нельзя качественно писать код для приложений, если не понимаешь как они работают.
Ну еще можно освежить в памяти transact Sql (код 1с по сути русифицированный транзакт )
Стоит ли идти на стажировку в Первый Бит?
Дано - человек, который решил перепрофилироваться и стать программистом 1С (до этого работал много лет системным администратором, с 1С сталкивался постольку поскольку). Закончил курсы интенсив, сдал на Профессионала. Вакансий, где берут без опыта и готовы учить, немного. Первый Бит готов взять, но условия там мягко говоря странные. Работа в основном за бесплатно (платят только за часы на клиентских проектах, а ты типа ничего не умеешь и будешь привлекаться по минимуму на самое простое, поэтому будешь получать копейки, дай бог 10к в месяц набежит, и то не факт). При этом прямо говорят, что учиться вы будете сами, программы обучения у нас нет, какого-то коучинга тоже, смог кого-то поймать кто готов на твои вопросы ответить - хорошо, нет - учись сам, причём после работы. Херня какая-то получается. Может тут есть кто-нибудь, кто у них начинал свой карьерный путь и может поделиться, стоит ли туда идти за знаниями?
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
При помощи 1С я сегодня заглянул в будущее
Сел за 1С-ку, решил добавить конкретный функционал в свою базу. Интересно, думаю, а такое возможно? Спросил интернет, почитал пару форумов... вроде можно.
Нашёл на Вундерланде описание, стал делать. С самого начала стало странно - нет контекстной подсказки. Сохраняю - ошибка, "неизвестный оператор".
Так, думаю, с наскока не получилось, придётся рыть.
Полез в Руководство разработчика, ни хрена не нашёл.
Полез в Описание языка - ничего такого нет.
Прошерстил справку - пусто.
Ладно, думаю, но на Вундерланде же не дураки сидят, это ж центральный кладезь мудрости - почитаю-ка статейку с самого начала... и втыкаюсь в строчку: "Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Планируется в версии 8.3.24 ".
Ну, спасибо, повеселился в выходной.
... речь идёт о буфере обмена.