Skip to main content

Simple Solfware Engineer

NSTRU

คำอธิบายรายวิชา (Course Description)

หลักสูตร Simple Software Engineer ออกแบบมาเพื่อเปลี่ยนมุมมองการเขียนโปรแกรมแบบเดิมๆ ให้ก้าวสู่การเป็น "วิศวกรซอฟต์แวร์" อย่างเต็มตัว เราเชื่อว่าซอฟต์แวร์ที่ดีต้อง "เรียบง่ายแต่ทรงพลัง" ผู้เรียนจะได้เรียนรู้ตั้งแต่กระบวนการคิดเชิงวิศวกรรม (Engineering Mindset), การออกแบบโครงสร้างที่ยืดหยุ่น, ไปจนถึงการบริหารจัดการโปรเจกต์ในโลกจริง

เนื้อหาจะครอบคลุมตั้งแต่พื้นฐานการเขียน Clean Code, การเลือกใช้ Architecture ที่เหมาะสม, การทดสอบซอฟต์แวร์ (Testing), และการทำ CI/CD เพื่อส่งมอบงานอย่างต่อเนื่อง โดยเน้นการตัดทอนความซับซ้อนที่ไม่จำเป็นออกไป เพื่อให้คุณสร้างผลงานที่ดูแลรักษาง่ายและเติบโตได้อย่างยั่งยืน

ผลการเรียนรู้ (Learning Outcomes: L1 - L5)

หลังจากจบหลักสูตรนี้ ผู้เรียนจะมีความสามารถตามระดับทักษะดังนี้:

L1: ความรู้ความจำ (Remembering)

  • สามารถอธิบายความแตกต่างระหว่าง Programmer และ Software Engineer ได้อย่างถูกต้อง

  • ระบุและจำแนกคำศัพท์พื้นฐานในวงการวิศวกรรมซอฟต์แวร์ เช่น SOLID Principles, DRY, และ KISS ได้

L2: ความเข้าใจ (Understanding)

  • อธิบายความสำคัญของการทำ Unit Testing และการเลือกใช้ Software Architecture แบบต่างๆ ได้

  • เข้าใจขั้นตอนการทำงานของ Software Development Life Cycle (SDLC) ในรูปแบบ Agile/Scrum

L3: การประยุกต์ใช้ (Applying)

  • ประยุกต์ใช้หลักการ Clean Code ในการเขียนโปรแกรมเพื่อให้อ่านง่ายและจัดการได้สะดวก

  • ใช้งานเครื่องมือพื้นฐานของวิศวกรซอฟต์แวร์ เช่น Git, Docker และ Automated Tools ต่างๆ ได้จริง

L4: การวิเคราะห์ (Analyzing)

  • วิเคราะห์ปัญหาในโค้ดเดิม (Legacy Code) และระบุจุดที่ควรทำการ Refactoring เพื่อเพิ่มประสิทธิภาพ

  • เปรียบเทียบข้อดี-ข้อเสียของเทคโนโลยีและ Stack ต่างๆ เพื่อเลือกใช้ให้เหมาะสมกับโจทย์ที่ได้รับ

L5: การประเมินและสร้างสรรค์ (Evaluating & Creating)

  • ออกแบบและวางโครงสร้างระบบ (System Design) สำหรับโปรเจกต์ขนาดเล็กถึงกลางได้อย่างเป็นระบบ

  • ประเมินความเสี่ยงและคุณภาพของซอฟต์แวร์ก่อนการ Deploy สู่สภาพแวดล้อมจริงได้อย่างมั่นใจ

ข้อมูลเบื้องต้นสำหรับผู้เรียน

  • ระดับความยาก: เริ่มต้น - กลาง (Beginner to Intermediate)

  • ระยะเวลาเรียน: 12-15 ชั่วโมง

  • พื้นฐานที่ควรมี: มีความเข้าใจการเขียนโปรแกรมเบื้องต้น (ภาษาใดก็ได้) มาบ้างเล็กน้อย

Course Staff
  • Question: จำเป็นต้องมีพื้นฐานการเขียนโปรแกรมภาษาอะไรเป็นพิเศษหรือไม่?

  • Answer: ไม่จำเป็นครับ หลักสูตรนี้เน้นที่แนวคิดเชิงวิศวกรรม (Engineering Mindset) และหลักการออกแบบซอฟต์แวร์ ผู้เรียนสามารถใช้ภาษาที่ตนเองถนัด เช่น Python, JavaScript, PHP หรือ Java ในการทำความเข้าใจเนื้อหาได้เลย

Enroll