3 ข้อที่จะทำให้คุณเป็นนักพัฒนาที่ใครก็อยากได้ไปทำงานด้วย

gotw

หลายวันก่อนมีคนถามผมว่าอะไรที่เค้าควรจะใช้เป็นแนวทางในการหานักพัฒนาที่ยอดเยี่มมเข้าสู่ทีมงาน

เลยมีโอกาสได้นั่งคิดตอนอยู่บนเครื่องบินหลังจากกลับจากงาน อไจล์สิงคโปร์ ความยากคือเค้าไม่ต้องการนักพัฒนาธรรมดาแต่ต้องการนักพัฒนาที่ยอดเยี่ยม

นอกเหนือจากคุณลักษณะพื้นฐานที่นักพัฒนาทุกคนควรมี โดยน้อง Weerasak

ในฐานะที่ต้องสัมภาษณ์พี่ๆน้องๆ และเพื่อนๆที่ทำงานด้วยกัน เลยอยากแบ่งปันซักสามข้อที่จะทำให้เป็นนักพัฒนาที่ใครก็อยากให้ไปทำงานด้วย

1. ทำงานเป็นทีมได้ ฟังดูเหมือนง่าย แต่การทำงานเป็นทีม คือการยอมรับข้อแตกต่างของทีมให้ได้ และยอมที่สละจุดยืนของตัวเองบ้างเพื่อให้เพื่อนๆได้มีโอกาสนำเสนอผลงานที่ทกคนสามารถยอมรับได้ ในโลกทุกวันนี้หมดยุคของโคดที่ดีที่สุดเพราะเหตุว่า ความเร็วของฮาร์ดแวร์ที่ทำให้โคดที่เร็วและเจ๋งที่สุด ไม่ได้เร็วไปกว่าโคดที่ทุกคนในทีมยอมรับได้ และทำงานต่อเนื่องกันอย่างคล่องแคล่ว

2. มีความสามารถในการเขียนโคดได้หลากหลาย จากประสบการณ์ตรงนักพัฒนาที่ดีมีอาวุธที่ใครๆอาจมองไปเรื่องของความเก่งกาจ แต่หากแท้จริงในการแก้ปัญหาของนักพัฒนานั้น ต้องสามารถเขียนโคดได้หลากหลาย เพื่อตอบสนองความต้องการที่แตกต่างกัน ความหลากหลายในที่นี้คือ ควรจะเขียนรูปแบบของภาษาได้อย่างน้อยสามรูปแบบ ได้แก่

 

  • ภาษาที่ต้อง Compile ให้ความเร็วสูง และสามารถสเกลได้ง่าย เช่น C/C++, C#, Java  ภาษาเหล่านี้จะทำคุณขยายขอบเขตความสามารถของ Application แบบก้าวกระโดดได้
  • ภาษาไดนามิค/ฟังชัน หรือ Scripting เช่น  PHP, Pearl, Python, Ruby ภาษาเหล่านี้เป็นภาษาที่เขียนได้เร็ว ใช้งานได้ง่าย และทำการทดลองไอเดียได้แบบกระดิกนิ้ว และภาษาเหล่านี้แหล่ะทีจะตอบสนอนตัณหาของ business เวลาที่เค้าอยากเป็นอะไรแบบไวๆ
  • ภาษา SQL หรือ ภาษาที่ใช้ในการทำงานบนฐานข้อมูล หลายคนอาจมองว่าแค่ Query ธรรมดาใครๆก็น่าจะทำได้ แต่ในความเป็นจริงแล้วการใช้ภาษาบนฐานข้อมูลต้องมีความสามารถในเรื่องการ Tuning Query ให้ทำงานได้เร็วและ ดูแลได้ง่ายอีกด้วย
  • ภาษา ที่ใช้ในการคิด Artificial Intelligence หรือภาษาที่เราใช้ในการเขียนอัลกอริทึ่มในการหาทางเดินของตัวละครในเกม หรือ การควานหาลักษณะเหมือนของสินค้าเพื่อแนะนำสินค้าที่เกี่ยวข้อง ภาษานี้ส่วนใหญ่เรียนแล้วโยนทิ้งเพราะว่าพอทำงานจริงไม่ค่อยได้ใช้ แต่หากเราจะเป็นนักพัฒนาที่ยอดเยี่ยม ภาษาเหล่านี้จะประหยัดเวลาเรามากเวลาที่ใช้ในการพิสูจน์ ภาษาเหล่านี้เช่น Lips, Prolog
  • ภาษาเวป เช่น  HTML, JavaScript, ASP  เป็นต้น (อันนี้คงไม่ต้องยกตัวอย่างเพราะว่าชัดมาก)

3. นักพัฒนาที่ดีต้องโยนตัวเองให้ไปมองภาพรวมได้ว่าเราทำไปแล้วลูกค้าได้ประโยชน์อะไร หรือ เป็นคนที่ตะเกียกตะกายหาเหตุผลว่าทำไมทีมเราต้องทำมันด้วย

 

Tagged with:
Posted in Developer, Software

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: