• Какое портфолио должно быть у junior c#?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    • Профильное образование - программирование или аналогичное направление
    • Желательно иметь за плечами какую-то практику/стажировку в компаниях.
    • Не повредит пройти какие-то онлайн курсы по .NET и по основам командной проектной работы.
    • Не повредит написать какой-то пусть тестовый проект и иметь его у себя в github
    • Однозначно следует иметь хорошо и подробно заполненный профиль и/или CV
    • Всегда плюс - английский язык
    Ответ написан
    Комментировать
  • Как развиваться .NET разработчику?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если вы уже комфортно себя чувствуете при написании разных типов приложений в .NET стэке - то путь может быть таким:
    0) убедиться, что уверенно владеете последним срезом технологий в .NET (в частности .NET Core) как и инструментарием (в частности, Visual Studio Code)
    1) попробовать типы приложений, которые не пробовали - если занимались разработкой веб приложений на ASP.NET - попробовать написать что-то под мобильные платформы, или толстого клиента, и т.п.
    2) попробовать смежные вещи их мира JS (сейчас в Visual Studio много всяких типов проектов, с которыми можно поковыряться)
    3) побаловаться с архитектурными подходами - например, разобраться с microservices - понять как это должно выглядеть в .NET реализации
    4) осваивать прикладные области - например, как можно работать с ML, BigData, AI, и т.п. из .NET (какие-то освоить библиотеки/фреймворки)
    5) просто попытаться взять свои стандартные проекты и заменить ну, например, базу данных с привычной на что-то иное и заставить это работать
    6) начать мониторить индустрию в целом (все стэки разработки), чтобы ориентироваться что есть в смежных "цехах" и уметь сравнивать .NET c ними. Это кроме эрудиции в целом, даст понимание для каких задач, что обычно используется, что эффективно, а что нет, заимствовать какие-то подходы у смежников чтобы реализовать это в .NET (возможно даже вы найдете свою нишу и напишете какой-то полезный порт под .NET - как например когда-то появился NUnit, NAnt, Swashbuckle и прочие чудесные вещи)
    Вышеописанное точно избавит вас от вопросов - что делать дальше. :)
    Ответ написан
    Комментировать
  • Как попасть на фриланс без биржи?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Фриланс без посредников - это автоматически плюс 1-3 часа в день к рабочему времени - на постоянный мониторинг и поиск прямых клиентов. Это принятие на себя дополнительных рисков. Это постоянные инвестиции своего времени в собственный "бренд", если так можно выразиться (участие в профильных активностях - конференции, сообщества, open source и - т.п. - иными словами вас должно быть "видно" там где могут смотреть потенциальные клиенты). Надо понимать, что посредники свой хлеб едят не зря (по крайней мере - надо правильно выбирать посредников :) ) Не все специалисты просто по своей натуре смогут осилить все сопутствующие техническим навыки для успешной работы во фриланс режиме.

    Кроме того, если брать рынок международный - там никто особо не торопится сотрудничать с умельцами из Восточной Европы (по крайней мере если не по бросовым ценам). По мелочи - проще, да. Проекты посерьезней - там либо их местные законы мешают нанять надолго и всерьез, либо просто их бухгалтерия просто упирается сделать что-то более сложное и оформить не местного работника, а обработать платежи и контракт с иностранным фрилансером. Синдром операциониста "сбербанка-почты-рф" - у них так же - только простые и понятные операции, все остальное - не знаю, не умею.

    А отечественный рынок - нищий. Работодатели хотят нанять вас по расценкам самых низких офисных зарплат, так как на отчизне принято считать, что нанять фрилансера - это чтобы сэкономить. Доводы, что за него не нужно платить налогов, тратиться на рабочее место и тп - обычно уходят в dev/null Ну и по личному опыту, работать приятнее с иностранцами - они более корректные и вопросы обычно решают в конструктивном ключе. Культура делового общения обычно выше.
    Ответ написан
    Комментировать
  • Альтернативы Upwork для пентестера?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    https://www.bugcrowd.com/ и всякие bug bounty программы
    Ответ написан
    Комментировать
  • Какие посоветуете трекеры времени своей работы?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    TopTracker - Time Tracking App. Free Forever.

    Это наш бесплатный подарок фриланс сообществу :) Используйте на здоровье!

    Обзор похожих инструментов - The Best Time-Tracking Apps for Freelancers and Teams.
    Ответ написан
    Комментировать
  • Как запустить ассемблер в visual studio 2017?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Попробуйте это - Visual Studio integration for the YASM assembler
    Ответ написан
    Комментировать
  • Как получить количество строк в таблице?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если данные в DbSet уже есть, то можно получить массив так:
    Blog[] blogs = db.Blogs.ToArray();

    Если нужно явно посчитать записи, можно выполнить скаляр так:
    var command = new SQLiteCommand(connection);
    command.CommandText = "SELECT COUNT(Id) FROM Blogs";
    command.CommandType = CommandType.Text;
    int сount = (int) command.ExecuteScalar();
    Blog[] blogs = new Blogs[count];
    Ответ написан
    Комментировать
  • Что учить frontend разработчику?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    JS- React, Angular, ES6 синтакс
    CSS - Flexbox, Yandex BEM, CSS3
    HTML - HTML5
    Ответ написан
    Комментировать
  • Как найти партнёра для работы с клиентами?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Виталий насколько я понял вашу затею, вы хотите создать компанию такую же, как та где вы сейчас работаете, только свою. Иными словами, вы хотите продолжать кодировать и не хотите заниматься всей остальной работой. (Кстати, это синдром "не работать на дядю" наступил или какие-то другие причины? Чем в офисе вам работать плохо сейчас? )

    Если это так, зачем вам городить тот же огород? Работайте как программист-фрилансер - сдавайте себя в аренду (по модели time & material). Зачем вам модель Fixed Price с расчетами стоимость и сроков проекта, заказы под ключ и все такое? Если вы не человек оркестр - все равно в одиночку не осилите. А если не в одиночку - тогда надо лепить свою компанию и кодировать там у вас уже не получится - все время скушают организационные моменты. А быть программистом в своей компании - это утопия.

    В одиночку все равно правда придется уделять время поиску заказов и кроме вас никто не сможет помочь вам в этом. Работать не "на дядю" означает работать столько же как в офисе + разобраться во многих вещах, о которых за вас болела голова у других людей, и взять это всё на себя.
    Ответ написан
    Комментировать
  • Совместимы ли хороший рейт, фултайм и long-term на фрилансе/удалёнке?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Работать на фрилансе в режиме фултайм вдолгую можно. Рейты - 40 еще можно, если вы реально хороши. 40+ для фрилансеров из Восточной Европы уже сложно. Исключение, только если вы как-то заполучили прямого клиента из скажем штатов и с ним сотрудничаете. Даже для местного рынка (обычная офисная работа) в большинстве стран Западной Европы $40/час уже много. Просто посмотрите статистику зарплат по странам и поймете, где ваша ниша на рынке.
    Ответ написан
    Комментировать
  • (Организационный вопрос) Какие есть инструменты и техники разработки API?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Нужно описать API - какие будут endpoints, формат параметров и возвращаемых объектов (request/response).
    В этом случае можно накидать API которые на начальной стадии будут возвращать dummy данные (заглушки с hardcoded данными). В этом случае фронтендеры будут иметь что-то для работы и смогут запросить изменения если что-то можно/нужно в API улучшить. Бекенжеры будут работать над своей частью, зная, к какому формату нужно привести данные и какие параметры у них будут на входе.

    Поверх API (c фейковыми данными) можно сразу прикрутить какой-то API Explorer / Documentation тул вроде Swagger (для него есть порт на многие стеки разработки). Пример этого petstore.swagger.io

    C таким или подобным тулом все всегда смогут зайти и посмотреть какой формат сейчас у API.
    Ответ написан
    Комментировать
  • Какие есть фриланс сайты похожие на toptal?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Совсем таких же как мы (Toptal), наверное, нет :)
    Списки похожих - большинство ссылок на первой странице поиска.

    P.S. Но чаще это сервисы вроде фриланс бирж, где просто предоставляется возможность исполнителям и заказчикам найти друг друга и никто дальше особо не интересуется, как идут дела. Работа в Toptal, напротив, больше похожа на удаленную работу в компании - идет по одному договору с Toptal, компания старается загрузить вас работой в том объеме, в котором вы доступны.
    Ответ написан
    2 комментария
  • C# 5.0 и 7.0 большая ли разница?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Без разницы, синтаксический сахар освоите позже.
    Ответ написан
    Комментировать
  • Коллеги, расскажите о своих методах защиты от "Клиент всегда прав" в процессе разработки?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Методы защиты от «Клиент всегда прав» в процессе разработки выглядят примерно так: 7 красных линий. Учитесь :)

    P.S. Кстати, для эрудиции - рассказ имеет отечественные корни.

    418268_original.jpg
    Ответ написан
    Комментировать
  • Каковы максимальные рейты на Toptal?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Относительно ставок: Toptal не диктует ставок, предполагая, что опытный фрилансер знает свою, адекватную рынку ставку. Но вопрос мне этот задают часто и я написал про имеющуюся на рынке статистику про заработки на фрилансе в целом - в своем личном блоге. Если надо хоть как-то сориентироваться, почитайте тут Freelance FAQ: на что можно рассчитывать по зарплате?
    Ответ написан
  • Как распарсить эту дату?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если кроме извлечения даты из ISO формата не нужно, то split-a достаточно. Если же с датами нужно активно работать и для парсинга и для форматирования - советую обратить внимание на moment.js - удобная библиотека с подробной документацией.
    // например, получить то, что вам надо
    var yyyymmdd = moment(new Date('2017-09-08T21:03:49.736Z')).format('YYYY-MM-DD');
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Просто внесите свою лепту :)

    Ну а кроме шуток по этому поводу я высказывался: "Постигайте кунгфу рефакторинга legacy кода - многопроходного бережного улучшения архитектуры приложения, без перебоев в работе приложения и в параллели с разработкой новой функциональности... (С) Я 2017" Полностью тут: Как аргументировать начальству создание существующего проекта заново, с ноля?
    Ответ написан
    Комментировать
  • Как правильно оценить проект?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если планировать и оценивать заранее проект сложно (это частая проблема у многих), фиксируйте объем работы, который делаете на текущих проектах. Записывайте по работе сколько уходит времени по факту. Последующий заказ сравнивайте с тем что делали раньше и опирайтесь на те цифры, которые там получились по трудозатратам. Постепенно вы будете давать все более точную оценку.
    Ответ написан
    Комментировать
  • Как быстро освоить angular?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Мoжно воспользоваться 3 месячной бесплатной подпиской на Pluralsight (и другие обучающие порталы), которую дает Microsoft, если залогиниться в Dev Essentials | Visual Studio со своим Microsoft аккаунтом и просмотреть курсы по Angular.
    Ответ написан
    Комментировать
  • Как заставить это сохранять в выбранную юзером папку?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    using(var fbd = new FolderBrowserDialog())
    {
        DialogResult result = fbd.ShowDialog();
        if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
        {
            string fileFullPath = Path.Combine(fbd.SelectedPath, Path.GetFileName(file));
            File.Copy(file, fileFullPath)
        }
    }
    Ответ написан
    Комментировать