No Image

Я программист меня не обманешь

СОДЕРЖАНИЕ
0 просмотров
10 марта 2020

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

Есть большие контейнеры для строительного мусора, есть маленькие, куда строительный выбрасывать запрещено.

Мимо проходит мужик на вид лет 60-ти (М):

[М] — Такс. строительный мусор выбрасываем, штраф заплатите.

[Я] — Всё нормально, вот сюда нельзя, сюда можно.

[М] — Сейчас номера Ваши сфотографирую.

[М] Достал кнопочный телефон с черно-белым экраном, сфоткал номера на расстоянии метра, и пошёл дальше.

Ведущий разработчик Kokoc.com

Rusbase и Kokoc Group продолжают разоблачать дилетантов в digital. На этот раз «под раздачу» попали программисты и разработчики, которые занимаются сайтом компании и его интеграцией со сторонними системами.

О том, как определить, что программист – непрофессионал, рассказывает Алексей Рузин, ведущий разработчик Kokoc.com (Kokoc Group).

Речь о программисте-универсале

Первое, что нужно понимать, сайт сайту рознь. Если сравнить сайтостроение со строительством, то существуют сайты «беседки» и «избушки», а есть «небоскребы» или крупные «торговые центры». Чем сложнее сайт, тем дороже может обойтись дилетант, который вполне может справиться с простыми задачами для небольших сайтов.

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

1. Минимальные требования

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

Если компания собирается разрабатывать сайта с «нуля», то программист должен знать:

  • один из распространенных языков: PHP/Python/Ruby/C#;
  • одну из СУБД: MySQL/PostrgreSQL/MSSQL/Oracle/MongoDB;
  • одну из распространенных систем управления сайтами (CMS): Bitrix, UMI, Drupal, ShoppingCart, WordPress;
  • обладать навыками администрирования Linux и web-серверов, например, одного из Nginx/Apache/IIS или иметь опыт размещения веб-серверов в Cloud-платформах AWS, Google Cloud, Azure.

Отсутствие этих навыков не говорит о том, что он дилетант. Он вам просто не подходит.

2. Заочное знакомство

Признаки слабого программиста можно выявить еще до собеседования по резюме, изучив портфолио. Если программист указал свои работы (сайты), то стоит открыть их в Google Chrome, зайти в раздел меню браузера «Дополнительные инструменты», выбрать пункт «Инструменты разработчика» и открыть вкладку «Console».

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

Отсутствие портфолио или отказ его продемонстрировать – верный признак неопытного разработчика.

3. Плавали, не знаем

Естественно, большое значение имеет практический опыт работы. Если на собеседовании в ответ на вопросы о прошлых разработках, кандидат «плавает» и не может объяснить собственные действия, стоит насторожиться.

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

Грамотный специалист сможет подробно рассказать о своих разработках и объяснит почему использовал конкретные технологии.

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

Читайте также:  Изменение предмета договора дополнительным соглашением

4. Птичий язык

Еще один важный момент – способность кандидата разговаривать на «человеческом» языке. Хороший специалист сможет объяснить свою работу простыми словами. Но если соискатель разговаривает исключительно терминами, ему будет сложно взаимодействовать с коллегами и владельцем компании.

Как проверить: попросите рассказать о какой-то ошибке, за которую ему «влетело» от руководства. Например, на сайте 2 недели не работала форма «обратной связи». Представьте, что это ваш сайт.

Уточните в чем была суть ошибки, как он о ней узнал, как нашел причину и устранил ошибку. Если соискатель будет рассказывать «заумными терминами» — попросите разъяснить. Если вы все еще не удовлетворены объяснением, сработаться с ним будет сложно.

5. «ОпенСорс»

Многие специалисты публикуют собственные разработки на сайте GitHub (или BitBucket). Если у программиста несколько публичных проектов и тем более их отметили или скопировали (fork) другие пользователи – это существенный плюс. Большое количество копирований говорит о высоком уровне профессионализма.

Программист уровня Dan Abramov будет искать крупную компанию, уровня Facebook (он сейчас там работает), однако если ваш кандидат имеет проекты с ненулевыми отметками и «зеленая область» тоже заполнена – отлично! Смело зовите его на собеседование.

Как проверить: попросить соискателя прислать ссылку на аккаунт в GitHub (BitBucket) и перечислить проекты, которыми он гордится. Обратить внимание на «возраст аккаунта», количество проектов и число копирований кода другими пользователями.

6. Старый багаж

Грамотный специалист должен следить за появлением новых инструментов и технологий. Одно дело, если программист вынужден работать с сайтом, написанном на устаревшем языке, другое – когда он использует слишком консервативный подход.

Современные средства позволяют существенно сократить время разработки. К слову, гнаться за новыми технологиями и необоснованно внедрять все новое – тоже плохо.

Как проверить: спросить, какие инструменты или технологии кандидат узнал за последние год-два и как они помогли ему в работе.

7. Цены с потолка

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

На простые задачи типа «замена цвета кнопки» или «создание карты сайта» стоит ожидать быстрые ответы – «дело 5 минут» или «справлюсь за 2 часа» соответственно.

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

Как проверить: спросить у кандидата, сколько времени ему понадобится, чтобы заменить цвет кнопки «Купить» в интернет-магазине и сделать карту сайта (site map).

8. Ручная работа

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

Если программист не умеет оптимизировать собственную работу, он потратит много времени и денег работодателя на однотипные задачи.

Как проверить: уточнить, как программист подходит к созданию кода, попросить привести пример. Хорошо если изначально он ищет готовое решение, а при его отсутствии, пишет код самостоятельно. Можно, к примеру, спросить у программиста, как он разработает календарь, который может понадобиться в форме заказа для выбора даты доставки. Хороший ответ – найти готовый компонент.

Читайте также:  Аренда земли в москве под строительство

9. Лишние близнецы

Дубли кода – верный признак неопытного программиста.

Возьмем для примера форму «обратной связи» на странице контактов, которую нужно разместить в каталоге и на карточках товаров. Если разработчик просто копирует часть кода и вставляет его на нужные страницы, профессионализм специалиста оставляет желать лучшего. Потому что когда понадобится вносить корректировки в форму обратной связи, в лучшем случае придется делать тройную работу, а в худшем – программист забудет изменить один из кодов.

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

Как проверить: спросить кандидата, дублирует ли он код. Не дилетант скажет «да, бывает», но объяснит это нерациональными расходами времени на избавление от дублей. Если ответ «нет», то программист врет, мало писал или перфекционист — любое из этих объяснений — плохой вариант.

10. Резать по живому

Внесение изменений на сайте, опубликованном в интернете – верный признак непрофессионализма. Если корректировки приведут к ошибкам, что случается часто, пользователи увидят их и вряд ли захотят вернуться на ресурс.

По-хорошему, программист должен делать копию сайта, тестировать изменения на ней и только после проверки изменений переносить их на основной ресурс.

Как проверить: спросить кандидата, как он обновлял сайт на предыдущем месте работы.

11. Доверяет, но не проверяет

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

Без проверки работоспособности сайта после изменений может возникнуть множество ошибок, которые обнаружат пользователи. Проблемы оттолкнут потенциальных клиентов, что негативно отразится на прибыли компании.

Важно, чтобы программист проверял не только работоспособность сайта, но и тестировал его на ошибки, которые могут совершать пользователи. Так, при разработке формы обратной связи нужно проверить не только ее корректную отправку, но и ответ сайта при ошибочном заполнении полей. Например, проверить, чтобы при случайном вводе номера телефона в поле «Email», пользователю выводилось указание ошибки.

Как проверить: если есть сомнения в программисте, протестировать сайт самостоятельно. Допустим, после интеграции сайта с платежными системами, попробовать оплатить заказ, например, через «Яндекс.Деньги». Все должно пройти гладко.

12. Улыбаемся и машем

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

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

Как проверить: попросить программиста рассказать, как он узнавал об ошибках на предыдущих проектах.

Привет, друзья. Мне в почтовый ящик постоянно бросают какие-то объявления. Среди них очень часто попадаются маленькие листочки с предложением вызвать домой компьютерного мастера, который избавит мой компьютер от всех проблем.

И вчера я решил проверить этого настойчивого мастера. Меня больше всего интересовала цена и реальность помощи.

Вот объявление, которое мне постоянно бросают в почтовый ящик:

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

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

Когда необходимый компьютер был найден, я проверил его на вирусы, удалил из автозагрузки всё лишнее. Ещё я удалил все браузеры, кроме родного от Виндовс.

Читайте также:  Обращение взыскания на вексель

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

Приехал молодой человек с ноутбуком.

– Что случилось? – Спросил он.

– В последнее время стал тормозить компьютер. – Ответил я. – Не знаю с чем связано. Мы только фильмы на нём смотрим и работаем с документами.

Компьютерный мастер сел и сразу перегрузил компьютер. При загрузке зашёл в "БИОС", ничего там не поменял. Просто заходил в каждое меню и выходил.

Когда компьютер загрузился он вставил флешку и стал устанавливать какие-то программы. Я стоял позади него и смотрел.

– А что вы делаете? – Спросил я.

– Я хочу поставить вам программы сканирования, чтобы проверить быстродействие и наличие вирусов.

Молодой человек поставил 9 программ. Потом запустил бесплатную проверку на вирусы от Касперского.

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

Каково же было моё удивление, когда я увидел, что программа нашла 8 вирусов.

– У вас есть вирусы. Вот посмотрите. Их нужно срочно удалить. А кто вам устанавливал Виндовс?

– Я не помню уже, это было давно. – Ответил я.

– Я бы порекомендовал вам обновить систему. У меня есть последняя версия семёрки. Могу вам её поставить. Но давайте сначала я проверю, если вам нужно обновление. – Предложил мастер.

Он вставил другую флешку, поставил ещё одну программу. Когда он её запустил, я увидел, что она просто показывает информацию о системе и драйверах.

– Вот посмотрите. У вас устарели драйверы и Виндовс старой версии. Нужно обязательно всё обновить, чтобы компьютер перестал тормозить.

– А сколько это будет стоить? – Спросил я.

– Удаление вирусов – 1 500 рублей. Обновление Виндовс – 2 000 рублей. Обновление драйверов – 1 000 рублей.

– Ого. А чего так дорого? Можно дешевле?

– У вас очень старая Виндовс и мне придётся обновлять всё вручную. Но перед этим обязательно нужно удалить все вирусы, иначе компьютер не будет работать быстрее. У вас есть рекламный флаер? Если да, то мы сделаем скидку 10%.

– А сколько это всё займёт по времени? Мне нужно уходить через 20 минут. – Спросил я.

Около 2-3 часов. Я могу прийти завтра, если сегодня у вас не получается. Но я бы порекомендовал всё сделать сегодня, потому что с таким количеством вирусов опасно использовать компьютер. – Продолжал компьютерный мастер нагло меня обманывать.

У меня внутри всё горело от негодования. Я не мог поверить, что вот так нагло можно обманывать. 4 500 рублей просить за "починку" работающего компьютера и удаление вирусов, которых до прихода мастера не было. Обновлять лицензионную Виндовс за деньги. Да ещё и драйвера приплёл.

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

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

Когда вы обращаетесь за помощью к компьютерному мастеру, обязательно просите заключить договор. Убедитесь, что услуги вам оказывает ИП или ООО.

Не связывайтесь с работающими на себя одиночками. Есть очень большая вероятность быть обманутыми.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Юридические советы
0 комментариев
No Image Юридические советы
0 комментариев
No Image Юридические советы
0 комментариев
No Image Юридические советы
0 комментариев
Adblock detector