Vision of the future

Đoàn Xuân Dũng
(DungDX)

New Member
(Bài viết này tôi đã gửi trước đây. Nhưng mới gửi lên được vài ngày thì forum bị down. Nay gửi lại, để xem các bác có ai chia sẻ chung suy nghĩ và đánh giá không).

Trao đổi với các lập trình viên

Chào các anh em lập trình viên,

Nhân lúc giao thời, dựa trên quan điểm cá nhân, thử nhìn lại chặng đường tiêu biểu đã đi qua của công nghiệp phần mềm (chỉ xét từ thời điểm mà thế hệ chúng ta quan sát được) và đoán (bừa) những việc sẽ tới khoảng 3-5 năm nữa; từ đó suy tính xem các lập trình viên nói chung nên làm gì. Mong cùng trao đổi với các bạn. Trong phân tích sau đây, việc phân chia các giai đoạn phát triển của ngành software chỉ mang tính tương đối; và một giai đoạn được định nghĩa dựa trên sự nổi trội của khuynh hướng công nghệ chủ đạo trong giai đoạn đó, chứ không tính từ khi công nghệ đó mới phôi thai cho đến khi nó chấm dứt hẳn:

* (Giai đoạn 1) Các năm khoảng cuối 80 đến 93 - 94: DOS và các hệ thống character mode thống trị. Các lập trình viên chủ yếu xây dựng sản phẩm trên nền tảng này. Khuynh hướng phát triển (theo thời gian) là từ các ứng dụng stand-alone cho đến các ứng dụng networked (thông qua khả năng của OS hoặc bản thân ứng dụng networked thực sự).

* (Giai đoạn 2) Khoảng 94 - 98: Windows thống trị. Các lập trình viên quay sang lập trình cho môi trường đồ họa. Khuynh hướng là từ các công cụ quá độ (C for Win, Pascal for Win,... với các thư viện support GUI) chuyển dần lên trào lưu lập trình visual, rồi mở rộng ứng dụng ra client/server. Thị trường thời điểm này vẫn có chỗ cho những developer với skills cũ (của giai đoạn 1), nhưng các cơ hội đã giảm đi rất nhiều.

* (Giai đoạn 3) Khoảng 98 đến 2004: WWW thống trị. Các lập trình viên ào ào xông vào lĩnh vực Internet, mà phần lớn là Web. Khuynh hướng là từ ứng dụng đơn giản (Web tĩnh (thực ra cũng chưa phải là ứng dụng),...), đến ứng dụng thực sự (các công nghệ Web nội dung động,...), đến xây dựng ứng dụng Web dựa trên các component, các ứng dụng multi-tier triển khai trên Application Servers,... Thị trường cho các developers có skills của giai đoạn 2 vẫn còn, nhưng bị thu hẹp nhiều. Các lập trình viên chỉ có skills của giai đoạn 1 có thể coi như là chết hẳn.
Nhưng các công nghệ Web component vẫn chưa đủ cho sự phát triển của E-Business; chi phí xây dựng ứng dụng vẫn quá lớn do nhiều thứ vẫn phải develop from scratch; các applications vẫn khó communicate với nhau do sự khác biệt platform,... Điều đó, cộng với sự kỳ vọng quá cao của mọi người vào Internet đã dẫn tới cuộc khủng hoảng DotCom trầm trọng thời gian qua, với hiện tượng là phần lớn các E-Business sụp đổ hoặc điêu đứng.

