Задать вопрос
  • Как не засыпать при чтении?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Вы пытаетесь себя обмануть, говоря что эта книга (с большим количеством информации) вам интересна.

    На самом деле нет, не интересна. Может быть полезна, может быть развивает, но неинтересна.
    + банальная усталость.
    Ответ написан
    3 комментария
  • Меньше стек технологий, больше шанс устроиться на удаленную работу?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    IT это область с высоким порогом входа, поэтому минимум знаний в ней гораздо выше чем в большинстве других профессий. Как ни старайтесь, но вы не сможете ужаться до комфортного для вас минимума. Стоит задуматься, действительно ли вам так нужно IT - я видел очень много людей, которые напрасно потратили кучу денег на всякие курсы, пересидели в обучающих видео, накупили самых крутых книжек, но работают менеджерами по продажам, потому что не осилили.

    Или вы перестаете выискивать самую простенькую вакансию (на которую вдобавок конкурс по 50-100 человек на место, среди которых всегда будет кто-то лучше), и нормально изучаете технологии для выполнения простых задач на фрилансе, или которых достаточно для популярных вакансий в вашем городе, или пробуете свои силы в другой области.
    Ответ написан
    1 комментарий
  • Как при работе единственным веб-мастером-на-все-руки в компании максимально эффективно прогрессировать в веб-разработке?

    @polifill
    Мастер на все руки - это круто и полезно для расширения кругозора.
    Хорошо для некого обзора-старта в ИТ.
    Но не более.

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

    Увольняйтесь.

    Идите в большую контору.
    Сразу договоритесь - что вы там не будете фулстеком.

    Если вам интересны разные направления - то поспециализируйтесь на одном, потом на другом.

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

    sim3x
    @sim3x
    Фулстеки редко нужны (ето или должность еникея, или должность СТО)
    Если компания прикипела к тебе, то начинай делать свой отдел

    Если жмотятся - проводи ревизию своих знаний через прохождение собеседований на разные позиции.
    Попробуй себя в собеседовании на мидла (потом джуна) по бекенду и фронту - так ты поймешь на каком ты уровне
    Ответ написан
    4 комментария
  • Обучение программированию ребенка?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Изначально, учить нужно не языкам и технологиям, а базовым принципам устройства этого мира, пониманию логики и принятия решений, умению находить новые решения простых задач с максимально возможным результатом.

    Всё это должно быть в игровой форме и максимально быть интересным и простым для понимания.

    Например, на прогулке можно спросить:
    Как отмерить ровно 2м веревки, если есть длинная верёвка неизвестной длины и рядом столб, диаметром 50 см?

    И подобные.

    Как только он научится правильно принимать простые логические решения, он - уже программист!

    Останется ему (уже без Вашей помощи!) выучить любой язык, чтобы стать кодером и воплотить логику своих мыслей в алгоритм в виде кода.
    А 3D, C, OSI или еще что - это уже вопрос десятый...
    Ответ написан
    69 комментариев
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

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

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

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

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

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

    Обрати внимание, самое главное качество во всем этом многабукафф - упорство на грани фантастики. Любой, кто не дойдет до конца, не треснет себя по лбу в соты раз с воплем, так вот же она где, эта запятая, пропущена - сломается в самый неподходящий момент на боевом проекте...

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Как минимизировать потери средств при выводе их с Upwork?

    Asim
    @Asim
    Web/Android-developer
    1. Выводите деньги через Skrill.
    Payoneer самый невыгодный вариант.
    При выводе из Upwork на Skrill вычитывают одноразовую выплату в $1, а при выводе из Skrill на любую банковскую карту (предварительно зарегистрированную в вашем Skrill аккаунте) примерно $3. А уже обналичивать из карты будете в обычном порядке, без дополнительных выплат как в Payoneer. Главное регистрируйте счет, который на долларах. А то при конвертации тоже потеряете очень много денег.
    2. Пытайтесь установить интервал для вывода денег.
    Не выводите деньги когда захочется. Накопите заранее сумму денег, которого вам будет достаточно на месяц, чтобы не понадобилось срочно выводить деньги из Upwork. Систематизируйте это в виде "раз в месяц", "раз в 3 недели" и т.д. Тогда сэкономите на всяких разных выплатах и комиссиях. Я например ставил автоматический вывод раз в месяц на Upwork. И он сам в конце месяца отправлял деньги на Skrill. А оттуда уже сам выводил когда нужно было.
    Ответ написан
    18 комментариев
  • Как получить первую работу на upwork?

    lunaticman
    @lunaticman
    Дерзкий айтишник
    Привет.

    Я успешно забустил свой профайл на Апворке до 80 баксов в час (сейчас я уже апворком не пользуюсь), порекомендовал свою систему други друзьям которые удачно нашли проекты потом. Поэтому постараюсь коротенько объяснить:

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

    @metaf
    Бред какой-то.
    У вас что, сайт и блог с десятком рекламных баннеров и тысячами просмотров в день?
    А если бы вы сказали, что вязанием занимаетесь, она бы спросила, не будете ли вы вязать в свое рабочее время?
    Блог, сайт - это скорее способ самореализации и хобби, чем работа (ну я так вижу).
    Хороший сайт - значит вы способны создать и поддерживать продукт.
    Хороший блог - значит вы способны объяснить то, что знаете, готовы поделиться своими знаниями (это огромный плюс!) или хотя бы умеете переводить с английского и хотите развиваться.

    Не переживайте. На собеседованиях еще и не такого наслушаешься.
    Ответ написан
    17 комментариев
  • Как уйти с распутья технологий?

    @0x131315
    Стратегию уже подсказали: найти любую работу, чтобы кушать, и тем самым выиграть время на изучение чего-то, что поможет зарабатывать больше, и тем самым выиграть еще больше времени, и в конце концов изучить то, благодаря чему будешь работать не на зарплату, а на удовлетворение.

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

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

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

    Конкретный язык нужен кодерам - это те, кто воплощает чужие идеи в коде, т.е. конечные винтики в процессе разработки софта, исполнители. От кодеров требуется только перенести уже готовый алгоритм на требуемый язык, максимально быстро, и по возможности без ошибок.
    Изучив конкретный язык ты можешь стать кодером, но это черновая работа, и по хорошему - временная, просто ступенька на пути становления программиста. Нужно двигаться к архитектору, инженеру, непосредственно программисту в широком смысле.

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

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

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

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

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

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

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

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

    С третьим - придешь, когда поймешь, что тебе это нужно. Из-под палки не учатся.

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

    С первым все просто: не можешь что-то решить - отложи, и спустись на ступеньку ниже по шкале сложности.
    Есть такой психологический феномен: от решенных задач ты получаешь удовлетворение, силы и мотивацию двигаться вперед, от нерешенных - негатив, апатию, потерю воли и мотивации.
    Причем мозг устроен так, что запоминается лишь негатив. Поэтому крайне важно решать задачи, и не допускать незавершенных задач. Отложи, но не забрасывай.
    Нерешенная задача - это как психологический запой, нечто вроде депрессии: одна нерешенная задача тянет за собой другую нерешенную задачу, и так быстро уходишь на дно, теряя мотивацию и веру в себя. Замкнутый круг. Ты находишься именно в нем.

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

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

    Сложность задачи не особо влияет на мотивацию, а вот факт решения/нерешения - влияет сильно. Не решил - значит не осилил, не осилил - значит не достоин, не достоин - значит иди ко дну и не рыпайся. Это как импотенция: импотент - значит не мужик, не мужик - значит никто, ничего не достоин и об тебя можно ноги вытирать. Подсознание портит всю малину, так что не следует давать ему шанса - лучше решить задачу попроще, чем не решить по сложнее.
    Ответ написан
    7 комментариев