ฝึกเขียนโค้ดนานไหม

61 ครั้งเข้าชม
ระยะเวลาฝึกเขียนโค้ด: ขึ้นอยู่กับพื้นฐานและความตั้งใจจริง ผู้เริ่มต้น: อาจใช้เวลา 18-24 เดือน หรือนานกว่านั้น (2-3 ปี) หากไม่มีพื้นฐานและเรียนรู้เพื่อความสนุก ปัจจัย: จังหวะการเรียนรู้ส่วนบุคคล และความสม่ำเสมอมีผลต่อความเร็วในการพัฒนา สรุป: การมีพื้นฐานช่วยลดเวลา แต่ความมุ่งมั่นคือสิ่งสำคัญที่สุดในการเรียนรู้การเขียนโปรแกรม
ความคิดเห็น 0 ครั้งถูกใจ

เรียนรู้เขียนโค้ด ต้องฝึกนานแค่ไหน?

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

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

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

อ้อ! ลืมไป ยังมีเรื่องความถนัดด้วยนะ บางคนเรียนง่าย บางคนเรียนยาก มันก็เป็นเรื่องปกติ แล้วก็ขึ้นอยู่กับภาษาที่เรียนด้วย บางภาษาเรียนง่ายกว่า บางภาษาก็ซับซ้อนกว่า ผมว่าอย่าไปกดดันตัวเองมาก ค่อยเป็นค่อยไป สู้ๆ!

เขียนโปรแกรม เริ่มต้นยังไง

เขียนโปรแกรม? มึงอยากเริ่ม ก็เริ่มดิ

  • ภาษา: Python แม่งง่ายสุด หรือ Java ถ้ามึงอยากซับซ้อน
  • แหล่ง: กูเริ่มจาก Codecademy แล้วก็ Stack Overflow ถามกู กูไม่ตอบ
  • เป้า: อย่าเยอะ เอาแค่ทำตาม tutorial ให้ได้ก่อน
  • ทักษะ: กูว่าเรื่อง logic สำคัญกว่า syntax จำไม่ได้ก็ Google

ข้อมูลเพิ่มเติม:

  • Framework: เรียน React, Angular, หรือ Vue.js ไว้ มึงจะได้ไม่ตกงาน
  • Git: ใช้ซะ ถ้าไม่อยากโดนด่า
  • Database: SQL ไม่รู้ก็ตาย
  • Algorithmic Thinking: โคตรสำคัญ แต่ไม่ต้องรีบ

โปรแกรมเมอร์ ต้องเรียนอะไรบ้าง

เรียนจบป.ตรี วิศวะซอฟต์แวร์ ปี 2023 ที่ม.เกษตรศาสตร์ ตอนเรียนหนักมาก โค้ดดิ้งนี่แทบตาย วิชาพื้นฐานอย่างโครงสร้างข้อมูล อัลกอริทึม นี่จำฝังหัวเลย สอบปลายภาคเสียวทุกครั้ง แต่ก็ผ่านมาได้ นอกจากนั้นก็เรียนพวก Database, Operating System, Network สารพัด รู้สึกตอนนั้นว่าเรียนเยอะไปหมด จำได้ว่าเคยนอนน้อยมาก ดึกๆก็มานั่ง debug โค้ด ตี 3 ตี 4 เป็นเรื่องปกติ

จำได้ว่าตอนทำโปรเจคจบ เครียดมาก โค้ดไม่ทำงาน แก้ไม่ตก แทบจะร้องไห้ นั่งอยู่หน้าคอมจนตาพร่า สุดท้ายก็เสร็จทันส่ง โล่งอกไปเลย

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

  • ความรู้ด้านคอมพิวเตอร์ พื้นฐานแน่นๆ
  • ทักษะการแก้ปัญหา
  • ความอดทนสูง
  • ความรักในอาชีพ
  • การเรียนรู้อย่างต่อเนื่อง

ตอนนี้ทำงานแล้ว รู้สึกว่าที่เรียนมาใช้ได้จริง แต่ก็ยังต้องเรียนรู้เพิ่มอีกเยอะ โลกไอทีมันกว้างใหญ่ไพศาลจริงๆ

จบอะไรเป็นโปรแกรมเมอร์

จบอะไรเป็นโปรแกรมเมอร์? จบอะไรก็ได้! ขอแค่มีหัวคิดสร้างสรรค์แบบไอสไตน์ผสมความอดทนของพระสังฆราช ไม่งั้นโค้ดจะออกมาเหมือนก๋วยเตี๋ยวเรือที่น้ำกระเด็นไปทั่ว! (แต่ถ้าจบสายคอมฯโดยตรง ก็จะได้เปรียบหน่อยนะ อย่างน้อยก็รู้พื้นฐาน ไม่ต้องมาเริ่มจากศูนย์เหมือนผมที่เรียนนิเทศฯ ตอนนี้โค้ดผมยังวิ่งหนีผมอยู่เลย!)

