Code ေရးနည္း သင္ေပးရင္း Hardware အပုိင္းမွာ တုိင္ပတ္ျခင္း

ကြ်န္ေတာ္ ေကာင္မေလးကုိ Code ေရးနည္း သင္ရင္း ရရွိေသာ သင္ခန္းစာမ်ား.

Kelvin Morris
In burmese

--

ဒီႏွစ္ ဧျပီ ကေန ဂ်ဴလုိင္အထိ ကြ်န္ေတာ္ ေကာင္မေလးကုိ Programming သင္ေပးခဲ့တယ္။ သင္ခန္းစာ ရတာကေတာ့ လူတစ္ေယာက္ကုိ Code ေရးတက္ဖုိ့ သင္ေပးရာမွာ Hardware က အဓိကက်တယ္ ဆုိတာပါပဲ။ CodecademyKhan Academy နဲ ့Scratch တုိ ့လို site ေတြမွာ သင္ၾကားေရးအတြက္ ဘယ္ေလာက္ပဲ ေပါ့ေအာင္လုပ္ထားတဲ့ Code Editor ေတြရွိရွိ တကယ္တမ္း Software ေရးၾကပါျပီရဲ ့ ဆုိရင္ သက္ဆုိင္ရာ Code Editor ေတြကုိ သုံးၾကရတာပဲေလ။ Software ေကာင္းေကာင္း ေတြကုိ သင္ၾကားတဲ့ သင္ခန္စာ ေကာင္းေကာင္း အတြက္ စတင္ေလ့လာသူေတြမွာ Hardware ေကာင္းေကာင္းဆုိတာကလည္း ရွိသင့္ ရွိထုိက္တယ္လုိ ့ ယူဆပါတယ္။ ရွင္းျပပါရေစ။

ဇာတ္လမ္း အစုံအလင္

ကြ်န္ေတာ္ဟာ Carnegie Mellon မွာ ကြန္ပ်ဴတာသိပၸံ ဘာသာရပ္ကုိ သင္ၾကားခဲ့ပါတယ္။ ကြ်န္ေတာ္ Coding skill ကေတာ့ အကြ်မ္းၾကီးေတာ့ မဟုတ္ေပမယ့္ Quora လုိ website မ်ိဳးမွာ product designer ေတာ့ ရထားပါတယ္။

တစ္ႏွစ္ေလာက္ၾကာေတာ့ ေကာင္မေလးနဲ ့ ဂ်ပန္မွာေတြ ့တယ္။ သူက အဲဒီမွာပဲေနတာေလ။ သူက တုိက်ိဳ အမ်ိဳးသမီး ေကာလိပ္မွာ Marketing နဲ ့ ရုိးရာယဥ္ေက်းမႈ ဘာသာရပ္ကုိ သင္ခဲ့တယ္။ ကြ်န္ေတာ္တုိ ့ေတြ ့တဲ့ အခ်ိန္မွာေတာ့ သူက တုိက်ိဳက payment startup တစ္ခုမွ အေရာင္းဝန္ထမ္း အေနနဲ ့လုပ္ေနျပီ။

ဒါေပမယ့္ သူက တကယ္ေတာ့ ဒီဇုိင္နာ ျဖစ္ခ်င္တာ ၊ သူ ကုိယ္တုိင္ကလည္း Software နဲ ့ပတ္သတ္ျပီး စိတ္ဝင္စားတာရယ္ ၊ အျမင္ရွိတာရယ္ေၾကာင့္ ကြ်န္ေတာ္ကေတာ့ သူ ့ကုိ Software Product design ဘက္မွာ လုပ္ဖုိ ့ အၾကံေပးခဲ့ေသးတယ္။

အေနာက္တုိင္းက နည္းပညာေတြနဲ ့စာရင္ ႏွစ္အနည္းငယ္ေလာက္ ဂ်ပန္ဟာ ေနာက္က် ေနေပမယ့္ မၾကာေသးခင္ကမွ ဂ်ပန္ နည္းပညာ အသုိင္းအဝိုင္းဟာ ဒီဇိုင္း နဲ ့ လူေတြ အသုံးျပဳရလြယ္ကူဖုိ ့ ဘက္ကုိ အသားေပးလာၾကပါတယ္။ ဘာပဲေျပာေျပာ ဂ်ပန္မွာ product designer နဲ ့ပတ္သတ္တဲ့ အလုပ္လိုအပ္ခ်က္ ဟာ မ်ားေနေသးတာေၾကာင့္ ကြ်န္ေတာ္ ေကာင္မေလးကုိ အဲဒါနဲ ့ပတ္သတ္တဲ့ ေနာက္ခံ ပညာေရး မရွိေပမယ့္လည္း product designer တစ္ေယာက္ ျဖစ္ေစခ်င္ခဲ့ပါတယ္။

အဆင္ေျပသြားတာကေတာ့ သူ ဧျပီမွာ အလုပ္ထြက္ျပီး ကြ်န္ေတာ္ရွိတဲ့ ဆန္ဖရန္စစၥကုိ ကိုလာလည္တာပဲ။ ကြ်န္ေတာ္တုိ ့သုံးလေလာက္ အတူေနျပီး ကြ်န္ေတာ္ အားတဲ့ အခ်ိန္မွာ product designer ျဖစ္ဖုိ ့ အေျခခံေတြကုိ သင္ေပးႏုိင္ခဲ့တယ္။ သူကုိယ္တုိင္ကလည္း တုိက်ိဳျပန္ေရာက္ ေတာ့ အလုပ္ ရဖုိ ့ကုိ အေတာ္ေလး ၾကိဳးစားရွာပါတယ္။

သူမကုိ Code ေရးနည္း သင္ေပးျခင္း

ကြ်န္ေတာ္ကေတာ့ software product designer တုိင္းဟာ code ေတာ့ ေရးတက္ ဖုိ ့လုိပါတယ္လို ့ ယူဆပါတယ္။ ဘာေၾကာင့္လဲ သိခ်င္ရင္ေတာ့ 37signals ကေရးခဲ့တဲ့ စာႏွစ္ပုဒ္ ျဖစ္တဲ့ Web designers should do their own HTML/CSS နဲ့ Learning Rails made me a better designer တုိ ့ကုိသာ ဖတ္ဖုိ ့တုိက္တြန္းပါရေစ။

ခင္ဗ်ား ထင္တဲ့ အတုိင္းပဲ ကြ်န္ေတာ္ ေကာင္မေလးဟာ ဘဝမွ Code ဆိုလုိ့ တစ္ေၾကာင္းမွ မေရးဖူးပါဘူး။ အဲဒါက Photoshop နဲ ့တျခား design skill ေတြလုိ အခက္အခဲေတြ ထက္စာရင္ ျပသနာက ပုိၾကီးပါတယ္။ ဒါေၾကာင့္ Code ေရးတာ အရင္ သင္ဖုိ ့ ဆုံးျဖတ္ခဲ့ပါတယ္။

HTML/CSS ကစျပီး ျပီးေတာ့ Jekyll/SCSS တုိ ့ကုိ ဆက္သင္ပါတယ္။ သုည ကေန Blog theme ေလးတစ္ခုနဲ ့ သူ ့ဖာသာသူ ရုိက္ထားတဲ့ Model Gallery ေလးကုိ ေတာ့ သူဖာသာ သူ ေရးႏုိင္တဲ့ အေျခအေနအထိ တုိးတက္လာျပီး ႏွစ္ခုလုံးကုိ Jekyll/SCSS နဲ ့ပဲ ေရးတာပါ။

သူမွာ အဂၤလိပ္စာနဲ ့ပတ္သတ္ျပီး အေျခခံေလာက္ပဲ တက္ေတာ့ Online မွာေရာ စာအုပ္ အေနနဲ ့ပါ ေလ့လာဖုိ ့ရာ အပိတ္အပင္ အတားအဆီးေတြ အမ်ားၾကီးပါပဲ။ ေနာက္ျပီး ကြ်န္ေတာ္ကလည္း ဂ်ပန္လုိေရးထားတဲ့ အေျခခံ အဆင့္ HTML/CSS စာအုပ္ေတြ တစ္အုပ္မွ မၾကိဳက္ဘူး။ အဲဒါေၾကာင့္ သူ ့အတြက္ ဂ်ပန္လို ေရးထားတဲ့ HTML/CSS စာအုပ္ကုိ ကြ်န္ေတာ္ကုိယ္တုိင္ ျပန္ေရးရတာေပါ့။ (ေအာက္က ပုံ ပါ )

My own HTML/CSS textbook in Japanese. Teaching pseudo selectors (left) and absolute positioning (right). Powered by Google Docs.

ေနာင္ၾကရင္ေတာ့ ကြ်န္ေတာ္ အဲဒီ စာအုပ္ကုိ အဂၤလိပ္လုိ ျပန္ျပီး ထုတ္ဖုိ ့ေတာ့ အစီအစဥ္ ရွိပါတယ္။ ဒါေပမယ့္ အခုကေတာ့ ေတြ ့ရၾကံဳရတာကိုပဲ ဆက္ေျပာခ်င္ပါေသးတယ္။

ေနာက္ပုိင္းမွ သူ ့ကို သိသိသာသာ အေထာက္အကူ ျပဳေပးေနတာ ကြ်န္ေတာ္ ကုိယ္တုိင္ ေရးတဲ့ tutorial မဟုတ္ပဲနဲ ့ သူ သုံးေနတဲ့ စက္ေၾကာင့္ အဆင္ေျပေနတာကုိ သတိထားမိသြားပါတယ္။

ပထမ Hardware ျပႆနာ

သူ ့ကုိ အေျခခံေလာက္ သင္ျပီးတဲ့ ေနာက္မွေတာ့ HTML/CSS ကုိ သုံးျပီး ကြ်န္ေတာ္ ေရြးထားတဲ့ website ေတြကုိ အစကေန ျပန္ေဆာက္ ၊ trace ျပန္လုိက္ခုိင္းတဲ့ အခါမွေတာ့ ျပသနာက စပါေလေတာ့တယ္။ သူ ့ျပန္လုပ္ထားတဲ့ ဆုိဒ္ဟာ မူရင္းနဲ ့ လုံးဝကုိ တပုံစံထဲ ျဖစ္ရမွာျပီး အဲဒီ HTML ကလည္း တကယ္ကုိ ေသေသသပ္သပ္ နဲ ့ရွိရမယ့္ စည္းမ်ဥ္းစည္းကမ္း လုိက္နာ ရမွာ ျဖစ္ပါတယ္။

သူ ့ကုိ တကယ္တမ္း အေကာင္းဆုံးသင္ေပးတာကေတာ့ တကယ္ project မွာ လုပ္ခုိင္းတာပါပဲ။ ဘာျဖစ္လုိ ့လဲ ဆုိေတာ့ သူကုိယ္တုိင္ကလည္း သူၾကိဳက္တဲ့ webiste တုိ ့ ဥပမာ Medium တုိ ့ Svbtle ဘာတုိ ့မရွိေတာ့ ကြ်န္ေတာ္ ကုိယ္တုိင္ သတ္မွတ္ရပါတယ္။

အစကေတာ့ ကြ်န္ေတာ္ရဲ ့ ၂၃ လက္မ ေမာ္နီတာ အေဟာင္းေလးနဲ ့သူရဲ ့ Macbook Air နဲ ့တြဲသုံးတာေပါ့။ ဒါေပမယ့္ သူေရးေနရင္းနဲ ့ Screen ကုိ ခဏခဏ ေျပာင္းေနရပါေတာ့တယ္။ အနည္းဆုံးေတာ့ သူမ အေနနဲ ့ ေအာက္က window ငါးခု ကုိ ျပိဳင္တူ ဖြင့္ထားဖုိ ့လုိပါတယ္။

  1. နမူနာထားမယ့္ ဆုိဒ္ကုိ ဖြင့္ထားရမယ့္ chrome window တစ္ခု။ ပုံရဲ ့ ညာဖက္ အေပၚဖက္က။
  2. လက္ရွိလုပ္ေနတဲ့ HTML file အတြက္ ဖြင့္ထားရမယ့္ Chrome window က တစ္ခု။ ပုံရဲ ့ ဘယ္ဘက္ အေပၚဘက္ျခမ္း ။
  3. Sublime Text 2 window ၊ HTML view ျမင္ကြင္းနဲ ့ CSS view ျမင္ကြင္း ႏွစ္ျခမ္းခြဲထား ။ ပုံရဲ ့ ေအာက္ဘယ္ဘက္ အျခမ္း။
  4. Evernote window ၊ မွတ္စရာေတြနဲ ့ ကူးစရာ ကုတ္ေတြ ထားရန္။ ပုံရဲ ့ ညာဘက္ ေအာက္ အျခမ္း။
  5. A GitHub for Mac window to သူျပင္တဲ့ Code ေတြၾကည့္ႏုိင္ေအာင္ ထားထားပါတယ္။ သူ Github အေကာင့္ကုိ နဲ ့ခ်ိတ္ထားေတာ့ သူေရးတဲ့ code ေတြ pull request ေတြကုိ ၾကည့္ႏုိင္တာေပါ့။ ဘယ္ဖက္ေထာင့္ဆုံးပုံ။

Window တစ္ခုခ်င္းဆီက အၾကမ္းျဖင္း 1280x800 pixel ေလာက္လုိတယ္။ ေနာက္ဆုံးေတာ့ ကြ်န္ေတာ္ရဲ ့ လက္မသုံးဆယ္ Cinema Display ေမာ္နီတာ ကုိ ခဏငွားလုိက္တယ္။ 2560x1600 pixel resolution ေလာက္မွပဲ အေပၚက window ငါးခုေလာက္ကုိ တျပိဳင္နက္ ျပဖုိ ့အဆင္ေျပေလာက္မွာ။ ေနာက္ဆုံး window ကေတာ့ သူ ့latop ေပၚမွာေပါ့။ Window managment အတြက္ကေတာ့ သူ Moom ကုိသုံးခဲ့တယ္။

၂၃ လက္မ ေမာ္နီတာ (အေပၚ) ႏွင့္ လက္မ ၃၀ ေမာ္နီတာ (ေအာက္)

ဘာျဖစ္လုိ ့သူ window ေတြ အမ်ားၾကီးကို တျပိဳင္နက္ ၾကည့္ဖုိ ့လုိမလဲ ? အေၾကာင္းအရင္း ကေတာ့ စတင္ေလ့လာတဲ့သူေတြက ကုိယ့္ကုတ္ကုိ ေရးျပီးတာနဲ့ ခ်က္ခ်င္း ေျပာင္းတာ ျမင္ခ်င္ၾကတက္ပါတယ္။

Brett Victor ရဲ ့ မွတ္သားစရာ စာအုပ္ျဖစ္တဲ့ Learnable Programming ထဲမွာ ညြန္ျပထားတဲ့ “လုပ္ရင္းနဲ ့သင္” ဆုိတဲ့ သင္ၾကားတဲ့ နည္းလမ္းထဲက ညြန္းဆုိရမယ္ ဆုိရင္

လုပ္ရင္းနဲ ့သင္ဆုိတဲ့ နည္းလမ္းက တစ္ခုခုကုိ စလုပ္ျပီး မွားခဲ့ရင္ေတာင္ ျပင္ဖုိ ့ ၾကိဳးစားရင္နဲ ့ သင္ၾကားမႈကုိ ဆုိလုိပါတယ္။

အဲဒီအတုိင္းပဲ ကြ်န္ေတာ္ ေကာင္မေလးက လုပ္တာပါပဲ။ ပထမဆုံး သူ လုပ္ရမယ့္ Page ကုိဆုံးျဖတ္တယ္။ ေနာက္ျပီး အဲဒါနဲ ့ဆင္တဲ့ Code ကုိ ၾကိဳးစားျပီး ေရးၾကည့္ တယ္။ ေနာက္ေတာ့ တူမတူကုိ ယွဥ္ျပီး ဆုံးျဖတ္ၾကည့္တယ္။ အဲဒီလုိမ်ိဳး အခါခါ စမ္းရင္ ျပင္ရင္းနဲ ့ မူရင္းနဲ ့သူမေရးတာ တူသြားေတာ့မွ ရပ္ပါေတာ့တယ္။

ဒုတိယအဆင့္နဲ ့ တတိယအဆင့္မွာ Codekit ကုိသုံးျပီး Browser ကုိ refresh လုပ္ခုိင္းထားေတာ့ Ctrl+R (reload) လုပ္စရာမလုိပဲနဲ ့ ခ်က္ခ်င္း browser မွာ တန္းေပၚပါတယ္။ သူ တစ္ခုခုမွားရင္လည္း Github for Mac ကိုသုံးျပီး “ဘြာေတး” လုပ္လုိ ့လည္း ရေသးတယ္။ အဆင့္တုိင္းမွာ သူအေနနဲ ့ အမွားတစ္ခုထဲကုိ ထပ္ခါထပ္ခါ မမွားေအာင္ note ထုတ္ျပီး မွတ္ထားေလ့ရွိပါတယ္။

ဒါေၾကာင့္ မလုိအပ္ပဲ ၾကာေနတာေတြကုိ ေလွ်ာ့ခ်ႏုိင္ေအာင္ Window ငါးခုလုံးက တခ်ိန္တည္း ဖြင့္ထားဖုိ ့လုိတာပါ။ အားလုံးကုိ တခ်ိန္တည္း ျမင္ေနတဲ့ အခါ သူ အေနနဲ ့ ျမန္ျမန္ဆန္ဆန္ တုံ့ျပန္ႏုိင္တာေပါ့။

ဒါေပမယ့္ ခင္ဗ်ားကေတာ့ ဒီလုိ ေျပာခ်င္ေျပာမွာေပါ့ “အပုိေတြ ေျပာမေနနဲ ့ ⌘+number နဲ ့ ⌘+tab လုိ shortcut ေတြက ဘာလုပ္ဖုိ ့ထားထားတာလဲ”။ ဟုတ္ပါတယ္။ ဒါေပမယ့္ စစသုံးျခင္း Coder ေတြဟာ window တစ္ခုနဲ ့တစ္ခုကုိ switch လုပ္ဖုိ ့ကုိ က်င့္သားမရေသးပါဘူး။ ကြ်န္ေတာ္တုိ ့ ဒီနည္းလမ္းကုိ သင္ေပးလုိ ့ရေပမယ့္ စစျခင္းမွာ သုံးဖုိ ့အဆင္သင့္ မျဖစ္ေသးပါဘူး။ စတင္ေလ့လာသူေတြကုိ စစျခင္းမွာ ဝန္မပိေစခ်င္ပါဘူး။

ေနာက္ပုိင္းၾကေတာ့ ကြ်န္ေတာ္ေကာင္မေလးဟာ လက္မ ၃၀ ေမာ္နီတာ မရွိရင္ Code ေတာင္ မေရးခ်င္ေတာ့ပါဘူး။ ကြ်န္ေတာ္ အခန္းက Wifi သုံးလုိ ့ရတဲ့ Coffee ဆုိင္ေတြ အေျမာက္အျမားရွိတဲ့ Palo Alto ျမိဳ ့ထဲကေန ့ ဆုိင္ကယ္စီးရင္ သိပ္မေဝးေပမယ့္ အဲဒီ ေမာ္နီတာ အၾကီးၾကီး သုံးခ်င္တာနဲ ့ ကြ်န္ေတာ္ အခန္းမွာပဲေနျပီး Code ေရးပါေတာ့တယ္။ ကေလးဆုိး ၾကီး တစ္ေယာက္လုိ ျဖစ္ေနေပမယ့္ Code ကုိ ေနာက္ပုိင္းမွာ ျမန္ျမန္ဆန္ဆန္ ေရးႏုိင္လာျပီး တျဖည္းျဖည္းနဲ ့ အေပၚက ေျပာခဲ့တဲ့ Shortcut ေတြပါ သုံးႏုိင္တဲ့ အထိ ကြ်မ္းက်င္လာပါတယ္။

တကယ္တမ္း စဥ္းစားၾကည့္ရင္ ကြ်န္ေတာ္တုိ ့လုိ အေတြ ့အၾကံဳရွိတဲ့သူေတြေတာင္ ေမာ္နီတာ အၾကီးၾကီးကုိ သုံးရတာ သေဘာေတြ ့ပါေသးတယ္။

ကြ်န္ေတာ္ ကုမၸဏီတစ္ခုမွာ မန္ေနဂ်ာ လုပ္တုံးက အင္ဂ်င္နီယာ တစ္ေယာက္ ေျပာဖူးတာပါ။ သူ က ကုမၸဏီကထြက္ျပီး ကုမၸဏီအေသးေလး တစ္ခု ဆီ ေျပာင္းမယ္ လုပ္တုံးက ကြ်န္ေတာ္ ေမးဖူးပါတယ္။

ကြ်န္ေတာ္: ဘာလုိ ့ ဒီကေန ထြက္တာလဲ?
သူ : အဲဒီမွာ ေမာ္နီတာအၾကီးၾကီးေတြ သုံးလုိ ့ရတယ္ကြ

ဒီေတာ့ ဘာလုိ ့ စေလ့လာသူေတြကုိလည္း ေမာ္နီတာ အၾကီးၾကီးေတြ ေပးမသုံး ရမွာလဲ။ တည္တည္ျငိမ္ျငိမ္ အလုပ္လုပ္ႏုိင္ျခင္း ၊ ျမန္ျမန္ဆန္ဆန္ အမွားေတြ ့ နုိင္ျခင္း နဲ ့ window managament လုိဟာမ်ိဳးကုိ လုပ္စရာမလုိတဲ့ အက်ိဳးေတြ အမ်ားၾကီးပါတယ္။

ဘယ္ေလာက္ပဲ Code Editor ေတြ ေကာင္းလာလာ ၊ တကယ္ေတာ့ Screen တစ္ခုထဲမွာ Screen size ျပႆနာကုိ ရွင္းလုိ ့မရပါဘူး။ ဒါေၾကာင့္ smartphone ေခတ္ၾကီးမွာေတာင္ tablet ေတြက ရွိေနတုံးပါပဲ။

ဒုတိယ ဟတ္ဒ္ဝဲ ျပႆနာ : ကီးဘုတ္

Coder မဟုတ္တဲ့ သူေတြ အတြက္ သူတုိ ့ keyboard ဟာ အေထြေထြ အသုံးျပဳတဲ့ ဟာျဖစ္ျပီး ေသးတဲ့ဟာေတြ မ်ားပါတယ္။

ကုိယ့္ကုိယ္ကုိ ေမးၾကည့္ပါ။ Code editor ေတြထဲမွာ မဟုတ္ပဲ အျပင္မွာ <,>,{,} နဲ ့ # လုိ key ေတြကုိ ဘယ္ႏွစ္ခါမ်ား ရုိက္ျဖစ္ပါသလဲ ??? ဒါမွမဟုတ္ Sublime Text ထဲမွာ tab တစ္ခုကုိ wrap လုပ္တဲ့ Ctrl+shift+w ဆုိတဲ့ shortcut မ်ိဳးကုိေရာ ?? သိပ္အမ်ားၾကီး မရွိပါဘူး။ ဒါေၾကာင့္ Coder မဟုတ္တဲ့ သူေတြ အေနနဲ ့ ဒီ key ေတြကုိ ရုိက္ဖုိ ့အစပုိင္းမွာ ေႏွးေလ့ရွိပါတယ္။

ကြ်န္ေတာ္ ေကာင္မေလး Code ေရးရင္ ကြ်န္ေတာ္ ေဘးကေန ထုိင္ၾကည့္ေလ့ရွိပါတယ္။ သူ Shortcut မသုံးပဲနဲ ့ ဒီတုိင္း လုပ္ဖုိ ့ၾကိဳးစားရင္ ကြ်န္ေတာ္ ေဘးက သတိေပးပါတယ္။ ဒါေၾကာင့္လည္း သူ Shortcut ေတြကို note ထဲမွာ ေရးျပီး ေဘးနားမွာ ထားထားတာေပါ့။ ဒါေပမယ့္ ေနတုိင္း ရက္ဆက္ သူအဲဒီ shortcut ေတြကုိ မသုံးျဖစ္ပါဘူး။

ကြ်န္ေတာ္ သတိထားမိတာကေတာ့ သူအဲဒီ key ေတြကုိ ဘယ္လက္ေခ်ာင္းနဲ ့ ထိေတြ ့ရမွန္းကုိ မသိတာပါ။ ဥပမာ ကြ်န္ေတာ္က “{“ ကုိ ရုိက္ခုိင္းမယ္ ဆုိရင္ သူ keyboard ကုိ ျပန္ၾကည့္ရပါေသးတယ္။ သူအရင္သုံးေနၾကက ဂ်ပန္ keyboard ဆုိေတာ့ သူ ့အေနနဲ ့အေလ့အက်င္မရွိပါဘူး။

Microsoft Natural Ergonomic Keyboard 4000

သူ ့ရဲ ့အဲဒီ အက်င့္ကုိ ျပင္ဖုိ ့ Microsoft Natural Ergonomic Keyboard 4000 ကုိဝယ္လုိက္တယ္။ အဲဒါနဲ ့သာဆုိရင္ သူ key နဲ ့ လက္ေခ်ာင္းနဲ ့ မွန္မွန္ မသုံးရင္ ရုိက္ရတာ ေတာ္ေတာ္ ခက္တယ္။ ျပီးေတာ့ သူ ေန့တုိင္း Peter’s Online Typing Course ကုိလည္း တက္ေနေသးတယ္။ ပထမ lesson ဆယ္ခုေလာက္ ျပီးတဲ့ အခါမွာေတာ့ သူ စာရုိက္တာ ဟာ တကယ္ code ေရးေနတဲ့ သူတစ္ေယာက္လုိ ျမန္လာျပီး Shortcut ေတြလည္း သိပ္မမွားေတာ့ပါဘူး။

ဒါနဲ ့ Coder တစ္ေယာက္ကို typing ရုိက္တာ ျပႆနာ ရွိမရွိ သိခ်င္ရင္ေတာ့ ဘာ key မွာ label မထုိးထားတဲ့ keyboard ကုိ ေပးလုိက္ပါ။ တကယ္လုိ ့ေႏွးေနတယ္ ဆုိလုိ ့ရွိရင္ ျပႆနာ ရွိပါတယ္။

စာရုိက္တာမွာ ေႏွာင့္ေႏွးေနတာဟာ ေလ့လာခါစ coder ေတြကုိ ကြ်မ္းက်င္ဖုိ ့အတြက္ အေႏွာင့္အယွက္ ေပးပါတယ္။ Code မ်ားမ်ားေရးရေလေလ၊ ေနွးေလေလ ၊ ေဒါသထြက္ေလေလပါပဲ။ ကြ်န္ေတာ္တုိ ့လုိ ့ အေတြ ့အၾကံဳရိွတဲ့ လူေတြ အေနနဲ ့က တခါမွ ေတြးဖူးမွာ မဟုတ္ေပမယ့္ တကယ္တမ္း Coding ေရးသားဖုိ ့ေလ့လာရာမွာ ဒီလုိ အခက္အခဲမ်ိဳးရွိတယ္ ဆုိတာ သတိခ်ပ္ရပါမယ္။

နိဂုံး

ကြ်န္ေတာ္ ေကာင္မေလးအတြက္ ဟက္ဒ္ဝဲ ႏွစ္ခု ( ေမာ္နီတာ နဲ ့ ကီးဘုတ္) ဟာ တကယ္ကုိ အေထာက္အကူျပဳပါတယ္။ ဒါဟာ တျခား Code ေရးသင္တဲ့သူ ေတြလည္း ဒီလုိပဲ ျဖစ္မယ္လုိ ့ထင္ပါတယ္။ Code editor ေတြ ပုိျပီး တုိးတက္ ေကာင္းမြန္လာေပမယ့္ ဟက္ဒဲဝဲ လုိအပ္ခ်က္ေတြကေတာ့ တည္ရွိေနဆဲပါ။

Andy Hunt ရဲ ့ နာမည္ေက်ာ္ စာအုပ္ျဖစ္တဲ့ Pragmatic Thinking and Learning book ထဲက အတုိင္း ေျပာရမယ္ဆုိရင္ေတာ့ စတင္ေလ့လာသူေတြဟာ ပိန္းတာ မဟုတ္ပါဘူး။ သူတုိ ့ေတြးတဲ့ပုံစံကုိက မတူတာပါ။ သင့္အေနနဲ့ကေတာ့ “ဘာလုိမ်ား window အမ်ားၾကီးဖြင့္ဖုိ ့ လုိမွာလဲ” ဆုိျပီး ေတြးေကာင္း ေတြးပါလိမ့္မယ္။ ဒါေပမယ့္ တကယ္ေတာ့ သူဟာ ဒီ window ေတြ တျပိဳင္နက္ ဖြင့္ဖုိ ့လုိတယ္လုိ ့ ေတြးမွ ပုိျပီး သက္ေတာင့္သက္သာ ရွိမွာပါ။ ဒါကုိ ပုံမွန္အားျဖင္ ျမင္ႏုိင္ဖုိ ့မလြယ္ပါဘူး။ သင့္ဟာ နည္းနည္း အခ်ိန္ၾကာတာနဲ့ တျပိဳင္နက္ လူသစ္တန္း တစ္ေယာက္လုိ ေတြးႏုိင္စြမ္း ေပ်ာက္ဆုံးသြားပါတယ္။

ကြ်န္ေတာ္ ေကာင္မေလးဟာ ဂ်ဴလုိင္မွာ ဂ်ပန္ကုိ ျပန္သြားပါတယ္။ မၾကာမီမွာပဲ သူဟာ တုိက်ိဳမွာ ရွိတဲ့ ကုမၸဏီအေသးေလး တစ္ခုမွာ အလုပ္သင္ ဒီဇုိင္နာ အျဖစ္ အလုပ္ရသြားပါတယ္။ ကြ်န္ေတာ္ စက္ေတြ ဝယ္ရက်ိဳးနပ္သြားတာေပါ့။ ဖတ္ေပးတဲ့ အတြက္ ေက်းဇူးတင္ပါတယ္။

ျဖည့္စြက္ (၁၉ရက္ ၊ ၈ လ ): ဒါေပမယ့္ အေပၚက ညြန္းဆုိထားတဲ့ Code ေရးတာဟာ Programming လုပ္ရင္ေတြ့ၾကံဳရမယ့္ အခက္အခဲေတြနဲ ့ထပ္တူ မက်တာေတာ့ ဝန္ခံပါတယ္။ Programming လုပ္ရင္ေတာ့ Logic ေတြကုိ ကုိင္တြယ္ရမွာ ျဖစ္ျပီး Code ေရးရာမွာေတာ့ အဲဒီလုိ မဟုတ္ပါဘူး။

ကြ်န္ေတာ္ ေကာင္မေလးဟာ Jekyll/SCSS ကုိ အသုံးျပဳျပီး logic ေတြေရးခဲ့တာ ဟုတ္ေပမယ့္ အခုမွသာ တကယ္ Programming language ျဖစ္တဲ့ Javascript ကိုေလ့လာေနပါျပီ။ အခ်ိန္ရရင္လည္း ကြ်န္ေတာ္ သူကုိ Programming သင္ရင္ ရခဲ့တဲ့ အေတြ့အၾကံဳေတြလည္း ေရးပါဦးမယ္။

မွတ္ခ်က္မ်ား

ကြ်န္ေတာ္ ထင္တာ ဒါဟာ HTML&CSS နဲ့ Website တစ္ခုကုိ ပုံတူကူးတဲ့ အပုိင္းကုိ သင္ၾကားေပးလုိ ့ အဓိက လုိေနတာ ျဖစ္မယ္။ တကယ္တမ္း Python၊ C ဒါမွမဟုတ္ Java ကုိ သင္တဲ့လူတစ္ေယာက္ အေနနဲ ့ Monitor အၾကီးၾကီးကုိ လုိခ်င္မွလည္း လုိပါလိမ့္မယ္။ (link)

ဟုတ္ပါတယ္။ ကြ်န္ေတာ္ ေျပာဖုိ ့ေမ့သြားတယ္။ ကြ်န္ေတာ္ဟာ တျခား Language ေတြ မသင္ခင္မွာ Java နဲ့ C ကုိ သင္ဖူးပါတယ္။ ယေန့ေခတ္မွာ လူေတြဟာ Web ဒါမွမဟုတ္ Mobile app ေတြကုိ တည္ေဆာက္ျခင္းနဲ့ Code ေရးတာကို သင္ၾကပါတယ္။ အဲဒီလုိအေျခအေနမ်ိဳးမွာဆုိရင္ monitor ၾကီးၾကီးရွိတာဟာ အေထာက္အကူ ျဖစ္ပါတယ္။ တခါတေလ Website ကို ပုံတူကူးတာ မဟုတ္ပဲ Javascript ေရးတာ ျဖစ္ေကာင္းျဖစ္မယ္။ ဒါေပမယ့္ Web inspector ကုိ ခဏခဏေျပာင္းရတာ လက္ဝင္တာေတာ့ အမွန္ပဲ။

ဒီအေၾကာင္းနဲ ့ပတ္သတ္ျပီး Twitter မွာ Message ပို့ႏုိင္သလုိ Hacker News မွာလည္း ေဆြးေႏြးႏုိင္ပါတယ္။

--

--