[YEAR REVIEW] THỐNG KÊ NGÀNH LẬP TRÌNH NĂM 2016

image
image

[YEAR REVIEW] THỐNG KÊ NGÀNH LẬP TRÌNH NĂM 2016

Overview

Năm nay, hơn 50 nghìn lập trình viên đã chia sẻ nơi làm việc, tác phẩm, và bản ngã của họ với chúng tôi. Những thông tin bạn sắp sửa đọc được là kết quả của cuộc khảo sát lập trình viên sâu và rộng nhất từng được thực hiện.

Cứ mỗi 8 giây, một lập trình viên sẽ hỏi một câu hỏi trên Stack Overflow. Năm nay, 56.033 coder ở 173 quốc gia đã đáp lời kêu gọi này.

Chúng tôi hỏi họ 45 câu hỏi. Với một số điểm nổi bật như sau:

Lập trình viên yêu Rust. Thậm chí cả back-end developer cũng biết JavaScript. Chỉ 7% số lập trình viên tự nhận danh hiệu “rockstar”. Đa phần lập trình viên thích chó hơn mèo (ngoại trừ giới lập trình Đức.) Không có khảo sát nào là hoàn hảo cả; tuy mẫu thông tin của chúng tôi thu được có phạm vi khá rộng, phần nào giúp bù đắp một số thiên vị, nhưng kết quả vẫn có phần thiếu sót thành phần lập trình viên không dùng Tiếng Anh, hoặc không thích tham gia khảo sát bằng tiếng Anh. Một số kết quả dưới đây được lấy từ dữ liệu hoạt động của 40 triệu người truy cập Stack Overflow hằng tháng. Nếu bạn là nhà tuyển dụng, chúng tôi sẵn lòng giúp bạn tiếp cận những lập trình viên đó. Những kết quả dưới đây, những cụm từ “developers”, “devs”, và “respondents” sẽ xuất hiện thay phiên nhau. Chúng tôi cũng sẽ để dấu phẩy bên ngoài dấu ngoặc kép, vì lập trình viên thì phải làm vậy.

Developer Profile

Ai code? Mọi người ở khắp nơi trên thế giới.

I. Địa lý

Tháng một, 46 triệu người truy cập Stack Overflow để tìm sự giúp đỡ hoặc giúp đỡ một lập trình viên khác. Chúng tôi ước tính đến 16 triệu người trong số này là lập trình viên chuyên nghiệp.

Đánh giá số lượng lập trình viên chuyên nghiệp của chúng tôi đến từ những thứ mọi người đọc và làm khi họ truy cập vào Stack Overflow. Chúng tôi thu tập dữ liệu hoạt động người dùng để giúp hiển thị những công việc bạn có thể thấy thú vị hoặc những câu hổi chúng tôi nghĩ các bạn có thể trả lời được. Bạn có thể tải và xóa sạch những thông tin này bất cứ khi nào bạn muốn.

II. Phân nghề lập trình

Đa phần người phản hồi tự đánh giá mình là Full-stack Developers hơn bất cứ vai trò nào khác. Trung bình, Full-stack developer có thể code thoải mái với 5 đến 6 ngôn ngữ lớn hoặc framework. Executives sử dụng thoải mái nhiều ngôn ngữ và framework hơn bất cứ nghề lập trình nào khác, đây thường là kết quả đến từ kinh nghiệm làm việc dày dặn.

Số lập trình viên tự nhận mình là Mobile Developer cũng xấp xỉ với Android Mobile Developer (3% cho mỗi mục). Khoảng 2,5% lập trình viên làm lập trình iOS Di Động. chúng tôi nhận 59 phản hồi từ Windows Phone Mobile Developer (0,1%).

Công nghệ phổ biến nhất cho mỗi loại Dev

Full-stack

Front-end

Back-end

Mobile

Math & Data

Students

JavaScript là ngôn ngữ lập trình thông dụng nhất hành tinh. Thậm chí cả Back-End developer cũng sử dụng ngôn ngữ này nhiều hơn bất cứ ngôn ngữ nào khác.

III. Programmers, Engineers, và Developers

55,735 lượt phản hồi

Năm nay chúng tôi hỏi người phản hồi xem họ là Engineers, Experts, Hackers hay bất cứ miêu tả nào chung tôi thường thấy xuất hiện trong các post tuyển dụng, danh thiếp và Twitter bio.

Nhưng Developer là sự lựa chọn phù hợp nhất ở đây. Đây cũng là mục được chọn nhiều nhất lần này.

Rockstars & Ninjas

