สอนตัวเองอย่างไรให้ประสบความสำเร็จในการเขียนโค้ด

หลังจากที่ฉันได้เผยแพร่บทความก่อนหน้านี้เกี่ยวกับวิธีที่ฉันกลายเป็นนักพัฒนาซอฟต์แวร์อายุ 19 ปีมีคนหลายร้อยคนมาหาฉันพร้อมกับข้อความเดียวกันว่า“ ฉันชอบอ่านบทความของคุณและฉันอยากเรียนรู้วิธีการเขียนโปรแกรมจริงๆ แต่ ไม่สามารถก้าวข้ามขั้นตอนแรกนั้นไปได้ มันน่าผิดหวังและท่วมท้นมากฉันพลาดโครงสร้างและแรงจูงใจ” ฉันต้องการให้ผู้คนเข้ามามีส่วนร่วมในโลกแห่งเทคโนโลยีให้มากที่สุดและฉันคิดว่าการให้ความสำคัญกับคนที่มีแรงบันดาลใจมาก ๆ เป็นเรื่องสำคัญมาก แต่ไม่รู้จะทำอย่างไร

ฉันรู้ว่าปัจจุบันมีแหล่งข้อมูลมากมายที่จะ 'สอนวิธีเขียนโค้ด' อย่างไรก็ตามนั่นไม่ใช่ส่วนที่สำคัญที่สุดที่นี่และนั่นไม่ใช่สิ่งที่บทความนี้เกี่ยวกับคุณจัดโครงสร้างชีวิตของคุณอย่างไรการจัดการข้อมูลใหม่ทั้งหมดทำให้ตัวเองมีแรงบันดาลใจและมุ่งเน้นไปที่ส่วนที่ถูกต้องเป็นสิ่งสำคัญ

ใช่ลิเดียฟังดูดีและทั้งหมด แต่ฉันรู้สึกว่านี่จะเป็นอีกบทความหนึ่งที่จะกระตุ้นให้ฉันเป็นเวลา 10 นาทีจนกว่าฉันจะกลับไปดู Netflix อีกครั้ง!ก่อนที่ฉันจะเริ่มฉันอยากให้คุณตระหนักว่าหากคุณเต็มใจที่จะสอนวิธีเขียนโค้ดด้วยตัวเองหรือเรียนรู้วิธีการเขียนโค้ดโดยทั่วไปคุณก็ยอดเยี่ยมมาก คุณได้แสดงให้เห็นแล้วว่าคุณสามารถคิดล่วงหน้าได้หลายก้าวและสามารถผลักดันตัวเองออกจากเขตสบาย ๆ ได้แม้ว่าคุณจะยังไม่ได้ทำก็ตาม! หากคุณสามารถตื่นเต้นกับการเรียนรู้สิ่งที่คุณยังไม่รู้และสิ่งที่รู้สึกท่วมท้นคุณจะเป็นนักพัฒนาที่ดี

ฉันเป็นครูสอนพิเศษมาหลายปีและฉันมักจะเห็นรูปแบบเมื่อนักเรียนบอกว่าพวกเขาไม่มีแรงจูงใจอีกต่อไปพวกเขามุ่งเน้นไปที่เป้าหมายที่ใหญ่กว่าโดยไม่สนใจการปรับปรุงเล็กน้อย แต่สำคัญมากที่พวกเขากำลังทำอยู่ซึ่งทำให้พวกเขารู้สึกเหมือนไม่ได้ไปไหนแม้ว่าฉันจะรู้ว่านี่เป็นสิ่งที่สำคัญมากที่ควรคำนึงถึงเมื่อเรียนรู้ทักษะใหม่ ๆ แต่ฉันก็พบว่าตัวเองมีความคิดแบบเดียวกันเมื่อเริ่มเขียนโปรแกรม ฉันรู้สึกเหมือนว่าฉันไม่ได้ก้าวหน้าอะไรเลยเพราะฉันคิดว่าทุกคนรอบตัวฉันสูงกว่าฉันหลายระดับและฉันก็ไม่มีทางที่จะเก่งได้เท่านี้

ในขณะที่ฉันกำลังคิดเรื่องทั้งหมดนี้ฉันละเลยขั้นตอนสำคัญหลายอย่างที่ทำไปแล้วโดยสิ้นเชิง ก่อนที่ฉันจะรู้ฉันสามารถเขียนโค้ดได้โดยไม่ต้องคิดถึงมันซ้ำสองและฉันสามารถสร้างแอพที่ซับซ้อนขึ้นได้ทุกครั้ง เพียงเพราะฉันเอาแต่เปรียบเทียบตัวเองกับคนที่มีประสบการณ์มาหลายปีฉันไม่ได้มองว่านี่เป็นความก้าวหน้าทั้งหมดที่ฉันคิดได้คือ“ ฉันยังห่างไกลจากเป้าหมายมาก”

