• Подойдет ли для фриланса Python по Марку Лутцу?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    cypselusmurarius: в вашем случае это ОТЛИЧНО (в комменте вы написали, что вам 14)! И очень похвально, что вы интересуетесь технологиями.
    К сожалению, Лутц - это только теория. Типа: "вот есть велосипед. У него есть переднее и заднее колесо, у вас есть руль, которым можно задавать направление". Но прочитав подобный мануал, ездить вы вообще не научитесь. Хотя у Лутца есть неплохие примеры рабочих программ. В таком случае попытайтесь несколько раз внимательно читать примеры, и затем пытаться реализовать такой же функционал, но не просто переписывая код один в один, а немного его видоизменяя - на уровне переменных и тому подобного.
    Подумайте вот о чем: какую программу вы хотели бы написать? Может, показывать список друзей вконтакте и диалоги с ними? Или, может быть, какую-то простую игру? Или может сайт сделать? Или еще чего?
    Очень важно найти реальный проект, над которым вы будете работать и начать его реализовать. И в этот момент вы поймете, как ничтожны ваши знания, как многого вы не знаете. Тут вы начнете искать способы решения той или иной задачи. Прежде, чем обратиться сюда либо на форумы - попытайтесь максимально кратко сформулировать вашу задачу. К примеру: "задать другой цвет контуру треугольника в canvas" или что-то подобное. Когда четко понимаете, что нужно - пользуетесь поисковиком. Также неплохо продублировать вопрос на английском и перевести непонятные слова в словаре, чтобы понять суть ответа и применить его. Умные люди ведь сказали когда-то: "в правильно поставленном вопросе есть уже половина ответа".
    И только если ничего не нашли - обращаться уже сюда.

    Только так, на практике, и никак иначе, вы научитесь чего-нибудь и уже за полгода активных занятий программированием сможете брать несложные заказы. Главное, самому понять, в какой области вы хотите работать - разрабатывать игры, серверные решения, простые программы-окна, сайты и т.д.
    Ответ написан
    Комментировать
  • Как вы освоили шаблоны проектирования?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Когда начался бум и восторг вокруг концепции паттернов проектирования, выкрики "GoF рулит!" и так далее, я озадачился тем, чтобы понять, что за шум?

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

    По аналогии в проектировании софта имееются свои архитектурные вопросы вроде разбиения приложения на компоненты/модули, организации зависимостей между ними, распределение функциональных обязанностей и т.п. Как ловко подметили авторы книжки из этой банды четырех (The "Gang of Four") в нашей индустрии можно также выделить некоторе количество типовых шаблонов, проверенных на практике, чтобы тем самым не наступать на уже обойденные другими грабли.

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

    Чтобы понять, где они нужны - нужен опыт. То есть (я лично убежден), что учиться на ошибках других может только крайне ограниченное число людей. Все остальные обязаны набить шишки самостоятельно :)

    К изучению паттернов я дам такие советы:

    1) Прочтите пару книжек, чтобы понять, что это за зверь и с чем его едят. Можно взять одну из вариаций книжки GoF или какие-то производные для вашего стека разработки - познакомиться с основными популярными шаблонами. Сразу после этого я посоветовал бы прочесть книжку "Горький вкус Java" (Брюс Тейт) - она про анти-паттерны. Это чтобы понять обратную сторону их использования. Мне понравилась и уберегла думаю от многих проблем. То что на примере Java - неважно. Речь идет о шаблонах, так что представителям других стеков (к которым отношусь и я) будет просто понять все равно.

    2) Постарайтесь осознать, доводилось ли вам сталкиваться в работе раньше с чем-то, что является или могло бы легко стать одним из шаблонов. Где получалось применить концепт верно, а где из-за этого только проблемы были.

    3) В новых проектах, держите в голове полученные по шаблонам знания - вдруг пригодятся.

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

    Я даже пожалуй посоветовал бы подойти к освоению айтишной архитектурной мудрости с другой стороны - со стороны нефункциональных требований или так называемых "-ilities" - их много. Тут вот описаны 7 штук. А вообще их десятки.

    Среди прочих - такие как maintainability (простая поддержка кода), scalability (масштабируемость), extensibility (расширяемость), availability (устойчивость ) и тп. Если, проектируя свое приложение, вы задумываетесь об этих "илитях" и стараетесь их обеспечить в необходимом проекту объеме, то, как правило, ваше приложение будет иметь отличную архитектуру. При этом шаблоны проектирования в ней появятся лаконично сами собой.

    Поскольку идея использовать шаблоны - это попытка опытных программных инженеров дать десяток готовых рецептов менее опытным, чтобы пока они не научились варить "вкусную кашу", они не варили уж что-то совсем несъедобное. :) Учитесь "готовить", разбирайтесь в -ilites :) и все будет хорошо
    Ответ написан
    6 комментариев
  • Объединить соц. сети?

    risik
    @risik
    Программист
    Для Вашей формулировке вопроса я вижу только один ответ, который точно даст результат: купите их. Остальное они сделают сами
    Ответ написан
    Комментировать
  • Что разработчик хочет знать о дизайне приложений?

    @LenLord
    android reverse
    Меня бы заинтересовал курс "Как с нуля сесть и нарисовать дизайн для приложения имея только навыки кодинга." :)
    Ответ написан
    6 комментариев
  • Как вы думаете обман?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Без страхового платежа мы не имеем права Вам выслать задания.

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

    Собственно раз вы задали подобный вопрос, то лучше не ходите на фриланс - будете только расстраиваться. Лучше ищите постоянную работу.
    Ответ написан
    Комментировать
  • Как вы думаете обман?

    @bears
    Даже думать не надо ) явный лохотрон. Однажды, в самом начале карьеры фрилансера, сталкивался с такими "работодателями", начал переписку, в процесе тетка проболталась и выдала название печатного издания, от имени которого они работают. Представилась HR менеджером, назвала свое имя. Погуглив название конторы, нашел их сайт. Издание действительно сущетвует, но в разделе "Вакансии" такой вакансии небыло, более того - HR менеджер был совсем другой человек. Почта тоже была загадочная, типа Вашей labirint-press@labirint-freelance.ru )) ни один контакт что она мне скинула не нашел на их сайте. Погуглив, нашел даже форум, где этот вопрос уже много раз поднимали. После этого, раз и навсегда закрыл для себя эту тему )
    Ответ написан
    Комментировать
  • Хорошие книги по Computer Science?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Как отказаться от проекта на Upwork?

    opium
    @opium
    Просто люблю качественно работать
    Поговорить с заказчиком это неизбежно
    Ответ написан
    Комментировать
  • Как отказаться от проекта на Upwork?

    @lega
    несколько месяцев, 200 часов работы

    Не такая и большая нагрузка, можно сказать 1-му заказчику что вам предложили больше, и вы можете отказаться если он повысит до аналогичной суммы (что наврядли), поэтому предложите просто поддержку проекта по той же цене - небольшие доработки (т.к. нагрузка все равно не большая), что-бы завершить этап, помочь передать проект и т.п., бросать клиентов не хорошо особенно лояльных (может новый вас бросит через неделю).
    Если не будете успевать, то у нового клиента можно попросить временно уменьшенную нагрузку (30ч а не 40 например) для "закрытия" старого проекта.

    Наверно, как то так.
    Ответ написан
    3 комментария
  • Что делает программиста программистом?

    AMar4enko
    @AMar4enko
    В подобных вопросах стоит для начала определиться с терминологией.
    Какого именно специалиста вы подразумеваете под тегом "программист"?
    Разработчик на ABAP для вас программист? QA для вас программист (они зачастую сценарии пишут на различных ЯП)?
    Я бы в вашем случае воспользовался термином "инженер-разработчик программного обеспечения".
    И слово "инженер" тут, на мой взгляд, самое главное. А "программист" я бабушке говорю, когда она спрашивает, чем я занимаюсь.
    Ответ написан
    Комментировать
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    syschel
    @syschel
    freelance/python/django/backend
    Самое сложное во фрилансе, не языки и технологии.
    • Умение продавать себя в толпе конкурентов. Это самое сложное. Есть много высококлассных специалистов, сидящих на среднем окладе. Они тупо не могут себя продать даже в другую компанию, а не редко и боятся менять привычное место.
    • Умение грамотно составить или согласовать ТЗ. Так что бы проблема заказчика решалась в оговоренные сроки и бюджет. А не перерастала в вечнострой с кучей доделок и переделок с базовым бюджетом. Когда обе стороны уже ненавидят друг друга. Ибо работая в офисе разработчиком, всё это ведут менеджеры и тим лиды, а вам спускают конкретные задачи. Вам же придётся научиться понимать, что хочет клиент, не разбирающийся в программировании, говоря то или это. Научиться понимать и предлагать те решения, которые будут ему актуальны с учётом технологий и отказывать в том, что сделать не реально. Находить компромиссы, но опять же, объясняя почему так или иначе.


    Самое лучшее для фрилансера, да и любого разработчика. Это большие и долгие проекты. Когда можно постоянно заниматься одним. А не вникать каждый раз по новой, не привыкать к новому заказчику. Да, тут есть шанс отупения и застоя в развитии, но это лечится средними своими проектами или доп работой небольшой. Хотя, если проект живой и развивающейся, руководство ищет способы развития бизнеса и само заинтересованно в росте. Тогда можно и на текущем проекте развиваться, пробуя новые технологии, службы, стеки. Это будет рост как специалиста.

    А технологии, языки. Это уже второстепенно. Главное развиваться. Ибо в попсовом PHP можно делать большие проекты и быть специалистом с большой стоимостью часа или на редком python/java сидеть и быдлокодить мелочь за копейки. Главное не метаться, а развиваться и расти, беря более сложные и более длинные проекты. И брать их не с "поддержкой", а с возможностью постоянного развития. Задачи "в стол", не интересны. А вот задачи на перспективу, на развитие. Это уже интересно. Ибо "в стол" это как правило теория(придумали, сделали, забыли). А развивающиеся, это практика на реальных условиях, когда в процессе приходится много менять (менять бизнес модель, менять архитектуру из-за возросших нагрузок, менять технологии).
    Ответ написан
    5 комментариев
  • Зачем изучать java.util.concurrent, если пишешь под Android?

    @onepavel
    Консультация и разработка мобильных приложений
    1 BlockingQueue музыкальный плеер, есть очередь откуда проигрываются треки, плеер снизу забирает трек, сверху пользователь накидывает в очередь новые треки. работа с очередью идет из разных потоков.
    2 качалка файлов, очередь файлов для закачки, настройками могу регулировать кол-во одновременно качающих потоков
    3 CountDownLatch отличный инструмент для отсчета оставшегося времени
    4 CyclicBarrier чумовой механизм ожидания завершения работы нескольких потоков, парсинг сайта,
    закачка файлов, обработка текстов, подсчет данных или игр
    5 Executors и ExecutorService быстрая организация пула потоков использую для работы с sqlite,
    а также ScheduledExecutorService для организации таймера для проверки изменения чего либо у пользователя на девайсе
    6 полезная штука Exchanger, моментальная реализация задачи producer - consumer
    7 ConcurrentHashMap вообще классика для организации хешей, это сейчас есть LRU, а раньше не было. А было WeakReference и эксперементы с очередями и хешами WeakHashMap
    8 Atomic, легко позволяют создавать потоко-безопасные переменные, использовал AtomicBoolean, как межпотоковый стейт
    Я знаю, что есть конторы, как крупные так и мелкие не используют Retrofitы robospicы DI фреймвори и так далее.
    Учитывая проблемы с 65к dex, из-за тучи либ сторонних и особенно play services, собрать уже сложно.
    И для мелкой задачи стоит ли с собой тащить либу, вопрос холиваный
    И стоит знать java.util.concurrent потому что, это используется в либах. Тот же volley, там три чистых потока Thread для выполнения http, а в ui пробрасывается через хендлер и Executor
    Ответ написан
    5 комментариев
  • За что программист получает деньги?

    reeroe
    @reeroe
    UX/UI дизайнер
    Но вот что я не могу понять, если человек берет по часовую оплату, но из половины и даже больше этих часов он разбирается сам, как это можно сделать, получается, что он не совсем хороший программист? Или это в принципе нормальное явление? И как тогда поступать считать меньшее количество часов ?


    Это нормальное явление. Программист — это работник умственного труда. Научить быстро-быстро долбиться пальцами в клавиатуру можно обезьяну. Если инструктор хороший, то из-под пальцев обезьяны может даже выйти код и — о чудо! — он даже может заработать, но вот научить обезьяну по-человечески думать вряд ли у кого-нибудь получится.

    Программисту платят не за имитацию бурной деятельности, а за решение конкретных задач в вполне конкретные сроки, причем почасовая оплата или нет роли тут не играет. До тех пор, пока программист укладывается в сроки, мой Вам совет, не пытайтесь заниматься микроменеджментом там, где этого не требуется. Особенно с учетом того, что микроменеджмент написателя кода руками — это задача примерно того же порядка, что микроменеджмент кота. Результат обычно такой же.
    Ответ написан
    2 комментария
  • За что программист получает деньги?

    Olej
    @Olej
    инженер, программист, преподаватель
    Но вот что я не могу понять, если человек берет по часовую оплату, но из половины и даже больше этих часов он разбирается сам, как это можно сделать, получается, что он не совсем хороший программист? Или это в принципе нормальное явление? И как тогда поступать считать меньшее количество часов ?


    А если оперуполномоченный МУРа сидит и читает материалы дела - то засчитывать ему это как рабочее время или как прогул?
    Или давайте ему засчитывать рабочим только "чистое" время: или когда он несётся в погоне вывалив язык, или когда в стрельбанине участвует...
    Ответ написан
    6 комментариев
  • За что программист получает деньги?

    sabramovskikh
    @sabramovskikh
    За работу. Если грузчику платят за то, что он загружает фуры, почасовая оплата, то зачем ему платить когда он таскает мешки и возвращается за мешком на легке, ведь он не работает?
    Код нельзя написать хорошо никогда. Можно стремится только к этому. Пока он разбирается это процесс разработки продукта. Почитайте книгу о циклах разработки ПО и все поймете
    Ответ написан
    8 комментариев
  • Как организовать сервер для приложений?

    gadfi
    @gadfi
    https://gamega.org
    Сторонние сервисы, конкретные яп все это дело десятое
    1. Почитайте что такое RESTful API
    2. Проанализируйте все экраны и функционал
    3. Напишите документацию (она нужна в первую очередь именно вам, а не заказчику, сильно облегчит жизнь при написании клиента и севера )
    4. Ложитесь спать.

    Пункт 4 на полном серьезе, после написания документации, на нее стоит посмотреть свежим взглядом.
    Если появилась мысль что за мудак это писал то стит вернуться к пункту 1 ) если нет не расстраивайтесь а приступайте к реализации, скорее всего она появится в процессе )))

    Для клиента рекомендую связку retrofit + gson
    Для сервера что то что лучше знаете, в любом адекватном языке с нормальными инструментами для веба есть средства для облегчения создания rest сервера

    вот пример для php(использует микрофреймвокр slim, не зная php вполне реально разобраться за день)
    www.androidhive.info/2014/01/how-to-create-rest-ap...
    www.androidhive.info/2014/01/how-to-create-rest-ap...
    если Java ближе можете посмотреть в торону Spring или еще чего то подобного, но там уже сложнее.
    Вообще главное держите в голове мысль что все куда проще чем кажется, клиенту все равно на чем написан сервер.
    Ответ написан
    Комментировать
  • Почему так сильно подорожали аккаунты pro на российских биржах фриланса? С чем это связано?

    tin-iven
    @tin-iven
    Фрилансер до костей
    d4b3d05717394f538a0470236a5d53f8.png

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

    А теперь конкретно по FL. Как это работает - есть акционеры (Мажирин и аптекари) и руководство (Росошанский и Тараханов). Раз в полгода акционеры собираются и говорят руководству - уровень прибыльности должен быть такой. Аптекари покупали долю в у.е. и получать хотят у.е. Мажирину тоже у.е. нужны - хотя бы на танцы свои. Итак, в начале 2013 прибыль была 200 000 у.е. в месяц, а в начале 2015 стала 75 000 у.е. Акционеры говорят руководству - нужно вернуть хотя бы до 150 000 у.е.

    Как это сделать - проблема не акционеров, а руководства. И руководство начинает действовать - вводит Profi, поднимает цену Pro, добавляет закрепления и прочие мелкие платности, увольняет кучу людей штата - почти 90%! www.the-village.ru/village/blogs/business/221897-c...
    Прибыль пошла в гору. "Ф-у-у-х! Акционеры не уволят, даже премию дадут" - так думает руководство. На первом этапе это так и работает.

    Но. Что имеем с итоге: сервис теряет в качестве - не хватает людей для нормального обслуживания пользователей, кода, серверов - отсюда постоянные падения, взломы и недовольство (https://vc.ru/n/fl-off, https://vc.ru/p/fl-hacked и т.д.). Сервис становится дороже (замечу - в рублях, в у.е. остается на том же уровне или дешевле) - отсюда снова недовольство пользователей.

    Блин, так почему же эта биржа не умирает? Почему все снова идут и платят (судя по анализу количество PRO за последний год не уменьшилось, а только выросло)? А я скажу - потому что есть заказы. Не просто заказы, а много заказов. Смотрим сколько - primelance.com/analytics/. Блин, да столько же, сколько на всех остальных биржах вместе взятых.

    Итог повествования: в обозримой перспективе ничего не изменится. На FL будет много заказов - к ней привыкли, она выделяет денег на рекламу больше остальных, только она обслуживает юриков. Поэтому туда будут идти фрилансеры, будут платить дорогой Pro. Этот самый Pro будет дальше дорожать - думаю, к середине 2016 на уровне 2000-2500 рублей. Если рубль продолжит плохо себя вести - еще больше, или переведут ценник в доллар.

    Скажете, на англоязычных лучше и светлее? Нет и еще раз нет. Посмотрите ценник на том же Upwork и радуйтесь, что FL до такого еще не додумалась. Одна радость - там ценник в проектах другой, отсюда и рентабельность работы на буржуев.

    Поэтому - если вы знаете или учите английский - валите по быстрому с отечественного фриланса. Если не знаете и учить не собираетесь - радуйтесь, что FL просят 1600 в месяц с неограниченным числом ответов, а не 600 за 10 ответов в месяц, и дальше по 120 рублей за каждый ответ + 10% с каждого заказа (каждого!), как это есть на Upwork.
    Ответ написан
    8 комментариев
  • Почему так сильно подорожали аккаунты pro на российских биржах фриланса? С чем это связано?

    martin74ua
    @martin74ua
    Linux administrator
    - Продам курицу.
    - Почем курица?
    - 10000
    - Она что, особенная?
    - Нет, самая обыкновенная...
    - А чего так дорого?
    - А кушать сильно хочется

    так и тут....
    Ответ написан
    8 комментариев