Tự nhận là Rockstar; 55,735 lượt phản hồi

Tự nhận là ninja

10% lượt phản hồi tự nhận là Ninja. Nhưng mà Ninja thật sự sẽ không bao giờ đi huênh hoanh mình là ninja. Họ lén lút rình rập và cắt cổ bạn, và hiển nhiên, những ai làm việc quanh đó sẽ xếp nơi đó vào “môi trường làm việc thù nghịch”.

IV. Age

55,338 lượt phản hồi

Độ tuổi trung bình của các lập trình viên là 27 tuổi

Độ tuổi trung bình theo từng quốc gia

Những quốc gia nhận được trên 1000 lượt phản hồi

Độ tuổi trung bình của lập trình viên Ấn Độ trẻ hơn 6 tuổi so với độ tuổi trung bình của các lập trình viên ở Mỹ. Muốn biết sự phát triển của các lập trình viên ở đâu? Hãy nhìn vào các nước như Ấn Độ, Nga, Ba Lan, và Brazil.

V. Kinh nghiệm

49,521 lượt phản hồi

Kinh nghiệm bình quan của các lập trình viên là 6 năm rưỡi trong ngành IT và lập trình. Điều này không đồng nghĩa với việc họ có kinh nghiệm làm chuyên nghiệp hay không (Các sinh viên có trung bình 3,4 năm kinh nghiệm). Lập trình viên tích luỹ kinh nghiệm bằng việc xây dựng sản phẩm, tạo ra những thứ mới, dù họ có làm việc trả tiền hay không trả tiền. Chúng tôi còn thấy rằng có đến hơn 230,000 lập trình viên cho biết họ từng có kinh nghiệm làm việc trên CV của họ trên Stack Overflow. Trên toàn thế giới, một lập trình viên Front-End có kinh nghiệm khoảng 3 năm rưỡi. Một Full-Stack có khoảng 8 năm, và Engineering Manager có khoảng 13 năm kinh nghiệm.

Star Wars vs. Star Trek

42,503 lượt phản hồi

Chúng tôi đã làm 1 cuộc khảo sát nhỏ để hỏi xem các lập trình viên nếu họ thích Star Wars hay Star Trek. Đương nhiên sự lựa chọn về film cũng thay đổi theo lứa tuổi rất nhiều. Lập trình viên trên 40 tuổi thường sẽ chọn Star Wars. Riêng lập trình viên ở tuổi 50 thì là fan của Star Trek, tiếp theo đó là những film khác như Stargate, Doctor Who hay Babylon 5.

VI. Gender

55,128 lượt phản hồi

Phần khảo sát của chúng tôi cũng cho thấy được một sự khác biệt rõ rệt giữa giới tính trong làng công nghệ. Thực tế cho thấy, phụ nữ cũng đóng một vai trò khá rõ rệt trong phân khúc này. Theo Quantcast, khoảng 12% người đọc Stack Overflow là nữ. Chúng tôi cũng biết rằng phần khảo sát này không thật sự đại diện cho một số lượng lớn các lập trình viên nữa đang gia tăng ở các nước như Nam Hàn, Ấn Độ và Trung Quốc.

Tỷ lệ lập trình viên nữ và nghề nghiệp của họ

Phụ nữ thường sẽ làm nghề designer nhiều hơn các loại lập trình viên khác. Rất hiếm trong số đó có liên quan đến Machine Learning. Hơn nữa, phụ nữ thường sẽ hướng đến ngành Quality Assurance nhiều hơn. Tuy nhiên cả nam lẫn nữ đều có cơ hội đồng đều để trở thành Executive hay Engineer Manager.

Kinh nghiệm xét theo giới tính

Kinh nghiệm theo giới tính toàn cầu; 43,099 lượt phản hồi. Không gồm hs-sv.

Bắc Mỹ

Nam Á

Độ kinh nghiệm cũng được thay đổi nhiều theo vùng cũng như giới tính.

Sự phân bổ giới tính ở các độ tuổi

2,979 lượt phản hồi từ phụ nữ độ tuổi lao động

Nam giới

Trong khi phụ nữ đang chiếm khoảng 6% tổng số người tương tác với khảo sát, thực tế cho thấy số lượng này lại càng thấp hơn khi tính từ độ tuổi 30 và 40. Trong lĩnh vực công nghệ, sự mất cân bằng giới tính theo độ tuổi thể hiện một cách rõ rệt. Chúng tôi cũng không thể trả lời câu hỏi về khoảng cách giới tính đang hiện hữu trong ngành công nghệ hiện nay. Tuy nhiên chúng tôi cũng đã cung cấp dữ liệu cho cộng đồng để họ cò thể cùng phân tích và tìm hiểu nguyên nhân vì sao lại xảy ra hiện tượng này. Các bạn có thể theo dõi chúng tôi trên Twitter để cập nhật thêm nhé.