* (Giai đoạn 4) Dự đoán khoảng 2004 - 2008: Để khắc phục tình trạng trên, các công nghệ mới ra đời, và định hướng mũi nhọn là Web Service. Khi đó, Internet có lẽ sẽ phát triển dần dần tới một mô hình nào đó tương tự hệ điều hành, với các Web Service như là các API. Khi cả thế giới theo trào lưu này, số lượng API sẽ cực kỳ phong phú dẫn tới việc phát triển các ứng dụng sẽ đơn giản và rẻ hơn nhiều; các Business Process sẽ dễ communicate với nhau hơn (bất chấp platform) do được support bởi các chuẩn giao tiếp mới (dựa trên XML). Và một điều đặc biệt, applications' user interface sẽ trở nên rất linh hoạt và phong phú; users sẽ không còn bị trói chặt vào bàn làm việc của mình, và PC sẽ dần mất đi vị thế thống trị, trong khi các mobile devices và các thiết bị tiêu dùng thông minh sẽ tăng dần thị phần. Trong giai đoạn này, hottest skills sẽ xoay quanh việc phát triển và sử dụng Web Services, và lập trình ứng dụng cho các new application delivery channels (PDA, Cell phone,...). Thị trường cho skills giai đoạn 3 bị thu hẹp nhiều. Các skills client/server thuần túy kỹ thuật hoặc các biến thể của nó (skills giai đoạn 2) có thể coi như chết hẳn. Chỉ có những client/server developers với các skills về các package products phổ biến (Oracle Financials, SAP, PeopleSoft,...) mới có thể sống được.

* (Giai đoạn 5) 2008 - ... : Không biết sẽ là cái gì. Nếu Internet hình thành dần theo kiểu như một hệ điều hành lớn, thì phải chăng quá trình phát triển tiêu biểu của một OS sẽ lặp lại? Từ cái nhân (IP, các protocols dựa trên đó,...), cho đến hệ thống các API (Web Services), rồi ra đời các dịch vụ, các tools phát triển, rồi đến các sản phẩm, hệ thống và ứng dụng xây dựng dựa trên các API và các dịch vụ, các tools,...?

Những phân tích trên cho thấy điều gì? Tạm kết luận (bừa) một câu như sau: hottest skills tại một thời điểm luôn là những kỹ năng tương ứng với trào lưu công nghệ chủ đạo tại thời điểm đó (tất nhiên); và những skills lạc hậu khoảng 2 giai đoạn sẽ hầu như không còn cơ hội gì (?), nhất là trong những thị trường lao động cạnh tranh cao như US.

Điều này có ý nghĩa gì đối với các lập trình viên (và những người làm software nói chung)? Khi chuẩn bị bước chân vào industry, phần lớn các developers sẽ có sự đầu tư kỹ càng nhất và do đó cũng nắm vững nhất các skills phù hợp với xu thế công nghệ đương thời. Nhưng technologies thay đổi rất nhanh; một trào lưu thường có tuổi đời tồn tại trung bình khoảng 4-6 năm. Điều đó có nghĩa là các skills sẽ nhanh chóng lạc hậu sau vài năm. Và khi chuyển sang một giai đoạn mới, những skills của giai đoạn trước đó vẫn còn tồn tại được, nhưng sẽ khó khăn hơn nhiều; còn skills của giai đoạn trước đó nữa thì không có nhiều cơ hội sống sót, nhất là khi thị trường trong tình hình suy thoái (như hiện nay). Các lập trình viên không nên để mình bị rơi vào hoàn cảnh này; nếu vì nhiều điều kiện khác nhau hạn chế, cùng lắm là chịu chấp nhận lạc hậu một giai đoạn thôi. Nhưng nếu vẫn muốn làm công tác chuyên môn sâu về kỹ thuật, và muốn mình có khả năng cạnh tranh tốt, luôn được high demand, không e sợ khi bị quẳng ra market bất kỳ lúc nào, và nếu chưa có được ideas gì thực sự nổi trội mà vẫn phải sống nhờ skills, thì không còn lựa chọn nào khác, phải luôn update skills để mình luôn tương đương với trào lưu đương thời (ở đây, chỉ nói đến technical thuần tuý; không xét đến các yếu tố khác như kinh nghiệm, bản lĩnh nghề nghiệp,...). Như vậy, trong cuộc đời làm nghề, một developer chuyên nghiệp có lẽ trung bình sẽ phải trải qua khoảng 3-5 lần thay đổi skills lớn (nhắc lại rằng đây là thay đổi cơ bản về cả khuynh hướng; còn các thay đổi nhỏ như các công nghệ, ngôn ngữ cụ thể,... thì là việc hàng tháng, hàng năm). Lưu ý rằng trong các lúc giao thời, thường tồn tại các công nghệ quá độ (vốn bắt nguồn từ các công nghệ phục vụ cho giai đoạn trước), được bổ sung, phát triển thêm tính năng của giai đoạn sau để kéo dài thêm sự sống cho skills tương ứng. Các loại quá độ này thường không ưu việt bằng các công nghệ "native" của giai đoạn sau, và thường suy tàn khi giai đoạn kế tiếp đi được khoảng nửa chặng đường (cũng có thể có những ngoại lệ khi công nghệ quá độ sẽ trở thành chủ đạo của giai đoạn mới). Các developers với skills cũ nên mạnh dạn rời bỏ các công nghệ quá độ khi các công nghệ "native" đã sẵn sàng.

