90
ศุภเสฏฐ์ ชูชัยศรี เรื่องที่ผมอยากย้อนกลับไปแนะแนวตัวเองสมัยเรียน รู้สิ่งใดไม่สู....รู้วิชา งี...

รู้สิ่งใดไม่สู้...รู้งี้

Embed Size (px)

Citation preview

Page 1: รู้สิ่งใดไม่สู้...รู้งี้

ศุภเสฏฐ์ ชูชัยศรี

เรื่องที่ผมอยากย้อนกลับไปแนะแนวตัวเองสมัยเรียน

รู้สิ่งใดไม่สู้....รู้วิชางี้...

Page 2: รู้สิ่งใดไม่สู้...รู้งี้

รู้จักกันก่อน

ศุภเสฏฐ์ ชูชัยศรี (ปิง)

ตรี-โท-เอก วิศวฯคอม จุฬา

Co-founder

• บจ. ลานเกียร์ เทคโนโลยี

• บจ. สตรีมมิ่ง

[email protected]

github.com/supasate

stackoverflow.com/users/491267/supasate

twitter: @kaizerwing

facebook.com/kaizerwing

Page 3: รู้สิ่งใดไม่สู้...รู้งี้

วันนี้มาเล่าอะไร

• สายงานคนจบ Computer Science / Engineer

• สิ่งที่ควรรู้ในการทำงานสายพัฒนาซอฟต์แวร์

• Mindset

Page 4: รู้สิ่งใดไม่สู้...รู้งี้

ขอถามก่อน

Page 5: รู้สิ่งใดไม่สู้...รู้งี้

ใครอยากเรียนต่อ?

Page 6: รู้สิ่งใดไม่สู้...รู้งี้

ใครอยากทำงาน?

Page 7: รู้สิ่งใดไม่สู้...รู้งี้

ใครอยากเปิดบริษัท?

Page 8: รู้สิ่งใดไม่สู้...รู้งี้

ใครอยากย้ายสาย?

Page 9: รู้สิ่งใดไม่สู้...รู้งี้

สายงาน(บางที่อาจมองไม่เหมือนกัน)

Page 10: รู้สิ่งใดไม่สู้...รู้งี้

Programmer

• เขียนโปรแกรม

• (อาจจะออกแบบไม่เป็น แต่เขียนโปรแกรมตามที่ออกแบบได้)

• (หรืออาจจะออกแบบเป็นก็ได้)

• ความหมายค่อนข้างกว้าง

Page 11: รู้สิ่งใดไม่สู้...รู้งี้

Software Engineer

• ออกแบบและเขียนโปรแกรม

• วิเคราะห์หาสาเหตุของปัญหา

• แก้ปัญหาอย่างมีประสิทธิภาพ

• เลือกเทคโนโลยีที่เหมาะสม

Page 12: รู้สิ่งใดไม่สู้...รู้งี้

(Web) Front-end Engineer

• เขียนฝั่ง Client

• HTML / CSS / JavaScript

• CSS Framework - Bootstrap, Foundation

• JavaScript Framework - jQuery, Angular, Backbone, Knockout, Ember, React, GWT

Page 13: รู้สิ่งใดไม่สู้...รู้งี้

(Web) Back-end Engineer• เขียนฝั่ง Server

• Java / PHP / Node.js / .NET / Python / Ruby / Go

• Web Framework - Laravel, Ruby on Rails, Express

• Database - MySQL, Maria DB, MS SQL, Oracle, MongoDB, Redis, Cassandra, OrientDB

• Web Server - Apache, Nginx, IIS, Node.js

Page 14: รู้สิ่งใดไม่สู้...รู้งี้

Fullstack Developer

• ทำได้ทั้ง Front-end และ Back-end

Page 15: รู้สิ่งใดไม่สู้...รู้งี้

Tester / QA (Quality Assurance)

• ทดสอบระบบ

• ออกแบบ Unit Test / Functional Test / Regression Test / Acceptance Test

• เขียน script เพื่อทดสอบอัตโนมัติ

• (Test-Driven Development คนเขียน Test เป็น Software Engineer เลย)

Page 16: รู้สิ่งใดไม่สู้...รู้งี้

System Administrator