โคกเมื่อเรียนรู้วิธีการเขียนโปรแกรมเป็นเรื่องจริงและทุกคนต้องดิ้นรนเพื่อเอาชนะมัน โคกนั้นใหญ่กว่าสำหรับบางคน แต่ฉันอยากช่วยให้คุณผ่านพ้นเรื่องนี้ไปได้ ไม่จำเป็นต้องมีอย่างนั้นอย่างที่คิด แต่พูดง่ายกว่าทำ การต่อสู้นั้นแตกต่างกันไปสำหรับทุกคน แต่ฉันจะมุ่งเน้นไปที่ปัญหาที่พบบ่อยที่สุดที่ผู้คนต้องเผชิญเมื่อพวกเขาเรียนรู้วิธีการเขียนโปรแกรม: วิธีจัดการกับข้อมูลใหม่ให้มีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้และวิธีการมีแรงจูงใจ ฉันจะไม่มุ่งเน้นไปที่วิธีการค้นหาสิ่งที่ดีที่สุดทรัพยากรเนื่องจากเป็นเรื่องส่วนตัวมาก

จัดการกับข้อมูลใหม่อย่างมีประสิทธิภาพ

ทุกคนมีความแตกต่างกันและไม่ใช่ทุกคนที่ดูดซับข้อมูลเช่นเดียวกับคนอื่น ๆ ใช่กัปตันแน่นอน แต่ก็ไม่ชัดเจนอย่างที่คิดก่อนที่คุณจะเริ่มเรียนรู้วิธีการเขียนโค้ดคุณต้องเรียนรู้วิธีการเรียนรู้

ในไม่ช้าคุณจะพบหรืออาจจะพบแล้วว่ามีแหล่งข้อมูลสองประเภทที่หาได้จากทุกที่: หลักสูตรออนไลน์และเอกสารประกอบภาษา อย่างไรก็ตามตราบใดที่คุณไม่ใช่อัจฉริยะระดับยอดมนุษย์คุณก็จะไม่จำข้อมูลใหม่ ๆ ทั้งหมดเพียงแค่ดูหลักสูตร (โดยเฉพาะอย่างยิ่งไม่ใช่เพราะมันยากที่จะจดจ่ออยู่กับตัวเองอย่าคิดว่าตัวเองเป็นเด็กน่าเบื่อมาก ) หรืออ่านข้อความธรรมดาเป็นเรื่องปกติอย่างยิ่งที่จะรู้สึกหลงทางและสับสนขณะดูหลักสูตรหรืออ่านเอกสารทุกคนต้องดิ้นรนในช่วงแรกโปรแกรมเมอร์อาจมีปัญหาในการอธิบายโค้ดให้กับผู้ที่ไม่มีความรู้เกี่ยวกับเรื่องนี้มากนักโดยไม่ต้องใช้คำศัพท์ที่คลุมเครืออื่น ๆ (มองคุณ Stack Overflow!)

ไม่ว่าคุณจะคิดว่าตัวเองเก่งแค่ไหนก็ตาม: อย่าข้ามพื้นฐาน เริ่มเรียนภาษาตั้งแต่เริ่มต้นเสมอและอย่าข้ามขั้นตอนใด ๆ ปัจจัยพื้นฐานมีความสำคัญอย่างยิ่งและคุณจะเสียใจในภายหลังหากคุณไม่ใส่ใจกับสิ่งเหล่านี้! ใช่คุณสามารถ Google ได้ตลอดเวลา แต่นั่นจะทำให้คุณเป็นนักพัฒนาที่ช้าลงเท่านั้น หากคุณกำลังอ่านเอกสารให้เริ่มจากหน้าแรก (หรือ 1.1 ในหลาย ๆ กรณี) และอ่านวิธีของคุณ สำหรับบางคนอาจดูเหมือนเสียเวลา แต่เชื่อฉันเถอะว่ามันไม่ใช่ ใส่ใจกับรายละเอียดเล็ก ๆ น้อย ๆ แล้วคุณจะขอบคุณตัวเองในภายหลัง!

หากคุณมีปัญหาในการทำความเข้าใจพื้นฐานจงผ่อนคลาย! คุณจะสบายดี การที่คุณดิ้นรนมากแค่ไหนในตอนนี้ไม่ได้บ่งบอกว่าคุณจะเป็นโปรแกรมเมอร์ได้ดีแค่ไหนในภายหลัง

