ฉันจะรู้สึกมั่นใจมากขึ้นเกี่ยวกับทักษะการเขียนโปรแกรมของฉันได้อย่างไร [ปิด]


37

การเขียนโปรแกรมไม่ใช่คนต่างด้าวสำหรับฉัน ฉันเริ่มทำมาร์กอัพ (HTML ตอนนี้โปรดอย่าหัวเราะเยาะฉัน) เมื่อฉันอายุได้ 12 ปีและ BASIC เล็กน้อยเมื่อฉันอายุ 13 (ฉันรู้มากเกี่ยวกับ Flowcharts, Pseudocodes ณ จุดนี้) แต่แล้วฉันก็ถูกตักเตือนเป็น ชีววิทยาในโรงเรียนมัธยมและด้วยเหตุนี้จึงพลาดความรู้ด้านการเขียนโปรแกรม "ของจริง" ของภาษาเช่น C, Java, etcetera ฉันใช้ CS กับ UG BE ของฉัน (คล้ายกับ BS แต่เป็นไปตามทฤษฎีมากกว่า) ฉันเรียน C & C ++ (ในระดับที่น้อยกว่า) ด้วยตัวเอง (ศาสตราจารย์ของฉันเจ็บปวดมากและชั้นเรียนเต็มไปด้วย code-jocks (ที่เรียนมาแล้วในโรงเรียนและด้วยเหตุนี้ไม่สนใจห้องเรียน) ให้ปุถุชนน้อยกว่าอย่างฉันให้ความสนใจกับชั้นเรียนด้วย) และสามารถชักนำโปรแกรมการบวกหรือการคูณที่ยอดเยี่ยม (อันที่ตอนนี้แม้แต่ผู้ทำสวนเองก็ใจดีด้วย)

ปัญหาหลักของฉันคือฉันรู้สึกไม่ดีและบีบคอด้วยทักษะการเขียนโปรแกรมที่ จำกัด ของฉันและดูหมิ่นโดย code-jocks (เชื่อฉันสิฉันเจอเว็บไซต์นี้มานานแล้ว แต่ตอนนี้อาจสร้างความกล้าหาญที่จะโพสต์จริง ๆ คำถาม) และบางครั้งก็มีความสุขมากกว่าที่ไม่สามารถพูดได้ คนส่วนใหญ่พูดว่าการเขียนโปรแกรมไม่จำเป็นต้องเกี่ยวกับภาษา แต่เป็นสภาวะของจิตใจที่บุคคลนั้นมีและเทคนิคที่ใช้ในการแก้ปัญหา / ปัญหา ฉันเห็นด้วยกับความรู้สึกเช่นนี้ แต่ฉันสามารถได้รับ "สภาวะของความคิด" และถ้าฉันจะเข้าใกล้ "การเขียนโปรแกรม / การเข้ารหัส" และหากมีวิธีการและขั้นตอนที่กำหนดไว้ ของการเข้ารหัส " ฉันจะทำเช่นนั้นได้อย่างไร นอกจากนี้มันจะไม่เจ็บถ้านักบุญบางคนต้องการที่จะให้คำปรึกษาชิ้นส่วนที่ตกต่ำนี้ของ $ #! ^

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

TL; DR: ไม่เคยเรียนรู้ "การเขียนโปรแกรม / การเข้ารหัส" จริงๆไม่สามารถแก้ปัญหาได้แม้ว่าฉันจะพยายาม ช่วยฉันด้วย!


22
อย่าทำให้ตัวเองผิดหวัง ไม่มีใครออกมาจากการเขียนโปรแกรมมดลูก ยิ่งคุณใส่รหัสมากเท่าไหร่ก็จะยิ่งมีรหัสมากขึ้นเท่านั้น ขอให้สนุกกับมัน
Steven Evers

9
หากคุณกำลังคิดว่า "อืมข้อผิดพลาดน่าจะเป็นในรหัสของฉันไม่ใช่คอมไพเลอร์" คุณกำลังคิดว่าเป็นโปรแกรมเมอร์ (ดีเหมือนโปรแกรมเมอร์ส่วนใหญ่)
gablin

5
@SnOrfus: ไม่มีใครยกเว้น Jon Skeet;)
back2dos

4
จาก noob หนึ่งไปยังอีก: การปฏิบัติเป็นกุญแจสำคัญ!
Chani

1
@Snorfus ฉันเดิมพันไม่กี่คนที่ได้ทำ! : P
Mark C

คำตอบ:


26

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


