4 крокі пра тое, як эфектыўна вывучыць новыя рэчы ў праграмнай інжынерыі

Фота Максвела Нэльсана на Unsplash

Мы ўсе тут і рана ці позна ўсе зноў прызямлімся. Але спачатку пра гэты пост? Я не ношу белае паліто, гэта значыць я не лекар, таму гэты пост на самай справе не рэцэпт, але я спрабую зрабіць, гэта раздаваць парады і падманныя лісты, якія я выкарыстоўваю ўжо амаль 3 гады, і кожную стратэгію Я кажу пра пэўны сцэнар, дзе ён бы прымяняўся. Такім чынам, давай скакаць прама.

Што я маю на ўвазе, калі кажу пра эфектыўнае навучанне?

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

Крок 1. Ведайце гісторыю

Вы павінны ведаць мінулае, каб зразумець сучаснасць. ~ Карл Саган

Мы і наш свет будуем на эвалюцыі, і ўсё, што там ёсць у свеце, няхай гэта будзе тэхналогія, прадукты ці нават ежа, мае свой уласны шлях эвалюцыі. Галоўнае пытанне, які я хачу вам задаць, вывучаючы новую тэхніку, - "чаму гэта так?"

Цяпер я не маю на ўвазе, каб вы пачалі шукаць тэхнічныя прычыны, чаму пэўная тэхніка працуе такім чынам пад капотам, але тое, што я абавязкова маю на ўвазе, паспрабуйце знайсці адказы на пытанні ніжэй, і так, вы ўжо здагадаліся, мы будзем ісці назад у часе:

  • Якую праблему вырашае гэты тэхнік / прадукт?
  • Чаму гэтая праблема паўстала ў першую чаргу?
  • Калі ўзнікла праблема, якія ўсе астатнія рашэнні былі прапанаваны?
  • І, нарэшце, чаму гэты тэкст / прадукт абыграў іншыя рашэнні.

Каб лепш растлумачыць, давайце прымем прыклад Apache Kafka. Каб даведацца пра гэта, я папрасіў бы спытаць, якую праблему вырашае Apache Kafka, і чаму гэтая праблема паўстала ў першую чаргу. Калі ўзьнікла гэтая праблема, якія іншыя рашэньні сьвету шукалі, і нарэшце, што зрабіў Apache Kafka, каб ён зрабіўся такім любімым у тэхнічнай супольнасьці?

Перавагі падыходу: калі вы будзеце выконваць гэтыя крокі, вы не толькі ведаеце, што такое Apache Kafka, але і будзеце ведаць іншыя альтэрнатывы Apache Kafka. Самае галоўнае, вы даведаецеся, калі не карыстацца Apache Kafka і вылучыце іншае рашэнне для той жа праблемы, магчыма, RabbitMQ. Цяпер, калі вы не ведаеце аб гэтых тэхналогіях, усё добра, памятайце, што пра іх абодва ў Інтэрнэце часта абмяркоўваюць, як выкарыстоўваць і дзе ключавыя словы з'яўляюцца гіперспасылкамі, каб праверыць іх.

Крок 2. Мячы і шчыты

Фота Багдана Купрыеца на Unsplash

Ну, гэта мая ўласная аналогія, таму, калі яна не адпавядае правільнаму прабачэнні. Такім чынам, людзі поўныя інстынктаў выжывання і пры небяспецы людзі будуць выкарыстоўваць усе інструменты (навыкі) у наборы інструментаў (якія яны ведаюць), каб выжыць.

Сутнасць стратэгіі Таму дзеля прыкладу ўсе навыкі і тэхналогіі, якія вы ведаеце, - гэта шчыты, а што вы не ведаеце - гэта мячы (таму што ніхто не ведае, як змагацца са скрынкі). Скажам так, вы пачынаеце быць воінам і ведаеце, як выкарыстоўваць шчыт (будучы вашай сілай), і вам трэба навучыцца змагацца, і для гэтага вам трэба ведаць, як карыстацца мячом.

Напрыклад, калі я ведаю Python (шчыт), але не ведаю, што такое API (меч), ​​я магу проста шукаць рэчы ў Інтэрнэце, каб даведацца "Як зрабіць API з дапамогай Python" простым пошукам у Інтэрнэце, і я атрымаю шмат навучальных дапаможнікаў на многіх мовах і некалькі акцэнтаў. Але гэта не нешта новае, практычна кожны робіць гэта так, навошта фантазія назваць стратэгію? Ну, я рады, што вы спыталі, прыведзены вышэй прыклад даволі просты, але што, калі я скажу, што вы не ведаеце python і вы не ведаеце, што такое API, і вам трэба зрабіць API у python (зараз у вас ёсць два мячы і няма шчытоў). Як бы вы вырашылі гэта?

Я вам скажу, мы ўсё робім. Мы спачатку шукаем, што менавіта ўяўляе сабой API (выбярэм адзін меч, навучымся зрабіць яго шчытом), а потым шукаем, як зрабіць API ў Python (другі меч з паняццямі API як шчыт).

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

