Roadmap เพื่อการพัฒนา Website อย่างมืออาชีพ

07-ก.พ.-18

คัมภีร์เทพ IT

สำหรับบทความนี้ ผู้เขียน(คุณ Madhav Bahl) ได้เขียนไว้เพื่อให้เป็นแนวทางสำหรับคนที่อยากพัฒนาเว็บไซต์ ก่อนหน้านี้เขาเองก็เคยลองผิดลองถูกตอนช่วงเริ่มต้นพัฒนาเว็บไซต์ใหม่ๆ และเขาก็ไม่อยากให้คนอื่นต้องทำผิดพลาดอย่างเขา ดังนั้น จึงได้เขียน Road Map ขึ้นมาเพื่อเป็นแนวทางให้กับผู้ที่สนใจงานด้านพัฒนาเว็บไซต์ แม้จะยาวสักหน่อย แต่ก็เป็น Guideline ได้เป็นอย่างดี เรามาดูกันดีกว่าว่ามีอะไรบ้าง

1. Tooltit

สำหรับผูที่กำลังเริ่มต้นอยากพัฒนาเว็บไซต์อาจไม่รู้ว่าควรทำอะไรก่อน หรือจะเริ่มอย่างไรดี มารู้จักเครื่องมือที่จะทำให้การพัฒนาเว็บไซต์ของคุณ "ง่ายขึ้น" กันก่อน :

- Laptop /PC

- Web browser  ( แนะนำให้ใช้ Chrome)

- Text editor  (Atom, VS Code, Sublime Text, Notepad++ หรือ IDE อื่นๆ)

- FTP/SSH Tool (Filezilla, Putty, gFTP)  : คุณจะใช้สิ่งนี้ในขั้นตอนหลังจากสร้างเว็บไซต์เสร็จ

- Cloud Storage (Dropbox, Google Drive และอื่นๆ) : เป็นอีกทางเลือกหนึ่ง

2. Coding

ในขั้นนี้ คุณพร้อมที่จะเริ่มต้นการ Coding แล้ว มาดูกันว่าจะใช้อะไรในการเขียน Code ได้บ้าง :

- HTML5 (ควรทำความคุ้นเคยกับสิ่งเหล่านี้ให้มาก) : Tags / Attributes / Links / Images / Tables / Layouts

- CSS3 (เรียนรู้พื้นฐานของ CSS, Selectors, Declaration, Property และ Value): ในขั้นนี้คุณสามารถสร้างเว็บไซต์ได้แล้ว แต่อาจยังไม่มี Dynamic และ User Friendly นัก

- เครื่องมือสำหรับการ Design (สิ่งเหล่านี้ช่วยคุณได้มาก): Photoshop / Illustrator / GIMP (สำหรับผู้ใช้ลินุกซ์) เป็นต้น

- พื้นฐานของ JavaScript ควรทำความรู้จักสิ่งเหล่านี้: พื้นฐานของ JS (ณ ตอนนี้อย่าเพิ่งข้ามไป Node.JS และ Frameworks) / Datatypes (String, Number, Arrays, Objects เป็นต้น) / Functions, Conditionals, Loops, Operators เป็นต้น) / Event handling / JSON / jQuery (กรณีที่คุ้นเคยกับ JS แล้ว)

3. Deploy

ในขั้นนี้ คุณรู้จัก HTML, CSS และ JavaScript แล้ว คุณสามารถสร้างเว็บไซต์อย่างง่ายได้แล้ว คุณรู้วิธีสร้าง Static Website และ Frontend แล้ว จึงถือได้ว่า คุณเป็น Web Designer ได้แล้ว แต่ก่อนอื่นคุณควรรู้จักและทำสิ่งเหล่านี้ให้ได้ก่อน

- เรียนรู้ GIT (หรือ Version Control อื่นๆ)

- SSH

- เรียนรู้พื้นฐานการใช้ Terminal (หรือ Command Prompt ใน windows)

- Shared hosting account (Hostgator, InMoton, 000webhost เป็นต้น)

- เรียนรู้ Cpanel basics (Email, FTP Setup)

- Upload Project ของคุณผ่าน FTP

- สมัคร Domain Name และ Link ไปยัง Hosting Account

4. การตัดสินใจเลือกเส้นทางที่ต้องการ

ถึงเวลาที่คุณจะต้องถามตัวเองว่าจะไปทิศทางไหน คุณอยากรู้ให้ลึกยิ่งขึ้น ในเรื่องการพัฒนา Frontend หรือจะเป็น Backend Developer ลองเลือกดูเป็นแนวว่า คุณจะไปทางไหนต่อ:

- Frontend HTML/CSS frameworks (Bootstrap, Foundation, Bulma, Materialize...)

- Server side programming (PHP, Ruby, Django, NodeJS...)

- JavaScript Front end Frameworks (React, Angular…)

- Databases (MySQL, PostgreSQL, Hadoop, Mongo...)

4A) ถ้าคุณเลือกพัฒนาทักษะในด้าน Frontend แนะนำให้เรียนรู้สักหนึ่งอย่าง (หรือจะมากกว่านี้ก็ได้) จาก Framework เหล่านี้: Bootstrap / MaterializeCSS / Zurb foundation / Skeleton / MUI / Pure

4B) ถ้าคุณถนัดการ Coding งาน Backend Developer ก็เป็นตัวเลือกที่ฉลาด คุณควรเลือกภาษาที่เป็น Server Side Scripting สักภาษา (หรือมากกว่านั้น ถ้าคุณต้องการ)