ข้อเสนอแนะกฎ 10,000 ชั่วโมงฟังดูเหมือนยุติธรรม น่าสนใจจริงๆ แต่ฉันควรเลือกภาษาใดซึ่งยังคงมีความเกี่ยวข้อง & มีความยืดหยุ่นเหมือนกันในภาษาใหม่ (เช่น: หากฉันเรียนรู้ Java ในเชิงลึกกับแนวคิดทั้งหมดฉันจะสามารถย้ายไปยัง Scala, Processing, Clojure, ค่อนข้างง่าย)
Ameen

11
อามีน: ไม่ต้องกังวลเกี่ยวกับภาษาอื่น เรียนรู้หนึ่ง ไปต่อในภายหลังหลังจากที่คุณใส่ 10,000 ชั่วโมงไปที่ Java ชีวิตนั้นยาวมีภาษามากมายคุณจะไม่เรียนรู้ทั้งหมด ใหม่ถูกคิดค้นตลอดเวลา เรียนรู้สิ่งหนึ่งตอนนี้ กังวลเกี่ยวกับอนาคตหลังจากนั้น
S.Lott

2
"การใช้เวลากับมันมากขึ้น" ในทางที่คลุมเครือนั้นไม่มีประสิทธิภาพ
Rein Henrichs

1
นอกจากนี้กลยุทธ์ที่ดีคือการเรียนรู้ภาษาการเขียนโปรแกรมเชิงวัตถุและการเรียนรู้ภาษาโปรแกรมการทำงาน เรียนรู้ภาษาที่พิมพ์แบบคงที่และภาษาที่พิมพ์แบบไดนามิก คุณจะเป็นนักพัฒนาโค้งมน
Chiron

1
@Beven คุณต้องตรวจสอบเรียงความของ Peter Norvig ในหัวข้อ "เรียนรู้การเขียนโปรแกรมใน 10 ปี" ซึ่งคล้ายกันกับเรื่องนี้และให้ความกระจ่างในประเด็นสำคัญที่ผู้มาใหม่เขียนโปรแกรม
Ameen

16

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

แก้ไข: คุณควรอ่านเรือมัน มันเยี่ยมมาก

แก้ไขอีกครั้ง: การทำสิ่งใด ๆ ที่ไม่ใช่การจัดส่งเป็นเพียงประสบการณ์ที่ล้มเหลว ฉันเคยเห็นนักพัฒนา "อาวุโส" จำนวนมากที่มีประสบการณ์หลักไม่ได้จัดส่งสิ่งของ (และหาข้อแก้ตัวที่ไม่ส่งพวกเขา) จริงเรือศิลปิน


12

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

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


2
ในหลอดเลือดดำเดียวกันนี้ถ้าคุณต้องการเห็นคนที่มีปัญหาเดียวกันและชุมชนชุมนุมรอบตัวเขาและปัญหาของเขาให้แน่ใจว่าได้อ่านกระทู้ Hacker ข่าวนี้
Wes Baker

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

@Wes Baker: ขอบคุณมากสำหรับหัวข้อข่าว Hacker แน่นอนฉันสามารถเกี่ยวข้องกับความคิดของ OP (แม้ว่าฉันจะไม่ได้มันแย่มาก) ฉัน (คิดว่า) มีความรู้ที่ดีพอสมควรเกี่ยวกับระบบปฏิบัติการสถาปัตยกรรมคอมพิวเตอร์อัลกอริทึมโครงสร้างข้อมูลเครือข่ายคอมพิวเตอร์การเข้ารหัสคลังข้อมูล ฯลฯ (แม้ว่าฉันจะต้องแปรงขึ้น) อย่างที่ฉันบอกว่าฉันรู้เรื่องเหล่านี้ทั้งหมดจากมุมมองเชิงทฤษฎีและยังไม่ได้ทำสิ่งที่ปฏิบัติได้จริง แน่นอนจะอ่านผ่านหัวข้อนั้นคำแนะนำที่น่ากลัวมากมายที่นั่นเช่นกัน Tyvm!
Ameen

@Ameen โดย 'ทุกอย่าง' ฉันไม่ จำกัด เฉพาะเอกสารและแบบฝึกหัด รหัสอื่น ๆ ได้เขียนสำนวนที่พวกเขาใช้ข้อผิดพลาดข้อยกเว้น ฯลฯ อื่น ๆ ได้เผชิญและวิธีแก้ไข ฯลฯ ฉันไม่ได้เป็นนักจิตวิทยาหรือนักจิตวิทยาไม่ว่าด้วยวิธีใด
vpit3833