• คอนฟิกและดูแลระบบ เซิร์ฟเวอร์ เครือข่ายเบื้องต้น

• ความปลอดภัยของระบบ

• เขียน script ทำงานอัตโนมัติ

• แก้ไขปัญหาให้ระบบกลับมาได้เร็วที่สุด

Page 17: รู้สิ่งใดไม่สู้...รู้งี้

DevOps

https://en.wikipedia.org/wiki/DevOps

Page 18: รู้สิ่งใดไม่สู้...รู้งี้

System Analyst (SA)

• วิเคราะห์และออกแบบระบบจากความต้องการทางธุรกิจ

• ออกแบบและตรวจสอบ การแปลงข้อมูลที่มีเข้าสู่ระบบ

• ออกแบบและตรวจสอบ ลำดับการทำงานของระบบ

• (อาจจะไม่ได้เขียนโปรแกรมโดยตรง)

• (แต่ควรเขียนโปรแกรมได้ดี)

Page 19: รู้สิ่งใดไม่สู้...รู้งี้

System Programmer

• ออกแบบและเขียนโปรแกรมในระดับ low-level

• เช่น

• เขียน Driver

• เขียนโปรแกรมเชื่อมต่อ Network

• เขียน Firmware

Page 20: รู้สิ่งใดไม่สู้...รู้งี้

https://github.com/docker/swarm/blob/master/MAINTAINERS

Page 21: รู้สิ่งใดไม่สู้...รู้งี้

Embedded System Programmer

• เขียนโปรแกรมบนระบบฝังตัว / รถยนต์ / หุ่นยนต์ / IoT (Internet of Things) ฯลฯ

• รู้กลไกการทำงานของฮาร์ดแวร์

• เชื่อมต่อซอฟต์แวร์เข้ากับฮาร์ดแวร์

• ทรัพยากรจำกัด (CPU / Memory / Storage)

Page 22: รู้สิ่งใดไม่สู้...รู้งี้

Drivebot.io

Page 23: รู้สิ่งใดไม่สู้...รู้งี้

http://www.tesa.or.th/tesa/mod/forum/discuss.php?d=1076

Page 24: รู้สิ่งใดไม่สู้...รู้งี้

Mobile App Developer (iOS / Android / Windows Phone)

• รองรับปัญหาหน้าจอหลายขนาด (Fragmentation Problem)

• เลือกพัฒนาแบบ Native หรือ Web อย่างเหมาะสม

• รู้จัก Life-Cycle ของ App ในแต่ละ OS และการจัดการ Memory

• การเรียกใช้งาน GPS / Sensors / Wi-Fi / อื่นๆ

Page 25: รู้สิ่งใดไม่สู้...รู้งี้

GDE (Google Developer Expert)

Page 26: รู้สิ่งใดไม่สู้...รู้งี้

Network Engineer

• ออกแบบการติดตั้งและขยายเครือข่าย

• คอนฟิก Router, Switch, Hub, Server, อุปกรณ์เครือข่ายแบบซับซ้อน

• เขียน Script เพื่อทำงานอัตโนมัติ

• งานบางส่วนอาจเหมือน Network Administrator

Page 27: รู้สิ่งใดไม่สู้...รู้งี้

Network Administrator

• ติดตั้งและดูแลเครือข่าย

• เลือกใช้เครื่องมือในการติดตั้งและดูแล

• คอนฟิก Router, Switch, Hub, Server, อุปกรณ์เครือข่ายเบื้องต้น

• งานบางส่วนอาจเหมือน Network Engineer

Page 28: รู้สิ่งใดไม่สู้...รู้งี้

https://en.wikipedia.org/wiki/Cisco_certifications

Page 29: รู้สิ่งใดไม่สู้...รู้งี้

Database Administrator (DBA)

• ออกแบบและดูแลฐานข้อมูล

• ปรับปรุงประสิทธิภาพฐานข้อมูล

• วางแผน Backup & Restore

• ประสานกับนักพัฒนาโปรแกรมให้ใช้ข้อมูลได้มีประสิทธิภาพ

Page 30: รู้สิ่งใดไม่สู้...รู้งี้

Security Specialist / Consultant

• ตรวจสอบหาช่องโหว่ของระบบ (Penetration Test)

• สร้าง PoC (Proof of Concept) ทดสอบช่องโหว่

• อุดรอยรั่ว (Hardening)

• ติดตามช่องโหว่ CVE (Common Vulnerabilities and Exposure)

Page 31: รู้สิ่งใดไม่สู้...รู้งี้
Page 32: รู้สิ่งใดไม่สู้...รู้งี้

UI (User Interface) / UX (User Experience) Designer

credit: http://blog.falkayn.com/

Page 33: รู้สิ่งใดไม่สู้...รู้งี้

Game Developer / Designer

• ออกแบบวิธีการเล่นเกม จำลองฉาก

• เขียนโปรแกรมจำลอง Effect (มักใช้ความรู้ฟิสิกส์และคณิตศาสตร์)

• เขียน A.I. ฝั่งคอมพิวเตอร์

• เขียนระบบออนไลน์

Page 34: รู้สิ่งใดไม่สู้...รู้งี้

https://www.youtube.com/watch?v=1xJOWXedK08

Page 35: รู้สิ่งใดไม่สู้...รู้งี้

https://www.blognone.com/node/69237

Page 36: รู้สิ่งใดไม่สู้...รู้งี้

https://www.blognone.com/node/70044

Page 37: รู้สิ่งใดไม่สู้...รู้งี้

Technical Consultant

• วิเคราะห์ปัญหา

• นำเสนอทางแก้

• รู้ลึก รู้รอบ

• รู้ Business Domain

Page 38: รู้สิ่งใดไม่สู้...รู้งี้

Computer Scientist / Researcher

• วิจัยพัฒนาสิ่งใหม่

• สร้างองค์ความรู้ใหม่

• ค้นคว้าหาวิธีการใหม่

Page 39: รู้สิ่งใดไม่สู้...รู้งี้

คิดค้น TCP/IP Protocol“Father of the Internet”

Page 40: รู้สิ่งใดไม่สู้...รู้งี้

ประดิษฐ์ World Wide Web

Page 41: รู้สิ่งใดไม่สู้...รู้งี้

สร้างระบบปฏิบัติการ UNIXDennis Ritchie สร้างภาษา C

Page 42: รู้สิ่งใดไม่สู้...รู้งี้

สร้างภาษา Ruby

Page 43: รู้สิ่งใดไม่สู้...รู้งี้

MapReduce, BigTable, SpannerGoogle Brain, AdSense, Google Translate, etc.

Page 44: รู้สิ่งใดไม่สู้...รู้งี้

Larry Page & Sergey Brin“Page Rank Algorithm”

Page 45: รู้สิ่งใดไม่สู้...รู้งี้

Data Scientist

Page 46: รู้สิ่งใดไม่สู้...รู้งี้
Page 47: รู้สิ่งใดไม่สู้...รู้งี้

https://www.blognone.com/node/70257

Page 48: รู้สิ่งใดไม่สู้...รู้งี้

มีอื่นๆอีกเพียบ

Page 49: รู้สิ่งใดไม่สู้...รู้งี้

ตัวอย่างบริษัทในเมืองไทย

Page 50: รู้สิ่งใดไม่สู้...รู้งี้

Big Name

Page 51: รู้สิ่งใดไม่สู้...รู้งี้

Big Name (Thai)

Page 52: รู้สิ่งใดไม่สู้...รู้งี้

เฉพาะทาง (การเงิน ประกันภัย)

Page 53: รู้สิ่งใดไม่สู้...รู้งี้

Startup

Page 54: รู้สิ่งใดไม่สู้...รู้งี้

อื่นๆ อีกมากมาย

Page 55: รู้สิ่งใดไม่สู้...รู้งี้

สิ่งที่ควรรู้... ก่อนเข้าทำงานสายพัฒนาซอฟต์แวร์

Page 56: รู้สิ่งใดไม่สู้...รู้งี้

รู้... จักใช้ Version Controlgit, svn

Page 57: รู้สิ่งใดไม่สู้...รู้งี้
Page 58: รู้สิ่งใดไม่สู้...รู้งี้

รู้...ความสวยของโค้ด

Page 59: รู้สิ่งใดไม่สู้...รู้งี้

source: http://www.smashingmagazine.com/2008/11/12-principles-for-keeping-your-code-clean/

Page 60: รู้สิ่งใดไม่สู้...รู้งี้

รู้...จักอ่าน Error Message

Page 61: รู้สิ่งใดไม่สู้...รู้งี้

รู้...จักค้นคำตอบ

Page 62: รู้สิ่งใดไม่สู้...รู้งี้
Page 63: รู้สิ่งใดไม่สู้...รู้งี้
Page 64: รู้สิ่งใดไม่สู้...รู้งี้

รู้...ทันเทคโนโลยี

Page 65: รู้สิ่งใดไม่สู้...รู้งี้

Blognoneblognone.com

Page 66: รู้สิ่งใดไม่สู้...รู้งี้

Siam HTMLsiamhtml.com

Page 67: รู้สิ่งใดไม่สู้...รู้งี้

Hacker Newsnews.ycombinator.com

Page 68: รู้สิ่งใดไม่สู้...รู้งี้

Toptalhttp://www.toptal.com/blog

Page 69: รู้สิ่งใดไม่สู้...รู้งี้

Alltophttp://software-development.alltop.com/

Page 70: รู้สิ่งใดไม่สู้...รู้งี้

รู้...จักฝึกอ่านโค้ดชาวบ้าน

Page 71: รู้สิ่งใดไม่สู้...รู้งี้

github.comfork

Page 72: รู้สิ่งใดไม่สู้...รู้งี้

รู้...จักเข้าร่วมงานต่างๆ

Page 73: รู้สิ่งใดไม่สู้...รู้งี้

เครือข่ายโปรแกรมเมอร์ไทย และกลุ่มต่างๆCode Mania, โค้ดชิวๆ, JavaScript Day, PHP Meetup, Python Meetup, AWS Meetup, JavaBootcamp ฯลฯ

Page 74: รู้สิ่งใดไม่สู้...รู้งี้

รู้...Data Structure & Algorithm

(ถ้าอยากทำงานบริษัทระดับโลก)

Page 75: รู้สิ่งใดไม่สู้...รู้งี้

Google Code Jam Facebook Hacker Cup

Career Cup HackerRank

programming.in.th

Page 76: รู้สิ่งใดไม่สู้...รู้งี้

รู้...ภาษาอังกฤษ

Page 77: รู้สิ่งใดไม่สู้...รู้งี้

รู้....Soft Skill

Page 78: รู้สิ่งใดไม่สู้...รู้งี้

ทำงานเป็นทีม

Page 79: รู้สิ่งใดไม่สู้...รู้งี้

การสื่อสาร / นำเสนองาน

Page 80: รู้สิ่งใดไม่สู้...รู้งี้

ต้ังคำถาม

Page 81: รู้สิ่งใดไม่สู้...รู้งี้

ความเป็นผู้นำ

Page 82: รู้สิ่งใดไม่สู้...รู้งี้

ความรับผิดชอบ

Page 83: รู้สิ่งใดไม่สู้...รู้งี้

รู้...ตัวว่าชอบอะไรรู้...ตัวว่าไม่ชอบอะไร

Page 84: รู้สิ่งใดไม่สู้...รู้งี้

เรียนต่อ ทำงาน

เปิดบริษัท ย้ายสาย

Page 85: รู้สิ่งใดไม่สู้...รู้งี้

ตอบตัวเอง

Page 86: รู้สิ่งใดไม่สู้...รู้งี้

“ทำไม”

“เพื่ออะไร”

Page 87: รู้สิ่งใดไม่สู้...รู้งี้

Mindset

Page 88: รู้สิ่งใดไม่สู้...รู้งี้

http://championshipbasketballschool.com/wp-content/uploads/2013/09/mindset-animation.png

Page 89: รู้สิ่งใดไม่สู้...รู้งี้

คุยกันได้SUPASATE CHOOCHAISRI (Ping)

[email protected]

github.com/supasate

stackoverflow.com/users/491267/supasate

twitter: @kaizerwing

facebook.com/kaizerwing

Page 90: รู้สิ่งใดไม่สู้...รู้งี้

จบแล้วคำถาม?