Часть 2: Обучения обучению
InВ partпервой 1части ofэтой thisглавы, series,мы weпроверили examinedпугающий the intimidation factor ofфактор Haskell. WeУвидели sawпару aпричин, coupleпочему reasonsлюди why people seeвидят Haskell asвызывающим, challenging,и andпочему, whyвозможно, perhapsони theyне shouldn't.дложны Inэтого this part, we’ll pick up on some of the threads of that conversation. We'll explore the how of learning Haskell (and other things)делать. We’llВ examineэтой someглаве, generalмы ideasзатроним onнесколько learningтем andпрошлой discussстатьи. howИзучи toкак applyизучать themHaskell(и toдругие programming.вещи). Изучим некоторые общие идеи обучения и обсудим как применять их к программированию.
OnceДальше you'reперейдем doneк here, move on to partчасти 3, whereгде you'llвы learnизучите evenеще moreбольше specificспецифических techniquesтехник forдля learning.обучения. We'llМы startначнем drillingпогружаться downв intoприменение applyingэтим someидей of these learning ideas toк Haskell.
Уорен Баффетт и составной интерес
OfУорен course,Баффетт knowingчасто theoryговорит isо great,производительности. butОн atговорит, someчто pointон youчитатет haveпорядка to500 practice!страниц Whenв you'reдень, readyи toэто getодин coding,из downloadключевых ourмоментов Beginner'sего Checklistуспеха. forЗнание, someсогласно materialБаффетту, onэто gettingсоставной started!интерес. Чем больше ты получаешь и устанавливаешь связи, тем большее это собирается в единую картину и становится возможным строить на её основе.
В чем заключается апофеоз этой фразы. Я нахожу её правильно звучащей при изучении разных тем. Я увидел, как мои знания стали строится сами по себе. До сих пор неправильное понимание этой фразы ведет людей проводя много времени реализуя этот принцип.
Простой факт, что средний человек, не имеет времени для чтения 500 страниц в день. Первое, если он читает так много, Уорен Баффетт скорей всего опытный быстрочитающий человек, поэтому ему нужно меньше времени. Второе, он гораздо больше контроллирует свое время, в отличии от большинства других людей. В моей работе разработчика ПО, я н емогу проводить полностью 80% моей работы в чтении и думании. Этим я заставлю свою команду и проект менеджера делать, что-то со мной.
В среднем люди будут видеть этот совет и решат, начать читать тонну литературы вне рабочего времени. И они даже преуспеют в чтении 500 страниц в день ... на пару дней. Ну а потом жизнь вернется в обычное русло. Они не захотят тратить своё время через несколько дней на чтение, и привычка будет отложена.
WARRENЛучшее BUFFETT AND COMPOUND INTERESTприменение
There’sНу anчто oft-repeatedже lineкак onдостичь productivityэффект aboutописанный Warrenвыше? Buffett.Реальное Heнепонимание, saysя heнашел readsв atследующем. leastКлючевой 500момент pagesв aподходе day,это andвремя, thisно isне oneсреднее. ofДелая theмаленькие, majorповторяющиеся keysвклады, toбудут hisиметь success.большее Knowledge,вознаграждение accordingпозже. toКонечно, Buffett,чем isбольше likeэто compoundвложение interest.тем Theбольше moreвознаграждение youтоже. acquire,Но theесли moreвложение itзаставляет accumulatesнас andбросить isпривычку, ableто toэто build on itself as you make more connections.плохо.
TheПользуясь whyэтой ofидей, thisмы statementможем isприменить fantastic.её I’veк foundдругим itтемам, ringsвключая trueHaskell. asМы Iможем exploreбыть differentнастроены topics.посвятить Iчас haveкаждый seenдень howдля myизучения knowledgeнекоторые hasчастичек begunидей buildingHaskell. onНо itself.это Andчасто yet,не theвозможно. howГораздо isпроще oftenпосвятить misunderstood15 andминут misinterpreted.в Thisдень, leadsили peopleдаже to10 haveминут aв difficultдень. timeЭто implementingбудет Buffett'sпризнаком principle.того, что мы тратим на обучение. В любой день, может быть трудно выделить это время для чего-то. Ваше расписание, не должно позволять длится этому долго. Но вы высегда можете найти 15 минут. Это будет гораздно проще, чем "начать в любой день", и даст больший результат.
TheСогласно simpleпринципу, factпрогресс isоснован thatна the average person does not have time to read 500 pages a day. First, if he reads so much, Warren Buffett is likely an accomplished speed reader, so he needs less time. Second, he is in far more control of his time than most other people due to his wealth. In my current job as a software engineer, I cannot spend a full 80% of my working day on “reading and thinking”времени. IОтдавая would15 haveминут someпаре veryразличных unhappyпроектов, teammatesя andдовольно projectдалеко managersпродвинулся. toМне dealудалось with.
Theбольше, averageчем personесли willбы seeя thisвытался adviceполучить andчас decideвремени toтут startи readingтам. aЯ tonсмог outsideначать ofписать workingстатьи, hours.так Theyкак mightэтому evenпосвятил succeed20 inминут hittingв 500день.
pagesИ aкак day.только я провел месяц таким образом, я оказался в отличной форме..for a couple days. Then of course life gets in the way. They won’t have time over a few days to do it, and they’ll drop the habit entirely.
AДжош BETTERВайцкин APPLICATIONи преодоление труностей.
SoЕще howс doодной weхорошей achieveидеей theобучения compoundобучению knowledgeя effect?столкнулся Theв real misinterpretation I find about this advice is this. The key factor in compound interest is time, not average investment. Making small, repeated contributions will have major rewards later on. Of course, big, repeated contributions will have major rewards as well. But if the investment causes us to give up the habit, we'll be worse off over time.
Once we accept this idea, we can apply it to other topics, including Haskell. We might be tempted to devote an hour every day to learning some particular Haskell concept. But this is often unsustainable. It is far easier to devote at least 15 minutes a day, or even 10 minutes a day. This will ensure we’re going to continue learning. On any given day, it can be hard to carve out a full hour for something. Your schedule might not allow that contiguous block of time. But you should always be able to find a 15 minute block. This will dramtically lower the barrier of starting each day, so you'll be more likely to succeed.
In keeping with the compound interest principle, progress is momentum based. By committing to 15 minutes a day on a couple different projects, I’ve made a ton of progress. I've accomplished far more than if I had tried to carve out an hour here and there. I was only able to start writing online because I devoted 20 minutes a day to writing. Once I stuck with that for a month, I was in good shape.
JOSH WAITZKIN AND CONFRONTING DIFFICULTIES
Another of the most important ideas about learning I’ve encountered comes from "The Art of Learning,Learning" byДжош JoshВайцкин. Waitzkin.Он Heодаренный isшахматист aи formerмеждународный chessмастер. prodigyОн andописал internationalисторию, masterкоторая turnedбыла world-championвсем martialслишком artist.знакома, Heтак describesкак aв storyдетстве thatя wasтоже all-tooиграл familiarв toшахматы. meОн asвидел aмножество fellowмолодых childhoodребят chessсо player.способностями. HeОн sawмогли manyпобедить youngвсех playersвокруг withв aшколе lotи ofв potential.шахматном Theyкружке. wouldНо beatони everyoneникогда aroundне themборолись atс theirсильными schoolигроками. orКак localрезультат, chessони club.заканчивали Butвыходом theyиз neverшахмат broughtвовсе. themselvesОни toстолько faceвкладывали strongerв opposition.идею Asпобеды aв result,каждой theyигре, endedчто upсильно notущемляло improving,гордость andв ultimatelyмоменты quitкогда chess.они They were so invested in the idea of winning every game that losing to anyone was too much of a blow to their pride.проигрывали.
IfЕсли weмы focusслишком onсосредоточимся ourна egosнашем tooэго, much,мы we’llиспугаемся beпоказаться afraidслабыми. ofЭто appearingзаставляет weak.нас Thisизбегать causesконфронтации usсо toзнаниями, avoidгде confrontingмы theслабы. areasЭто ofи ourесть knowledgeто, whereчто weнам actuallyнужно areусилить. weak.Если Andмы theseникогда areне exactlyобращались theв areasэту weчасть, needмы toникогда strengthen!не Ifулушим weеё, neverи addressне theseсможем areas,побороть we’llбольшой never improve, and we won't be able to beat big challenges.вызов.
CONFRONTINGПобороть HASKELL
So how does this affect learning Haskell, or programming in general? After all, programming is not a competitive game. And yet, there are still ways in which this mentality can hurt us. We might stay away from a particular topic because it seems difficult. We're concerned that we'll try to learn it and fail. And we worry this failure will reveal how peculiarly unfit we are to be Haskell developers. Worse, we're afraid to ask other programmers for help. What if they look down on us for our lack of knowledge?
I have three main responses to this. First, I'll repeat a note from part 1. A topic is infinitely more intimidating when you know nothing about it. Once you know even the most basic definitions, you have a reasonable idea of what you're missing. Get as basic an idea of it as you can and write it down in plain English. You might not know the subject. But it will no longer be an "unknown-unknown".
Second, who cares if you put in effort toward learning something and fail? Try again! It can take several iterations of learning on a single topic before you understand it. It took me at least three tries before I understood monads!
Finally, the very people we are afraid to admit our weaknesses to are the same people who can actually help us overcome these weakness. Better yet, they are often more than happy to do so! This involves getting over our primal fears of appearing inferior and being rejected by others. This is difficult but not impossible.
CONCLUSION
So remember the key lessons here. Focus a little bit at first. Don’t commit to learning more than 15 minutes a day, and pick a project with clear progress. Keep momentum going by working at something every day. Don't worry if a concept seems difficult. It's OK to take several tries at learning something. And above all, never be afraid to ask for help.
One great way to keep momentum going is to read part 3 in this series! We'll start diving into some techniques that are more specific and applicable!
Or even better, get coding now! Download our Beginner's Checklist to start your journey!