9

บางสิ่งที่คุณจะต้องเริ่มต้น:

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

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

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

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

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

โชคดี! และจำไว้ว่านี่ควรจะสนุก! = D


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

ฉันยินดีที่จะช่วย! = D
bryanegr

เป้าหมายที่ดีที่สุด: รหัสเรือ!

7

ในการพัฒนาดูเหมือนว่าเส้นขนาน "ยิ่งคุณรู้มากเท่าไหร่คุณก็ยิ่งรู้ว่าคุณไม่รู้" ก็จริง

หากคุณเป็นคนรอบคอบและซื่อสัตย์คุณจะต้องยอมรับความจริงนี้และเรียนรู้ที่จะจัดการกับมัน

ความมั่นใจในความหมายของคำถามเป็นเรื่องส่วนตัวที่ไม่มีอะไรเกี่ยวข้องกับชุดทักษะหรือวิธีการ

ในหมายเหตุเพิ่มเติมความเชื่อมั่นที่อธิบายไว้ในhttp://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (ส่วน: คุณประเมินค่าเฉลี่ยทักษะการแข่งขันสูงเกินไป ฝูงชนที่คุณไปด้วย) ช่วยฉันเสมอ

ฉันขอแนะนำให้คุณเรียนรู้ที่จะมั่นใจในงานที่คุณทำมากกว่าที่จะสร้างความมั่นใจในทักษะโดยรวมของคุณ วิธีที่ดีที่สุดในการทำเช่นนี้คือการเขียนการทดสอบซ้ำสำหรับโค้ดทั้งหมดของคุณ มันจะทำงานสิ่งมหัศจรรย์ในจิตใจของคุณ


4

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

เลือกภาษาที่จะช่วยให้คุณคิดเพิ่มเติมเกี่ยวกับสิ่งที่คุณต้องการทำและวิธีการทำน้อยลง c ไม่ใช่ตัวอย่างที่ดีของสิ่งนั้น ลองภาษาในระดับที่สูงขึ้นเช่น java หรือ c # เพราะมันจะทำให้คุณทำมากขึ้นดังนั้นคุณจะกล้าลองมากขึ้น

(นั่นคือแน่นอนสมมติว่าคุณไม่ได้ใฝ่หาอาชีพในฐานะโปรแกรมเมอร์มืออาชีพซึ่งในกรณีนี้ฉันจะพูดว่ากลับไปโรงเรียน ... )

ขอให้โชคดีและมีความสุขการเข้ารหัส

PS: โอ้แล้วคุณจะต้องมีความขี้เกียจความกระวนกระวายและความโอหังมากมาย

http://c2.com/cgi/wiki?LazinessImpatienceHubris


4

สิ่งที่ตลกคือ:

ความคิดของโปรแกรมเมอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์ภาษาการเขียนโปรแกรม
รูปแบบการออกแบบหรืออัลกอริทึมมากนัก

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

การติดตั้งโค้ดจะเกิดขึ้นหลังจากนั้น - หลังจากที่คุณได้
แก้ไขปัญหาที่กำหนดไว้ในใจของคุณเรียบร้อยแล้ว


4

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

ความมั่นใจคือสิ่งที่คนอื่นซึ่งคุณคิดว่ามีความสามารถควรมารู้สึกถึงทักษะของคุณหลังจากทำงานกับคุณหรือเห็นงานของคุณ


3

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

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

ไม่ต้องกังวลมากเกี่ยวกับเทคโนโลยีใดถึงแม้ว่ามันจะสนุกมากที่จะทำกราฟิกด้วย HTML5 + JavaScript + แท็กผ้าใบเนื่องจากเป็นการตั้งค่าที่ค่อนข้างง่าย


ขอบคุณมาก. ฉันสนใจในการเขียนโปรแกรมมาก (ฉันจะแก้ปัญหาในหัวของฉัน - และแน่นอนในอัลกอริทึม, แผนภูมิการไหล, ฯลฯ ) ฉันดูเหมือนจะขาดการยึดติดกับโครงการและดำเนินการกับมันและขอความช่วยเหลือเมื่อติดอยู่ ในตอนจบ (ทั้งหมดนี้จะต้องจบลงในตอนนี้ :) ขอบคุณ SE) นอกจากนี้ฉันได้รับความสนใจอย่างมากเกี่ยวกับสิ่ง HTML5 + JavaScript (การโหลดบางส่วนของหน้า - Mashable นำสิ่งนี้ไปใช้ในรูปแบบที่ยอดเยี่ยมคำตอบในการโหลด SE) ไม่ทราบแหล่งข้อมูลที่เหมาะสมสำหรับพวกเขาที่จะเรียนรู้จาก (W3C-Schools คาดเดาได้ยาก; W3Fools พูดอย่างนั้น!)
Ameen