Tóm lại, các lập trình viên bây giờ nói chung nên làm
gì? "Thời thế tạo anh hùng"; những lúc giao thời, luân
chuyển giai đoạn, tranh tối tranh sáng như thế này chính
là thời cơ dụng võ cho các anh em thoả chí tang bồng mà
thi triển tài năng, nảy sinh ý tưởng. Nếu không có sự
suy thoái của công nghệ mainframe và các máy tính lớn,
dẫn đến sự ra đời của PC và bước sang giai đoạn
mới "máy tính đến mọi nhà", thì làm sao đẻ ra được
anh trọc phú Bill Gates? Bởi vậy, các anh em còn đang ngồi
trên ghế nhà trường hãy quăng hết sách vở vô bổ; ta
cùng nhau nghiên cứu xây dựng nên hệ điều hành mới
cho cell phone, để 20 năm sau, nắm trong tay hàng chục tỷ
USD, cùng nhau chung hưởng phú quý: rượu ngon, dê béo,
gái đẹp,... chẳng mãn nguyện lắm ư???:mrgreen: (j/k).

Tóm lại, các lập trình viên bây giờ nói chung nên làm gì? Nên nhìn tới tương lai: Web Services và Mobile Devices.

Các anh em developers nghĩ sao?
 
Viết dài dằng dặc đọc toét cả mắt! Hik, mà chỉ có cái đoạn cuối là đáng để ý. Sao giống giọng bọn chúng ta của FPT thế nhỉ?
 
Các nhà phân tích thuộc tập đoàn nghiên cứu Gartner Dataquest vừa đưa ra dự đoán về sự phát triển của lĩnh vực công nghệ thông tin trong 8 năm còn lại của thập niên đầu thế kỷ 21 này. Dự đoán này được nêu cụ thể như sau:


Băng thông sẽ tiết kiệm chi phí hơn là phần cứng công nghệ

Năng lực của mạng sẽ tăng nhanh hơn so với tốc độ nâng cấp điện toán, bộ nhớ và ổ cứng, tạo nên một sự chuyển biến đáng kể trong vấn đề chi phí về tác nghiệp tính toán từ xa so với tính toán cục bộ. Băng thông lớn và giá thấp sẽ là chất xúc tác cho các dịch vụ mạng tập trung hơn thông qua việc sử dụng các cơ chế tính toán Grid. Gartner đưa ra dự đoán trên dựa vào thực tế phát triển vượt bậc hiện nay của công nghệ mạng quang trong các lĩnh vực liên quan đến tính toán. Tuy nhiên, những thách thức của các vấn đề về bảo mật, chất lượng dịch vụ và môi trường ứng dụng Grid là những rào cản cần phải vượt qua. Có thể phải hơn 10 năm nữa thì người sử dụng không còn cần dùng đến những chiếc ổ cứng trong máy tính của mình.

Phần lớn các ứng dụng chính sẽ hoạt động đồng bộ trong các doanh nghiệp. Sự phát triển của các ứng dụng và các phần mềm trung gian (middleware) đang theo hướng kiến trúc phần mềm thích ứng, cho phép được cấu hình lại từ xa với sự hạn chế thấp nhất rủi ro. Khái niệm này là một bước tiến hóa tiếp theo của các kiểu phần mềm đã có hiện nay (như các bộ phần mềm ERP, phần mềm cổng truy nhập, CRM và các ứng dụng dây chuyền cung cấp). Chúng là những nhịp cầu bắc qua rất nhiều các khu vực trong một quần thể hệ sinh thái kinh tế. Đó cũng chính là tương lai của các dịch vụ web, và khi chúng hoàn chỉnh thì người sử dụng sẽ có thêm khả năng kết hợp, cấu hình các ứng dụng một cách nhanh chóng như kiểu "cắm và chạy" (plug and play). Để có được điều này phải trải qua thời kỳ các ứng dụng trọn gói có thể phải chia thành các phần có thể hoạt động kết hợp liên hoàn. Những bước khởi đầu cho các chuẩn XML đặc thù cũng như các chuẩn dịch vụ web khác cần được bén rễ. Tuy nhiên cũng không nên trông đợi rằng những tiến bộ này sẽ đến sớm hơn 4 hay 5 năm tới.