Дык чым гэтая стратэгія адрозніваецца? Таму ў сакавіку 2019 года мне было заданне вывучыць і рэалізаваць Akka з дапамогай Java. А я быў распрацоўнікам C #, які знаходзіўся ўсяго некалькі месяцаў у карчме з вывучэннем пітона. Цяпер я не ведаў Java і не ведаў, што такое Akka (два мячы). Такім чынам, я выбраў спосаб, які мы абмяркоўвалі крыху вышэй, і я пачаў з Akka, і гэта гісторыя (з кроку 1), і неўзабаве я паглыбіўся ў разуменне таго, што менавіта Akka і якую праблему ён вырашае, і чаму мы абралі Akka для вырашэння праблемы ў першае месца, але 0 ведаў пра тое, як я мог на самай справе кодаваць і ўзяць узоры. Дакументацыя была страшнай, і я да гэтага часу не магу зразумець іх дакументацыю, і кожны падручнік, які я праглядаў на Java, не меў сэнсу. Дык што я зрабіў?

Я рабіў ацэнку мячоў і шчытоў, мае шчыты - C #, Python, нядаўна дасягнутыя веды пра Akka. Мае мячы: Java, кадаванне рашэнняў Akka. Такім чынам, я пашукаў рэалізацыі Akka ў C # і Python, і знайшоў адзін, які называецца akka.net для рэалізацыі Akka з дапамогай C #. Я правёў выходныя, працуючы над праектам у C #, каб даведацца, як правільна кодаваць з Akka ў C #, і калі я ў панядзелак вярнуўся на працу, я ведаў, што такое Акка, навошта выкарыстоўваць яго і як мы можам гэта зашыфраваць (зараз шчыт ) а потым, паколькі я ведаў, што хачу зрабіць, мне проста трэба было шукаць "як зрабіць гэта / тую акку-джаву" (ява - меч), ​​і ў гэты раз Інтэрнэт працаваў на маю карысць.

Крок 3: Выкрасці план навучання, жартуючы, проста выканайце яго

Гэта ў асноўным для тых, хто толькі пачынае працаваць у гэтай галіне, але вельмі карысна. Ёсць шмат вэб-сайтаў / прыкладанняў, на якіх ёсць навучальныя курсы ў Інтэрнэце, і ўсе яны прыкладаюць цэннік, і не кожны можа дазволіць сабе гэтыя падпіскі, і ўсё, што яны ў канчатковым выніку робяць, ідзе на YouTube і шукае кантэнт, і шмат з іх ёсць паспяховым, але многія з іх не. Паколькі там так шмат шуму, шмат хто з нас, як правіла, губляецца і з часам цікавіцца. Калі вы апынецеся ў такой сітуацыі, у мяне ёсць ідэальны шпаргалка для вас, і гэта будзе каштаваць вам усяго 0 грошай !!

Шчыт-ліст Перайдзіце на любы з гэтых платных сяброў, падпісвайцеся толькі сайты і знайдзіце курс, які вы хацелі б прайсці. Шмат знайшлі? (адзін таксама зробіць) Ідэальна зараз класіфікаваць гэтыя курсы на 3 этапы пачаткоўцаў, прамежкавых, прасунутых (на многіх гэтых сайтах ужо ёсць свой змест, класіфікаваны як гэты). Цяпер, калі ў вас ёсць усе відэдалагічныя курсы, выцягніце іх змест і зліце ўсе змесціва ў адну пад 3 катэгорыі (для пачаткоўцаў, прамежкавых і прасунутых) і там у вас ёсць. У вас ёсць праграма зверху ўніз з рэчаў, якія вы павінны былі ахопліваць, каб быць на ўзроўні пачаткоўцаў тэхнікі, тады вы павінны вывучыць гэтыя тэмы для пераходу ад пачаткоўца да прамежкавага ўзроўню ў гэтай тэхніцы і гэтак далей. Цяпер у вас ёсць спіс, усталюйце мэты, якія дапамогуць вам заставацца матываванымі, а цяпер проста канкрэтныя тэмы YouTube, каб ваш новы навучальны план і вучыцца далей. Для пачатку вы ўбачыце велізарную розніцу ў тым, што шукаеце. З "Python для пачаткоўцаў" або "даведайцеся Python" вы будзеце шукаць "спіс паняццяў у python". Шум проста выйшаў з акна (хто-небудзь, калі ласка, адключыце шумаадвод)

Крок 4: Праверце свае веды

І зараз, калі вы паклалі ўсе гэтыя парады і падманшчыкі для працы і даведаліся нешта новае, прыйшоў час праверыць свае веды, каб вы маглі наладзіць свой шлях у выпадку, калі вы адцягнуліся. Для гэтага я ўяўляю вам Stack Overflow і іншыя форумы ў Інтэрнэце, дзе людзі адпраўляюць свае пытанні, шукаючы адказы. Ад высокакваліфікаваных і пачаткоўцаў, пытанні рознага роду задаюць там. Паспрабуйце адказаць на іх пытанне, абапіраючыся на атрыманыя веды. Паверце мне, вы зможаце адказаць на некалькі пытанняў тут і там, і тады іншыя адказы таксама будуць публікаваць свае адказы. Цяпер арыенціруйце свае адказы на іншыя адказы і паспрабуйце паглядзець, які з іх будзе лепш і чаму. Гэта дасць вам дастаткова рук з тэхналогіямі, якія вы спрабуеце вывучыць, і паскорыць працэс. Не бойцеся правалу, таму што ў многіх выпадках вы атрымаеце адказ правільна.

Выснова

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

"Пакуль мы вучым, мы вучымся", - сказаў рымскі філосаф Сенека

Калі гэты пост быў карысным, калі ласка, некалькі разоў націсніце клавішу «Хлопчык», каб паказаць сваю падтрымку! ⬇⬇