Pull to refresh

Как я стал программистом и перестал им быть

Level of difficultyEasy
Reading time5 min
Views13K

Я давно в IT, настолько что верстал еще под IE6. Начинал ещё со школы: сервера Diablo II, боты mIRC, карты Warcraft III на JASS, код, форумы, общение и дикий, нескончаемый интерес. Без какого-либо понимания, что я делаю и куда меня это приведёт.

Я никогда не считал это чем-то серьёзным, но был уверен, что в случае чего смогу этим прокормиться — так по итогу и вышло. Хоть я и усердно убегал от «бездушных железок» (как же я заблуждался, что IT — это про железки). Даже успел закончить факультет психологии, параллельно поддерживая сайт кафедры на PHP+HTML, почему бы и нет — «ты же программист» надолго закрепилось за мной, мне было не сложно, даже приятно.

Забавно, но именно в ту веб-студию я устроился на пятом курсе, рассылая максимально несерьёзные резюме (осторожно: Twitter Bootstrap) — с одной-единственной целью: сделать всё, чтобы не найти работу, хе-хе. Потому что — ты же программист, выпускник психфака, с корочкой специалиста по связям с общественностью и дипломом о том, как работает невербальная коммуникация в интернете — я, если честно, вообще не представляю, как можно было найти работу.

Я зачитывался Хабром взахлёб, думая, что где-то существуют те самые разработчики, на чьих материалах я по крупицам учился в тоннете.

Ох, были времена, стомегабитная локалка на весь город, никакого внешнего интернета, а угроза «я тебя вычислю по IP» реально пугала, за сообщением «го коннект» стояла настоящая встреча на лагерном.

Я был уверен, что всё делаю не так, и вообще не настоящий программист — не то что эти боги. Каково же было моё удивление, когда мой кругозор и навыки позволили мне работать на уровне местных синьеров, хотя приходя особо не рассчитывая ни на что.

На собеседовании я честно заявил, что пришёл ненадолго — просто хочу понять, как работает бизнес, и открыть своё юзабилити-агентство

К тому моменту я уже засмотрел до дыр все ролики UsabilityLab, а идея eye-трекера будоражила мой тогда ещё неокрепший мозг.

Как вы уже поняли, я был очень наивен. Да и сейчас, наверное, тоже. Но это оказалось добродетелью. Мне кажется, я смог сохранить и развить её — сгладив углы опытом и возрастом, оставаясь наивным и верящим в людей человеком.

Надо ли говорить, что я там проработал 5+ лет. Я сильно вырос за это время — и вместе со мной выросла и сама веб-студия. Она трансформировалась из компании, делающей проекты за 10 тысяч рублей, в серьёзную фирму, разрабатывающую миллионные системы. К тому моменту меня уже сильно интересовало: а что вообще происходит с проектами после того, как мы отдаём их заказчику?

Однажды я попробовал составить резюме. Как и полагается крутому верстальщику-интегратору, я должен был собрать красивое портфолио. И правда было что показать: сложные лендинги с анимациями, проекты для стадионов с системой бронирования. Дизайн всегда был сильной стороной нашей студии.

Кстати, помните про юзабилити и «секретный секрет бизнеса», который я должен был украсть за годик-другой и стать миллионером? Барабанная дробь, 🥁 тр-р-р-р, этого не произошло. Ни через год, ни через пять.

А я не забыл. Иногда вспоминал в шутку. А потом — как-то уже не в шутку — я нашёл ответ. И он меня испугал до кончиков пальцев. Он лежал на поверхности, но был… некрасивый.

А бизнеса-то и нет

Или, точнее, он есть — но совсем не в том виде, как я его себе представлял, будучи программистом.

Вся эта куча людей работала по какой-то неведомой силе. Проекты горели. Иногда приходил наш крутой босс (здесь я бы вставил ссылку на его доклад, но не нашёл, так что просто оставлю великую цитату: «дизайнерское др*чиво») — разруливал конфликты, наказывал плохих и в целом держал всю эту штуку на плаву.

А я мечтал о системе. А потом пришло неминуемое осознание: система — это не обязательно что-то детерминированное.

Мир может просто как-то работать — и при этом работать.

Это пошатнуло мою программерскую реальность, заронив первое зерно сомнения:

А не фигню ли я делаю каждый день, создавая “идеальные” программы?

Но вся грусть составления портфолио быстро развеивала эти абстрактные мысли о всём сущем: вроде бы столько крутых проектов — а показать-то и нечего.
Тут сделали редизайн, там компания закрылась, где-то всё перевёрстали.
Это что же, мне и внучке нечего будет показать?
Вот, мол, смотри, какие сайты под IE6 верстал твой дед — 404.

Мне повезло: портфолио и не понадобилось

