Wednesday, November 30, 2016

มาทำความรู้จักกับ SQL สกิลที่วันนี้เป็นที่ต้องการมากที่สุดด้าน IT/ Business

สมัยเรียนจบปริญญาตรีจากคณะเศรษฐศาสตร์ ปี 2010 ก็เคยคิดว่าใช้โปรแกรมเป็นแค่ Microsoft Office พวก Word, PowerPoint, Excel ก็คงพอแล้วในการทำงานออฟฟิซทั่วไป หางานทำได้ง่ายๆสบายๆ (ตอนนั้นทำ Eviews, SPSS ได้แบบงูๆปลาๆมากๆ เพราะที่มหาลัยก็ไม่ได้สอนจริงจัง)

ตอนนี้ก็ทำงานมาหลายปีแล้ว สิ่งที่อยากจะฝากเด็กรุ่นใหม่ๆที่กำลังเรียนอยู่ หรือน้องๆที่เพิ่งจบมาว่า ...
"การใช้โปรแกรมเป็นแค่ office พื้นฐาน ไม่ได้ทำให้น้องแตกต่างจาก candidate คนอื่นๆเลยตอนสมัครงาน แถมตอนนี้โลกเราไปไกลมากแล้ว ทักษะด้านโปรแกรม office งานเอกสารทั่วไปที่น้องมีอยู่ตอนนี้อาจจะไม่พอแล้วกับการทำงานในปัจจุบัน"
คือเรื่องของเรื่องเป็นแบบนี้ฮะ
เรา: วันก่อนครับ
เพื่อน: ทำไมครับ?
เรา: ไปสัมภาษณ์งานที่ Facebook มาครับ (ตำแหน่ง Measurement Lead Thailand)
เพื่อน: แล้วเป็นไงครับ?
เรา: เค้าถามว่าทำ SQL เป็นไหม?
เพื่อน: แล้วทำเป็นไหมน่ะ
เรา: ... (ในรอยยิ้มมีน้ำตาซ่อนอยู่)
... ลาก่อยยยย Facebook ... ร้องไห้หนักมาก เพราะทำ SQL ไม่เป็น 😭 555+

Facebook ประเทศไทยกำลังตามคนที่ต้องทำงานกับ database เยอะมาก ดึงข้อมูลมาทำการวิเคราะห์เบื้องต้น รวมถึงมีความรู้ทางสถิติ การออกแบบการทดลอง digital research และมีความรู้เรื่อง digital marketing ที่ดีระดับนึงเลย แต่ตอนสัมภาษณ์มาตายตอนที่เค้าถามเรื่อง SQL นี่แหละ เราก็บอกเค้าไปตรงๆว่าทำไม่เป็น ใช้ R แทนได้ไหม 555+ คนสัมภาษณ์เลยบอกว่า "thank you for letting me know, this will be part of our consideration" ... แปลว่า ยูไม่น่าเหมาะกับตำแหน่งนี้นะ 555+

Video interview with Facebook Singapore
อันนี้ตอนสัมภาษณ์กับทีม Marketing Science ของ Facebook Singapore



จริงๆเคยได้ยิน SQL มานานมากแล้ว และรู้สึก "พลาดมาก" ที่ไม่ยอมเรียนมันไว้แต่เนิ่นๆ พอสัมภาษณ์ Facebook เสร็จ รีบเปิด google หาคอร์สเรียนออนไลน์เลย และไปจบลงที่คอร์สของอาจารย์ Jose Portilla Data Scientist ที่สอนอยู่บนเว็บ Udemy เพิ่งเรียนจบวันนี้เลย เด๋วเราจะมาอธิบายให้ฟัง

SQL ย่อมาจาก Structured Query Language อ่านว่า เอส-คิว-แอล พัฒนาโดย IBM ในช่วงปี 1970s โดยมีชื่อดั้งเดิมว่า SEQUEL (อ่านว่า ซีเควล) แต่มันดันไปชนกับ trademark ของบริษัทผลิตเครื่องบินในประเทศอังกฤษเจ้านึงพอดี IBM เลยเปลี่ยนชื่อให้มันเป็น SQL แทน ง่ายๆแบบนี้เลย