คุณสมบัติโปรแกรมเมอร์ต้องมี? เฮ้อ...เยอะแยะไปหมด!

  • ความรู้ด้านคอมพิวเตอร์: นี่มันพื้นฐาน! ไม่รู้เรื่องนี้ เหมือนไปขับรถโดยไม่รู้จักเบรค อันตรายโคตรๆ! (ปีนี้เห็นเทรนด์ AI มาแรง ถ้ารู้เรื่อง Machine Learning หรือ Deep Learning ด้วยนี่ ยิ่งแจ๋วเลย!)

  • ความคิดสร้างสรรค์: โปรแกรมเมอร์ไม่ใช่แค่คนเขียนโค้ด ต้องเป็นศิลปินด้วย! โค้ดสวยงามก็เหมือนภาพวาด โค้ดห่วยแตกก็เหมือนภาพเด็กอนุบาลวาด ดูแล้วปวดใจ!

  • ความอดทนสูง: โค้ดมันจะไม่ยอมทำงานง่ายๆหรอก ต้องแก้บั๊กไปเรื่อยๆ เหมือนเลี้ยงลูก แต่เลี้ยงลูกยังพอมีเวลาพัก โค้ดนี่มันตามติด 24/7 ไม่เคยหยุดพักเลย!

  • ทักษะการแก้ปัญหา: เจอบั๊กทีนี่เหมือนเจอผี! ต้องใช้ความคิดและไหวพริบแบบคนสืบสวนสอบสวน บางทีต้องใช้เวทมนตร์ด้วยซ้ำ (แต่เวทมนตร์นี่ต้องใช้ Google Search นะครับ)

  • การเรียนรู้ตลอดชีวิต: เทคโนโลยีมันเปลี่ยนแปลงไว ถ้าไม่ update ตัวเอง ก็ตกยุค เหมือนมือถือรุ่นเก่า ใช้ได้แต่โทร. เล่นเกมส์ไม่ได้!

ปีนี้ผมไปอบรมเพิ่มเรื่อง Cybersecurity มาด้วยนะ เพราะข้อมูลมันสำคัญ เดี๋ยวโดนแฮก เจ๊งหมดตัว!

อาชีพ programmer จะต้องมีทักษะอะไรบ้าง

อื้อหือ โปรแกรมเมอร์นะเหรอ ต้องเก่งหลายอย่างเลยเนี่ย

  • แก้ปัญหา นี่สำคัญมาก! เจอปัญหาบ่อยมากกก ต้องคิดไวแก้ไว เหมือนสมการคณิตศาสตร์ที่ต้องหาคำตอบให้ได้ ปีนี้เจอปัญหาพวก memory leak เยอะมาก ปวดหัวสุดๆ

  • ตรรกะ ต้องคิดเป็นขั้นเป็นตอน เป็นระบบ คิดแบบ flowchart อ่ะ ถ้าคิดมั่วๆ โค้ดก็พัง เคยเขียนโค้ดแล้วมัน bug เยอะมาก แก้จนเหนื่อยเลย

  • คิดแบบ computational คือต้องเข้าใจวิธีการทำงานของคอม คิดเป็นขั้นตอน เหมือนสั่งงานคอมให้มันทำงานตามที่เราต้องการ ปีนี้เรียนรู้พวก algorithm ใหม่ๆ เพิ่ม เหนื่อยแต่สนุกดี

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

  • อัพเดทตัวเอง เทคโนโลยีเปลี่ยนแปลงเร็วมาก ต้องเรียนรู้ตลอดเวลา ไม่งั้นตกยุค ปีนี้กำลังเรียนรู้เกี่ยวกับ AI และ cloud computing อยากเก่งๆๆๆๆๆ

เฮ้อ เหนื่อยจัง แต่ก็สนุกดีนะ เป็นโปรแกรมเมอร์นี่ต้องอดทน ต้องใจเย็น บางทีโค้ดก็ error ไม่รู้เป็นอะไร ต้องค่อยๆ แก้ ต้องหาสาเหตุให้เจอ เป็นเหมือนนักสืบเลย

ปีนี้รู้สึกว่างานเยอะขึ้น แต่ก็ได้เรียนรู้สิ่งใหม่ๆ เยอะขึ้นด้วย ต้องพยายามต่อไป เป้าหมายคืออยากเป็น senior programmer ให้ได้ภายใน 3 ปี เอาให้ได้!

โปรแกรมเมอร์ เรียนมหาลัยไหน

แสงสุดท้ายลอดหน้าต่าง... อากาศเย็นยะเยือกจับใจ... โปรแกรมเมอร์... มหา'ลัยไหนดีนะ... อืม...

  • จุฬาฯ... อักษรสีชมพู... ฝันเฟื่อง...

  • ธรรมศาสตร์... เสรีภาพ... ท่าพระจันทร์...

  • มหิดล... ศาลายา... ความรู้ลึกซึ้ง...

  • เกษตรศาสตร์... บางเขน... ต้นไม้ใหญ่...

  • ลาดกระบัง... วิศวะ... ความแข็งแกร่ง...

  • บางมด... เทคโนโลยี... อนาคต...

สาขา... วิศวกรรมคอมพิวเตอร์... หรือ วิทยาการคอมพิวเตอร์... หรือ เทคโนโลยีสารสนเทศ... หรือ สารสนเทศศาสตร์... แต่ละที่... ไม่เหมือนกันเลย...

เลือกที่ใจเรียกร้อง... ตามเสียงกระซิบ... ของดวงดาว... ที่ส่องนำทาง... ในค่ำคืน... ที่มืดมิด...

จำได้ว่าตอนเด็กๆ เคยอยากเป็นนักบินอวกาศ แต่ตอนนี้... รู้สึกว่าโค้ดดิ้งก็เหมือนสร้างยานอวกาศ... ในโลกดิจิทัล... เหมือนกัน...

แนะนำ:

  • วิศวกรรมคอมพิวเตอร์ (Computer Engineering)
  • วิทยาการคอมพิวเตอร์ (Computer Science)
  • เทคโนโลยีสารสนเทศ (Information Technology)
  • สารสนเทศศาสตร์ (Information Science)

โปรแกรมเมอร์ต้องเรียนสายไหน

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

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

  • วิศวกรรมคอมพิวเตอร์ เน้นการออกแบบและพัฒนาฮาร์ดแวร์ซะส่วนใหญ่
  • วิทยาการคอมพิวเตอร์ เน้นทฤษฎี การวิเคราะห์ และการออกแบบอัลกอริทึม
  • เทคโนโลยีสารสนเทศ กว้างกว่า รวมทั้งการจัดการข้อมูล และระบบสารสนเทศด้วย

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

โปรแกรมเมอร์ ต้องจบอะไร

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

  • ทางเลือกด้านการศึกษา: ปริญญาตรีสาขาที่เกี่ยวข้อง เช่น วิศวกรรมซอฟต์แวร์, วิทยาการคอมพิวเตอร์, เทคโนโลยีสารสนเทศ (IT), วิทยาการข้อมูล (Data Science) หรือสาขาอื่นๆ ที่เน้นการเขียนโปรแกรม แต่ปัจจุบันมีหลักสูตรบูตแคมป์สอนโค้ดดิ้งมากขึ้นเรื่อยๆ หลายคนประสบความสำเร็จโดยไม่จบปริญญาตรี นี่แสดงให้เห็นว่าเส้นทางสู่ความเชี่ยวชาญมีหลายแบบ แล้วแต่ใครถนัด

  • คุณสมบัติสำคัญ: มากกว่าแค่ความรู้ทางทฤษฎี โปรแกรมเมอร์ที่ดีต้องมี:

    • ทักษะการแก้ปัญหา (Problem-solving): นี่คือหัวใจสำคัญ การเขียนโปรแกรมคือการแก้ปัญหาด้วยรหัส ความสามารถในการคิดวิเคราะห์อย่างเป็นระบบเป็นสิ่งจำเป็น
    • ความเชี่ยวชาญในภาษาโปรแกรม (Programming Languages): อย่างน้อยหนึ่งภาษา เช่น Python, Java, C++, JavaScript แล้วแต่ความต้องการของงานและความสนใจส่วนตัว
    • การทำงานเป็นทีม (Teamwork): โครงการซอฟต์แวร์ส่วนใหญ่เป็นงานกลุ่ม การสื่อสารและความร่วมมือเป็นสิ่งสำคัญ
    • ความสามารถในการเรียนรู้ (Learning Agility): เทคโนโลยีเปลี่ยนแปลงตลอดเวลา ความสามารถในการเรียนรู้สิ่งใหม่ๆ อย่างรวดเร็วเป็นสิ่งจำเป็น
    • ความอดทน (Patience): การดีบักโค้ดอาจใช้เวลานาน ความอดทนเป็นคุณสมบัติสำคัญของโปรแกรมเมอร์ที่ดี

เพิ่มเติม: ปี 2024 ความต้องการโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน AI และ Machine Learning สูงมาก ภาษาโปรแกรมที่ได้รับความนิยม ได้แก่ Python, R, และภาษาอื่นๆ ที่เกี่ยวข้องกับการวิเคราะห์ข้อมูล ตลาดงานมีความต้องการสูง แต่การแข่งขันก็สูงเช่นกัน การพัฒนาตัวเองอย่างต่อเนื่องจึงเป็นกุญแจสำคัญสู่ความสำเร็จ ส่วนตัวผมมองว่า ความคิดสร้างสรรค์เป็นสิ่งที่สำคัญมากในการเขียนโค้ดที่ดี มันไม่ใช่แค่การเขียนให้ทำงานได้ แต่ต้องเขียนให้สวยงามและมีประสิทธิภาพด้วย