• Какие есть книги или статьи для развития критического мышления?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Гарри Поттер и методы рационального мышления
    hpmor.ru

    У этого же автора есть статьи отдельно по методам рационального мышления.

    UPD by Владимир Олохтонов:

    Дополню ответ, статьи автора лежат по адресу: lesswrong.ru
    Ответ написан
    2 комментария
  • Как учиться новому после рабочего дня?

    @Yarrs
    Привет, тоже кину пять копеек.
    Во первых задай себе вопрос, чего ты хочешь, и чего тебе надо. С этого надо начать.
    Мы что-то делаем не просто так, а ради чего-то. Задай себе простые вопросы, кто ты, где ты находишься, в чем твои цели и предназначение. Программирование само по себе отстой, но с него можно начать. Когда то в 80 годы меня обуял восторг, когда я в классе третьем смог понять смысл a=a+1 Но с тех пор много воды утекло. Пойми чем ты хочешь на самом деле заниматься. Что является твоей настоящей целью, заработать денег, вырасти в социуме, поднять детей, прожить интересную жизнь. Как правило в жизни не выйдет получить всё, время это такой ресурс, который можно пустить либо туда, либо туда, либо еще куда. Делай всегда это с умом.

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

    Теперь немного конкретики.
    Вариантом отщепить время себе масса.
    1) Сними комнату рядом с работой.
    2) Вставай раньше. Ложись раньше
    3) Усталость, это усталость от схожего вида деятельности. Усталость можно легко побороть если заняться чем-то иным. Умственно / физически например переключается будь здоров.
    4) Первый час на работе посвяти только обучению. Обычно люди первый час тратят на котиков, чатики и прочую п-нь, будь не как все.
    5) Поговори с начальником, и скажи что тебе нужно развиваться и обучаться. Посмотри на реакцию. Если он не монстр вопрос можно решить.
    6) Всегда думай перед тем как делать. Решения существуют, часто не на поверхности.

    Теперь несколько вредных советов. Как стоит жить и работать.
    1) Если решил связать свою жизнь с программированием, стоит понимать, что платят те у кого есть деньги, и платят столько сколько готовы заплатить. Отсюда выводы. Больше получают узкие специалисты, которые работают с чем то редким и нужным тем у кого есть деньги. Работая на бедных ты заработаешь ровно чуть больше чем на спасибо. Это как у врачей, стоматологи, к которым захаживают сытые бюргеры с зубной болью на коне, кокой-нибудь травматолог / хирург имеют 90 процентов своей обычной клиентуры бомжей и нищебродов. Но процентов 10 попадается людей с деньгами. А вот анестезиолог вообще с клиентурой не работает, денег дополнительно ему вообще не приходит. Отсюда обилие медицинских анекдотов про бедных анестезиологов.
    2) Собственники и заинтересованные в бизнесе люди на платят просто так, а платят за решение проблем. Чем страшнее на первый взгляд проблема, тем больше за нее можно попросить денег. Сложные проблемы решаются разбиением на более мелкие задачки. Но переоценивать свои силы тоже не стоит. Если сделал что-то крутое скромничать не надо. Тебя будут оценивать в том числе по тому, сколько ты просишь.
    3) У предыдущего пункта есть небольшое следствие. Владельцу главное решение и сроки, ему похрен на красоту кода и прочий глупый перфекционизм.
    4) Лучше место работы для получения стартового опыта, какая-нибудь программисткая контора, но она же худшая в плане роста. Ты окружен людьми примерно твоего уровня и способностей, которые будут неизбежно грызться за место под солнцем, каждый твой начальник будет воспринимать тебе как угрозу своему месту. Прорваться в такой системе сложно. Кроме того работать надо на первое звено в пищевой цепочке. Пока линейному программисту что-то перепадет от базовой ставки 10 человек отщипнут по цепочке.
    5) Если ты работаешь в обычной конторе, постарайся выйти со своими идеями на руководителя бизнеса (гендира), он единственный кто заинтересован в проекте в целом, и может воспринять что-то от твоих мыслей лично. Люди ниже просто попытаются тебя использовать в своих целях.
    6) Люди если смотреть поверх бла бла бла всегда действуют в своих интересах, но только так как сами их понимают. Людей можно предсказывать и читать.
    7) Руководители нагружают тех лошадей что тянут. Идеальный работник тот, кто просит мало работает много. Повышения? Не слышали. Зачем повышать того кто хорош на своем месте.
    8) Добиваются чего-то только те, кто выходит за флажки. Есть загон для стада, где всегда будет скучно, обыденно и тухло, но жить можно, есть и другие возможности.
    9) Самая тупая ошибка людей верить, что если будешь хорошо и долго работать что-то изменится. Ничего не изменится.

    Ну хватит в общем, что-то я увлекся, всегда думай головой, вот мой совет.

    ПС: Забыл добавить. Обязательно надо выбираться из провинции в Москву Питер, лучше в Москву. Дальше уже можно как остаться, так и двигать дальше. Если возраст и прочие дела позволяют.
    Ответ написан
    10 комментариев
  • Как учиться новому после рабочего дня?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1. 9 часов. Это уже ошибка. КЗОТ писали не дурни. 8 часов достаточно для работы, если человек не чаи пьет
    2. Пересмотрите процесс работы. По приходу на работу сначала делать самые важные. Прошу прочесть внимательно: сначала важные, а только потом срочные и другие. Отличие важных от срочных в том, что одни, как правило, делаются разово и про них забываются, а другие хоть и не срочные, но они влияют стратегически.
    3. Уделяйте время на то, чтобы подумать над "светлым будущим", т.е. создать\актуализировать список страгеческих целей и задач
    4. Делайте утром зарядку. Растяжку, отжимания, приседания. Это влияет на энергетику в организме
    5. Делайте перерывы во время работы.
    6. Чаще пейте воду
    7. Займитесь спортом. На своей шкуре опробовал и четко знаю то, что до занятия плаванием делал меньше, чем сейчас
    8. Окружите себя теми, кто куда-то стремится. Это не значит что надо всех других послать в Южную Америку на оз. Нахой. Это значит, что надо чаще общаться с одним типом людей и меньше с другим
    9. Стремитесь работать на результат, а не подсчет "жопочасов". В дальнейшем ставьте работодателю на собеседовании вопрос "Вам нужны жопо-часы или результаты?". Старайтесь выявить жмотов. Если вы вдруг справились не за 5, а за 4 часа, а работодатель жмотится и боится выделить время на самообучение сотрудника, хотя эти же знания будут применены при решении рабочих задач, то уходите от такого работодателя!

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

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

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

    aRegius
    @aRegius
    Python Enthusiast
    Добрый день, Дмитрий.

    1. В такой последовательности:
    Python
    a) Майкл Доусон - рус ... eng
    b) Марк Лутц - рус ... eng
    c) Дэвид Бизли + Лучано Рамальо
    Дальше - самостоятельный выбор, исходя из личных потребностей.
    Django
    a) Джейкоб-Каплан Мосс и Адриан Головатый - рус ... eng
    b) Django Girls Tutorial
    c) Гринфилды + Равиндран

    Параллельно читаем Django documentation

    2. HTML5 + CSS3 + JS + SQL.
    Знать на уровне, достаточном для реализации собственного проекта с нуля (скажем, свой сайт). Для этого, правда, достаточно HTML и CSS, в объеме указанных книг. Другой вопрос, что и JS, и SQL практически всегда требуются в багаже знаний при устройстве на работу (достаточно посмотреть вакансии).

    3. Нет, просто нету смысла. Актуальной качественной литературы по Python хватает. Есть некоторые исключения (некоторые из них мною упомянуты), но в целом, повторюсь, с современной литературой у Python все в полном порядке. Ищите на Amazon, сортируя по дате выхода.
    Ответ написан
    9 комментариев
  • Как подходить к решению нетривиальных задач?

    Привет.

    Всегда использую модель боли:

    1) Смотришь задачу
    2) Пытаешься её решить
    3) Понимаешь, что ты тупой идиот, который ничего не может.
    4) Поднимаешь в помощь гугл
    5) Поднимаешь в помощь литературу
    6) Спрашиваешь ребят на тему: "почему так, а не иначе".
    7) Выполняешь задание, осознавая, что ты тупой, раз на решение этой задачи тебе пришлось потратить столько времени.

    Повторить до бесконечности, и ты станешь профи.
    Ответ написан
    7 комментариев
  • Почему стремление к упорядочиванию приводит к большей энтропии и отнимает силы?

    delphius
    @delphius
    engineer
    Этот феномен замечательно описан в бестселлере психолога, профессора Стэнфорда и просто красивой девушки Келли Макгонигал под названием Сила воли. Как развить и укрепить. Проблема заключается в психологии человека, многие вещи, описанные в ней помогут дать ответ на Ваш вопрос.
    Так же обратите внимание на То, как мы работаем, — не работает..., книгу знаменитого американского журналиста и писателя Тони Шварца.
    И на закуску квинтэссенция всего вышеописанного, изложенная максимально доступно и по шагам - Победи прокрастинацию, ведущим европейским специалистом в области личностного развития Петром Людвигом.
    Не обращайте внимания на названия (это все завязано на психологию, поэтому у книг "продающие" названия), потому что суть описанных в этих книгах процессов и явлений рассмотрена сугубо с научной точки зрения, с проведением многочисленных исследований и опытов, т.е. это не "мотивационная вода", а подтвержденные данные и факты, не только отвечающие на Ваш вопрос, но и дающие конкретные практические рекомендации, как этого явления избежать.
    P.S. не успел отписаться, как Мегамозг прислал статью как раз на эту тему! Совпадение? Не думаю!)))
    P.P.S. Взял ссылку из комментариев к статье на обзор книги Келли
    Ответ написан
    Комментировать
  • Как урезать свой перфекционизм?

    Запомните для этих случаев одну великую фразу "Ладно это я потом переделаю когда время появится" :)))
    Ответ написан
    7 комментариев
  • Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

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

    Удачи!
    Ответ написан
    4 комментария
  • Как самому доучить математику?

    Keyten
    @Keyten
    Серьёзная математика разделяется на много областей, тут, наверное, имеют смысл только:
    - Алгебра.
    - Анализ.
    - Геометрия.
    - Дискретная.
    - Возможно, логика, но это больше в плане подготовки к 1 курсу.

    По алгебре стоит почитать Шеня и Гельфанда (гуглится). Там очень много, от сложения столбиком и до p-адических чисел. Это школьный уровень, дальше -- если хочешь круто знать математику, то Винберг, если освоить линейную алгебру универа -- Ильин-Позняк (профи-математики плюются, правда)), mathprofi, можно Беклемишева, но он нечитаем, имхо. Гайд по решению простейших задач линала универа -- Просветов.
    Анализ... тут, наверное, порекомендую просто почитать mathprofi.ru для начала. Стандартно анализ в школе состоит из производной и интеграла на начальном уровне, имхо, имеет смысл учить сразу на более высоком уровне, так что сначала mathprofi, чтобы разобраться в основных определениях, дальше Зорича. Можно полистать Фихтенгольца. Дальше Лорана Шварца и лекции Львовского, но это реально очень высокий уровень.
    По геометрии совет мне дать сложно. Впрочем, если говорить не о школьной, а о высшей, то Прасолова-Тихомирова "Геометрия". Дальше была какая-то отдельная геометрия Прасолова, может, даже "Сферическая геометрия", но не уверен. "Geometries" Сосинского, но это на английском. Ну и мне на мой скромный взгляд понравилось у Берже, но это очень-очень серьёзный уровень.
    Дискретку, наверное, Хаггарти "Дискретная математика для программистов", можно ещё Новикова. Но тут у меня опыта меньше в знании книг :с
    Логика -- Шень, Верещагин.
    Общематематическое: Курант, Роббинс.

    Можешь порешать листки 57 школы: www.mccme.ru/~merzon/v14 , такой уровень в редком вузе есть.
    Если в Москве, то забегай в НМУ (гуглится) на следующий год, если нет -- vk.com/clubium, посмотри лекции. НМУ действительно очень серьёзно апает математический уровень.

    Если есть задача сдать ЕГЭ, то reshuege.ru

    P.S. познакомился с "Mathematics for Computer Science" от MIT, очень понравилось, если английский не пугает, то очень советую. Гуглится.
    Ответ написан
    2 комментария
  • Что необходимо знать о Python для того, чтобы получить свой первый проект?

    Если отвечать прямо, то надо знать, что за первый проект у вас. Обычно первый проект, - это hello_world.py. Для него нужно уметь запускать IDLE и копипастить.

    А вообще так:
    - Прочитать книжку Марка Лутца (можно по диагонали, потом всёравно перечитать придётся);
    - почитать документацию на python.org;
    - ознакомиться с возможностями стандартной библиотеки;
    - найти себе проект, который надо как-то сделать;
    - поиграть на checkio.org, при этом обязательно смотреть чужие решения;
    - при открытии чего-то нового в процессе программирования перечитывать соответствующие пункты документации.
    Ответ написан
    Комментировать
  • Как вы систематизируете полученные знания?

    sindzicat
    @sindzicat
    Инженер-конструктор, программист-самоучка (Python)
    На этот вопрос исчерпывающий ответ дал Николай Ягодкин из advance-club, который занимается технологиями обучения. Есть три уровня запоминания информации:

    1. Уровень узнавания (да, мы проходили эту теорему, но о чём она - хз). Информация на этом уровне забывается быстро. Ведение конспектов и их использование на уровне "нашёл ответ - применил - поехал дальше" - это удержание информации на уровне узнавания. Вы часто будете пользоваться конспектом, но долго информацию в памяти держать не будете.

    2. Уровень воспроизведения (да, мы проходили эту теорему, можем рассказать её). На этом уровне информация теряется медленнее. Важно, что человек на этом уровне умеет просто воспроизводить материал.

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

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

    К сожалению ответ тянет на большую статью или даже на несколько статей, поэтому мне придётся сделать отсылку к бесплатным информативным вебинарам Николая Ягодкина, например этому: https://cloud.mail.ru/public/JG3f/nCjbfMNMF (К сожалению это видео уже недоступно на Youtube, поэтому скачанный мною вариант).
    Ответ написан
    4 комментария
  • С чего начинать развиваться веб-дизайнеру?

    @eoffsock
    Кодер (Rails)
    Первый этап — подумать, надо ли это вам вообще. К хорошему дизайну на кривой козе не подъедешь.

    Прежде всего: Майк Монтейро «Дизайн — это работа». Даже если не будете потом заниматься дизайном — книга все равно полезная.
    Во многом избавляет от романтического подхода вроде «дизайнер — это художник».

    Второй этап — учиться: смотреть и делать свое.
    Только, во имя всех скандинавских богов, смотреть не на Behance и Dribble. Там красиво, конечно, стиль, все дела, но в конечном итоге 95% работ там просто картинки.
    А веб–дизайн — в первую очередь сценарий. Дизайнер определяет то, как пользователь будет пользоваться сайтом: в его власти сделать интерфейс простым и ясным или запутать до невозможности.
    Посмотрите работы бюро Горбунова, особенно процесс создания.

    Соответственно свои работы тоже нужно рассматривать с точки зрения полезного действия, а не внешней красоты. Эстетика — это третий этап.
    Учиться значит читать, в первую очередь. Чтобы делать правильно — нужна система.
    Читать лучше от общего к частному, начать стоит с этого:
    Дональд Норман «Дизайн привычных вещей»
    Виктор Папанек «Дизайн для реального мира»
    Параллельно:
    Генрих Альтшуллер «Найти идею»
    37Signals «Getting Real»

    Веб — это интерфейс, значит:
    Джеф Раскин
    «Новые направления в проектировании компьютерных систем», «Об интерфейсе»
    Брюс Тогнаццини «Главные принципы интерактивного дизайна»
    Якоб Нильсен «Веб-дизайн. Книга Якоба Нильсена»

    Веб — это шрифт и текст, стало быть:
    Ян Чихольд «Новая типографика»
    Эмиль Рудер «Типографика»
    Нора Галь «Слово живое и мертвое»
    Саша Карепина «Искусство делового письма»

    Веб — структура и верстка:
    Тим Харровер «Настольная книга газетного дизайнера»
    Мюллер-Брокман «Модульные сетки в графическом дизайне»

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    сперва были вопросы "как стать программистом"
    затем вопросы "что читать"
    теперь уже "как читать"
    может скоро будет "как учить алфавит, а то за меня родители пишут на тостере".

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

    Добавлю еще момент:
    Почитайте статью megamozg.ru/post/10126
    Там очень понятно указано, что профессиональный навык и боль программиста - гиперконцентрация, которая необходима, чтобы освоить понятия и вещи для профессиональной работы. 40 минут это как-то несерьезно.
    Ответ написан
    3 комментария
  • Стоит ли становиться "чистым" программистом?

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

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

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

    "Программирование", как инструмент очень молодо, и, по моему мнению, еще даже не начало раскрывать свой полный потенциал, и любой владеющий этим инструментом, особенно цельно, в отрыве от конкретных языков и платформ, будет очень востребован. Уж в этом то веке точно.
    Ответ написан
    Комментировать
  • Как отлично запоминать прочитанный материал?

    sim3x
    @sim3x
    Повторять

    habrahabr.ru/post/216633

    https://ru.wikipedia.org/wiki/%CA%F0%E8%E2%E0%FF_%...

    Если есть два дня
    первое повторение — сразу по окончании чтения;
    второе повторение — через 20 минут после первого повторения;
    третье повторение — через 8 часов после второго;
    четвёртое повторение — через 24 часа после третьего.
    Если нужно помнить очень долго
    первое повторение — сразу по окончании чтения;
    второе повторение — через 20-30 минут после первого повторения;
    третье повторение — через 1 день после второго;
    четвёртое повторение — через 2-3 недели после третьего;
    пятое повторение — через 2-3 месяца после четвёртого повторения
    Ответ написан
    2 комментария
  • Как и где в программировании используется математическая логика?

    Pjeroo
    @Pjeroo
    Веб-разработчик
    Математическая логика - повсеместно. Начиная от простых условий в if-else, заканчивая операциями с базами данных, потому что язык запросов SQL предполагает оперирование с множествами. Насчет дискретной математики, тут очень важная часть - теория графов, потому что практически все хорошие алгоритмы поиска (да и сортировки тоже) основаны на деревьях. Так же довольно таки неплохо иметь представление о теории автоматов, что тоже используется, например, в алгоритмах поиска.
    Ответ написан
    Комментировать