jfphmec7rcl3k3jttkrk
Developer ต้องการเดินไปข้างหน้าได้อย่างรวดเร็ว
Developer ต้องการเพิ่มความเร็วในการพัฒนา software
Developer ต้องทำการปรับปรุงความสามารถของตัวเองเพิ่มขึ้น
Developer ไม่ต้องการพบเจอสิ่งที่ทำให้ทำงานช้าลง
ดังนั้น developer มาเริ่มกันเลยดีกว่า

1. คุณยังใช้ mouse อยู่ไหม ?

ผมไม่ได้บอกว่า mouse มันจะทำให้คุณช้าลงนะ !!

แต่ถ้าคุณสามารถใช้ keyboard ให้ได้มากๆ
เขาบอกว่า ลดการเคลื่อนไหว มันช่วยให้เราเพิ่ม productivity ได้นะ

ตัวอย่างเช่น
Editor และ IDE ที่ใช้งาน
ลองหัดใช้งาน shortcut ให้ได้มากที่สุดเท่าที่จะทำได้
ลองพยายามฝึกตัวเองสัก 2 สัปดาห์ แล้วกลับมาดูว่าผลเป็นอย่างไร

ผมก็กำลังฝึกอยู่เหมือนกันครับ

mouse

2. ลดเวลาในการ debug

การ debug มันเสียเวลาอย่างมาก
ดังนั้น เราควรที่จะหาวิธีการเพื่อลดเวลาในการ debug ลงมาบ้าง
แต่คงไม่ใช่ การเพิ่มความสามารถในการ debug นะ !!

ตัวอย่างเช่น
ทำการแยกส่วนการทำงานต่างๆ ออกจากกัน
ให้แต่ละส่วนการทำงานมันเล็กๆ
หรือทำงานอย่างใดอย่างหนึ่ง
จากนั้นเขียน automated test ให้ครอบคลุม
พฤติกรรมของส่วนการทำงานนั้นๆ ซะ

ผลที่ได้คือ
เมื่อเกิด bug ขึ้นมา ทำให้เราสามารถหาจุดผิดพลาดได้เร็วขึ้น
บางทีอาจจะ debug ได้ง่ายขึ้นด้วยนะ
ยิ่งถ้าคุณเขียน automated test ได้ดีแล้ว
ยิ่งจะช่วยให้จุดผิดพลาดได้ง่ายขึ้นอีกด้วย

ดังนั้นเราก็ควรที่จะเขียน automated test ขึ้นมาก่อน
ที่จะเขียน code สิ มันน่าจะทำให้อะไรๆ ดีขึ้นนะ

phd011406s

3. ลดเวลาในการอ่าน code

ปกติ developer มักจะใช้เวลาอ่าน code มากกว่าเขียน
ดังนั้น ควรหาทางเพื่อทำให้ code มันอ่านง่าย
ดังนั้น ควรหาทางเพื่อทำให้ code มันเข้าใจง่าย
เพื่อลดเวลาในการอ่าน code ลงไปนั่นเอง

ลองกลับไปดู code ที่คุณเขียนกันหน่อยสิว่า
มันอ่านง่าย เข้าใจง่าย หรือไม่ ?

Dogs-Reading-Book-2013-e1412098927242

4. ให้ focus กับสิ่งที่ทำ

ในการทำงานนั้นแนะนำให้ focus กับงานใดงานหนึ่งไปเลย
อย่าทำหลายๆ งาน พร้อมกัน
อย่าสลับงานไปมา
อย่าให้มีอะไรมาขัดจังหวะการทำงาน

ให้สนใจเฉพาะงานที่มันสำคัญจริงๆ
ส่วนงานอื่นๆ นั้น ถ้าคิดว่าอาจจะจำไม่ได้ ก็ให้จดไว้
เมื่อมีเวลาค่อยกลับมาทำในภายหลังได้

มิเช่นนั้น คุณจะเป็นคนที่ทำงานได้ช้ามากๆ
เพราะว่า คุณจะทำงานทุกๆ อย่างพร้อมกันนั่นเอง

focus

5. ปรับปรุง workflow การทำงานของคุณ

ไม่ว่างานของคุณจะเป็นแบบไหน
แต่เป้าหมายของคุณก็คือ การทำให้เสร็จในเวลาที่รวดเร็วที่สุด
ดังนั้น คุณควรที่จะปรับปรุง workflow การทำงานของคุณซะ

ตัวอย่างเช่น
ถ้าคุณพัฒนาระบบ web ด้วยภาษา Java
แล้วคุณต้องการ feedback จาก code โดยไม่ต้องทำการ redeploy
เพื่อทำให้ได้รับ feedback ที่รวดเร็วขึ้น
ดังนั้น คุณก็ต้องการใช้งาน class-releader เช่น Spring, JRebel ใช่ไหม
หรือใช้งาน Play framework เป็นต้น

ถ้าคุณต้องการให้ระบบทำงานแบบอัตโนมัติทั้งหมด
ตั้งแต่การ build, testing, packaging และ deployment
คุณก็ต้องสร้าง prototype การทำงานขึ้นมาตั้งแต่เริ่มต้น project นะ
ไม่เช่นนั้น ถ้ามาทำตอนหลังจะปวดหัวอย่างแรงส์

workflow

 

วันนี้คุณลองปรับปรุงตัวคุณเอง
และเพิ่ม productivity ให้มันสูงขึ้น กันหรือยัง ?