3

เข้าหาการเขียนโปรแกรมด้วยทัศนคติที่ดีขึ้น ไม่มีใครรู้ทุกอย่าง ประการที่สองค้นหาว่าเพราะเหตุใดคุณจึงสนใจเขียนโปรแกรมไม่ว่าคุณจะชอบ:

  • การแก้ปัญหา
  • เรียนรู้สิ่งใหม่
  • ทำให้คอมพิวเตอร์งอตามใจคุณ
  • อื่น ๆ อีก...

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

พื้นหลังของฉันคล้ายกับของคุณ เริ่มสร้างคอมพิวเตอร์เมื่ออายุ 10 ขวบ HTML / C ++ เล็กน้อยในช่วงวัยรุ่นตอนกลางของฉัน ... เบื่อกับมัน ... เลิกไปสองสามปี แม้ว่าฉันจะไม่หยุดเล่นกับคอมพิวเตอร์

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

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


3

มีแรงเฉื่อยเสมอที่จะเอาชนะเมื่อเรียนรู้สิ่งใหม่ โปรแกรมเมอร์ที่อยากรู้อยากเห็นที่ฉันรู้จักพยายามดิ้นรนหาแรงจูงใจในการเรียนรู้ภาษาและกระบวนทัศน์ใหม่ ๆ พวกเขาจะพูดว่า "ฉันต้องการโครงการเพื่อทดลองใช้ X on" เพื่อที่จะเรียนรู้ X. มีเพียงไม่กี่คนที่จะพบ / ประดิษฐ์โครงการนั้น

โปรดทราบว่าอาชีพในการเขียนโปรแกรมจะเป็นกระบวนการที่ยุ่งยากตลอดชีวิตในการศึกษาทดลองและเอียงกังหันลม จนกระทั่ง AIs เข้ายึดครองทุกอย่าง

หากคุณยังคงทำวิทยาศาสตร์จริงอยู่คุณควรนึกภาพโครงการ / ความต้องการบางอย่าง ตัวอย่างเช่นการรวมข้อมูลจากแหล่งที่มาหลายแห่งในหรือนอกอินเทอร์เน็ต สิ่งนี้อาจเป็นแรงบันดาลใจให้คุณเรียนรู้จาวาสคริปต์หรือ R หรือแม้แต่ Excel / VBA หากคุณสามารถเชื่อมต่อจุดบางจุดสำหรับคนอื่น ๆ ในสาขาของคุณคุณจะได้รับการยอมรับและ voila คุณจะเป็นโปรแกรมเมอร์

ใช้ แต่ระวังพี่เลี้ยง ผู้มีอำนาจคำถาม

และโดยวิธีการที่ "การเข้ารหัสเซน" เป็นแบบ oxymoron


3

คุณจะไม่รู้สึกมั่นใจเกี่ยวกับทักษะการเขียนโปรแกรมของคุณ

วิธีที่คุณอธิบายทักษะของคุณชี้ไปที่ความคิดที่คุณจะไม่พอใจกับทักษะของคุณ คุณเชี่ยวชาญ C ++ หรือไม่ รอนั่นคือจาวา! คุณเชี่ยวชาญ Java หรือไม่ รอนั่นคือการเขียนโปรแกรมแบบขนาน คุณเชี่ยวชาญการเขียนโปรแกรมแบบ Parallel ใน C ++ และ Java หรือไม่ รอนั่นคือ SOA! มีอู๊ด! และ MVC! SOLID! ฟังก์ชั่นการเขียนโปรแกรม! การเขียนโปรแกรมเว็บ! โปรแกรมคลาวด์! การเขียนโปรแกรมมือถือ!

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


ว้าวนั่นเป็นวิธีใหม่ในการดูอย่างนี้ รักในแบบที่คุณใส่มันจะมีบางสิ่งที่คุณอยากทำ ฉันควรเริ่มเปลี่ยนฟิล์มเนกาทีฟของฉันให้เป็นบวก ขอบคุณมาก. ขอบคุณมัน!
Ameen

3

ฉันเคยรู้สึกแบบเดียวกันและจริง ๆ แล้วเป็นไซต์แลกเปลี่ยนแลกเปลี่ยนที่ช่วยให้ฉันมั่นใจ

ฉันเริ่มใช้ StackOverflow เพื่อค้นหาคำตอบสำหรับคำถามของฉันและวันหนึ่งฉันเห็นคำตอบที่ฉันรู้ ฉันโพสต์คำตอบรับคะแนนโหวตเพิ่มขึ้นและความคิดเห็นที่บอกว่าเป็นคำตอบที่ดีและนั่นทำให้ฉันมองไปรอบ ๆ เพื่อหาคำถามอื่นที่ฉันสามารถตอบได้

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

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

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


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

3

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

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

นอกจากนี้ยังมีสิ่งที่จะกล่าวสำหรับการฝึกซ้ำ คุณต้องการความผันแปรมากพอที่จะเป็นนวนิยาย แต่มีความคล้ายคลึงกันมากพอที่คุณจะได้รับการกระทำที่เหมือนกันและฝังลึกลงไป

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


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

2

สามสิ่งที่ควรพิจารณา: (หรือไม่แน่นอน)

  1. การปฏิบัติ ถ้าความล้มเหลวไม่ได้หมายถึงอะไรมากไปกว่าสิ่งบ่งชี้ที่คุณกำลังฝึก? หากคุณเลิกเรียนรู้ที่จะเดินเป็นครั้งแรกที่คุณล้มลงคุณจะยังคงคลานอยู่
  2. เล่นกับสิ่งที่คุณกำลังทำ การเล่นเป็นเพียงแค่พยายามทำบางสิ่งและสังเกตว่าเกิดอะไรขึ้น ยอมแพ้การตัดสินผลลัพธ์ที่ดี / ไม่ดีเพียงแค่เล่นและดูว่าเกิดอะไรขึ้น ยอมแพ้การยึดติดกับผลลัพธ์เฉพาะลองอะไรและดูว่าเกิดอะไรขึ้น
  3. ถ้าคุณไม่ใช่โปรแกรมเมอร์คนเดียวในโลกที่เคยรู้สึกแบบนี้?

2

มีความคิดเห็นที่ดีมากมายเกี่ยวกับการฝึกฝนที่นี่มันทำให้ทุกอย่างแตกต่าง

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

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

หากมีคนใส่รหัสของคุณเพราะคุณเอา 25 บรรทัดแทนที่จะเป็น 20 ฉันมักจะไม่สนใจพวกเขาจนกว่าพวกเขาจะพบข้อบกพร่องที่แท้จริงในตรรกะ บางครั้งในโลกแห่งความเป็นจริงเราต้องทำสิ่งต่าง ๆ ให้เสร็จ (และใครอยากฟังใครบางคนที่รู้ทันว่าหน้าอกซับซ้อนแค่ไหน ... เอ่อพวกเขาสามารถสร้างรหัสที่ควรทำใน 10 นาที) . คุณสามารถเรียนรู้บางสิ่งจากการถกเถียงทางปรัชญาที่ไม่รู้จบเกี่ยวกับสิ่งที่เป็นนามธรรมได้หรือไม่? แน่นอน ... แต่มีผลตอบแทนลดลงในการดูดเข้าสู่ความสง่างามคงที่ 100% มันไม่เหมือนจริงตลอดเวลาเท่าที่เราต้องการทำเป็นว่ามันเป็น บางรหัสที่สง่างามน้อยที่สุดของฉันที่ฉันจะอายที่จะแบ่งปันให้กับทุกคน (ที่ฉันเขียนในช่วงเริ่มต้นของอาชีพของฉัน) ได้ช่วยชีวิตผู้คนสัปดาห์ต่อสัปดาห์มูลค่าเวลา

มีโพสต์บล็อกที่ยอดเยี่ยมโดย Joel Spolsky เรียกว่า Duct Tape โปรแกรมเมอร์ มันเป็นการอ่านที่ยอดเยี่ยมและ IMO ทำให้ความกลัวของคุณกลายเป็นมุมมอง

http://www.joelonsoftware.com/items/2009/09/23.html

ฉันไม่ได้บอกว่าเขียนรหัสอึและละเว้นการปฏิบัติที่ดีที่สุด แต่ใช้โปรแกรมเมอร์ ranty ด้วยเม็ดเกลือ


1

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

ไม่มั่นใจอย่างที่คุณต้องการจริงๆมันมีเสียงรบกวนน้อยในเส้นทางของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.