เช้านี้อ่านผลสรุปเกี่ยวกับการสำรวจเรื่อง
เครื่องมือและเทคโนโลยีสำหรับ 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 ครับ