- PHP : แม้ไม่ใช่ภาษาที่ดีที่สุด แต่เป็นภาษาที่ยังคงใช้งานกันแพร่หลายอยู่

- Node.JS : ออกใหม่, น่าตื่นเต้น, มีประสิทธิภาพ, มี Developer Community ที่น่าสนใจ (โดยส่วนตัว คุณ Madhav แนะนำภาษานี้)

- Ruby on Rails : เป็น framework ที่ดี แต่ยังไม่ค่อยได้รับความนิยมสักเท่าไรนัก

4C) หากคุณเลือกมาทาง Backend แล้ว อยากให้เรียนรู้เรื่อง Database เพิ่มเติมด้วย

- Relational Databases : MySQL / PostgreSQL

- NoSQL databases : MongoDB / CouchDB

เลือกโฟกัสอันใดสักอัน : "PHP กับ MySQL" หรือ "Node.JS กับ MongoDB"

4D) เพิ่มทักษะการพัฒนาเว็บไซต์ไปสู่ขั้นที่สูงกว่า โดยการเลือก Framework ที่นิยมใช้กันอยู่ในปัจจุบัน

- Angular

- React [Flux/Redux]

- Apollo Client

- Vue.JS

- Express/Sails

- หากเลือก Coding ด้วย PHP ลองเรียนรู้เพิ่มเติมเกี่ยวกับ: MVC / Routing / Database Mining / Helpers / Data Binding เป็นต้น

5. เทคโนโลยีที่ควรศึกษาควบคู่ไปด้วย

ไม่ว่าด้าน Frontend หรือ Backend ก็ตาม หากคุณอยากเป็น Professional ควรเรียนรู้สื่งเหล่านี้ไว้ด้วย

- GIT (หรืออื่นๆ) Version control & GITHUB

- SSH & Basic Command Line

- CSS Precompilers — SASS/LESS

- APIs/REST Services

- HTTPS/SSL

การ Deploy Application

ตอนนี้คงคงมีความรู้มากขึ้นแล้ว และคุณอาจกำลังเริ่มทำ Web based application ของตัวเองอยู่ คุณลองใช้เทคโนโลยีเหล่านี้ดูสิ: Dedicated Server/VPS / App hosting  (Heroku, Digital Ocean, AWS) / Deploy tools / Linux command line / Maintenance & Updates

6. Web Developer

ถึงขั้นตอนนี้ เรียกได้ว่า คุณเป็น Web Developer อย่างเต็มตัวแล้ว มาดูกันดีกว่าว่า คุณมีโอกาสหรือความก้าวหน้าอะไรรอยู่บ้าง

- สร้าง Web Applications (ตั้งแต่อย่างง่ายจนไปถึงขั้น Advance),backend API’s

- สอน Developer คนอื่นๆ ได้

- ทำงานที่เกี่ยวกับ Serve, Database, Security ต่างๆ ได้

- เพิ่มโอกาสได้งานใหม่, รับงาน Freelance, ตั้งธุรกิจของตนเอง

7. พัฒนาตัวเองต่อไปเรื่อยๆ

แนะนำให้เรียนรู้พวก Content Management Systems (CMS) อย่าง WordPress, Joomla, Drupal ด้วย เพราะมันช่วยให้การ Deploy รวดเร็วขึ้น มี plugins/addons/templates นับเป็นพันๆ ให้เลือกใช้ และมีเรื่องการ Maintenance ที่ดี

การพัฒนา Mobile App

เมื่อคุณมาถึงระดับนี้แล้ว ทำไมต้องจำกัดเฉพาะ Web ล่ะ Mobile Application กำลังเป็นที่นิยมมากขึ้น ซึ่งมีอยู่ 2 แบบคือ Native และ Hybrid

สำหรับ Native Application เป็นการพัฒนา App ให้เหมาะสมตามระบบปฏิบัติการ (OS) นั้น ๆ เช่น เป็น Android Developer ดังนั้น ก็สร้าง Native Application โดยใช้ JAVA, XML หรือ KOTLIN เป็นต้น

ส่วน Hybrid Application เป็นการพัฒนา App โดยอาศัยสร้างบน Framework ต่างๆ แม้เป็น Web Developer คุณเองก็สามารถสร้าง Mobile Application ได้

แล้วตอนนี้ ควรทำอย่างไรดี?

- เรียนรู้ต่อไปเรื่อยๆ

- โฟกัสไปที่อาชีพของคุณ

- สร้างโปรไฟล์ที่ดีให้ตนเอง

- เรียนรู้หัวข้ออื่นๆ ด้วย (เช่น Machine Learning, Computer Vision, Deep Learning, AI, Competitive Coding เป็นต้น)

- อัพเดทความรู้ให้ทันกับเทคโนโลยีใหม่ๆ ที่เกิดขึ้น

- ลองศึกษาค้นคว้าเรื่องที่น่าสนใจดูบ้าง

- เรียนรู้ High level language บ้าง (C #, Java ฯลฯ )

- ติดตามคนเก่งๆ ในสื่อ Social เพื่อสร้างแรงบันดาลใจและกระตุ้นให้คุณอยากเรียนรู้ต่อไปเรื่อยๆ

ที่มา : https://codeburst.io/

 

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

 

เพิ่มเพื่อน

 

 

บทความที่เกี่ยวข้อง