SQL คือภาษาที่เอาไว้ใช้สั่งงาน database ไม่ว่าจะเป็นการสร้าง เรียกดูข้อมูล อัพเดท ปรับปรุง รวมถึงวิเคราะห์ผลเบื้องต้น (Create, Retrieve, Update, Delete + Analyze) หลายๆที่จึงจัด SQL เป็นหนึ่งในทักษะด้าน data analysis ที่สำคัญเช่นกัน

อ่านมาถึงตรงนี้ หลายๆคนอาจจะมีคำถามว่า ...
"ผมไม่ได้เรียนจบ IT หรือพวก computer science/ engineering มา แล้วจะเขียน SQL ได้ไหมครับ?"
บอกเลยว่า เขียนได้ฮะ! เพราะว่า SQL เป็นภาษาที่เรียนรู้ง่ายมากๆ ใช้เวลาแค่ไม่กี่วันก็ทำได้แล้วครับ นี่เราก็เพิ่งเรียนจบมาเลยเนี่ย ไม่เคยเรียนด้าน IT หรือ computer science มาก่อนเหมือนกัน จะเรียนอะไร ไม่ต้องรอใครสอน อยู่ที่ใจเราล้วนๆเลยครับจังหวะนี้ 😊 อีกอย่างคือ SQL software มีให้เลือกเล่นหลายตัวมากๆ โหลดมาเล่นได้ฟรีๆ ซึ่งใช้ภาษามาตรฐานในการเขียนเหมือนกันเลย ลองกดเข้าไปเลือกดูนะฮะ (ปล. ยังมีอีกหลายตัวเลย ลองเสิช google ดูนะครับ ด้านล่างเป็นตัวที่คนนิยมใช้กัน)
Structured Query Language
หน้าตาการเขียนภาษา SQL อันนี้แอดใช้ของ PostgreSQL นะ


















คราวนี้เราจะอธิบายต่อว่าทำไม SQL ถึงสำคัญกับชีวิตอย่างมาก ไม่ว่าคุณจะทำงานอะไรก็ตาม

6 เหตุผลโคตรสำคัญที่ควรเขียน SQL ให้เป็น?


1. SQL เป็นภาษาทางการที่ใช้จัดการ database มาแล้วกว่า 40 ปี และเป็นภาษาที่กำลังเป็นที่ต้องการของตลาดอย่างมาก ไม่ใช่แค่เฉพาะงานสาย IT เท่านั้น ดูอย่าง Facebook สิ! คนที่ทำงานด้านการตลาด ดิจิตัล หรือธุรกิจต่างๆก็ควรจะต้องเขียน SQL ให้เป็นเหมือนกัน

2. SQL เป็นทักษะที่มีคุณค่า มีประดับไว้ใน resume อัพเงินเดือนได้แน่นอน ของเมืองนอกอ้างอิงจากเว็บไซต์ indeed.com รายได้เฉลี่ยต่อปีของ SQL developer ในประเทศอเมริกาอยู่ที่ $92,000 หรือคิดเป็นเงินไทยประมาณ 3.3 ล้านบาทต่อปีเลยทีเดียว

3. SQL จัดการข้อมูลขนาดใหญ่กว่ามากเมื่อเทียบกับ Excel ในยุคนี้ที่ Big data กำลังเป็นกระแสที่หลายๆบริษัทในไทยทั้งใหญ่และเล็กให้ความสนใจ เราจะใช้แค่ Excel จัดการข้อมูลก็คงไม่ไหว ไฟล์ใหญ่กว่า 1mb เปิดไฟล์ทีก็หมุนไปฮะ แล้วก็โปรแกรมค้างบ่อยๆเลย ถ้าใช้ SQL เราจะไม่เจอปัญหาโปรแกรมค้างอีกต่อไป 555+ อีกอย่างคือ Excel มันเก็บข้อมูลได้แค่หนึ่งล้าน rows เอง ถ้ามากกว่านั้นก็ไม่ได้แล้วครับ จึงไม่ตอบโจทย์เลยกับการทำงานกับข้อมูลขนาดใหญ่

4. SQL เป็นภาษาที่เขียนง่ายมากๆ (ก. ล้านตัว) ไม่ยากเลยถ้าเทียบกับ R หรือ Python เพราะว่าภาษามันดึงคำศัพท์มาจากภาษาอังกฤษตรงๆเลย ถ้าเข้าใจคำต่อไปนี้ เช่น Create Select Update Delete Group Order Count Max Min Average Sum ก็สามารถเริ่มเขียน SQL ได้แล้วนะครับ แหม่!

