История очередного долгостроя или как мы поднимали мета-поисковик вакансий Workius

(Не делайте, как мы!)

В закладки

Известно, что чужие ошибки принимаешь к размышлению, а пока свои шишки не набьешь, должных результатов не получишь. Замечательные котоламповые истории успеха, находящиеся в сети и на устах, которые ничего кроме самообмана не приносят, это давно пройденный этап. Наш проект Workius. Почему ничего не приносят, об этом в одной следующих статей.

Сегодняшняя небольшая зарисовка в нашем классическом варианте развития событий без капитала, работает весь жизненный реализм, где из известных высказываний или рекомендаций очень ярко работает только одна: Если нет веры и энтузиазма, лучше не заниматься, и, конечно, гнать в шею тех, кто не верит в успех.

Небольшая ремарка. Однажды я наткнулся на интересную статью ныне известного стартапщика, который прошел еще более тернистый путь, поехав во всемирно известную силиконовую долину, что в штате Калифорния, США, наивно полагая, что сейчас «как он там все сделает и как найдется инвестор и потом кто-нибудь выкупит все за огромные деньги». Слил там огромное количество времени и денег, в итоге вернулся ни с чем. Этот парень ныне владеет крупнейшим порталом по продаже билетов в кино (кому интересно – найдет). Проанализировав его историю я понял, что он должен быть пройти этот путь, чтобы полностью себя раскрыть и поменять свое воззрение. Это и дало плоды.

А теперь наша пока тривиальная история.

Сильно не бейте. Время беспощадно Волею судеб, нашей команде пришлось взять под контроль создание проекта, посвещенноо поиску вакансий. Прошел 1 год, когда программист, предложив движок, начал тестирование, сложилась система для быстрого сбора и разворачивания фидов. Как я упустил из вида, что система уже доживает свой срок, не понятно. Доверился.

В итоге пришлось срочно все дописывать систему, т.к. за это время пришли обновки для серверов, сменились уровни безопасности и прочая лабуда, которую мне радостно внезапно сообщил админ. Все проверяйте! Пока вы планируете и работаете с одной системой, она может взять и устареть! Как? Очень просто — кончилась поддержка, поменялась архитектура ядра, и все – либо дописывай и латай, либо все бросить и переписывать.

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

Крупные компании. Это лучше.

При работе с фидами с крупной компанией напрямую нужно заключать договор. Должно быть какое-нибудь юр.лицо. Повезло, что компании нормально реагируют на индивидуальное предпринимательство, и спокойно заключили договор. Обороты позволяют выделить квоты, чтобы скомпенсировать исходящий НДС с других платежей, поскольку у нас ИП по упрощенной схеме налогообложения, и из 18% схемы я выхожу. Так сложилось, что было принято решение расширять работу на СНГ, старт был дан на Украине, поэтому у нас еще есть украинская локализация, поэтому мы столкнулись с правилами заключения международных договоров.

Выяснилось, что не так это и страшно. Но чтобы не попадать на двойное налогообложение, пришлось заказать выписку. И тут привет: нужно чтобы прошло более 183 дней, т.е., считай, полгода, чтобы налоговая дала такую бумагу. (Уже заказал – пока не пришла). Здесь нам хватило своих знаний, и мы без особых трудностей начали работу.

От долгостроя к заплаткам

Любая хорошая работа стоит денег. Но денег не было. Поэтому приходилось выкручиваться и договариваться с кем-то по бартеру, с кем-то комбинируя какие-то работы. Это очень тяжело, ведь сроки растягиваются, нервы выматываются. (Чтобы работать в таком режиме, дома вас не должны все время дергать домашние.) Опять устраивать гонку за наискорейшим переписыванием движка невозможно.

Доработки будут всегда, это закон жизни любого проекта. Поэтому мы обновили верстку, проработали настройки объявлений в адсенсе и занялись оптимизацией. Доход начал стабилизироваться, и теперь можно спокойно заняться написанием технического задания, расписать структуру и начинать чертить новый интерфейс для администрирования. Но и наша дорога дала свои плоды. Вместе с админом разобрались с нагрузками и получившейся структурой, которая подверглась обновкам из-за нового построения виртуальной машины (пришлось делать переезд), а т.к. мы работаем напрямую с Хетцнеровскими серверами, выяснились интересные особенности.

Также столкнулись с редкими, но актуальными проблемами при нагруженной системе с большой БД (более 65 Гб), имеем свою статистику по ресурсам нашей железки, нашлись превосходные специалисты с огромным опытом, поэтому команда пополнилась талантливыми и ответственными людьми. Таков наш путь. Сейчас все делается рассудительно и по науке, и у каждого она своя. Конечно, самое главное — это плюс на расчетном счете после всех необходимых расходов. Не делайте как мы. Делайте выводы заранее.

Удачи на полях ;)

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Алексей Мартынов", "author_type": "self", "tags": [], "comments": 0, "likes": -3, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 41560, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 41560, "author_id": 77251, "diff_limit": 1000, "urls": {"diff":"\/comments\/41560\/get","add":"\/comments\/41560\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/41560"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

Комментариев нет 0 комм.

Популярные

По порядку

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления