Ответ Vanek239 в «Я написал свою книгу по программированию»
Подержите мое пиво.
Итак, есть програмка. Хочется сделать ее более красивой.
Код как в изначальном примере, я тут только добавил реакцию на попытку открытия двери.
Файл Program.cs
Поехали.
Выделяем интерфейс для внешнего ввода IInput. Реализация внешнего ввода через консоль.
Файл ConsoleInput.cs
2. Выделяем интерфейс для внешнего вывода IOutput. Реализация вывода также через консоль.
Файл ConsoleOutput.cs
3. Выделяем класс "Door". Класс зависит от внешних ввода и вывода. Т.е. от интерфейсов IInput, IOutput. Внедрение зависимостей через конструктор.
По сравнению с оригиналом, логика здесь чуть-чуть была причесана.
Файл Door.cs
4. Делаем Program красивым. Program работает с IOutput и Door. Зависимости также задаются через конструктор.
В методе Main инициализируем все сущности, добавляем вызов метода Run у Program.
Измененный файл Program.cs
Итог.
"Ну и нафига все это надо?" - спросит читатель. - "Столько писанины лишней!".
Не спорю. Но дело в том что теперь:
1. Способы ввода и вывода можно менять, просто добавляя новые реализации (классы) для интерфейсов IInput и IOutput. Например, можно сделать чтение и вывод через файлы, просто создав соответствующие новые классы для этих интерфейсов и проинициализировав их в Program.cs
2. Функционал из IInput и IOutput можно использовать в других частях программы, если такие будут.
3. Наконец, можно покрыть основной код unit тестами.
Бонус.
Пример unit тестов (xUnit).
Используется Moq для подмены реализаций IInput и IOutput.
Классы Program и Door используются "настоящие" и именно их содержимое будет протестировано.
Начало файла ProgramTests.cs
Здесь изображен конструктор для тестов. Он автоматически создает Program с зависимостями перед запуском каждого теста.
Проверяем, что у нас будет на выходе IOutput, если на IInput будут определенные воздействия.
1. Тесты. Если возраст менее или равен 18.
Файл ProgramTests.cs. Часть 2
2. Тесты. Если возраст более 18.
Файл ProgramTests.cs. Часть 3
Прохождение тестов:
В принципе, здесь можно еще тестов понаписать. Например, непокрытым остался private метод EnterAge, у класса Door (обработка ошибок парсинга ввода).
Вот такой рефакторинг получился.
Исходники тут (надеюсь, что будут доступны): https://filetransfer.io/data-package/c9BtU9lp#link
Ответ на пост «Я написал свою книгу по программированию»
Если данный господин является инфоцыганом, то предлагаю на него кинуть жалобу в СК РФ сейчас их любят кошмарить!
Как подготовить машину к долгой поездке
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Архитектор данных в Полюс Digital, удаленка
Опыт работы: от 3 до 6 лет
Какой опыт ожидают:
Опыт создания безопасного кода, хорошее понимание вопросов ИТ безопасности;
Опыт интеграции с системами SAP и понимание структуры хранения в БД SAP HANA;
Преимуществом будет опыт работы с системами класса Process Mining;
Ведение разработки ETL-процессов для передачи структурированных и слабоструктурированных данных.
Больше вакансий по вашим предпочтениям ищите на сайте Пикабу Работа.
Ответ на пост «Я написал свою книгу по программированию»
Плохо, прям очень плохо. Надеюсь всё плюсы и положительные отзывы этому посту это по большей части аналог с али экспрессовским "товар получил, не открывал, ставлю 5 звёзд" и реакция на БЕСПЛАТНО. Даже просто открыв этот pdf можно увидеть на сколько автору было безразлично удобство чтения этого опуса. Микро формат страниц, который просто убивает форматирование кода, сразу бросается в глаза. Но в конце концов вёрстку можно исправить, если автору есть что добавить в довольно пропаханную тему базовых знаний по одному из достаточно старых ООП языков. Я как практикующий товарищ решил сразу посмотреть какой то более менее цельный и минимально содержательный фрагмент кода, так как разделяю мнение что хороший код является "само документируемым" и также может показать общий уровень книги. Первый такой фрагмент нашёлся на 119 странице и содержал очень плодотворную тему рефакторинга кода. Вообще, эта тема обсуждается начиная с банальных уроков программирования в школе, где вас просят хотя бы давать осмысленные имена переменным и проходит через весь опыт практического программирования, где является одним из ключевых элементов борьбы со сложностью. Самое сложное тут суметь уместить в маленьком примере какую то идею, чтобы читатель смог её увидеть, а не просто "поверить автору". И даже в сравнительно больших фрагментах программ с подробным разбором на протяжении всей книги (например "Чистый Код" Роберта Мартина) бывает сложно это реализовать и люди приходя на проект в 1 миллион строк сталкиваются с тем, что рефакторинг в рафинированных примерах и реальном проекте может значительно отличаться по сложности реализации. Это я увлёкся лирикой, перейдём к коду, у нас есть некоторый метод TryOpenDoor со следующей сигнатурой:
private static bool TryOpenDoor(); (посмотреть реализацию можно на странице 119)
и после ряда "улучшений" и вынесения методов получается следующий код:
Давай посмотрим что с ним не так? Пункты будут идти по моему субъективному убыванию критичности.
1) Это другое поведение ! Это прям вообще не нормальная вещь. И дело не в том что мы переименовали метод, это как раз допустимо. Мы изменили сигнатуру метода, ранее он возвращал булевское значение (правда\ложь) , теперь он ничего не возвращает. В случае реального рефакторинга IDE нам бы подсказала и такой проект просто не собрался бы. Почему так получилось ? Потому что по факту начальный код и конечный выполняет немного разные вещи, и оригинальный метод является частью InteractWithDoor() и он естественным образом разваливается на 2 метода, которые и хочется объединить под новым более общим методом.
2) Смешение уровней абстракции. Это может показаться не критичным на таком маленьком примере, но в реальности это огромная проблема и очень важно на начальном этапе дать правильное понимание базовых вещей в архитектуре кода. Так как когда вы перейдёте от 20 строчных примеров к проектам с 20 000 классов вы сможете намного ухудшить качество своего кода, но не улучшить его. У нас есть метод запроса\чтения возраста из консоли, если кто не знает это ReadInt, и первый вывод консоли логически относится к этому методу, тем более в нём уже есть интерактивность с пользователем. На том уровне где мы оперируем методом ReadInt aka GetAge как правильно не должно быть вывода в консоль, если он есть внутри ReadInt.
3) ReadInt() - это вызывает вопросы. Для начала сообщу что почти любая IDE выведет тип возвращаемого значения просто при наведение на метод. В старом коде на си, например, можно встретить обозначение типов в приватных переменных класса, но даже в таком случае оно дополняет название, а не заменяет его. Если бы метод хотя бы назывался GetAgeInt я бы не стал придираться, в конце концов есть принятые в командах стандарты и практики ,а также вкусовщина. Можно возразить "но этот же метод действительно просто получает Int32 из консоли", и с этим можно было бы согласиться, если бы это был какой то публичный метод для consol-и, но даже в таком случае ключевым тут было бы что это значение из консоли. То есть выглядеть должно было, либо так ConsoleEx.GetInt32(), либо GetInt32FromConsole(). Приватный метод, особенно с таким маленьким скоупом, должен иметь очень специфичное функции имя.
4) В книге автор заявляет что он добился успеха выделив "чистое правило" открытия двери в TryOpenDoor() , кстати это было названием оригинального метода. Но давайте посмотрим на этот метод, что в этой строке "age >= 18" есть о двери ??? У меня нейминг вызывает вопросы
И большая часть того что написано это не просто "придирки"? а реально очень критичные вещи. Не хочу сказать что сам могу написать идеальный код с точки зрения доступности для понимания и структуры, иногда, особенно в реальных проектах приходится идти на какой то трейд офф, бывает реально сложно подобрать нейминг и так хочется сделать метод с несколькими ответственностями или у классов появляется какое то неявное состояние и потом с ним реально очень сложно бороться. Но , во-первых, я не пишу книг, т.к. являюсь заурядным программистом, и на мой взгляд их должны писать те, кому действительно есть что сказать поверх формальной документации. Во-вторых, проблемы начинаются в действительно комплексных проектах, где есть причины для появления говнокогда. В третьих, для такого маленького учебного проекта тут слишком много косяков. Если бы я писал книгу то к любой строчки кода относился бы как минимум, как к коду, который я отправляю на код ревью, а в реальности бы это был код, который кто то уже заревьювил и заупрувил.
Многие в комментариях гонятся за какими то "актуальными знаниями", которые толи должны быть в книге, толи не могут быть в ней т.к. она устаревает. Но в реальности я легко могу сказать тимлиду, что не знаю что то требуемое из нового реквайремента или таски и мне нужно время на изучение документации\кода. Но я плохо себе представляю как бы я смог объяснить такое качество кода, при том что в нём самый базовый функционал, который будет работать и на версиях языка десятилетней давности, такой код плох даже для intern позиции.
Как мог бы выглядеть этот код с моей точки зрения. Если мы хотим реализовать InteractWithDoor, то исходный метод, конечно, недостаточен и он разбивается на 2 составляющие, получение возраста и его валидация, но далее нам требуется открытие\отказ в открытие двери, что в коде автора реализовано через сообщение "Дверь не для тебя!" с очередным нарушением уровня абстракции.
Пара комментариев по коду.
1) Конечно, метод EnableRussianSymbolsForConsole не относится к InteractWithDoor, но когда книжный пример при копирование в IDE на некоторых системах будет выдавать тебе вопросы вместо текста это не очень хорошо. И для примера добавить такой вызов допустимо, но лично я бы предпочёл просто использовать английский во всех запросах.
2) Длинный нейминг методов допустим и даже хорош для само документирования кода, в случае если это внутренние методы с малым скоупом видимости (в данном случае все методы кроме InteractWithDoor являются приватными).
3) Может показаться что методы ShowNotAllowedMessage и OpenDoor немного избыточны т.к. у них однострочная реализация, но лично моя практика показывает что такая разбивка оправдана.
4) Код получился длиннее и это нормально, особенно когда речь идёт про рефакторинг таких маленьких фрагментов. Главный показатель качества кода не его количество, а его читаемость и простота модификации. При рефакторинге больших объёмов кода часто бывает и обратный эффект из-за устранение дублирования и избыточной логики, вызванной кривой архитектурой.
Хороший код на верхнем уровне читается почти как осмысленный текст без матана и всяких сложных условий.
Взять возраст из консоли и используя его попробовать открыть дверь
Что же такое попробовать открыть дверь?
Если открытие двери разрешено для данного возраста, то открыть дверь, иначе показать сообщение, что открытие запрещено.
не идеально, согласен, но я на многое и не претендую, а теперь попробуйте прочитать оригинальную программу автора.
P.S. Если взглянуть на обе версии, может показаться что разница небольшая, но это проблема масштаба, все эти вещи становятся очень критичны когда кодовая база растёт вместе с числом разработчиков работающей над ней. И , конечно, у меня нет тех талантов, чтобы суметь это показать в таком маленьком фрагменте кода, в том числе и поэтому у меня никогда не было желания писать какие-либо материалы по программированию.
Я написал свою книгу по программированию
Меня мало кто помнит но старички надеюсь пустят ностальгическую слезу. 8 лет назад здесь я кинул абсолютно безумный клич: "Буду обучать бесплатно любого желающего программированию". Я думал соберу человек 10 и в качестве хобби помогу людям. :))
Шут там, собралось почти 2000 человек и я провёл месяц без сна так, как проверял всем домашки и постоянно вёл лекции. И самое весёлое что это правда было просто хобби и я не взял ни рубля с людей а также не продавал никаких курсов. Странно это слышать в эру прогревов и теневых продаж, не правда ли?
Через 2 года после этих занятий я сел писать книгу по программированию на языке C# и благодаря участникам тех занятий мы собрали 85 000 рублей на написание на краудфандинге. Спустя 6 лет с того момента я закончил.
Книга научит вас языку программирования C# с самых основ через практику. Мы начнём с вами с переменных и закончим инкапсуляций техник динамического программирования в объектно-ориентированном дизайне (чтобы это не значило).
В книге получилось почти 400 страниц и вы можете забрать бесплатно PDF здесь - https://t.me/sakutin_csharp/2274
Спасибо Пикабу за всё!
ТОП-12 фриланс бирж для программистов
Если вы в поиске дополнительных источников заработка или хотите полностью уйти с найма, то найти клиентов вам поможет фриланс-биржа для программистов. Также данные платформы будут полезны, если вам необходимы услуги специалистов — тестировщиков, аналитиков, разработчиков и других.
Я рассмотрела множество предложений и совместно с командой Kursfinder отобрала лучшие фриланс биржи для программистов, чтобы вы не тратили свое время на поиски подходящей платформы.
ТОП-7 лучших бирж для программистов в 2024 году
Лучшие биржи для программистов
1. Профи
Это платформа для системных администраторов, тестировщиков и аналитиков. В базе Profi.ru более 10 миллионов клиентов и 2,3 миллиона исполнителей. На сайте публикуются различные задания, такие как создание сайтов на WordPress, внедрение 1С, доработка сайтов на Bitrix и разработка мобильных приложений. Чтобы откликнуться на заказ, необходимо заплатить определенную сумму, которая зависит от категории услуги. Однако, если заказчик не просмотрел ваш отклик, деньги за него возвращаются на баланс. Комиссия варьируется от 0 до 400 рублей за заявку. Способ оплаты обсуждается с заказчиком.
Стоимость: от 500 рублей
Бесплатная версия: нет
Пробный период: нет
Способ оплаты: банковские карты, СБП, SberPay, наличные через терминалы оплаты, салоны связи или банкоматы Сбербанка
Пользовательский рейтинг: 4,9
Возможности:
Поиск заказчиков из разных сфер деятельности.
Размещение анкеты или объявление о поиске работы.
Связь с потенциальными клиентами и обсуждение условий сотрудничества.
Получение отзывов от клиентов после выполнения работы.
Возможность блокировки пользователей при нарушении правил сервиса.
Техническая поддержка.
Опция бесплатного подбора специалистов позволяет указать самые общие требования и в течение 15 минут получить звонок администратора для уточнения заказа и требований к работнику.
Преимущества:
большой выбор потенциальных клиентов;
установление собственной стоимости услуг и диапазона цен;
нет комиссии от стоимости заказов;
наличие абонементов.
Недостатки:
в некоторых случаях сервис не возвращает деньги за отклик.
2. Weblancer
На этой площадке заказчики также могут найти удаленных специалистов из большого количества областей — от разработки программного обеспечения и веб-дизайна до торговых, бухгалтерских и юридических услуг. Фрилансеры, в свою очередь, имеют возможность работать над интересными проектами, оставляя заявки к интересующим объявлениям. Количество пользователей — более миллиона. Такое большое число исполнителей и заказчиков говорит о популярности площадки и повышает шансы найти взаимовыгодное сотрудничество. Система рейтинга позволяет оценить профессионализм специалистов, изучив их портфолио, трудовой опыт и рекомендации.
Стоимость: от 1000 рублей
Бесплатная версия: да
Пробный период: нет
Способ оплаты: WebMoney, Яндекс.Деньги, банковская карта, Qiwi, PayPal.
Пользовательский рейтинг: 4,7
Возможности:
Регистрация возможна через социальные сети или через электронную почту.
Заказчик может выбрать один из трех типов заказов: проект, конкурс или вакансия.
Исполнители могут размещать свои работы на странице «Конкурсы» и ждать одобрения заказчика.
На сайте есть функция создания отчетов и реферальная программа для привлечения новых исполнителей и заказчиков.
Сайт принимает рубли, доллары США и гривны, а также работает на русском, английском и украинском языках.
Система отзывов и рейтингов.
Форум, на котором всегда можно найти поддержку более опытных коллег
Преимущества:
безопасная сделка;
качественная техподдержка пользователей;
маленькая комиссия — 5%.
Недостатки:
ограничения некоторых платежных систем.
3. Пчел.нет
Pchel.net — это платформа фриланса, позволяющая найти удаленную работу из любого уголка страны. Заказчики размещают на сайте тысячи вакансий и проектов. На сервисе представлено множество направлений: создание сайтов и их продвижение, маркетинг, копирайтинг, работа с анимацией, консалтинговые услуги, аутсорсинг и т. п. Функциональность платформы позволяет оставлять в закладках интересующие вакансии, переписываться с потенциальными работодателями. Действует рейтинговая система, позволяющая поднять предложение в ТОП и получить специальный тип аккаунта. На сайте зарегистрировано свыше 40 тысяч пользователей и размещено более 60 тысяч проектов. Оплата выполненной работы осуществляется в рамках самой платформы. И у заказчиков, и у исполнителей в системе открыт счет, который первые пополняют, чтобы перечислить деньги за выполненную задачу. На сайте есть опция «Инкубатор». Можно зарегистрироваться в проекте и помогать в работе профессионалам. Это позволит набраться опыта и пополнить портфолио.
Стоимость: от 5 долларов
Бесплатная версия: есть
Пробный период: нет
Способ оплаты: VISA, MasterCard, безналичные переводы через InterKassa и интернет-банк «Приват24», электронные кошельки Яндекс.Деньги и WebMoney
Пользовательский рейтинг: 4,5
Возможности:
Инструменты для контроля времени выполнения задач и другие бесплатные сервисы.
Есть система отзывов и рейтингов.
Возможность выбрать фрилансера по специализации.
Преимущества:
низкая комиссия — 4%;
большая база актуальных объявлений;
бесплатное использование основного функционала (поиск, связь, обсуждение задач);
удобный поиск по категориям и задачам;
инкубатор для новичков с возможностью присоединиться к опытным специалистам.
Недостатки:
в бесплатной версии есть лимит на количество откликов.
4. 1CLancer
1Clancer.ru — это фриланс-биржа для разработчика. Специалисты из стран СНГ могут найти заказы и побороться за возможность их выполнить, предложив лучшую цену за свои услуги. На сайте доступны задания разного типа: доработка конфигурации, обучение, создание нового функционала, настройка, исправление ошибок и пр. Итоговую стоимость может указать заказчик или исполнитель (в целом или за час работы). Клиент в свободной форме описывает, что именно нужно сделать, и подтверждает заявку по электронной почте.
Стоимость: от 1000 рублей
Бесплатная версия: есть
Пробный период: есть
Способ оплаты: банковская карта, Яндекс.Деньги, WebMoney
Пользовательский рейтинг: 4,7
Возможности:
На форуме можно обменяться опытом с коллегами или задать им вопрос.
В продаже имеются готовые технические решения, которые подходят для разных сфер бухгалтерского учета.
Настроена система рейтингов и отзывов.
Возможность собрать и хранить портфолио.
Возможность подать рекламу своих услуг внутри биржи, купить PRO-аккаунт или премиум-значок, который будет выделять исполнителя на фоне остальных.
Преимущества:
проведение занятий для начинающих программистов;
много заказов для специалистов любого уровня;
безопасная сделка;
качественная техническая поддержка.
Недостатки:
периодически возникают технические ошибки.
5. Хабр Фриланс
Сайт freelance.habr.com — это онлайн-площадка для фрилансеров и заказчиков, созданная на базе известного сайта Habr.com. Сервис был запущен в 2012 году и предназначен для поиска работы и исполнителей в различных областях, таких как IT, дизайн, маркетинг и другие. Из плюсов стоит отметить большое сообщество специалистов, с которыми можно общаться и развивать навыки, а также бесплатную услугу безопасной сделки для работника.
Стоимость: от 700 рублей
Бесплатная версия: нет
Пробный период: нет
Способ оплаты: Яндекс Деньги, Qiwi, PayPal, WebMoney, Альфа-Клик, Золотая корона
Пользовательский рейтинг: 4,8
Возможности:
Фрилансеры могут создать свое портфолио и резюме, чтобы продемонстрировать свои навыки и опыт потенциальным заказчикам.
Заказчики могут размещать свои проекты и вакансии на сайте, а фрилансеры могут просматривать их и подавать заявки на подходящие проекты.
Система рейтингов и отзывов.
Возможность обсуждения проекта напрямую с заказчиком для уточнения деталей и требований.
На сайте есть форум с различными статьями и обсуждениями.
Можно добавить дополнительный профиль — фрилансера или заказчика.
Для клиента есть возможность разместить заказ бесплатно.
На сайте доступна обратная связь для пожеланий и конструктивной критики.
Преимущества:
безопасная сделка;
быстрые ответы службы поддержки;
удобный поиск заказов;
удобный интерфейс.
Недостатки:
высокая конкуренция;
платные отклики.
6. freten.ru
Это платформа для фрилансеров, где пользователи могут найти заказы в различных областях, таких как тексты, графика, разработка, SEO и программирование. На сайте также есть своя программа для проверки текстов на уникальность и сервис для размещения готовых статей на продажу. Также на Freten.ru можно общаться с заказчиками и обсуждать детали проектов. Новым пользователям предоставляется возможность выполнить тестовое задание из той сферы, где они планируют работать. Если пройти его успешно, то фрилансер попадает в «Белый лист» и обращений заказчиков станет больше. Ежедневно публикуются десятки заказов.
Стоимость: от 350 рублей
Бесплатная версия: есть
Пробный период: есть
Способ оплаты: банковская карта, Яндекс Деньги, Qiwi, WebMoney, безналичный расчет
Пользовательский рейтинг: 4,8
Возможности:
Разнообразие категорий услуг.
Рейтинг фрилансера, а также отзывы, оставленные другими пользователями, помогут в правильном выборе.
Оплата осуществляется напрямую, без посредников.
Преимущества:
отсутствие комиссий;
рассылка заказов на электронную почту и в мессенджер;
удобство регистрации и авторизации;
быстрая работа службы поддержки;
есть бесплатная версия и пробный период;
подходит для специалистов разного профиля;
доступно как для физических, так и для юридических лиц.
Недостатки:
платные отклики.
7. Fiverr
Это израильская онлайн-площадка для предоставления услуг фрилансеров, которая была основана в 2010 году. Клиенты размещают заказы, получают предложения от фрилансеров и выбирают подходящее. Сайт пользуется популярностью среди заказчиков и исполнителей. На площадке представлены услуги в разных сферах: графический дизайн, копирайтинг, программирование, SEO-продвижение, перевод и видеомонтаж.
Стоимость: от 5 долларов
Бесплатная версия: есть
Пробный период: нет
Способ оплаты: PayPal, Apple Pay, Google Pay, онлайн-банкинг (например, iDEAL, GiroPay), Sofortbanking (для пользователей из Австрии, Германии и Бельгии)
Пользовательский рейтинг: 4,7
Возможности:
Создание аккаунтов для продавцов и покупателей.
Регистрация и настройка профилей.
Создание предложений с описанием услуг, цен и сроков.
Использование ключевых слов для улучшения видимости в поиске.
Система отзывов и рейтингов.
Исполнитель и клиент могут общаться в конфиденциальном чате, личные данные и платежные реквизиты скрыты от посторонних глаз.
Трехуровневая иерархия исполнителей.
Перед сотрудничеством можно проанализировать информацию об исполнителе: рейтинг, отзывы, количество выполненных работ, количество продаж, описание профиля и ссылки на социальные сети.
Преимущества:
удобная платформа как для клиентов, так и для заказчиков;
подходит для новичков и профессионалов;
фрилансеры могут свободно выбирать проекты и устанавливать свои цены;
заморозка платежа и списание средств только после подтверждения выполненной работы.
Недостатки:
сайт доступен только на английском языке.
Еще 5 дополнительных бирж копирайтинга
Я также привела примеры дополнительных бирж заказов для программистов, чтобы вы точно нашли подходящий варианты и подробно ознакомились с ними.
work-zilla.com — это площадка для фрилансеров, где заказчики предлагают работу, а исполнители ее выполняют. На сайте можно найти работу в разных сферах, таких как копирайтинг, разработка, программирование, веб-дизайн и маркетинг. Чтобы использовать платформу, нужно зарегистрироваться в качестве исполнителя или заказчика. Для работников доступны 4 типа подписки: бесплатная, «Стандарт», «Профи» и «Премиум». Первый вариант позволяет просматривать доступные задания, но не дает возможности подавать заявки. Остальные типы подписки предоставляют доступ к большему количеству заданий и возможностям для успешного поиска работы. Для заказчиков сайт предлагает инструменты для создания вакансий и управления проектами. Они могут выбирать исполнителей, устанавливать сроки выполнения работ и контролировать процесс выполнения заданий. Это удобная платформа для фрилансеров, позволяющая находить заказы в разных сферах деятельности.
Профессионалы 4.0 — это онлайн-платформа, созданная для объединения талантливых специалистов и компаний, которые хотят реализовать проекты в гибких командах. Проект был запущен «Газпром нефть» совместно с АНО «Россия — страна возможностей». Платформа позволяет быстро находить и привлекать нужных специалистов, объединять их в команды, достигать поставленных целей и корректно завершать сотрудничество. Особенность Professionals 4.0 заключается в том, что она подходит для людей, предпочитающих работать по краткосрочным контрактам, удаленно или в проектном формате. Это делает площадку удобной для фрилансеров и тех, кто хочет совмещать основную занятость с проектной работой. На платформе зарегистрировано более 25 000 специалистов из различных областей, таких как IT, финансы, маркетинг и аналитика.
Skipp — это биржа заказов для программистов, которая помогает компаниям находить разработчиков для своих проектов. На площадке представлены опытные работники, продуктовые дизайнеры и аналитики. Сайт использует автоматизированные инструменты для подбора кандидатов, что упрощает процесс найма и сокращает время, затрачиваемое на поиск подходящих специалистов. Как это происходит: Skipp проводит HR-скрининг потенциального работника, оценивает soft skills и проводит интервью с тимлидом для проверки технических навыков исполнителей. Платформа также гарантирует качество предоставляемых услуг. В базе сейчас зарегистрировано более 5000 русскоязычных соискателей. В числе постоянных клиентов Skipp такие крупные компании, как Ozon, Skyeng, X5 Retail Group и другие.
Freelance.ru ранее известный как Free-lance.ru) — это сервис для поиска удаленной работы и сотрудников в России и СНГ. Он был запущен в мае 2005 года и является крупнейшей площадкой в стране. На сайте представлены вакансии, проекты и исполнители. Сайт предлагает платные услуги и премодерацию для исключения мошенничества при оплате. На платформе можно разместить и найти задания для большого количества специализаций. Среди категорий — IT и программирование, 3D-моделирование и графика, копирайтинг, графический дизайн, менеджмент, видео, продвижение и SEO и множество других вариантов. Для каждого взятого в работу заказа создается отдельная рабочая область. В ней можно отслеживать прогресс выполнения, обмениваться сообщениями между исполнителем и заказчиком, отправлять файлы, принимать или отклонять правки и т. д. На сайте также действует взаимная система рейтинга: заказчики и исполнители могут оставлять отзывы и комментарии о совместной работе, оценивать качество сотрудничества.
Workio.club — это агрегатор заказов с крупнейших площадок фриланса, таких как FL, Freelance.ru, Kwork и Freelance.habr. На сайте можно фильтровать задачи по стоимости, категории и ключевым словам. Workio.club помогает мониторить все заказы в одном месте и упрощает поиск работы для начинающих фрилансеров. С помощью Workio можно вести архив рабочих часов, который может быть полезен для будущих ссылок, оценок или целей биллинга.
Заключение
Фриланс-биржи для программистов предоставляют специалистам возможность находить разнообразные заказы и сотрудничать с клиентами из разных стран. Регистрация на таких платформах помогает разработчикам совершенствовать свои навыки, приобретать опыт и расширять клиентскую базу. Это отличный вариант для специалистов, которые хотят начать работать удаленно.