VII. Đa dạng

Ai trân trọng sự đa dạng?

42,156 lượt phản hồi

Nhìn chung, khoảng 73% lập trình viên cho chúng tôi biết, họ nghĩ rằng sự đa dạng là nhân tốt khá quan trọng của công ty, 41% cho chọn rất quan trọng. Và những lập trình viên thực hiện quyêt định tuyển dụng thường tin vào giáo trị của sự đa dạng hơn những kiểu lập trình viên khác.

Chúng tôi cũng nhận được vài feedback năm nay cho biết bên cạnh giới tính vào đa dạng chung chung, chúng tôi nổi hỏi rõ về dân tộc/chủng tộc. Đó là điểm chúng tôi chắc chắn sẽ xem xét. Năm sau chúng tôi sẽ hỏi gì? Các bạn cứ thoải mái gợi ý nhé.

VIII. Giáo dục

40,183 từ lập trình viên không phải hs-sv

69% tổng số lập trình viên cho biết họ ít nhất có phần nào tự học. (13% lượt phản hồi toàn cầu cho biết họ chỉ tự học.) 43% lập trình viên có bằng BA hoặc BS ngành khoa học máy tính hoặc lĩnh vực tương tự. 2% lập trình viên PhD.

Công nghệ

The tools and trends of the trade.

I. Những công nghệ phổ biến nhất

2016. 49,397 responses

2015. 21,982 responses

Đa số mọi người dùng JavaScript hơn bất cứ ngôn ngữ lập trình nào khác. PHP đang dần ít được ưa chuộn hơn với sự xuất hiện của Node và Angular.

Một số ngôn ngữ phổ biến khác

6,474 lượt phản hồi cho biết họ dùng ngôn ngữ/công nghệ “khác”

4,532 lượt phản hồi cho biết họ muốn dùng ngôn ngữ/công nghệ “khác”

Delphi là ngôn ngữ/công nghệ write-in được sử dụng rộng rãi nhất, và Typescript là write-in mà nhiều lập trình viên muốn sử dụng.

II. Yêu nhất, Sợ nhất, và muốn nhất

% số lập trình viên tỏ vẻ muốn tiếp tục làm việc với những ngôn ngữ/công nghệ này

% số lập trình viên đang làm việc với những ngôn ngữ/công nghệ này và không muốn sủ dụng tiếp

% số lập trình viên chưa làm việc với những ngôn ngữ/công nghệ này và có mong muốn làm quen

Trong hai năm liêm tục, Rust, Swift, và Go lọt vào top 5 ngôn ngữ lập trình được yêu thích nhất. VB đứng đầu danh sách công nghệ đáng sợ nhất – nếu nó tuyệt chủng, sẽ chả có lập trình viên nào nhớ nó cả. Lập trình viên hiện không làm việc với Android, Node và Angular cũng tỏ ý muốn thử sức.

III. Top Tech trên Stack Overflow

Số lượng Feedback bao gồm votes thực cộng với lượt vote ẩn danh và low rep. Số liệu từ tháng 1 năm 2016.

50.000 lượt phản hồi trên khảo sát là lớn lắm rồi. 40 triệu lượt lại càng lớn hơn. Mỗi tháng, 40 triệu người truy cập vào Stack Overflow. Tháng một, những người này nộp 2,2 triệu feedback event (1.7 triệu lượt vote cùng với 540 nghìn lượt vote ẩn danh nữa). Tháng 6 năm 2015, JavaScript chiếm ngôn Java thành tag phổ biến nhất trên Stack Overflow. Tháng 12, Swift chiếm ngôi Objective-C. 

VI. Technologies tương quan

49,396 lượt phản hồi cho biết sử dụng ít nhất một ngôn ngữ/công nghệ

Lập trình viên trung bình thường dùng giữa 4 và 5 ngôn ngữ lập trình, framework và công nghệ lớn. Tổ hợp công nghệ kép thường thấy nhất là JavaScript & SQL. Tổ hợp 3 công nghệ thường thấy nhất là JavaScript, PHP, và SQL.

Top Tech Stacks trong mỗi lĩnh vực

Fullstack

Front-end

Back-end

Data Scientist

