Normalize your way re-think idea
?ไม่ต้องยกตัวอย่างที่ไหนไกล เอาจากตัวผมนี่แหละ ตอนนี้ผมทำงานเป็น Web Developer ทำงาน Freelance เริ่มรับงานเขียนเว็บมาตั้งแต่ตอนเรียนมหาวิทยาลัย งานตอนนั้นก็มีเป็นสิบ ๆ เว็บไซต์พอเรียนจบก็ลองหาประสบการณ์โดยการเป็นพนักงานบริษัท ทั้ง ๆ ที่อยากทำกิจการของตัวเองมากกว่า แต่พอทำงานบริษัท มันได้เห็นโลกที่กว้างไปอีกแบบหนึ่ง ความที่เรามั่นใจว่าเราเก่งแล้ว มีคนเก่งกว่าเราเป็นร้อยเป็นพันเท่า การทำงานกับคนเก่ง มันเป็นผลดีให้เราเก่งมากขึ้นโดยไม่รู้ตัว งานบริษัททำให้เรารู้ว่า Team work กับเว็บไซต์ขนาดใหญ่สำคัญแค่ไหน จากการเขียนโปรแกรมแบบพื้น ๆ เริ่มมีการเขียนแบบ? OOP (Object Oriented Programming) การใช้ AJAX ซึ่งเป็นการทำงานของ Java Script ร่วมกับ? XML ทำให้คนที่ไม่ชอบเขียน Java สามารถเขียน Event Script ได้อย่างดีทีเดียว
ฟังดูดีไม๊ครับ แต่พอผมมานั่งทำเว็บไซต์ของตัวเอง ซึ่งวาง Scope ไว้ชัดเจน โดยคาดหวังว่าจะเอาความรู้ที่เคยทำกับเว็บต่าง ๆ ทำให้เว็บของผมเองดีที่สุด ผมกลับใช้เวลา 2 ปี และไม่สามารถทำมันเสร็จได้ เพราะอะไรยังงั้นหรือ?
ความยาก ความซับซ้อนของโปรแกรม ความละเอียดในทุกขั้นตอน ทุกโปรเซส ต่อเว็บของเอง มันมีเยอะมาก จนเหนื่อยและก็ท้อ ปล่อยคาไว้? 50 % และก็เลิกทำไปในที่สุด
วันนึงผมนั่งดูเว็บไซต์ต่าง ๆ ที่น้อง ๆ พี่ ๆ บางคนทำขึ้นมา บางคนมี 30,000 Page views ต่อวัน บางครั้งผมได้มีโอกาสได้พูดคุยกับคนเหล่านั้น เค้าไม่ได้มีความสามารถในการเขียนโปรแกรมมากมาย แต่เค้ามีสิ่งที่ผมไม่มีในแง่ของ User Experience?
?John Redtor?เป็นอีกหนึ่งตัวอย่างนะครับ John ไม่ได้เก่งที่สุดในด้านเว็บไซต์ แต่ john สามารถหา? Script ต่าง ๆ มาใช้ได้อย่างลงตัว กับความคิดของเค้าเอง แต่แนวความคิดต่อกระแสเว็บไซต์ของ john ไม่ได้ด้อยกว่าคนอื่นเลย และพยายามพัฒนาตัวเองอยู่เสมอ รู้จักการจับกระแสการใช้งานมาประยุกต์ใช้ จนบางครั้งผมจะเรียกเค้าว่า John Scripter แทนล่ะ -*-
?ผมจึงเริ่มคิดว่า ผมต้อง Normalize การเขียนโปรแกรมลงมาเยอะ ๆ ทีเดียว หนึ่งคำพูดของเพื่อนผมคือ “เขียนดีแค่ไหน เลิศหรูยังไง คนใช้ไม่รู้ แค่เค้าใช้งานได้ง่าย ผลออกมาเป็นที่ต้องการ ก็พอใจแล้ว”? พยายามทำทุกอย่างให้ง่ายขึ้น เราไม่ได้มีทีมหลายคนเหมือนงานบริษัท เวลาเราไม่ได้มากมาย ลำพังแค่เขียนโปรแกรมที่บริษัท กะ jobs ต่าง ๆ ก็ล้าเต็มที่แล้ว? เราไม่มีทีมคอนเท้นที่จะมีเวลามานั่ง update คอนเท้นต่าง ๆ ทั้งวัน
ดังนั้น Project ใหม่ของผม ก็คงจะลองเขียนโปรแกรมแบบง่าย ๆ? Page by page ให้มันทำงานได้ด้วยตัวเองก่อน แล้วค่อย ๆ ปรับทีละส่วนทีหลัง ก็น่าจะได้ มันคงสนุกกับงานทำเว็บง่าย ๆ เขียนโปรแกรมโง่ ๆ แต่มีคนใช้ดูบ้างล่ะ?
^_________^
ดีครับ ผมเห็นด้วยเลย อะไรที่ง่าย ๆ มันดีนะ
เข้าใจ ความรู้สึกดีทีเดียวครับ เพราะผมก็ทำเว็บคนเดียวเหมือนกัน กว่าจะสำเร็จออกมาได้ นี่แทบแย่ รายละเอียดจริงๆมันเยอะมาก เว็บแรก คาราคาซังอยู่เป็นปี แต่ผมตรงข้ามกะคุณ ตรงที่ ผมมาทางด้านดีไซน์มากกว่าโปรแกรมมิ่ง
ผมแอบอิจฉาคนเขียนโปรแกรมเป็นอยู่เล็กๆ เราไม่ได้มาทางนี้ ไม่ได้มีเวลาจะศึกษา
แต่คนเขียนโปรแกรมเท่าที่ผมรู้จัก มีจุดด้วยอยู่ตรงที่ไม่ค่อยเข้าใจความคิดคนใช้ คนเขียนเขียนตามตัวเองคิดและคิดว่าคนใช้ต้องเข้าใจ แต่น้อยคนมากที่จะคิดและเขียนอย่างคนใช้คิด
ไปดูเว็บคุณ divland มา
CSS Tableless
ผมใช้ div เยอะมาก แต่บางส่วนจำเป็นจริง ๆ ที่ต้องใช้ table เพราะมันง่ายกว่ากันเยอะ
T___T ไม่งั้นงม CSS กันจนป่วย
Project ใหม่ผม Normalize ลงมา Table เพียบ เพราะว่ามันง่าย จะได้เสร็จล่ะ แหะ ๆๆ
แต่ก่อนผมก็เป็นพวกบ้าอยากสร้างเว็บไซต์ให้หรูหรา มีฟีเจอร์ดีๆ สารพัด แต่เดี๋ยวนี้ความคิดเปลี่ยนไป แทนที่จะเสียเวลาเขียนโปรแกรมเอง สู้เอาเวลาไปหาพวก opensource มาใช้ดีกว่า เอาตัวนั้นมาผนวกกับตัวนี้ และอาจจะใช้ความรู้ด้านเขียนโปรแกรมที่มีอยู่ในการ customize บ้าง
ถอยหลังหนึ่งก้าวมองฟ้ากว้างครับ
การทำงานเชิงเลิกเป็นสิ่งที่ขาดไม่ได้ เช่นเดียวกับการทำงานเชิงกว้าง
การเขียนโปรแกรมได้ไม่ได้บอกว่าเราเก่งแค่ไหน
ผมเคยคุยกับพี่ป็อก http://pphetra.blogspot.com/
พี่เค้าเป็นคนที่ทำงานโปรแกรมมิ่งมากว่า 10 ปี แนะนำให้ผมลองอ่าน
http://www.norvig.com/21-days.html
Teach Yourself Programming in Ten Years
คือถ้าใจรัก ทำอะไรก็สนุกครับ ขอให้อย่าย่อท้อแล้วกัน
อ้อมีพี่ป็อกอีกคนจาก truehits.net เคยสอนผมว่า นักเบสบอลตีลูกนับร้อยครั้ง ขอให้ตีโฮมรันได้ครั้งเดียวก็ดังแล้ว
โชคดีแล้วกันครับ
โปรแกรมเมอร์ส่วนใหญ่ ชาิติก่อนจะเป็นชาวดาวอังคาร … พูดอะไร ไม่ค่อยรู้เรื่องเท่าไร
ก๊ากกก
สงสัยจะจริงครับ แหะๆๆๆ