Я знал всё… Ну что значит, всё. Всё знать совершенно невозможно. Поэтому скажу так, я знал кое-что, что должен знать ведущий разработчик: язык программирования 1С, чистый код (но он был не такой уж и чистый), запросы, СКД, обмен данных, работа в конфигураторе, с хранилищем, работа в 1С:EDT с 1С:Напарник и т.д.
Я неоднократно слышал про выгорание и про то, что иногда программисты бросают всё и уходят. Уходят отдыхать. В первый раз это посетило меня еще много лет назад, когда мне было лет 45, я работал главным разработчиком в одном большом строительном холдинге. Работа была нервная, баз было много, в том числе и самописных. Соответственно, внимания они требовали много. Платили на эту работу довольно-таки неплохо, и я с успехом закрыл ипотеку досрочно и даже прикупил новый автомобиль в кредит. Но цены тогда были совершенно другие, а не такие, как сейчас.
И вот однажды я проснулся в 3 утра, в холодном поту с сердцебиением, с мыслью, что я больше не могу. Я выгорел. Хочу просто лежать и ничего не делать.
🔹 Почему я все-таки решил уходить?
Всё началось не в один день. Это был медленный, тихий процесс самоуничтожения.
Каждый месяц:
- Закрытие месяца — 3 ночи без сна
- Очередной "срочный" баг в проводке
- Бухгалтер: «А почему налоги не сошлись?»
- Руководство: «Ты же специалист — исправь до утра»
- Коллеги: «Сергей, ты единственный, кто это понимает»
- А уж «беседы» с бухгалтерами и главбухами это вообще отдельная песня.
В итоге я стал заложником своих знаний. Чем больше я знал — тем больше меня держали. И вот, после очередного краха базы, а точнее её взлома, в пятницу вечером (перед отпуском), я сидел перед монитором. Надо было что-то делать… А именно каким-то образом восстанавливать базу, благо копии этих баз имелись и никаких проблем быть не должно, но требовалось время! Время, которого вечно не хватает и которое никто обратно не вернёт.
Были также постоянные жалобы жены на то, что постоянно провожу время за компьютером. Ведь дома была целая «установка», состоящая из мощного системного блока, напичканного всяким же новыми железками. Двумя огромными мониторам по 32 дюйма каждый и еще различные приблуды в придачу типа принтера-сканера-копира. Со стороны можно было подумать, что я собрался взламывать Пентагон, но я всего лишь был главным программистом 1С. )))
🔹 Диалог с женой в качестве примера.
— Сергей, ты опять сидишь за компом?
— Да. Надо вот тут срочно быстро сделать.
— Но у тебя же отпуск (выходной)!
— Я знаю…
— Ты каждый год так. Уезжаешь, а через день обязательно что-то случится.
— Я не могу просто уйти.
— А если бы ты мог?
— …Мог бы. Я бы ушёл. Только жить на что мы будем? Ипотеку кто станет выплачивать?
— Куда?
— Не знаю. Но не сюда.
И вот возвращаемся к вопросу об увольнении. Но хочу или не хочу это, конечно, вопрос интересный, но если спуститься на грешную землю, то тогда остается вопрос: - «А на что я (семья) буду жить и что я (семья) буду кушать?». Ведь благодаря своей работе и программированию в 1С базовые потребности были закрыты и даже была создана небольшая подушка безопасности. А что же будет если я уйду? А главное куда?! Родственников Рокфеллеров или Ротшильдов у меня нет. Дети точно не дадут сесть им на шею и сидеть, свесив ножки.
Но дальше всё случилось очень даже неожиданно. Начался очередной кризис, в том числе и строительный, и меня сократили, а компания закрылась, а в холдинге началась реструктуризация. Так как зарплата была полностью белая, то деньгами при сокращении не обидели.
Первый месяц я просто дома лежал и ничего не делал. Работать тем более не хотелось от слова совсем. Отсыпался.
Ну а потом, а потом началось пиление… «- Лежишь, ничего не делаешь, денег не зарабатываешь» и так далее…. Кто из женатых программистов не слышал эти слова?
И вот потихоньку я стал задумываться… А не пойти ли мне во frontend? Вроде бы когда-то давно, еще в прошлой жизни, пробовал писать, в годы работы преподавателем, небольшие сайты в том числе и для обучения с проверкой знаний своих учеников. Слова-термины HTML, CSS, PHP для меня не были пустым звуком.
🔹 Первый шаг: «А что такое HTML?»
Ну раз решил, то надо реализовывать. А что решил-то? Хочу писать сайты. Красивые. Живые. С анимациями. Где пользователь улыбается, а не матерится.
Поэтому в на следующий день, открыл YouTube, который у нас еще не был заблокирован, и в поиске набрал: «Как сделать сайт с нуля».
Первое видео:
— Установите VS Code.
— Создайте папку.
— Сделайте файл index.html.
Я делаю:
HTML
!DOCTYPE html>
<html>
<head>
<title>Мой первый сайт</title>
</head>
<body>
<h1>Привет, мир!</h1>
</body>
</html>
Запускаю в браузере. Работает. Ну разве не классно?
«Так это… просто текстовый файл? И он открывается в браузере? Без сервера 1С? Без конфигуратора? Без НаСервере()?»
Я чувствую лёгкость от того, что «ручки-то помнят»!
🔹 Проблема №1: «Я не знаю, где начинается и заканчивается код»
В 1С всё понятно:
- Есть объект → есть модуль → есть метод → есть вызов.
А здесь?
- Есть index.html
- Есть style.css
- Есть script.js
- И они как-то связаны через <link> и <script>
Я пишу:
HTML
<script src="script.js"></script>
Но ничего не работает. Почему?
Потому что я подключил скрипт до тега <body>. Потому что не знаю, что DOM ещё не загружен. Потому что не слышал про DOMContentLoaded.
Я гуглю. Читаю Stack Overflow. Копирую код. Работает. Я не понимаю, почему.
В 1С я был королём, ну если не королём, то валетом точно! В вебе — я снова стал первоклассником, ну ладно второклассником.
🔹 Проблема №2: «Асинхронность убивает меня»
С JavaScript я вообще никогда не дружил и старался до этого обходится без него, так как можно было обходиться PHP.
Я хочу отправить форму на сервер. Пишу:
JavaScript
fetch('/api/order', {
method: 'POST',
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => console.log(result));
Но console.log(result) выводит undefined.
Почему?
Потому, что я забыл return response.json() в первом .then(). Потому что не понимаю, как работают промисы. Пытаюсь переписать на async/await:
JavaScript
async function sendOrder() {
const response = await fetch('/api/order', { method: 'POST', body: data });
const result = await response.json();
console.log(result);
}
Теперь работает. Но почему? Я не знаю. Я просто скопировал. В 1С всё было синхронно: Результат = ВыполнитьОбработку(Данные);
А здесь — я не знаю, когда что выполнится.
🔹 Проблема №3: «CSS — это ад»
Я пишу сайт. Хочу центрировать блок. Пишу:
CSS
.container {
margin: 0 auto;
}
Не работает. Почему?
Потому что блок div — блочный, но у него нет фиксированной ширины. Добавляю width: 500px — работает.
Хочу сделать кнопку с анимацией при наведении.
CSS
button {
transition: all 0.3s ease;
}
button:hover {
transform: scale(1.1);
background: #0088cc;
}
А еще выскочила одна засада. Сколько лет 20 назад было браузеров? А сколько их сейчас? А если это будут смотреть не на мониторе компьютера, а на телефоне? На одном браузере работает. На другом — дергается. Почему?
Потому что не добавил will-change: transform. Потому что не знаю про GPU-ускорение.
Хочу адаптив.
Пишу @media (max-width: 768px) — но на телефоне всё равно криво.
Потому что забыл:
HTML
<meta name="viewport" content="width=device-width, initial-scale=1.0">
В 1С форма рисовалась сама.
В вебе — ты должен знать всё: от пикселей до DPI.
🔹 Проблема №4: «Node.js? npm? package.json? Что это?!»
Я слышал: «Веб — это JavaScript».
Окей. Но почему у меня в проекте появился файл package.json?
JSON
{
"name": "my-site",
"version": "1.0.0",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.18.0"
}
}
Я выполняю:
Bash
npm install
Скачивается 200 папок в node_modules. Объём — 300 МБ. За что?
Потому что Express зависит от других пакетов. А те — от других. А один из них — left-pad — это функция из трёх строк.
Я в шоке.
В 1С всё было в одной базе. Здесь — весь интернет живёт у меня в папке.
🔹 Проблема №5: «React? А зачем мне ещё один язык?»
Услышав про него я невольно подумал. Вот я освоил HTML, CSS и чуточку JS и думаю: «Теперь я веб-разработчик».
Так нет же, товарищ говорит: — Ты же хочешь карьеру? Учись React.
Я: — А что он делает?
Т: — Позволяет писать компоненты.
И вот я смотрю очередной пример:
JSX
function Welcome(props) {
return <h1>Привет, {props.name}</h1>;
}
Что?! Это HTML внутри JS?! Почему return возвращает тег? Почему .jsx, а не .js?
Устанавливаю Create React App. Запускаю. Открываю localhost:3000. Работает. Я не понимаю, как. В 1С у меня был конфигуратор. Здесь — create-react-app сделал за меня всё: Webpack, Babel, ESLint, Dev Server.
Я чувствую страх от того, что не понимаю, что происходит под капотом.
🔹 Проблема №6: «Git, но не такой, как в EDT»
В 1С я уже работал с Git через EDT. Я знал, как делать коммит, пуш, мердж.
Но в вебе — всё иначе.
- CI/CD через GitHub Actions
- Pull Request с проверками
- Линтеры, которые ругаются на пробелы
- Husky + lint-staged перед коммитом
Я делаю коммит:
Bash
git commit -m "fix bug"
А меня ругают:
«Сообщение коммита должно быть: fix: описание проблемы»
«ESLint найдены ошибки»
«Запусти prettier»
Я не могу закоммитить, пока не сделаю npm run format.
В 1С я коммитил как хотел. В вебе — тебя воспитывают.
🔹 Проблема №7: «Я не умею учиться»
В 1С я учился через:
- Инструкции 1С
- Форум Infostart
- Коллег
- Личный опыт
А в вебе — информации слишком много:
- YouTube
- Udemy
- FreeCodeCamp
- MDN
- Medium
- Хабр
- Discord-чаты
Я смотрю курс. Через неделю — другой. Потом третий. Ничего не остаётся. Я не строю систему. Я прыгаю.
Хочу сделать сайт-портфолио. Начинаю с HTML. Потом думаю: «А может, сразу на React?» Переписываю. Потом: «А если Vue?» Переписываю снова.
В 1С я знал путь. В вебе — я потерялся.
🔹 Проблема №8: «Я не понимаю, как устроена сборка»
Я пишу код. Запускаю npm start — работает. Хочу понять, как. Открываю node_modules/react-scripts — там 5000 файлов. Не читаемо.
Учусь Webpack. Понимаю, что он:
- Собирает модули
- Минифицирует
- Добавляет хеши
- Разделяет код
Но настроить вручную — ад. Один косяк в webpack.config.js — и сборка падает.
В 1С сборка — cf. В вебе — это целая экосистема.
🔹 Прорыв: первый сайт, который я опубликовал
Через 5 месяцев я сделал простой сайт:
- Одна страница
- Адаптив
- Форма с валидацией
- Отправка на backend (Node.js + Express)
- Хостинг — Vercel
Я опубликовал. Отправил ссылку в Telegram-чат.
Кто-то написал: «Клёво! А можно кнопку увеличить?»
Я поправил. Перезалил. Через 20 секунд — обновилось и получилось
В 1С обновление занимало час:
— Собрать cf
— Перезапустить сервер
— Обновить клиенты
А здесь — 20 секунд. И весь мир видит изменения.
🔹 Первый фриланс: сайт за 15 тысяч
Всё время, пока я обучался меня интересовал один и тот же вопрос: - «Где деньги, Билл?». Как искать заказы?
На обучающих видео твердили, что, «Сделайте сайт-визитку для дизайнера. Чистый, лаконичный. Анимации — плавные» и за это будете получать от 15000р. Но где эти товарищи (буржуи), которые готовы выкладывать такие деньги? Так ли легки эти первые деньги за веб.
🔹 Что я понял: веб — это свобода
Да, особо больших денег там нет. Да, я снизил уровень. Да, я теперь junior, а не senior. К тому же конкуренция огромная. Стоит зайти на сайт фрилансеров и увидеть там расценки, то становится понятным, что я не готов работать за эти «копейки».
И это несмотря на то, что я чувствую:
- Лёгкость
- Творчество
- Скорость
- Обратную связь
Я больше не ремонтирую проводки. Я создаю. Я вижу результат. Я улучшаю.
🔹 Так как же я уходил из 1С в веб
- Начинать с HTML/CSS/JS — без React.
Надо понять основы. Поймите DOM. Поймите асинхронность. - Не бросать 1С сразу — учится надо параллельно
По вечерам. По выходным. Благо у меня были целые дни свободны. - Сделать реальный проект — даже если он глупый.
Сайт про свою кошку. Про себя. Калькулятор налогов. Блог. - Выложить в интернет — пусть кто-то увидит и насыпет в шапку какашек.
- Не надо бояться быть новичком — все были. Вспомните хоте бы сайт mista.
- Изучить Git, npm, командную строку — это база.
- Найти сообщество — Telegram, Discord, форумы. На них будет гораздо легче, чем на mista.
- Смириться с нем, что будет плохо — первые 6 месяцев вы будете чувствовать себя глупо. Это нормально.
- Не сравнивать себя с другими — у всех свой путь.
- Ценить каждый прогресс — даже если это просто работающий>
- Хорошо бы знать английский язык — для меня это был камень преткновения, так как я в школе учил немецкий.
🔹 Философия: от платформы к творчеству
1С — это инструмент для бизнеса. Веб — это инструмент для людей.
В 1С я делал так, чтобы система не падала. В вебе я делаю так, чтобы пользователь улыбался.
В 1С я писал код, который никто не видел. В вебе — каждый клик, каждая анимация — на виду.
Я не ушёл из профессии. Я вернулся к её сути — создавать.
🔹 Диалог с бывшим коллегой, который вполне мог бы состояться…
— Сергей, ты где?
— Ушёл в веб.
— Серьёзно? Ты же был программистом 1С!
— Был.
— А сейчас?
— Пишу сайты.
— И нормально?
— Да. Я живой.
— А 1С?
— Оставил.
— Жалеешь?
— Нет. Я благодарен ей. Она научила меня думать.
— Но ты же всё потерял.
— Нет. Я всё обменял.
— На что?
— На возможность начать сначала.
🔹 Заключение
В итоге, через несколько месяцев, я вернулся. Вернулся в 1С. Устроился на новую работу и тружусь там до сих пор. Кто бы и что бы ни говорил, но я слишком много сил и времени отдал 1С, чтобы уходить куда-то в другие стеки. Как говорится, и только смерть разлучит нас.)))
P.S. Хотя: - «Никогда не говори «никогда»!»
Вступайте в нашу телеграмм-группу Инфостарт
