Ловите наблюдение.
Начали мы разработку Microboard 3 года назад. Цель стояла амбициозная — создать полноценный инструмент для онлайн-досок. Для тех, кто не шарит: мы делаем рисовалку на стероидах — текст, фигуры, коннекторы и бесконечный холст. И всё это должно летать в браузере (который раз повторяю: отличная идея для стартапа).
Так вот. Текст, фигуры и коннекторы — это три кита, на которых стоит доска, без них работать не получится.
С большинством компонентов мы прогрессировали норм. Код становился чище, перформанс рос. Запилить простой интерфейс уже не вызывало паники, а было обычной таской на полдня. Работалось в кайф, результат радовал.
Но вот этот чертов текст...
Кто придумал перенос слов внутри строки, тот явно хотел посмотреть на мои страдания. У меня с этим не складывалось от слова совсем. Месяц сидел над тем, чтобы написать правильный алгоритм: то с тимлидом думали, то сам пытался въехать. А прогресса нет. И это бесило. Пишешь функцию, тестируешь, видишь, что текст съехал, психуешь, снова пишешь, ругаешься — и так по кругу, день за днем.
И вот мы наняли в команду нового разработчика (про это Глеб писал тут). И вот что обидно: хоть и джун, а прогрессировал как ракета. У меня текст нормально не центрировался, а он уже и подчеркивание запилил, и перенос слов, и какие-то хитрые оптимизации с кэшированием измерений текста мутил.
Через неделю смотрел на рабочую версию и делал код ревью. Я чуть не заплакал (конечно, от красоты кода, а не от резко появившегося синдрома самозванца).
Из всего этого я вынес два урока:
Каждому что-то дается легче, что-то сложнее. Я вот интерфейсы клепаю на раз-два, а эти трансформации и матрицы — оставьте себе.
Я знаю, что однажды мы запустимся и наберем миллион юзеров. С каждым коммитом становится чуть легче. Но вот эта ежедневная рутина, когда ты встаешь и снова садишься кодить, даже если вчера ничего не получалось — вот это реально самое сложное.
И если кто не понял, пост вообще не о коде...
Начали мы разработку Microboard 3 года назад. Цель стояла амбициозная — создать полноценный инструмент для онлайн-досок. Для тех, кто не шарит: мы делаем рисовалку на стероидах — текст, фигуры, коннекторы и бесконечный холст. И всё это должно летать в браузере (который раз повторяю: отличная идея для стартапа).
Так вот. Текст, фигуры и коннекторы — это три кита, на которых стоит доска, без них работать не получится.
С большинством компонентов мы прогрессировали норм. Код становился чище, перформанс рос. Запилить простой интерфейс уже не вызывало паники, а было обычной таской на полдня. Работалось в кайф, результат радовал.
Но вот этот чертов текст...
Кто придумал перенос слов внутри строки, тот явно хотел посмотреть на мои страдания. У меня с этим не складывалось от слова совсем. Месяц сидел над тем, чтобы написать правильный алгоритм: то с тимлидом думали, то сам пытался въехать. А прогресса нет. И это бесило. Пишешь функцию, тестируешь, видишь, что текст съехал, психуешь, снова пишешь, ругаешься — и так по кругу, день за днем.
И вот мы наняли в команду нового разработчика (про это Глеб писал тут). И вот что обидно: хоть и джун, а прогрессировал как ракета. У меня текст нормально не центрировался, а он уже и подчеркивание запилил, и перенос слов, и какие-то хитрые оптимизации с кэшированием измерений текста мутил.
Через неделю смотрел на рабочую версию и делал код ревью. Я чуть не заплакал (конечно, от красоты кода, а не от резко появившегося синдрома самозванца).
Из всего этого я вынес два урока:
1. Сравнивать себя с другими — путь в никуда.
Каждому что-то дается легче, что-то сложнее. Я вот интерфейсы клепаю на раз-два, а эти трансформации и матрицы — оставьте себе.
2. Если что-то не выходит, это не знак сдаться. Это знак, что тебе нужно больше времени и усилий, чем другим. Жизнь несправедлива, ну и что теперь?
Я знаю, что однажды мы запустимся и наберем миллион юзеров. С каждым коммитом становится чуть легче. Но вот эта ежедневная рутина, когда ты встаешь и снова садишься кодить, даже если вчера ничего не получалось — вот это реально самое сложное.
И если кто не понял, пост вообще не о коде...