Thấy stack chứ? Nhiều lập trình viên Full-stack làm việc với PHP hơn bất cứ ngôn ngữ Back-End nào khác ( C# và Java theo sát ngay sau).

JavaScript nổi tiếng đến mức lọt tất cả tổ hợp 3-tech được Back-End Developer sử dụng. Điều này chỉ ra rất nhiều lập trình viên Back-End này có lẽ là Full-Stack Developers trá hình. Các số liệu nội bộ của chúng tôi cho thấy khoảng 60% lập trình viên chuyên nghiệp thực sự làm việc với kiếm thức Full-Stack

63% Data Scientists dùng Puthon, 44% dùng R, và 27% dùng cả hai (14% dùng Python, R, và SQL).

VII. Môi trường lập trình

Năm ngoái, chúng tôi đã hỏi các bạn về text editors. Năm nay chúng tôi mở rộng câu hỏi để bao quát thêm IDEs, text editor, và những công cụ coding hay ho khác. Lập trình viên trung bình sử dụng giữa 2 và 3 môi trường lập trình này. Các write-in hàng đầu là WebStorm (1.6%), brackets (.8%), QT Creator (.7%) và Delphi (.4%).

Việc làm

Lập trình viên muốn học ngay trong công việc, cân bằng làm-chơi, và tiền nữa. Nhưng chủ yếu lập trình viên chỉ muốn code.

I. Tình trạng tuyển dụng

Đa phần lập trình viên có việc làm. 91% lập trình viên trong lực lượng lao động “được trả lương ngay theo việc” (có cả full-time, self-employed, hoặc freelance).

II. Tìm việc

Chỉ 15% lập trình viên chủ động tìm việc. Nhưng 78% lập trình viên lại thích xem xét những cơ hội nghề nghiệp mới.

Nếu bạn là nhà tuyển dụng, chúng tôi muốn biết bạn đang là gì để đảm bạn bạn tiếp cập được các lập trình viên không chủ động tìm việc.

Ai đang tìm việc mới nào?

Ở Mỹ, học sinh, nhà phân tích và Lập Trình Viên Đảm Bảo Chất Lượng có tỷ lệ chủ động tìm việc cao nhất. Designers, Execs và Machine Learning Developers lại ít thích nhận thông tin từ nhà tuyển dụng nhất.

III. Phát hiện công việc

Mỹ

Ở đa số quốc gia, giới thiệu từ bạn bè là cách tìm việc phổ biến nhật của lập trình viên. Ngoại trừ Ấn Độ.

IV. Ưu tiên công việc

Lương là yếu tố quan trọng nhất lập trình viên quan tâm khi đánh giá một cơ hội việc làm mới. Nhưng không hẳn là yếu tố họ quan tâm nhất. 37% lập trình viên thậm chí còn không thêm lương vào danh sách ưu tiên của mình.

Một điểm thú vị nữa, lập trình viên Đức có vẻ ít quan tâm về lương hơn những lập trình viên ở các quốc gia khác. Lập trình viên Mỹ và Pháp có vẻ ít ưu tiên cơ hội hơn là thăng tiến, lập trình viên Anh lại quan tâm hơ về địa điểm làm việc, và lập trình viên Ấn Độ ưu tiên giờ làm việc linh hoạt, sáng tạo, làm việc từ xa, và danh hiệu công việc.

Những kiểu lập trình viên khác nhau ưu tiên những thứ khác nhau. Lập trình viên Full-Stack có số lượng ưu tiên công nghệ đông đảo nhất. Machine learning developer tìm công việc sáng tạo, đột phá. Quality assurance developer lại quan tâm hơn đến phẩm cách của đồng nghiệp và văn hóa công ty so với các kiểu lập trình viên khác.

Executives quan tâm về cân bằng làm-chơi ít hơn. Họ quan tâm hơn về tầm quan trọng của công việc họ sẽ làm, khả năng ảnh hưởng đến quyết định, và hơn bất cứ kiểu lập trình nào khác: sự công bình.

Ưu tiên thay đổi theo kinh nghiệm

Khi lập trình viên có thêm kinh nghiệm, quyền thực hiện quyết định và technology stack trở thành ưu tiên lớn hơn, làm việc từ xa cũng vậy. Nhưng lập trình viên càng kinh nghiệm càng ít quan tâm về tên chức vụ công việc.

Ở một số quốc gia, tiền quan trọng hơn

Lập trình viên thường quý lương ở những quốc gia có mức lương trung binh tương đối thấp. Lập trình viên ở các quốc gia Bắc Âu ít quan tâm đến tiền hơn cách xu hướng này chỉ ra.

Các hoạt động khác