ฉันรู้ว่ามันฟังดูแปลกๆ ประเด็นคือ มีแหล่งข้อมูลมากมายสำหรับการเรียนรู้การเขียนโค้ดที่ทำให้คุณรู้สึกหลงทางและรู้สึกหนักใจได้ง่าย แต่การเข้าใกล้การศึกษาด้านการเขียนโค้ดราวกับว่าคุณกำลังเรียนภาษาอื่นอยู่นั้นจะทำให้คุณมีกรอบการทำงานที่เป็นประโยชน์ในการดำเนินการ
การใช้กรอบงานจะช่วยให้คุณจัดโครงสร้างความก้าวหน้าในการเรียนรู้ของคุณ วิธีนี้จะช่วยให้คุณทราบทิศทาง เหตุการณ์สำคัญตลอดเส้นทางของคุณ และจุดหมายปลายทางในตอนท้าย
ข้อดีหลักประการหนึ่งของเทคนิคนี้คือการแบ่งเส้นทางของคุณจากระดับเริ่มต้นไปจนถึงขั้นสูงเป็นขั้นตอน การแยกขั้นตอนเหล่านี้จะช่วยให้คุณเข้าใจถึงสิ่งที่คุณทำมากขึ้น
ตัวอย่างเช่น ถ้าคุณรู้ว่าคุณกำลังเล่นอยู่ที่ระดับใด ความรู้นั้นจะกำหนดความคาดหวังของคุณ หากคุณยังอยู่ในขั้นเริ่มต้น อย่ารู้สึกว่าคุณจะสามารถบรรลุทักษะระดับกลางหรือระดับสูงได้อย่างง่ายดาย การมีความคาดหวังที่เป็นจริงจะช่วยไม่ให้คุณท้อถอยหรือเลิกล้มเลิกความตั้งใจ
เสียงดี? เริ่มต้นด้วยการออกกำลังกายสนุกๆ กัน:
เป้าหมายสูงสุดของคุณคืออะไร
เมื่อคุณกำลังเรียนภาษา เป้าหมายไม่ใช่แค่การเรียนรู้รายการคำศัพท์และวลีแบบสุ่มเท่านั้น แทบไม่มีใครพยายามเรียนภาษาเพียงเพื่อการเรียนรู้คำศัพท์ใหม่ มีแอปพลิเคชันในโลกแห่งความเป็นจริงอยู่เสมอ คุณต้องการที่จะทำอะไรที่เป็นประโยชน์กับมันในที่สุดใช่ไหม? คุณอาจมีเป้าหมายสุดท้ายในใจด้วยซ้ำ อาจเป็นการสนทนากับใครสักคนอย่างคล่องแคล่ว ไปเที่ยวประเทศนั้น หรืออ่านหนังสือในภาษานั้น
การเรียนรู้การเข้ารหัสควรเป็นแบบเดียวกัน คุณควรมีเป้าหมายสูงสุดนอกเหนือจาก "การเรียนรู้การเขียนโค้ด" อาจเป็นการหางานใหม่เต็มเวลา ขายแอพมือถือ หรือทำงานให้ตัวเอง เป้าหมายนั้นจะทำให้คุณมีแรงจูงใจในการเรียนรู้ต่อไปแม้ว่าจะยากลำบากก็ตาม มันจะเป็นทิศเหนือจริงของคุณเมื่อคุณสำรวจโลกแห่งการเขียนโปรแกรม
หยุดอ่านบทความนี้สักครู่ และใช้เวลาสักครู่เพื่อพิจารณาว่าเป้าหมายสูงสุดของคุณคืออะไรในการเรียนรู้การเขียนโค้ด ทำไมคุณทำเช่นนี้? อะไรคือแรงจูงใจเบื้องต้นที่ทำให้คุณเริ่มต้นเส้นทางนี้ เขียนเป้าหมายของคุณลงในกระดาษ วางไว้ในที่ที่คุณจะเห็นทุกวัน — เช่น ข้างคอมพิวเตอร์หรือบนกระจกห้องน้ำ เมื่อคุณอ่านบันทึกย่อนั้น คุณจะจำได้ว่าเหตุใดคุณจึงเลือกที่จะเริ่มต้นการเดินทาง การจำเหตุผลหลักของคุณจะทำให้คุณมีกำลังใจที่จะไม่ยอมแพ้
มีเป้าหมายของคุณลง? ดี. หลังจากอ่านบทความนี้เสร็จแล้ว ให้แสดงความคิดเห็นด้านล่างเพื่อแชร์ว่าเป้าหมายของคุณคืออะไร เราสามารถหากำลังใจในการฟังเรื่องราวของกันและกันได้เสมอ และฉันก็อยากฟังเรื่องราวของคุณเช่นกัน
ตอนนี้ มาเริ่มเขียนโค้ดอย่างคล่องแคล่วกันเถอะ!
ภาษาแรกนั้นยากที่สุด
เน้นการเรียนรู้ทีละเรื่อง
เช่นเดียวกับที่มีภาษาพูดมากมายในโลก (มากกว่า 6,000 ภาษาจริงๆ!) — มีภาษาเขียนโปรแกรมมากมายและคุณสามารถเลือกที่จะเรียนรู้ได้ หากคุณเพิ่งเริ่มต้น ฉันไม่แนะนำให้คุณพยายามเรียนรู้ Python, Ruby, JavaScript, React และ Java ทั้งหมดในคราวเดียว นั่นจะเป็นไปไม่ได้อย่างเหลือเชื่อ คุณคงไม่พยายามเรียนภาษาจีน สเปน เยอรมัน และโปรตุเกสไปพร้อม ๆ กันใช่ไหม
หากคุณกำลังพยายามเลือกภาษาแรกของคุณเพื่อเรียนรู้ อย่าเครียด — เพียงแค่เลือกหนึ่งภาษาและเรียนรู้มันให้อยู่ในระดับความสามารถที่เหมาะสม ภาษาแรกนี้จะยากที่สุดในการเรียนรู้เพราะคุณไม่ได้เรียนแค่ภาษา — คุณยังเรียนรู้วิธีการทำงานของการเขียนโปรแกรมด้วย เมื่อคุณเก่งภาษาเดียวแล้ว การเรียนรู้ภาษาที่สองและสามจะง่ายขึ้น
ภาษาโปรแกรมทั้งหมดมีหลักการทั่วไปที่ทำงานผ่านพวกเขา และเมื่อคุณเรียนรู้หลักการเหล่านั้นแล้ว การเรียนรู้ไวยากรณ์และคำศัพท์ใหม่ ๆ จะเป็นเรื่องของการเรียนรู้มากขึ้น หากคุณต้องการ แน่นอนว่าแต่ละภาษามีนิสัยใจคอของตัวเอง แต่เมื่อคุณได้วางรากฐานของการเรียนรู้การเขียนโปรแกรมแล้ว การเรียนรู้ทักษะเพิ่มเติมในภายหลังจะง่ายขึ้นมาก
เมื่อคุณเลือกภาษาแรกได้แล้ว เรามาเริ่มที่ขั้นตอนแรกในการเดินทางกันเลย:
ระดับเริ่มต้น
สวัสดีชาวโลก!
สิ่งแรกที่คุณเรียนรู้วิธีพูดภาษาต่างประเทศคืออะไร? โดยปกติแล้ว จะเป็นคำทักทายพื้นฐานที่สุด วิธีพูดว่า "สวัสดี" ไม่ใช่เรื่องบังเอิญ การเรียนรู้วิธีส่งออก "สวัสดีชาวโลก!" มักจะเป็นสิ่งแรกที่คุณเรียนรู้วิธีการทำในภาษาการเขียนโปรแกรม
หลังจากเรียนรู้คำทักทายแล้ว ให้คุณเริ่มท่องจำคำศัพท์และไวยากรณ์พื้นฐาน ในการเขียนโปรแกรม คุณจะได้เรียนรู้แนวคิดต่างๆ เช่น ประเภทตัวแปร เมธอด ไวยากรณ์ และวิธีจัดโครงสร้างไฟล์โครงการ การเรียนรู้ฟังก์ชันด้วยตนเองและการติดอยู่กับข้อผิดพลาดทางไวยากรณ์ที่ดูเหมือนเล็กน้อยอาจไม่สนุกนัก แต่การเรียนรู้สิ่งปลูกสร้างเหล่านี้จะทำให้คุณมีทักษะในการก้าวต่อไป
ในช่วงเริ่มต้นนี้ คุณอาจจะทำผิดพลาดมากมาย ไม่ คุณจะทำผิดพลาดมากมาย แต่ก็ไม่เป็นไร! ประเด็นนี้ไม่ใช่การเรียนรู้บางสิ่งอย่างสมบูรณ์ก่อนที่คุณจะลองใช้มัน อันที่จริง การทำผิดพลาดเป็นสิ่งที่ดี เพราะคุณสามารถเรียนรู้จากความผิดพลาดเหล่านั้นได้ หากคุณกลัวเกินกว่าจะเสี่ยงทำผิดโดยที่ไม่ได้ลองทำ จะเป็นอุปสรรคต่อกระบวนการเรียนรู้ของคุณเอง สิ่งสำคัญในที่นี้คือการทำผิดพลาด ทดลองสิ่งใหม่ๆ ที่คุณกำลังเรียนรู้
นี่เป็นวิธีหนึ่งที่คุณสามารถทดลองได้:
หากคุณกำลังจะเข้าสู่บทแนะนำการเขียนโค้ดเพื่อเรียนรู้ภาษาของคุณ ให้ทำตามบทเรียนต่างๆ ตามปกติ แต่ลองใช้เวลากับตัวเองและลองเล่นกับโค้ดในโปรแกรมแก้ไขของคุณ ดูว่าคุณสามารถทำลายโค้ดที่คุณกำลังดำเนินการอยู่ได้หรือไม่ และพยายามทำความเข้าใจว่าโค้ดดังกล่าวพังได้อย่างไรและทำไม จากนั้นลองเขียนโค้ดใหม่ด้วยตัวเองตั้งแต่ต้น โดยให้มองย้อนกลับไปที่บันทึกบทเรียนเมื่อคุณติดขัด
การทดลองเช่นนี้จะต้องลงทุนเวลาและพลังงานล่วงหน้า แต่จะได้ผลในระยะยาว การเล่นแนวคิดในการเขียนโค้ดช่วยให้คุณได้รู้ว่าสิ่งใดที่ทำให้พวกเขาคิดได้ และสิ่งนี้จะช่วยให้ทักษะเหล่านั้นติดอยู่ในสมองของคุณได้ดีขึ้น คุณสามารถทำให้สิ่งนี้เป็นส่วนสำคัญในการเข้าถึงแนวคิดใหม่ๆ ไม่ว่าคุณจะมีทักษะระดับใด (เทคนิคการทำการทดลองตามเส้นทางสู่ความเชี่ยวชาญนี้เป็นหัวข้อของโพสต์ล่าสุดโดย Michael Simmons)
ระดับกลาง
ประกอบชิ้นส่วนเข้าด้วยกัน
สำหรับภาษาต่างประเทศ นี่คือสิ่งที่เริ่มสนุกมากขึ้น — ยิ่งคุณรู้มากเท่าไหร่ คุณก็ยิ่งทำสิ่งต่างๆ กับภาษาใหม่ได้มากเท่านั้น คุณจะพัฒนาทักษะการสนทนาและสามารถเข้าใจสิ่งที่คุณกำลังอ่านและได้ยินในภาษานั้นได้ดี คุณอาจสามารถผูกมิตรกับเจ้าของภาษานั้นได้ด้วยแหล่งข้อมูลการเรียนรู้ภาษาออนไลน์
ในการเขียนโปรแกรม ระดับกลางหมายความว่าคุณเริ่มเข้าใจหลักการของภาษามากขึ้น และคุณสามารถทำอะไรกับมันได้บ้าง คุณยังคงต้องทำงานพื้นฐานต่อไป — อ่านหนังสือ ฝึกสอน และทดลอง แต่คุณกำลังเริ่มสร้างกรอบงานที่คุณสามารถปรับปรุงต่อไปได้เมื่อเวลาผ่านไป คุณยังสามารถเรียนรู้ที่จะโต้ตอบกับนักพัฒนาที่มีประสบการณ์มากขึ้นคนอื่นๆ ในชุมชน เช่น GitHub อันที่จริงแล้ว การศึกษาวิธีที่คนอื่นเขียนโปรแกรมสามารถช่วยคุณได้มาก
ตัวอย่างเช่น คุณสามารถดูที่เก็บ GitHub ต่างๆ ที่คุณสนใจ และดูว่านักพัฒนารายอื่นแก้ปัญหาเฉพาะอย่างไร เมื่อคุณศึกษาที่เก็บเฉพาะแล้ว คุณอาจสังเกตเห็นวิธีแก้ไขที่เป็นไปได้สำหรับปัญหาหนึ่งๆ และพยายามส่งคำขอดึงข้อมูล แม้ว่าเจ้าของจะไม่ยอมรับคำขอของคุณ แต่คุณยังได้รับประสบการณ์การทำงานกับโค้ดอีกเล็กน้อย พยายามและเรียนรู้ต่อไป
คุณยังสามารถรับความช่วยเหลือและการสนับสนุนจากโปรแกรมเมอร์คนอื่นๆ จากฟอรัมออนไลน์ เช่น Stack Overflow, กลุ่ม Facebook และช่อง Slack มีผู้คนมากมายที่เต็มใจช่วยคุณค้นหาจุดบกพร่องและชี้ให้คุณไปในทิศทางที่ถูกต้อง มีชุมชนผู้คนทั่วโลกที่เรียนรู้วิธีเขียนโค้ดที่นั่น!
ตกต่ำ
ตอนนี้ฉันต้องแจ้งข่าวร้ายให้คุณฟังสักหน่อย… เมื่อถึงจุดหนึ่งที่คุณเรียนรู้ คุณจะรู้สึกเหมือนอยู่ในที่ราบสูง แม้ว่าคุณจะไม่ต้องอยู่บนทางชันของเส้นโค้งแห่งการเรียนรู้อีกต่อไป แต่คุณอาจรู้สึกว่ายังมีระยะทางอีกมากที่ต้องปิดบัง โดยไม่มีจุดสิ้นสุด บอกตรงๆ ว่าห่วย
อย่างไรก็ตามอย่าสิ้นหวัง! การตกต่ำนี้เป็นส่วนหนึ่งของการเลือกทักษะใหม่ ๆ ในตอนเริ่มต้น คุณจะก้าวหน้าอย่างมากและรู้สึกเหมือนได้รับทักษะอย่างรวดเร็ว อย่างไรก็ตาม เมื่อคุณเก่งขึ้นเรื่อยๆ ทักษะระดับกลางและขั้นสูงก็จะยิ่งเรียนรู้ได้ยากขึ้น เพราะพวกเขาก้าวหน้ากว่า การเรียนรู้ทักษะใดๆ ก็ตามจะใช้เวลามากกว่าการเป็นมือใหม่ที่เชี่ยวชาญเสมอ
ถ้าคุณรู้สึกว่าคุณติดอยู่ในภาวะตกต่ำนี้ อย่ายอมแพ้ อดทนกับตัวเองและเข้าใจว่าต้องใช้เวลามากขึ้นในการฝึกฝนทักษะต่อไป พยายามอย่าหมดไฟ และอย่ากดดันตัวเองมากเกินไปเพื่อให้เป็นเลิศและสมบูรณ์แบบ ที่สำคัญที่สุด ตอนนี้เป็นเวลาที่มีเครือข่ายสนับสนุนที่แข็งแกร่ง ทั้งในชีวิตจริงและทางออนไลน์ สามารถช่วยคุณได้ ติดต่อผู้อื่นที่อาจอยู่ในเรือลำเดียวกันกับคุณและแลกเปลี่ยนเรื่องราวและกำลังใจ
ระดับสูง
“เฮ้ ฉันคิดว่าฉันอาจจะเก่งเรื่องนี้จริงๆ!”
เมื่อเรียนภาษาต่างประเทศ การเป็นผู้เชี่ยวชาญเป็นจุดหมายปลายทางที่คนส่วนใหญ่พยายามไปให้ถึง ความชำนาญหมายความว่าคุณค่อนข้างมั่นใจว่าคุณสามารถแสดงความคิดหรือความรู้สึกในภาษาที่คุณต้องการได้ คุณพูดได้คล่องในขั้นตอนนี้!
การไปถึงระดับความชำนาญในภาษาการเขียนโปรแกรมหรือเทคโนโลยีทำให้รู้สึกดีมาก แม้ว่าคุณอาจจะยังคงต่อสู้กับกลุ่มอาการหลอกลวงอยู่บ้าง แต่โดยรวมแล้ว คุณจะรู้สึกมั่นใจในทักษะและคุณค่าของตนเองมากขึ้นในฐานะโปรแกรมเมอร์ คุณจะสามารถตีเกือบทุกอย่างที่ลูกค้าหรือผู้บังคับบัญชาโยนให้คุณ คุณทราบดีว่าถึงแม้คุณจะไม่รู้ว่าต้องทำอย่างไร แต่คุณก็มีเครื่องมือที่จะหาข้อมูล (เช่น Google) และหาทางแก้ไขได้ทันท่วงที
อย่างไรก็ตาม ตอนนี้ไม่ใช่เวลาพักผ่อนของคุณ การเขียนโปรแกรมเป็นสาขาที่เปลี่ยนแปลงตลอดเวลาและดำเนินไปอย่างรวดเร็ว คุณต้องฝึกฝนทักษะของคุณต่อไป เพราะถ้าคุณหยุด ความชำนาญที่ได้มาอย่างยากลำบากของคุณจะเริ่มลดลง การกลายเป็นคนนิ่งเฉยและนิ่งเฉยในท้ายที่สุดจะกลายเป็นเสียงปรบมือสำหรับอาชีพการเป็นโปรแกรมเมอร์ของคุณ ข่าวดีก็คือ ณ เวลานี้ คุณเรียนรู้ได้ดีทีเดียว การเรียนรู้ภาษา เฟรมเวิร์ก หรือเครื่องมือใหม่จะใช้เวลาไม่นานอย่างที่เคยเป็นมา และคุณอาจสนุกกับกระบวนการนี้!
เป้าหมายสูงสุดของคุณคืออะไร? แสดงความคิดเห็นด้านล่าง…
ฉันหวังว่าคุณจะสนุกกับการอ่านบทความนี้เกี่ยวกับวิธีการเรียนรู้การเขียนโปรแกรม อย่างที่ฉันได้กล่าวไว้ข้างต้น ฉันชอบที่จะได้ยินว่าเป้าหมายการเขียนโปรแกรมของคุณคืออะไร รวมทั้งสิ่งที่คุณกำลังเรียนรู้อยู่ในขณะนี้