Tiếp tục có sự hợp nhất của các nhà cung cấp trong các ngành

Đến năm 2004, trong mỗi lĩnh vực ít nhất sẽ có một người khổng lồ ra đi bởi sự thôn tính hoặc hợp nhất. Lý do là ngày càng nhiều các công ty dotcom sẽ biến mất và phổ biến tình trạng cá lớn nuốt cá bé. Thị trường sẽ trải qua giai đoạn xuất hiện vài nhà cung cấp ngang tầm như nhau và không có ai thực sự nổi trội. Phải đến năm 2007, quy luật phát triển mới lặp lại.


Định luật Moore tiếp tục đúng

Định luật Moore (nhận định rằng cứ sau 18 tháng thì tốc độ xử lý của máy tính tăng gấp đôi) có tới 70% khả năng vẫn đúng tính đến năm 2011. Một chiếc máy tính để bàn điển hình trong năm 2008 được Gartner dự tính là có từ 4 đến 8 chip vi xử lý chạy ở tốc độ 40GHz, có 4 đến 12 Gigabyte RAM, ổ cứng 1,5 terabyte và tương thích công nghệ kết nối mạng LAN 100 Gbit. Đến năm 2011, các bộ vi xử lý sẽ chạy với tốc độ 150 GHz và ổ cứng có thể lưu trữ 6 terabyte là bình thường. Các công nghệ mới như bóng bán dẫn siêu nhỏ (nanotube transistors) sẽ cho phép bỏ qua phần CMOS (complementary metal oxide semiconductor) hiện nay.


Các ngân hàng trở thành những nhà cung cấp các dịch vụ hiện diện

Các dịch vụ hiện diện (presence services) có thể quản lý sở thích cá nhân khách hàng, thông tin riêng tư và kinh nghiệm trên siêu xa lộ thông tin toàn cầu internet. Gartner Dataquest xem đó là những gì chỉ cần "nhấp chuột trên internet", vì nó mang lại sự thuận tiện và linh hoạt trên internet. Microsoft Corp, Liberty Alliance, AOL, và Yahoo đang trong quá trình cạnh tranh không khoan nhượng để trở thành nhà quản lý sự hiện diện của người dùng trong thế giới web. Tuy nhiên, tương lai sẽ thuộc về các công ty độc lập hoặc các nhà cung cấp dịch vụ tài chính như các ngân hàng. Những ngân hàng đã giải quyết các vấn đề về bảo mật, thông tin cá nhân, uy tín nhiều thế kỷ qua và truyền thống đó đặc biệt thích hợp trong thời đại kỹ thuật số. Gartner cho rằng có đến 70% cơ hội các ngân hàng sẽ thành công trong các dịch vụ hiện diện vào năm 2007.


Hệ quản lý hoạt động doanh nghiệp trở thành một xu thế lớn

Hệ quản lý hoạt động doanh nghiệp (Business activity monitoring-BAM) là một thuật ngữ ngày càng trở nên thông dụng. BAM có nghĩa là những hệ thống "cảm biến" tự động cung cấp những thông tin và phạm vi thích hợp cho phép nhà quản lý đưa ra những quyết định hiệu quả hơn trong thời gian thực. Ngoài ra, BAM còn là công cụ giúp hình thành nên quyết định trong doanh nghiệp. Trước đây, việc đưa ra các quyết định rất phức tạp bởi thông tin không thể có ngay trong thời điểm nhà doanh nghiệp tiếp xúc với khách hàng hoặc đối tác. Sắp tới, việc đưa ra quyết định có thể sẽ hết sức nhanh chóng bởi ngày càng có nhiều dữ liệu cung cấp theo thời gian thực.

Theo Sài Gòn giải phóng
 
Back
Bên trên