К нам пришла странная компания и заказала большой проект. Что она странная — я понял позже. Странная она была тем, что заплатила трём подрядчикам за одну и ту же разработку 🤯. Меня, как ведущего разработчика, конечно же, поставили на этот проект — а то мало ли что.

К нашему удивлению, мы его сделали — и сделали хорошо. Всё же слаженная команда, один офис и культура семьи, хоть и имеет свои тёмные стороны, здесь сыграли нам на руку. Нам предложили всем дружно пойти на ..., перейти в новую компанию, чтобы продолжать развивать этот проект — уже как продукт.

Конечно же я согласился. Это было ровно то, о чём мечтал: не отпускать проект в самый интересный момент, а погрузиться в продуктовую разработку с головой. Потоковой я уже был сыт по горло, уже все что можно было там делать плохо, я научился делать и плохо и иногда хорошо.

С эйфорией и мотивацией я ушёл в процессы: помогал внедрять скрам, OKR, дизайн-системы (Может быть я даже когда-нибудь возрожу проект, хе-хе). Мотивация была шкурной: я хотел писать классный код. Но понял, что кода недостаточно. Дизайнеры должны понимать, что делают. Бэкендеры — дружить и писать API. QA — не мешать релизам. В итоге мы делали по два релиза в день и показывали недосягаемый перформанс.

Но я поднял голову и осознал: а если бизнес не будет ставить классные задачи — какая разница во всех этих процессах? Интересно, а как я на это могу влиять?

Это все еще была та же компания, что выбросила деньги на разработку трех одинаковых систем, в моей голове это уложилось как стремление создать реально рабочий продукт (ибо хз что сделают эти аутсорсеры – что верно), но по компании ходили слухи, что ее создатель любитель теории ограничений, и всем советует прочитать книжку цель, в голове плотно отложилась мысль: я тут что-то не понимаю, компания и правда успешная, тут как-то причем теория ограничений, надо будет почитать, сделаю это завтра...🕸️

Тогда я ещё не понимал, к чему это в итоге приведёт. Я просто делал то, что считал нужным и полезным. Но с каждым разом я всё больше и больше ломался как разработчик.
Этот капкан стягивался всё сильнее — и в какой-то момент должен был стрельнуть.

Так и произошло

В один день, который вроде бы был такой же, как все другие, ко мне подошел один из коллег со своей "крутой"(нет) идеей, я с ходу понял что он вообще не прав и ничего не понимает, но у меня настолько было все хорошо, что в моей голове проскользнула шальная мысль:

А что если вернуться к нему, и начать спрашивать про его идею и реально попробовать в ней разобраться, и понять почему же он так сильно в нее верить, если я знаю что это фигня? Я же ничего не теряю, а так он хотя бы поймет что не прав?)

Отложив свое техническое эго подальше, к тому моменту это было уже не так и сложно сделать. Мы начали общаться. Я был искренне любопытен. Мы говорили полчаса, час. И вдруг… идея-то не такая уж и бредовая. Да, слова не те, да, нюансы. Но по сути — эту будет работать, и это не плохое решение.

Как так? Час назад — бред, сейчас — рабочее решение? Сколько раз ещё такое бывало? А я вообще профессионал? Хм, может так нужно делать всегда...

Капкан захлопнулся. Обратного пути не было. Мир стал другим

Список книг и траектория того, чем я зачитывался взахлёб, были предопределены ещё задолго: Голдратт, Канеман, Талеб, Фромм, Сазерленд — да чего там только не было.
Я читал примерно всё, до чего мог дотянуться и что хотя бы в отдалённой степени могло помочь.

Потому что всё, что я знал о разработке, вдруг в один день перестало быть тем, чем казалось.
Всё, что раньше я считал говнокодом — перестало им быть.
И наоборот — я начал замечать слишком много заблуждений в собственном мышлении.
И — как будто — в мышлении других людей тоже.

Забавно — прошло 13 лет, а я теперь знаю больше того, чего не знаю.
И как будто снова стал тем самым школьником, ковыряющим мапхак для Diablo II через AIDA64, пытаясь исправить баг в ASM, которого я вообще не знал — просто чтобы оно заработало на новой версии клиента.

Только теперь вместо кода — системы. Вместо багов — процессы. А из инструментов — лишь опыт, знание и дикое желание разобраться. Разобраться и сделать так, чтобы невыносимая лёгкость разработки стала не такой уж невыносимой.

Если вам показалось, что история закончилась на самом интересном месте — то да и нет. Эта история — просто жизнь, и она продолжается прямо сейчас.

Но у меня есть еще пара докладов:

  • 🎥 Про уроборос разработки и BIZ+DEV: ссылка

  • 🎥 Продолжение истории и CTO-рефлексия: ссылка

А на этом у меня пока все, такая история!

Tags:
Hubs:
+11
Comments20

Articles