หลังจากที่ทุก 10 นาทีหรือหลังย่อหน้าที่คุณได้อ่านทุกอธิบายในคำพูดของคุณเองสิ่งที่คุณได้เรียนรู้เพียงอาจเป็นเรื่องยาก แต่คุณจะพบว่ามีส่วนใดที่คุณยังไม่เข้าใจในไม่ช้า การสอนเป็นวิธีที่ดีที่สุดในการเรียนรู้แม้ว่าจะไม่มีใครอยู่ก็ตาม! แสร้งทำเป็นเหมือนกำลังอธิบายให้คนอื่นฟังและเมื่อคุณเข้าใจว่าคุณไม่เข้าใจบางส่วนเป็นอย่างดีให้ค้นคว้าทันทีและเขียนคำตอบลงไป!การเขียนมันลงไปจะทำให้คุณคิดถึงคำตอบมากยิ่งขึ้นซึ่งทำให้จำได้ง่ายขึ้นมาก

อย่าเพียงแค่ฟังหลักสูตรหรืออย่าอ่านเอกสารเท่านั้น: มีส่วนร่วมอย่างกระตือรือร้นโดยมีโครงการส่วนตัวของคุณเองอยู่ข้างๆ ใช้ทุกสิ่งใหม่ที่คุณเรียนรู้ไม่ว่าสิ่งนั้นจะเล็กน้อยแค่ไหนก็ตาม! นี่ไม่ใช่เรื่องง่ายอย่างที่คิดอันที่จริงมันอาจเป็นเรื่องที่น่าหงุดหงิดมากและนั่นคือเมื่อคุณรู้ว่าคุณทำถูกต้อง คุณพัฒนาทักษะการเขียนโค้ดโดยทำบ่อยๆไม่ใช่แค่รู้! เชื่อฉันเถอะว่าคุณจะดีขึ้นทุกครั้งที่ทำแม้ว่าคุณจะไม่รู้ตัวก็ตาม!

มีแรงจูงใจอยู่เสมอ

หลายคนถามฉันว่าฉันสามารถผลักดันตัวเองให้เขียนโค้ดได้มากขนาดไหนในวันปกติ ฉันใช้เวลาสักพักในการหาวิธีที่ดีในการอธิบายความคิดของฉันที่อยู่เบื้องหลัง แต่ฉันคิดว่าในที่สุดฉันก็พบแล้ว!

ทุกคนชอบเล่นเกมไม่ว่าจะเป็นเกมประเภทไหน ผู้คนชอบเล่นเกมเพราะคุณได้รับความพึงพอใจในทันทีคุณรู้สึกเหมือนได้ทำอะไรบางอย่างสำเร็จและคุณจะเห็นว่าตัวเองเก่งขึ้นหรือไม่ นี่คือสูตรที่สมบูรณ์แบบสำหรับแรงจูงใจ!ฉันได้รับประสบการณ์แบบเดียวกันนี้ แต่ในขณะที่เขียนโค้ดแทนที่จะเล่นเกม และง่ายกว่าที่คุณคิด

ตั้งเป้าหมายเล็ก ๆไม่ได้เพราะคุณไม่สนใจเกี่ยวกับการปรับปรุง แต่เพราะคุณทำดูแลเกี่ยวกับการปรับปรุง ทำรายการสิ่งที่ต้องทำในวันนั้น: อาจเป็นการอ่านเพียง 1 หน้าหรือดู 1 หลักสูตรหรือเขียนโค้ด 10 บรรทัดเมื่อสามารถพูดได้ว่าคุณทำรายการสิ่งที่ต้องทำทั้งหมดเสร็จแล้วคุณจะรู้สึกเติมเต็มและมั่นใจมากขึ้นเกี่ยวกับความก้าวหน้าของคุณมันดีกว่ามากที่จะพูดว่า“ ฉันได้ทำทุกอย่างที่อยากทำแล้วในวันนี้ ” มากกว่าการพูดว่า“ ฉันเรียนจบหลักสูตรวันนี้เพียง 2% ” นอกจากนี้แม้ว่าคุณจะอ่านเพียง 1 หน้าหรือสร้างช่องป้อนข้อมูล 1 ช่องสิ่งนี้ก็ยังสำคัญอย่างยิ่งที่ต้องรู้สะใจทันที!

เตือนตัวเองตลอดเวลาว่าคุณมาไกลแค่ไหนแล้วสิ่งนี้อาจดูยากจริงๆเพราะมักจะไม่มีใครสังเกตเห็น คุณไม่ได้มองว่าตัวเองก้าวหน้า แต่เชื่อฉันเถอะทุกๆวันที่คุณเขียนโค้ด (แม้แต่นิดเดียว) คุณจะเก่งขึ้นเรื่อย ๆ วิธีที่ดีที่สุดคือการมีไดอารี่เล็ก ๆ อธิบายเป็นประโยคเดียวว่าคุณต่อสู้กับอะไรในวันนั้นและมองย้อนกลับไปในอีกหนึ่งเดือนต่อมา มีโอกาสที่ยิ่งใหญ่มากที่ตอนนี้คุณจะไม่ต่อสู้กับมันเลย! คุณจะเห็นว่าตัวเองเก่งขึ้น

ทำงานในโครงการส่วนตัวที่คุณสนใจจริงๆ!ไม่ใช่หนึ่งในรายการสิ่งที่ต้องทำนับล้านรายการ แต่เป็นสิ่งที่คุณต้องการสร้างจริงๆ ตอนนี้อย่าคิดถึงรถที่ขับเคลื่อนด้วยตัวเองหรือหุ่นยนต์ที่สามารถทำอาหารให้คุณได้ แต่ด้วยการเลือกสิ่งที่เล็กกว่าเช่นการสร้างเค้าโครงเว็บไซต์หรือเกมเล็ก ๆ คุณจะสังเกตเห็นว่าคุณมีแรงบันดาลใจมากขึ้น ทำมันให้เสร็จ. เมื่อโครงการเสร็จสิ้นคุณมีบางอย่างที่จะแสดง: คุณทำบางอย่างสำเร็จ!

ตระหนักว่าคุณทำได้ดีกว่าที่คุณคิดไว้มาก เรียกอีกอย่างว่า Impostor syndrome คุณอาจรู้สึกว่าทุกคนรอบตัวคุณรู้เรื่องนี้มากขึ้นและดีกว่าคุณมาก แต่นั่นไม่เป็นความจริง ฉันไม่สามารถเน้นมากพอ: คุณจะเป็นนักพัฒนาที่ดีถ้าคุณยังคงผลักดัน คุณได้พิสูจน์แล้วว่าคุณมีความสามารถในการเขียนโค้ดเพียงแค่มีแรงจูงใจมากพอที่จะเรียนรู้คุณก็มีสิ่งนี้โดยสิ้นเชิง

สิ่งที่ควรคำนึงถึงเสมอ

  • ไม่เคยเปรียบเทียบตัวเองกับนักพัฒนาอื่นคำแนะนำที่คิดโบราณมาก แต่มันสำคัญมาก อย่าเปรียบเทียบบทที่ 1 ของคุณกับบทที่ 20 ของคนอื่นคุณจะอยู่ในตำแหน่งของพวกเขาได้เร็วกว่าที่คุณคิด! ฉันโพสต์ภาพนี้ไว้ด้านบนเพราะฉันรู้ว่าฉันจะรู้สึกกลัวมันถ้าฉันเห็นภาพนี้เมื่อ 4 เดือนก่อน ตอนนี้ฉันแค่หัวเราะกับมันและยังสามารถมองเห็นข้อผิดพลาดบางอย่างที่ฉันทำที่นั่น!
  • คุณก้าวหน้ามากกว่าที่คุณคิด ทุกครั้งที่คุณเรียนหรือเขียนโค้ดคุณจะเติบโตขึ้น แค่ยอมรับมัน (ฉันรู้ว่ามันยาก)
  • ทุกคนต้องดิ้นรนในช่วงแรกคุณไม่ได้อยู่คนเดียวและนั่นไม่ได้หมายความว่าคุณจะเป็นโปรแกรมเมอร์ที่ไม่ดี ความรู้สึกของคุณตอนนี้เป็นเรื่องปกติโดยสิ้นเชิงและนั่นเป็นเพียงส่วนหนึ่งของกระบวนการเรียนรู้ ในไม่ช้าคุณจะมองย้อนกลับไปที่ความขุ่นมัวที่คุณกำลังเผชิญและเห็นด้วยกับฉัน

ถ้าทำได้ลองหาที่ปรึกษา ฉันมีหนึ่งที่ดีที่สุดที่ฉันเคยได้ต้องการและผมอย่างเต็มใจที่จะเป็นของคุณถ้าคุณไปถึงออกมาให้ฉัน จะดีมากถ้าคุณสามารถถามคำถามสั้น ๆ กับใครบางคนและได้รับแรงบันดาลใจสิ่งนี้จะช่วยให้ข้ามพ้นโคกนั้นได้อย่างแน่นอน

อย่าลังเลที่จะถามคำถามหรือขอทรัพยากรที่เหมาะสมโดยส่งข้อความถึงฉันบน Instagram ของฉันหรือเพิ่มฉันใน LinkedIn!