5. SQL ช่วยให้ชีวิตเราตอนทำ report ส่งเจ้านายง่ายขึ้นอีกมาก ด้วยความสามารถของ syntax ที่สามารถ save และ edit ได้เรื่อยๆเลยโดยที่ไม่ต้องเขียนโค้ดใหม่ แปลว่าเขียนโค้ดครั้งเดียวเซฟใช้ไปได้ตลอดชาติ (อาจมีการปรับเปลี่ยนนิดหน่อยตามหน้าตา database หรือชื่อตัวแปรที่เราต้องการวิเคราะห์ แต่โครงสร้างหลักของโค้ดยังเหมือนเดิม)

6. SQL ถูกใช้ในการตอบโจทย์ทางธุรกิจหลายๆอย่าง โดยที่เราสามารถเรียกดู report ต่างๆได้เองเลยใน database ของบริษัทโดยที่ไม่ต้องไปถามคนอื่นเลย เช่น การหายอดขายปีที่แล้ว ราคาเฉลี่ยของสินค้าแต่ละตัว เป็นต้น และนี่ทำให้เรากลายเป็น self-sufficient employee ขึ้นมาทันทีเลยในสายตาของเจ้านายของเรา 

SQL career path
คลิ๊กเพื่อดูรูปขนาดใหญ่






















ถ้าเริ่มเรียน SQL วันนี้ บอกได้เลยว่าโอกาสในชีวิตมีอีกเยอะ! รูปด้านบนโชว์ผัง career path ของ SQL developer ที่สามารถเติบโตได้หลายสายงานมากๆ ไม่ว่าจะเป็น Database Adminitrator (DBA), Database Manager, Database Engineer, IT Manager, Business Intelligence Manager, Marketing Manager เป็นต้น ไม่ว่าเราจะทำงานใน industry ไหน ก็สามารถใช้ประโยชน์จากทักษะนี้ได้หมดเลย บริษัทแทบจะทุกบริษัททั่วโลกต้องมีระบบการจัดการ database ภายในองค์กร ไม่ว่าจะเป็นซอฟแวร์ของ IBM, Oracle หรือของ Microsoft 😀

สำหรับเพื่อนๆที่อยากเริ่มเรียน SQL เราแนะนำของ code academy เรียนฟรีได้เลยนะฮะ

สำหรับเพื่อนๆที่อยากเรียนของ Jose Portilla เหมือนเรา ก็ตามมาที่ลิ้งนี้ได้เลยฮะ ตอนนี้มีโปรโมชั่นอยู่ด้วยนะ
https://www.udemy.com/the-complete-sql-bootcamp/

เรียนวันนี้ การันตีงานยันชาติหน้า!

อ้างอิง
https://www.codeschool.com/blog/2015/03/25/5-reasons-try-sql/
https://www.linkedin.com/pulse/why-you-should-learn-sql-brewster-knowlton
http://www.skilledup.com/articles/learn-sql-it-most-in-demand-skill-in-single-day
https://www.quora.com/What-is-SQL-and-why-is-it-important

#happyLearning

6 comments:

  1. ขอบคุณครับ ได้ไอเดียเลย

    ReplyDelete
  2. When one door closes, another door opens. Next application is to google, with updated SQL capability on the resume, right? :) I do admire you for learning the new skill without a beat of hesitation.

    ReplyDelete
  3. When one door closes, another door opens. Next application is to google, with updated SQL capability on the resume, right? :) I do admire you for learning the new skill without a beat of hesitation.

    ReplyDelete
  4. ขอบคุณนะคะ สำหรับบทความดีๆ แต่ว่าตอนนี้เจอปัญหาใหญ่คือ ยังออกแบบฐานข้อมูลไม่ได้ พอจะมีคำแนะนำไหมคะ ...(มันก็เลยไป SQL ต่อไม่ได้) T_T

    ReplyDelete
  5. ขอบคุณค่ะ ถ้าเรียนของ codeacademy จบแล้วมันจะซ้ำกับเนื้อหาของ udemy มั้ยคะ หรือว่ามีแบบฝึกหัดเยอะกว่า

    ReplyDelete
  6. ติดตามทางนี้ครับ หากสนใจด้าน SQL
    http://blog.sqlauthority.com
    https://www.simple-talk.com/sql/

    ReplyDelete