Ответы пользователя по тегу IT-образование
  • Как учиться новому после рабочего дня?

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

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

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

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

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    которые даны в учебнике на закрепление материала, мне кажется, я должен быть в состоянии решить.

    Кто сказал? Где критерий, что вы должны, а что нет?

    Не знаю занимались вы спортом или нет, но приведу пример: Занимаясь плаванием я получаю от тренера задачу проплыть в полной координации кролем на груди бассейн на 25 м на одном вдохе. И когда остается 8-10 метров мне реально не хватает воздуха. У меня 2 варианта: 1. Сделать вдох 2. Терпеть не хватку и из последних сил тянуть к стенке и во чтобы то не стало доплыть!

    В программировании тоже самое. Вы ставите себе цель. Задаете себе вопрос стоит ли ее достигать и если надо, то во чтобы то не стало добивайтесь!
    Ответ написан
  • Как изучить язык приближенно к 100%?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    А зачем? Зачем знать язык до идеального состояния? Перфекционизм мучает?

    20% труда выдают 80% результата.

    Остальные 20% результата потребуют 80% труда. Оно вам нужно?

    Другими словами язык должен быть на таком уровне, чтобы вы могли решать задачи. У математиков есть замечательная фраза "Необходимо и достаточно".

    Я к тому, что знайте когда остановиться. Хорошее всегда будет врагом лучшего.
    Ответ написан
  • Как не распыляясь дотащить до front-end мидл девелопера?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1.
    так и продвижение по карьерной лестнице

    Воспользуйтесь "профайлером". Другими словами Вашим руководителем. Всегда держите руку на пульсе. Если у Вас принято брать задачи из баг-трекера, то можно в довесок договориться с руководителем о следующей практике:
    "Прошу Вас еженедельно говорить мне одну штуку из числа прошедших за неделю из-за которой Вы бы уволили меня и еще одну штуку из числа прошедших за неделю за которую Вы бы выписали премию". Ответы записывать, отсматривать после каждой новой обратной связи от руководителя и вы будете в тренде, что надо по факту, что нахрен не надо делать! При этом будете в курсе: нужны ли коллективу или вот вот пинут? То есть всегда будете знать насколько Вы реально нужны.

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

    1 и 2 дают знания и карьеру
    Ответ написан
  • Какой список литературы для структурированного изучения программирования?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Если бы имел машину времени, чтоб вбить "Я-в-прошлом" то что надо читать, то это было бы так:
    1. Таненбаум про его Операционные системы
    2. Таненбаум про аппаратное обеспечение
    3. Язык программирования Python по книге Лутза и при этом чтение "Structure And Interpretation Of Computer Program".
    4. Только после этого приступил бы к чтению Керниган, Ричи "Язык С"
    5. Попытался бы влиться в какой-нибудь OpenSource проект

    Далеее уже следуют попытки понять к чему душа лежит, толи вебу, толи linux kernel module, толи еще что.
    В течении этих пункто НЕПРЕРЫВНО улучшать английский. Большинство серьезной литературы о новых технологиях появлятся сначала на английском.
    Ответ написан
  • Зачем надо использовать трудные способы?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Таблицей гораздо проще это делается

    Производство != ВУЗ , не надо путать теплое с мягким.

    Когда будете на заводе\конторе\фрилансером или еще где, тогда и будете искать такие способы, которые позволяют решить задачу проще, но не в ущерб качеству. А в ВУЗ-е стоит задача научить не проще думать, а научить думать как можно шире!

    Но в целом, надо было смотреть на саму формулировку задачи. Если там нет указаний по поводу способов решения, то вольны выбирать тот способ, который Вам удобнее. А преподу имеете право задавать вопрос "А где в задаче указано про Ваш способ?". А если в задаче указано "решить преобразованиями", то надо решать именно так, как указано и не важно, что есть способ проще! Разве что дописать в качестве "P.S.:" о том что есть способ проще
    Ответ написан
  • Подойдет ли для фриланса Python по Марку Лутцу?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    В 14 лет не стоит заниматься "взрослым" миром. Зачем? Многие из тех кто вращается во "взрослом" мире спят и видят вернуться обратно в детство! Смысл сейчас терять то, что потом будет так не хватать?

    А вообще я бы учил не программирование на Python-е, а более серьезные вещи.

    Вот список:
    * Русский язык - Умение выразить свою мысль используя свой родной язык грамотно, лаконично и ясно.
    * Математика - это просто самый охрененный тренажор для постановки программерского мозга.
    * Английский язык - сейчас очень много вопросов решается только, если читаешь, пишешь, говоришь хотя бы на уровне аналогично знанию руссского гастробайтером. Но чем лучше знаете и применяете, тем больше путей и дверей открывается
    * Физкультура - Пока Вы молоды и организм все еще развивается, то надо его развивать дальше. Уверяю Хороший программер, но без секса - это печально. Посредственный программер(среднячок), но счастливый и довольный жизнь это круто.
    * Коммуникабельные навыки - Эти навыки важны в ЛЮБОМ возрасте. Мы все знаем что в любом классе есть заводилы, лидеры, к ним клеются девченки, их мнение слушают их уважают и им значительно лучше живется. Но даже среднячком быть тоже работа над собою ;) А то когда вырастите не сможете вежливо отказать такому заказчику, которого лучше вообще не видеть и не слышать, не то что с ним работать
    Ответ написан
  • Как решить задачу в расстановке арифметических знаков на Python?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Недавно смотрел учебник по JavaScript на habrahabr.ru. Организован в виде набора постов на хабре. В разделе про рекурсию там было подобное решение. Посмотрите, возможно, это то что Вам нужно
    Ответ написан
  • Стоит ли париться за престижный диплом?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Факт №1: Диплом нужен. Чем более престижнее ВУЗ тем лучше.

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

    Другими словами, Вам никто не мешает развиваться как технарю и специалисту где бы Вы не учились. НО. Более престижный ВУЗ позволит чаще цеплять глаза рекрутеров и тем самым даст Вам уверенность в самом себе. Уверенность в том будущем, когда Вы можете поднять задницу и сказать любому работодателю "ОК. Мы с Вами хорошо работали, но пора и честь знать"

    Факт №2:
    В более престижном ВУЗ-е более профессиональнее люди.

    Я не говорю о количестве. Я говорю о людях. Везде встречаются мозги и очень хорошие мозги. Но в более престижных встречаются чаще. Это говорит о том, что Вы можете начать вращаться среди тех профессионалов, с которыми Вам будет приятнее работать как в течении студенчества, так и в будущем "работая на дядю".
    У меня из коллег и друзей есть и МГУ-шники и Бауманщики. Могут сутками жрать окдан, но ей богу пишут словно Брайн Керниган. Ни строчки лишнего. Строго по делу. А если просишь совета. Услышишь ясное, прогматичное и аргументированное мнение. Да, те кто учился в менее престижном или вообще не учился тоже есть и даже очень бошковитые, но это исключения подчеркивающее правило.
    Ответ написан
  • Стоит ли и где искать студенту подработку на лето?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Ваши цели размыты! Ничего непонятно из того что Вы хотите достичь?
    Прежде всего начинайте с вопросов: "Если ради опыта,то для чего?", "Если ради денег, то на что потратить и сколько надо?". Я бы рекомендовал определиться с Вашими жизненными ценостями и целями. В зависимости от них Ставить вопрос : "Что именно я могу сделать прям вот за эти 2 месяца для достижения одной из жизненной цели?".

    К чему все это? У нас у всех есть только одна жизнь и она не повторится. Как правило, люди хотят жить хорошо, но проблема в том, что они не планируют или не мониторят насколько близко они приблизились к своему "хорошо".

    Рекомендую просмотреть внутрь себя и поспрашивать себя: "Мужик. А ато надо-то?"
    Ответ написан
  • Что необходимо установить для того, чтобы удобно программировать при изучении Python?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    "Без труда не вынуть рыбку из пруда" (с) не мое.
    Я к тому, что избегая одних трудностей не надо создавать другие. При изучении язык для Вас должно быть важным изучить язык так, чтобы Вы могли им пользоваться и мыслить в его терминах. Чтобы голова думала о решении проблемы, а не о том, как это можно выразить с помощью языковых конструкций. Исходя из этого думайте не о том как бы проще написать, а как закрепить языковые конструкции и идиомы в Ваши пальцы!

    Моя рекомендация: Python 3.4 + Sublime Text 3 + Far3 . Консоль и метод "пристального взгляда" в качестве отладочного способа привьет Вам понимание языка. Рекомендую так, потому что на первых порах Вам врядли удастся сделать очень большие приложения. А при небольших по размеру приложений пристальный взгляд и printf-отладка куда лучше закрепляет навыки чем быстрое тыкание в IDE
    Ответ написан
  • Какие есть отличные уроки по Python?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Не знаю подойдет ли Вам мой путь развития. Опишу свой путь изучения Python-а, т.е. ту "дорожку" по которой прошел сам.
    У меня были задачи разного характера:
    * Поискать в логах тестируемого приложения значения одного типа и принять решение, ошибка сборки или нет
    * Обновить версию приложения в исходном код на основе входного json-файла содержащую параметры новой версии
    * Скачать исходники из Mercurial из текущей ревизии, Собрать приложение, Запустить тестовое приложение и если обнаружена ошибка, то откатиться до предыдущего тега по формату ver__ и повторить снова. После обнаружения тега на котором ошибки нет напечатать это в логе

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

    Уверяю Вас: задача + справочник Д.Бизли + Stackoverflow = то что Вам нужно!
    Ответ написан
  • Где найти напарника, что бы учиться кодить?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    У меня есть проект на BitBucket в репозитарии закрытого типа. Написан на C++. Не заброшен. Пилятся фичи, проводятся рефакторинги. Пока все делаю в одиночку. Проект нацелен на разработку тулзы для reverse-engineering-специалистов, т.е. малварщики, антивирусные спецы, пишущие защиты ПО и снимающие эти защиты и др.

    Если интересно, то можешь найти меня на habrahabr и написать в личку
    Ответ написан
  • Как вы структурируете свой процесс обучения?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Не скажу что гуру. Наоборот, мне есть чему научиться. Однако заметил, что чем больше практики, а не чтения книг, тем больше усваивается материала. Моя рекомендация проста: "Пусть любое знание, которое Вы изучаете попадает в Ваш мозг через пальцы, т.е. попытки программирования с применением того что еще только только изучаете". Практику можно взять откуда угодно. Рефакторинг, ответ на вопрос на форуме, написание новой тулзы для себя или друга или просто незнакомого человека в интернет. Если Вам что-то нужно, то беритесь и делайте, а рядом кладите с собою справочники и книги по тому что Вы пытаетесь применить. Да, это не последовательное изучение. Но минус последовательного в том, что Ваш мозг может забыть уйму того что освоил до момента практического применения. Но когда Вы применяет, пусть даже с ошибками или не так концептуально как стоило бы, то Вы получаете реальные и боевые навыки
    Ответ написан
  • Какие книги читать и изучать, чтобы стать настоящим программистом, а не кодером?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    На мой взгляд Ничего специально читать не надо! Программист характеризуется не знанием большого количества технологий и языков, а умением разобраться и решить за приемлемый срок. Очень часто бизнес ставит новые задачи и на скрам-митингах идут обсуждения как бы решить очередную задачу и кому лучше поручить. Так вот, как правило кто-то справляется быстрее, а кто-то медленнее. Все дело в том, что тот кто справляется быстрее зачастую знает не больше чем второй, просто он имеет своего рода универсальный подход к решению задач. Мой Вам совет: развивайте этот самый универсальный подход. Учитесь самому Важному навыку программиста "уметь решать задачи". Разные люди по разному подходят к этому! На страницах одной из классических книг "Искуство программирования под Unix" Роб Пайк сказал про своего коллегку Кернигана "Будучи хорошим программистом я с удивлением обнаружил что очень многому научился у него! Очень часто там где казалось что без отладчика не обойтись ему удавалось выяснить причину ошибки без отладки". Это один из примеров того каким должен программер, а их этих примеров массы!
    Ответ написан
  • Какая скорость чтения (усваивания) технической литературы является для вас приемлемой?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    У меня любая техническая информация забывается, если я ее никак не попробую пальцами. Исходя из этого строю план чтения так:
    1) Беглое, ознакомительное чтение в общественном транспорте, а это как правило в метро или электричке
    2) В результате ознакомительного чтения у меня вырисовывается план углубленного чтения. Это не чтение всего подряд прочитанного при ознакомительном чтении. А ровно те места книги, которые действительно представляют интерес
    3) В процессе чтения я обязательно пишу программу, даже решая ту задачу, которая ранее была решена на другом языке. Мне главное освоиться с языком и так сказать "втереть его в пальцы". Чтобы у меня не возникало тривиальных вопросов по языку и его синтаксису.

    Перед чтением у меня всегда стоит вопрос: "Для чего?", т.е. если это только лишь академический, то не факт что я возьмусь за изучение нового языка. У меня всегда должна быть веская причина для чтения той или иной книги.

    Но всегда! Всегда! Всегда должна быть практика работы с языком, это могут быть попытки ответить на вопросы, написать код самому в своем коде или поправить багу в open-source проекте. Без практики, я не понимаю язык так как должен. Более-того можно хорошо читать по-английски, но с огромным трудом писать на нем. Чтение и писательство это РАЗНОЕ. Писать обязательно нужно! Как вывод: чтение технической книги оооочень затягивается и это еще раз подчеркивает всю важность вопроса "Для чего?"
    Ответ написан
  • С чего начать?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Еще рекомендую развивать навыки решения задач. Это если абстрактно, а если предметно, то рекомендую оглядеться вокруг себя на знакомых\друзей\коллег\родственников или еще кого и увидеть того кого Вы уважаете за то что он может решить почти любую задачу.
    Дело в том, что получает очень много тот, да и живет хорошо, кто может решать задачи и решать правильно, эффективно и с меньшими потерями как финансовыми так и временными.

    Мне сложно посоветовать книгу по развитию таких навыков, но такие навыки нужно прокачивать регулярно.
    Ответ написан
  • Библиотека IT-шника

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Предлагаю:
    * Брукс с его мифическим человеко-месяцем
    * МакКоннел с его Совершенным кодом
    * Читать\Слушать все что только попадется про целеполагание и расстановку приоритетов.
    Ответ написан