คนที่เป็นวิศวกรข้อมูลจะต้องมีความรู้พื้นฐานอะไรบ้าง

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

1.จะต้องมีการเขียนโปรแกรมได้

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

2.ต้องสามารถจัดการข้อมูลใหญ่ (Managing Big Data)ได้

โดยจะต้องจัดเกี่ยวกับข้อมูลใหญ่ที่ค่อนข้างมีความหลากหลาย (Variety) ดังเช่นการมีข้อมูลที่เป็นแบบไร้โครงสร้างหลากหลายรูปแบบด้วยกัน เช่น ภาพ เสียง ข้อความ คลื่น สื่อสังคม เป็นต้น

โดยจะต้องมีขนาดที่ใหญ่ (Big Volume) และปริมาณมากอย่างมหาศาล ตัวอย่างเช่นข้อมูลที่เกี่ยวกับภาพถ่ายของดาวเทียม ที่มีความเร็วสูง (Velocity) วิ่งเข้ามาโดยจะต้องเป็นเวลาจริง (Real time) แบบต่อเนื่องไม่มีหยุดนั่นเอง

ดังนั้น ข้อมูลทางธุรกรรมรูปแบบทางการเงินที่เปิดให้บริการโดยตลอด 24 ชั่วโมงนั้น จะต้องกระทำการจัดการเรื่องการจัดเก็บข้อมูลในการอัพโหลดเพื่อเป็นการแจกจ่าย และเป็นการประมวลผลสำหรับข้อมูลใหญ่ โดยรวมไปถึงเรื่องของสถาปัตยกรรมข้อมูลใหญ่ เช่น HDFS; HBase; KV stores ฐานข้อมูลเอกสาร ฐานข้อมูลกราฟ

3.ต้องมีความรู้ความสามารถของระบบในการพัฒนาซอฟท์แวร์สำหรับข้อมูลที่ใหญ่ (Software applications development for big data)

จะต้องเข้าใจระบบหรือกระบวนการในการพัฒนาของระบบซอฟท์แวร์แบบอาไจล์ (Agile development for Big data) สำหรับข้อมูลใหญ่ โดยจะต้องมีความเข้าใจเฟรมเวิร์คและเทคโนโลยีในการพัฒนาซอฟท์แวร์ที่ใช้ในการพัฒนาซอฟแวร์เพื่อเป็นอินเตอร์เฟซอัจฉริยะ (Intelligent Interface)นั่นเองคับ

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