Показники
- Останній проект: 3 роки тому
- Співпраця з замовниками: 8
- Проєктів з участю арбітражу: 1
- Останній візит: 5 днів 18 годин тому
Резюме
За час своєї професійної діяльності я працював з безліччю технологій і проектів. Я добре розбираюся у фронтенд- та бекенд-розробці, створенні дизайну, UI/UX, оптимізації баз даних, налаштуванні серверів під Linux, аналізі недоліків дизайну з метою підвищення продажів та багато чому іншому. Я робив усе: від невеликих виправлень у макеті цільової сторінки до створення величезних гібридних систем із CRM для вирішення надзвичайно складної бізнес-логіки та роботи з сотнями тисяч унікальних відвідувачів щодня (на 1 VDS за 10 доларів). Якби я мав описати весь свій досвід, тексту для цього блоку було б забагато. Коротко кажучи, я працюю з усім, що мені подобається (не обов’язково для роботи), або з тим, що потрібно конкретному клієнту. Нещодавно я написав інструмент на Python для генерації відео з субтитрами у стилі Captions, а за допомогою Python + VapourSynth створив інструмент для підвищення роздільної здатності відео 480p (DVD-диски) з використанням різних моделей штучного інтелекту. Не було жодного завдання, яке б мені дав клієнт і яке я не зміг би виконати. На мою думку, це і є суть Full-Stack-розробника. В одну мить ви працюєте над UI/UX або дизайном, а в наступну — пишете веб-хук для підключення до платіжної системи, документацію до якої щойно прочитали.
Мої основні навички в порядку спадання:
- PHP: Yii2, Laravel, Yii
- JS: ES6+, jQuery, Angular, React
- Бази даних: MySQL, MariaDB, PostgreSQL, MsSQL, MongoDB
- Верстка: CSS3 (+flexbox, +LESS), Bootstap 3+
- Операційна система: я працюю виключно на Linux. Дистрибутиви: гілка Debian (наразі найновіша версія Kubuntu).
- Додаткові навички, не зазначені у списку: git, composer, bower, npm, svn, Flash (ActionScript 3 + Flex 4)
Теги
Навички та вміння
Програмування
- PHP 831 UAH за годину
- HTML та CSS верстання 831 UAH за годину
- Javascript та Typescript 831 UAH за годину
- Бази даних та SQL 831 UAH за годину
- Веб-програмування 831 UAH за годину
- Парсинг даних 877 UAH за годину
Послуги
- Інтеграція платіжних систем 831 UAH за годину
- Інтернет-магазини та електронна комерція 831 UAH за годину
- Обробка даних 831 UAH за годину
- Створення сайту під ключ 831 UAH за годину
- Супровід сайтів 831 UAH за годину
Адміністрування
- Linux та Unix 831 UAH за годину
- Налаштування ПЗ та серверів 831 UAH за годину
Роботи портфоліо
Відгуки замовників
Надіслати листи з панелі адміністраторів
#️⃣ Вступление
Задача была “тестовой”, чтобы просто познакомиться с исполнителем перед началом объёмного сотрудничества.
Перед утверждением условий:
- Предоставил Борису полное ТЗ
- Доступ в Репозиторий проекта
Разработчик сказал, что код в целом хороший и чистый, рассказал о требованиях к больших проектам(все задачи только ему, чтобы другие не писали “г*-код”; если код грязный — ставка больше).
Борис самостоятельно назначил стоимость задачи и срок, как он написал, с запасом. Утвердили.
Проблемы:
1️⃣ Ближе к концу проекта Борис стал требовать доплату, поскольку “потратил больше времени, чем планировал”.
Обозначу, в вопросах доплаты всегда готов идти на встречу:
- часто вношу бонус, если исполнитель действительно добавил новых улучшений(пример: соседний проект с Александром)
- задача оказалась сложнее и исполнитель её недооценил
- все дополнительные задачи идут отдельными проектами за отдельную плату, что можно увидеть по отзывам
Но в данном случае — с выставленными требованиями не согласен по следующим причинам:
1. Борис буквально отписывал почти каждый свой шаг в проекте, а позже рассказывал о себе, его стиле работы. Возможно, это интересно, но рамках мелкой задачи — это излишне, и только тратит наше обоюдное время: наш диалог с 1-ой малой задачей, больше чем диалог с постоянными исполнителями, где 4-5 средних-больших.
Полагаю, что на “монолог” было потрачено больше времени, чем на разработку.
2. Стал конфигурировать и копаться в тех частях приложения, с которыми не связана задача, на что я вежливо указывал.
3. Борис сообщал, что были “Требования вне ТЗ и он ещё реализовал улучшения”.
При уточнение было названо: “Не было инструкции по 2FA, пришлось её изучать и обходить; Не было аккаунта ЮниСендер для теста; Пофикшен баг;”
Но указанное - никак не связано с дополнительными требованиями. ТЗ не изменял. Также:
1) "Улучшения". В ТЗ было указано: необходимо выводить отправленные письма администраторами, чтобы контролировать их содержимое.
В системе уже был лог отправленных писем через Почтовый сервис. Борис, с моим одобрением, просто туда стал записывать письма отправленные администратором, и выводить их содержимое.
Фактически это не улучшение, а упрощение работы самому Борису - ему не пришлось делать Read-функционал.
2) Инструкции были в README, комментариях к параметрам.
☑️ Чтобы упростить работу разработчикам — сделаем ещё несколько отдельных разделов в README для конфигурации.
3) Следовало было запросить тестовые данные у меня. а) В условиях проектах специально прописано — не стесняйтесь спрашивать; б) Обычно я самостоятельно такие тестовые данные кидаю, но на этот раз упустил.
☑️ Добавил в чек-лист перед стартом проекта — выдавать демо-данные, чтобы больше не упускать.
4) Благодарен за фиксацию бага. Но указанный баг тесно связан с серверным окружением Бориса, и даже не в той части приложения, с которой следовало вести работу. Обнаружен он был во временном решении. Фиксация - обычная проверка на существование, причём правкой была затёрта TODO: который помечал временное решение;
☑️ Добавим Docker в проект, чтобы все разрабатывали с одним ENV.
4. Все детали проекта были видны до сотрудничества. Борис сам установил оценку, срок и ещё заложил запас, как сам написал. Я даже уточнял в поддержке за правоту в этой ситуации.
2️⃣ Отношение к работе/качество кода
Борис часто говорит о качестве кода(см. раздел "Вступление", абзац №3). Но о своих ошибках пишет - "Это неважно, это мелочь". Считаю, что такой подход несправедливый.
А ошибки в любом случае нестрашны, и повод поучиться для всех, тем более мы подряжаем тестера для перестраховки.
Но раз на то пошло:
1. Был отключен HTML-Encode в GridView, выводятся RAW-данные без фильтрации(зачем?). Username вводится пользователем, поэтому может содержать код для XSS-атаки(+длинная строки): https://i.imgur.com/ueToBOV.png
2. Чтобы выводить данных о пользователях, используются костыли, вместо связей(relations) БД: https://i.imgur.com/cg1HyEM.png || https://i.imgur.com/wqbMM6P.png
3. Не описан revert миграций, хотя он возможен с помощью dropColumn: https://i.imgur.com/Fx7ywLK.png
4. Жёсткая привязка к ID отправителя к авторизованному пользователю в Сервисе, что делает его непереиспользуемым, если ID нужно указать самостоятельно: https://i.imgur.com/XYrZlU4.png
5. Не используется TypeHinting в GridView, что делает неудобным переименование свойств через "Refactor": https://i.imgur.com/0fj30su.png
6. Раздувание сущности Mail. Фактически ему было привязано 3 опицональных поля, которые есть только в сценарии пользователя администратором: https://i.imgur.com/azhhfpD.png
Вместо того, чтобы сделать отдельную сущность и присвоить ей связь. А если потребуются ещё дополнительное поля для ручной отправки?
3️⃣ Остальное
На простые уточняющие вопросы, касательно "улучшений и задач вне ТЗ", чтобы понять позицию - получил претензии.
1. "Долгая проверка, долгие ответы" - у меня есть свой перечень задач, я не могу реагировать 24/7 и ни от кого этого не требую. А также время потребовалось на уточнение вопросов касательно "задач вне ТЗ" и чтение всего потока сообщений.
2. "Понятно почему над проектом работают столько людей и не задерживаются" - в проекте 2 контирбютора, помимо меня. Один занят другой задачей, второй в зоне Б/Д и испытывает проблемы со связью.
1.8
Збирати дані на YouTube
5.0
Выводим самые продаваемые товары раздела в соответсвующий раздел
5.0
5.0
Перегенерувати sitemap на yii2
5.0
Розробка сайту на Yii2
5.0
HTML 5 игры
5.0
Зробити галерею
Коли я написав, що у мене є питання, як відображається мобільна версія, він відповів, що доправки вже за доп кіст, я уточнив скільки, дізнавшись вартість я відмовився, після цього виконавця звертається до арбітражу, звинувачуючи мене в тому, що я не згодний доплатити за доп роботу і що я постійно змінюю вимоги, приносить пряму промову -
"Замовник постійно змінює вимоги.Навіть коли все зроблено і відповідає ТЗ, хоче ще безкоштовних довідків і не погоджується на доплату.первинну ТЗ я перевиконаний кілька разів і витратив час у разів більше, ніж за підсумком буде оплачено"
3.3
Показники
Всього проєктів:
8
Середня оцінка:
-
4.1
Професіоналізм4.3
Якість4.4
Ціна4.4
Контактність4.7
ТерміниАктивність
|
Проєкт
|
Тип | Бюджет | Ставка | Термін | Додано |
|---|---|---|---|---|---|
| Не вказано |
11 699 UAH
|
7 днів | 20 бер | ||
| 13 349 UAH |
88 990 UAH
|
20 днів | 20 бер | ||
| Не вказано |
2225 UAH
|
1 день | 18 бер | ||
| Не вказано |
25 430 UAH
|
7 днів | 18 бер | ||
| 7629 UAH |
7629 UAH
|
2 дні | 18 бер | ||
| 1112 UAH |
2225 UAH
|
1 день | 18 бер | ||
| Не вказано |
2543 UAH
|
1 день | 17 бер | ||
| Не вказано |
20 344 UAH
|
14 днів | 16 бер | ||
| Не вказано |
22 248 UAH
|
7 днів | 16 бер | ||
| Не вказано |
2340 UAH
|
1 день | 16 бер |