Все началось с маленькой идеи написать компилятор на интерпретируемом языке программирования
Сентябрь 2014, начало 4 курса программной инженерии
Я решил изучить Python с помощью написания лабораторных работ по языкам программирования. Идея показалась интригующей, потому что в конце курса мы должны были реализовать компилятор простенькой версии языка С, а в моем случае выходил компилятор на интерпретаторе — забавно, подумал я, и принялся кодить лабы по ЯП на Python 3.4.
Февраль — Март 2015
Мой преподаватель по ЯП, одновременно уже 4-ый год как тренер по олимпиадному программированию, а, значит, хорошо знающий меня человек, вдруг предлагает поработать на одну забугровую компанию X, потому что из студентов-бакалавров нашего вуза только я один (по ее памяти) пишу на Python, а X как раз ищет разработчиков на Python из нашего вуза для своего стартапа в области e-commerce. Отлично, решил я, значит будут нормально платить, и набрал команду из 5 человек включая меня. Все вместе мы стали с нетерпением ждать собеседования.
Апрель 2015
Нам сказали, что тщательно и подробно продумана вся логика проекта, уже даже дизайн есть, нужно лишь написать код, поставить, так сказать, проект на рельсы (нет, нет! мы сразу же подумали про Django). Не глубоко оценивающим и неопытным взглядом мы прикинули, что проекту делаться месяцев пять, хотя там были элементы социальной сети, e-commerce аггрегатора, и еще одна изюминка, которая превращала этот проект во вкусный пирожок — возможность конструировать магазины из товаров аггрегатора и делиться ими в социальной сети. Сложно? У меня не было опыта сказать легко это или сложно, долго это или быстро, но, по чистой случайности, в головах всех 5-ых ребят был срок 5 месяцев, что устраивало наших будущих коллег из X, так как сентябрь — начало бизнес сезона.
Логика проекта продумана, дизайн есть, нам надо только закодить и получить опыт, подумали мы, да у них же еще и стартап, да ведь мы же из сибирской глуши — Барнаула — короче, мы с трепетом согласились работать за 20 к в месяц, ожидая большую премию за выход альфа версии и, конечно же повышения з/п после сентября.
Нам были буквально поставлены следующие цели: «короткий срок, качественный продукт, дешевая оплата», — и это все из уст русско-говорящего консультанта и личного представителя директора компании Х.
Май 2015
5 студентов разработчиков без опыта, у которых на носу защита бакалаврской работы, взялись читать документации, учиться новым инструментам и принципам разработки, вникать в Agile, и писать код. После нелегких двух месяцев работы (Django, Amazon EC2, PostgreSQL, Mailchimp, Apache2, Jinja2, SCSS, JS, Bootstrap, jQuery) была, наконец, представлена веб-визитка, которая умела принимать заявки на тестирование альфа версии основного продукта. Это было большим достижением для нас, и нам всего-то оставалось сделать невозможное до сентября — всю функциональность продукта.
Июнь 2015
… тем временем у нас подготовка и защита бакалаврских работ…
Июль — Август 2015
«Вы уверены, что вы продумали логику?», — спрашивали мы у коллег из Х. Тогда где будет кнопка «Забыл пароль»? А вы серьезно думаете, что много попапов — это хорошая идея? Может быть, процесс ввода платежной информации вынесем из одного попапа в визард? А вы вообще думали, что произойдет с юзером, который попытается сделать регистрацию, используя аккаунт google plus с почтой Y, а в системе уже будет юзер с неподтвержденной почтой Y? Почти каждый вопрос логики методично просеивался через нас и мы тратили кучу времени для нелегкой борьбы с юзабилити.
«Почему файлы от дизайнера в размере A4 — это же невозможно верстать „по линейке“?», — спрашивали мы у коллег из Х. Почему мы получаем все время разные оттенки одного и того же элемента UI? Евпатий, да это же интерфейс как Windows 98… А где дизайн для мобильных устройств и планшетов ведь уже осталось две недели до презентации продукта? А почему почти все файлы *.ai (Adobe Illustrator) не содержат исходных картинок? Похоже, наш прекрасный и сил не жалеющий дизайнер просто не умеет компоновать *.ai файлы.
Сентябрь 2015
«Не, ну серьезно, продумайте логику с пригласительными билетиками на наш сайт на время альфы, у вас же есть UI/UX человек?», — настоятельно рекомендовали мы нашим коллегам из X. «Этот человек не UI/UX, он просто имеет такую должность, на самом деле он другим занимается, но логику продумываю я», — отвечал нам директор компании X.
Презентация проекта как-то прошла, мы урезали много фич, но то, что было — составляло основную идею и раскрывало огромный потенциал продукта во всей его красе.
Октябрь 2015
В тесном кругу программистов мы обговаривали нашу з/п на основании данных о з/п сотрудников примерных должностей в других компаниях. В итоге сошлись на 70-90 к для каждого из нас.
В процессе ожидания новой з/п мы аккуратно подняли непрерывную интеграцию и написали юнит тесты, пока наш директор презентовал проект и собирал столь уважаемых инвесторов по всему миру.
После долгих, мнительных обсуждений нам было предложено 30 к в месяц до лета 2016 года, хотя наши запросы были в три раза больше и мы действительно этого заслужили. Наверное, многих смущает такой большой скачок в з/п, но и мы сделали невозможное — в совершенно неопытной команде собрали в один проект Django, Nginx, RabbitMQ, Celery, Elastic Search, PostgreSQL, Amazon Web Services, Jenkins, Selenium+Firefox, Karma+PhantomJS и еще кучу клиентских штук, и заставили это все выполнять конкретные бизнес требования.
Я, как тимлид, который проговорил вслух за всех пятерых программистов такую сумму был уволен первым. Впоследствии за мной последовали и остальные ребята.
Автор: nikialeksey