Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาดูผลการสำรวจจาก RebelLabs Developer Productivity Report 2017

$
0
0

เช้านี้อ่านผลสรุปเกี่ยวกับการสำรวจเรื่อง เครื่องมือและเทคโนโลยีสำหรับ Java Developer ว่ามีอะไรบ้างที่ช่วยเพิ่ม productivity ของการพัฒนา สามารถดูผลแบบเต็ม ๆ ได้ที่ RebelLabs Developer Productivity Report 2017: Why do you use the Java tools you use? หรือทำการ Download PDF มาอ่าน แถมมีข้อมูลดิบ ๆ มาให้ด้วยนะ เผื่อใครจะนำไปวิเคราะห์เพิ่มเติม มาดูสิ่งที่น่าสนใจจากผลการสำรวจครั้งนี้ดูหน่อยสิ

ข้อมูลพื้นฐานของผู้ทำแบบสำรวจ

การสำรวจในปี 2017 มีผู้ตอบจำนวน 2,060 คน มีรายละเอียดดังนี้
  • 103 ประเทศ แบ่งเป็น USA 15%, เยอรมัน 8%, UK 6%, อินเดีย และ บราซิล 5%
  • ทำงานในตำแหน่ง Developer 54%, Architect 18% และ Team Lead 17%
  • ขนาดของทีมที่ทำงาน 3-9 คนมาถึง 50%, 10-19 คนจำนวน 22% และ 20-49 คน จำนวน 9%
  • ประสบการณ์การทำงาน 6-15 ปีมากกว่า 50% โดยเฉลี่ยอยู่ที่ 13 ปี
  • ขนาดของบริษัทจะมีตั้งแต่ Enterprise 36%, ขนาดกลาง 30%, ขนาดเล็ก 21% และ StartUp 5%
จะมีหัวข้อต่าง ๆ ดังนี้
  • IDE ที่ใช้
  • ภาษา program หลักที่ใช้งาน (JVM language)
  • Application stack หรือ framework ต่าง ๆ ที่นำมาใช้งาน
  • Architecture ของระบบงาน
  • Database ที่ใช้งาน
มาดู IDE ที่ใช้ในการพัฒนา ซึ่งยังคงเป็น IntelliJ IDEA ที่ยังแรงต่อเนื่อง ส่วน Eclipse IDE ก็สวนทางกัน ส่วน NetBeans ก็ทรง ๆ ตัว แสดงดังรูป

ภาษาโปรแกรมสำหรับ Java Developer ส่วนใหญ่คือ Java 8 นะ

ปล. Java 5, 6 ไม่มีนะ หรือน้อยมาก ส่วนพวก Groovy, Scala และ Kotlin ซึ่งเป็น JVM language รวมกันยังไม่ถึง 10%เลย ส่วนภาษา Kotlin ที่กำลังได้รับความนิยมก็มีเพียง 1% เท่านั้น ยังคงเป็นส่วนน้อยมาก ๆ แปลกใจตรงที่ JavaScript มันมายังไง ? แต่ดูจากคนทำแบบสำรวจแล้ว อาจจะพอเกาได้จากประสบการณ์ทำงานก็ได้ !! ไว้ต้องไปดูข้อมูลแบบละเอียดอีกที แสดงดังรูป แต่เมื่อดูความพึงพอใจของนักพัฒนากลับพบว่า Kotlin และ Scala นำโด่งมาเลย

พวก framework ที่นิยมใช้งานก็ไม่หนีไปจาก Spring framework และ Java EE

Java EE กำลังจะ open source แล้วนะ ส่วนตัวอื่น ๆ ก็มีเล็กน้อยเช่น Dropwizard, SparkJava, Ratpack และ Play framework เป็นต้น อีกตัวที่น่าสนใจคือ Reactive ที่กำลังมา แสดงดังรูป

มาดู Architecture ของระบบกันหน่อย

ซึ่งมีหลายรูปแบบดังนี้
  • 34% ทำการแยกส่วนของ frontend และ backend ออกจากกัน
  • 25% ยังคงเป็นแบบ monolith
  • 23% เป็น Microservice
  • 8% เป็น SOA
  • 1% สำหรับ Serverless

ปิดท้ายด้วย Database ที่ใช้งานกัน ยังคงเป็น Oracle

มี MySQL และ PostgreSQL ตามมาติด ๆ ส่วนพวก NoSQL database มีประมาณ 10% เช่น MongoDB, Cassandra และ Redis เป็นต้น แต่ถ้ามองในแง่ของ Commercial vs Open source จะพบว่าเท่า ๆ กันเลยนะ แต่เอียงไปทาง Open source นิดหน่อย แสดงดังรูป

เมื่อพูดถึงการเปลี่ยนแปลง !!

พบว่าประมาณ 45% ไม่สามารถเปลี่ยนอะไรได้เลย เนื่องจากต้องแก้ไขระบบไปเรื่อย ๆ ตาม requirement และประมาณ 29% รู้ว่าสิ่งใหม่ ๆ มันดีนะ แต่ว่าเราไม่มีเงินและไม่มีเวลามาเปลี่ยน ที่น่าสนใจคือ มีเพียง 5% เท่านั้นที่บอกว่า ไม่มีเวลาศึกษา  
โดยรวมเป็นอีกอีกแหล่งข้อมูลที่น่าสนใจ สำหรับ Java Developer นะครับ
ขอให้สนุกกับการ coding ครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles