Đây không phải là cuộc tranh luận về "PHP hoặc Java tốt hơn hay kém hơn ngôn ngữ ưa thích của bạn". Mà thật ra, bài viết này là về công nghệ doanh nghiệp, ví dụ như Java Enterprise (JavaEE), và cách nó có thể giết chết công ty khởi nghiệp dựa trên web (web-based) hoặc doanh nghiệp dựa trên web vừa và nhỏ của bạn. Và thêm vào đó, là về cách mà một công nghệ có nghĩa như PHP (hoặc Ruby, Python, Perl, v.v.) có thể cứu cánh và đưa start-up của bạn lên tầm cao mới.
Điều mà một doanh nghiệp nhỏ dựa trên web cần, cho dù bạn nghĩ rằng cuối cùng bạn sẽ đạt được quy mô lớn như thế nào, là LAMP. Đối với những người chưa biết, LAMP là từ viết tắt xác định hệ điều hành, máy chủ web, cơ sở dữ liệu và ngôn ngữ lập trình của bạn - Linux, Apache, MySQL và PHP. Nếu bạn là một nhà sáng lập theo định hướng kinh doanh hoặc nhà lãnh đạo cấp cao không chuyên về kỹ thuật và cần dựa vào những người khác để tư vấn cho bạn về công nghệ, bạn có thể đã nghe nói LAMP (cụ thể là phần PHP hoặc MySQL) lỗi thời, "quá đơn giản" và không có hiệu suất bạn cần. Đó là điều hoàn toàn vô nghĩa. Sự thật là:
- Hầu hết các trang Thương mại điện tử, mạng xã hội và wiki lớn đều bắt đầu bằng PHP (hoặc tương tự) và vẫn được sử dụng rộng rãi, bao gồm Amazon, Facebook và Wikipedia. Hơn 80% trong số 10 triệu trang web hàng đầu sử dụng PHP.
- PHP có thị phần lớn và cơ sở người dùng khổng lồ, 10 so với 1 đối với Java (hãy nhớ rằng, chúng ta chỉ nói về các ứng dụng web ở đây, không phải lập trình chung).
- Lập trình viên PHP đông đảo hơn và dân dã hơn lập trình viên Java.
- PHP có hiệu suất tuyệt vời và nó liên tục trở nên tốt hơn và thực tế là dễ dàng cạnh tranh với các ngôn ngữ biên dịch.
- Thời gian đưa ứng dụng PHP ra thị trường chỉ bằng một phần nhỏ các ứng dụng Java EE.
- PHP không phải là một ngôn ngữ “kịch bản”, nó là một công cụ web đầy đủ chức năng, hướng đối tượng.
- PHP 7.x là một cải tiến lớn so với các phiên bản trước và 8.0 hứa hẹn sẽ vượt qua mọi mong đợi.
- Các framework phong phú và mạnh mẽ. Sức mạnh, sự nổi tiếng và sự thống trị của Symfony và Laravel là không thể phủ nhận.
- WordPress (định hướng PHP) là CMS thống trị với gần 60% thị phần. 05 CMS hàng đầu tiếp theo, tất cả đều chạy bằng PHP.
- PHP chỉ đơn giản được tạo ra cho web. Không cần thêm máy chủ, bộ xử lý, hack, thủ thuật. Nó thực sự phù hợp với máy chủ web của bạn.
- WooCommerce, Magento, OpenCart, PrestaShop, ZenCart, Drupal, Joomla, OsCommerce, v.v. Tất cả đều viết bằng PHP. Chỉ cần Magento và WooCommerce thôi là đã chiếm được hơn 1/3 thị trường Thương mại điện tử.
Ngoài những sự thật trên, mọi người sáng lập và lãnh đạo doanh nghiệp không chuyên về kỹ thuật cần hiểu những điều sau về ngôn ngữ code, giải pháp doanh nghiệp và phát triển…
Thiết kế! Kiến trúc và thiết kế hệ thống quan trọng hơn nhiều so với việc bạn lựa chọn ngôn ngữ hay bất cứ thứ gì khác. Chọn ngôn ngữ hoặc công nghệ “phù hợp” là vô ích nếu bạn có kiến trúc hệ thống tệ. Java là một ngôn ngữ được biên dịch (đại loại vậy) và như vậy, nhanh hơn PHP. Tuy nhiên, PHP trong thực tế nhanh hơn trên web (thông thường). Bởi vì PHP được thiết kế cho web. Các khuôn khổ PHP được thiết kế cho web doanh nghiệp. Các giải pháp doanh nghiệp là về kiến trúc, không phải công nghệ hay ngôn ngữ. Để ai đó bán cho bạn một ngôn ngữ (như Java) mà không có đánh giá đầy đủ và thảo luận về kiến trúc và thiết kế giống như để một người xây nhà bán bạn một ngôi nhà mà bạn chưa từng thấy bởi vì các nhà thầu của họ chỉ sử dụng chiếc búa mới nhất và tốt nhất (hoặc búa tạ trong trường hợp đối với Java EE).
Ngôn ngữ là công cụ. Bạn chọn các công cụ cho công việc trong tầm tay. Bạn chọn kiến trúc và thiết kế cho mục tiêu cuối cùng. Ngôn ngữ là công cụ. Nói một ngôn ngữ không “dành cho doanh nghiệp" cũng giống như nói một cái búa không thể được sử dụng để xây dựng các tòa nhà chọc trời vì nó cũng được sử dụng để xây nhà thường. Thiết kế kém mới là điều thực sự tệ. PHP sẽ hoạt động tốt dưới tay của một kỹ sư phần mềm giỏi, người biết cách thiết kế cho doanh nghiệp. PHP không có khuyết điểm nào làm ngăn cản điều đó và trong trường hợp của web, PHP có nhiều lợi thế hơn hầu hết các ngôn ngữ.
Nếu bạn tập trung vào các công cụ trước khi đến kiến trúc, nó giống việc dùng máy phá tường (Java) để đóng đinh trong khi búa (PHP) thôi là vừa phải, thích hợp. Bạn cũng sẽ nhanh chóng mất tiền khi đầu tư vào các công cụ và nhân viên không cần thiết. Nếu bạn muốn xây một tòa nhà chọc trời, thì hãy về thiết kế một tòa nhà chọc trời. Các giải pháp doanh nghiệp mạnh được xây dựng với kiến trúc và thiết kế tốt, không phải bằng một ngôn ngữ cụ thể.
Giữ mọi thứ đơn giản. Để có một ý tưởng tiếp thị, bạn cần một giải pháp đơn giản, nhanh chóng và rẻ tiền, sẽ hoạt động ngay bây giờ và mở rộng quy mô sau này. Bất cứ điều gì khác đều gây tổn hại và có thể dễ dàng dẫn đến sự sụp đổ sau cùng. Trừ khi bạn sẽ có một trang web có kích thước như Amazon theo đúng nghĩa đen vào thời điểm bạn phát hành trực tuyến, giải pháp tốt nhất của bạn là kiến trúc mạnh mẽ và PHP (hoặc tương tự) trong môi trường LAMP, không phải là giải pháp về Java Enterprise khổng lồ, cồng kềnh.
Xây dựng để mở rộng ngay bây giờ, nhưng thực sự mở rộng sau này. Đừng để bất kỳ ai nói với bạn rằng bạn phải xây dựng ngay bây giờ với các công cụ chính xác mà bạn cần sau này vì một ngày nào đó bạn sẽ có quy mô của Amazon hoặc Facebook (cả hai đều vẫn sử dụng rộng rãi PHP và các ngôn ngữ tương tự). Điều bạn cần bây giờ là thiết kế tốt và sử dụng các công cụ đơn giản, rẻ tiền. Nếu bạn đã thực hiện thiết kế của mình một cách chính xác, bạn sẽ dễ dàng mở rộng quy mô sau này. Facebook bắt đầu dựa trên PHP, vẫn đang sử dụng PHP, và họ có vẻ như đã mở rộng quy mô rất tốt. Wikipedia là PHP, có vẻ như họ đã mở rộng quy mô tốt.
Các hành động cần thiết dành cho những người sáng lập phi kỹ thuật và chủ sở hữu doanh nghiệp đang điều hành doanh nghiệp dựa trên web:
Đặt tiền của bạn vào kiến trúc đầu tiên. Điều này có nghĩa là người được bạn thuê đầu tiên không phải là một lập trình viên tầm thường. Hãy tìm cho mình một chuyên gia khoa học máy tính được đào tạo bài bản với kinh nghiệm về thiết kế và kiến trúc trước tiên, code và ngôn ngữ là yếu tố thứ yếu. Không có gì tai hại cho khả năng tồn tại lâu dài của nền tảng web của bạn hơn là một nhà phát triển web tay ngang nhảy vào viết code vào ngày đầu tiên.
Luôn tinh gọn về công nghệ. Rất nhiều thảm họa xảy ra với các công ty và dự án ngay từ đầu cùng nhóm lập trình viên Java Enterprise, vì ai đó đã bán cho họ tốc độ và “khả năng doanh nghiệp” của Java thay vì dành thời gian để thực sự đánh giá nhu cầu và tài nguyên của họ. Một công ty khởi nghiệp địa phương đã thuê 14 lập trình viên Java và nhân viên hỗ trợ để thành lập công ty của họ. Họ tin rằng họ cần Java để “cạnh tranh trong không gian doanh nghiệp”. Quy mô đó cần $2 triệu mỗi năm để duy trì ở Hoa Kỳ. Họ không đủ khả năng chi trả nên đã thuê nguồn lực ở Ấn Độ với tổng số tiền là $100k một năm. Tóm lại, những gì xảy ra sau đó là một thảm họa kéo dài 5 năm khiến công ty tiêu tốn hàng triệu USD và để lại cho họ một mớ hỗn độn cấp doanh nghiệp trương phồng, lỗi thời. Tệ hơn nữa, vào thời điểm họ tiêu tùng, bạn biết đâu là ngôn ngữ “phù hợp” mới cho ứng dụng của họ không? Python. Và họ đã không thể hồi phục từ cú vấp “đầu đời” to lớn đó. Những gì họ cần là chỉ với hai nhà phát triển LAMP tốt (P có thể là cho Python trong trường hợp này) và một trưởng nhóm lập trình/kiến trúc sư. Đó là đề xuất 300 nghìn đô la một năm có thể đưa sản phẩm của họ ra thị trường một cách nhanh chóng để chúng có thể thích nghi và phát triển.
Hãy lựa chọn nhân viên kỹ thuật một cách cẩn thận. Việc này rất quan trọng. Có những lập trình viên thiên tài và những người tồi tệ khác, ngồi ngay cạnh nhau, cùng kiếm tiền, với cùng chức danh. Không có nhà quản lý không chuyên về kỹ thuật nào có thể phân biệt được và sự thật là đôi khi các nhà quản lý kỹ thuật cũng không thể. Có những lập trình viên tồi tệ nhất được nịnh bợ là "giỏi nhất" chỉ đơn giản vì họ nhanh nhưng khi bạn nhìn vào code của họ thì đó là một mớ hỗn độn không thể giải thích được. Nếu bạn là người sáng lập hoặc lãnh đạo doanh nghiệp không chuyên về kỹ thuật và bạn phải chọn lập trình viên, hãy tìm trợ giúp. Người bạn muốn tư vấn cho bạn có ba tiêu chí không thể không có: bằng khoa học máy tính, kinh nghiệm dày dặn làm kỹ sư phần mềm và kinh nghiệm dẫn dắt kỹ sư phần mềm. Họ là những nhà công nghệ thực thụ đã được kiểm chứng.
Hoặc bạn có thể đăng tuyển trên vietnamworks.com nhóm ngành IT - Software. Đây là nền tảng việc làm trực tuyến uy tín hàng đầu Việt Nam hiện tại.
Không chỉ tập trung vào Java so với PHP, bạn có thể thay thế chúng bằng bất kỳ công nghệ tương tự nào để đưa lên bàn cân. Lời nhắn nhủ quan trọng mà tác giả muốn gửi gắm là về việc loại bỏ sự cường điệu và nhớ tập trung vào các yếu tố nền tảng chứ không phải chạy theo những thứ phù phiếm khác. Đó là về việc duy trì sự tinh gọn và thiết kế đúng cách. Cần nhớ rằng nếu bạn muốn đóng một chiếc đinh, bạn có thể sử dụng máy ủi và thuốc nổ, nhưng có lẽ bạn chỉ nên sử dụng một cái búa và nhắm tốt.
Chối từ trách nhiệm: Bài viết trên đây được chuyển ngữ từ bài blog của Alexander Katrompas trên nền tảng Medium. VietnamWorks InTECH không chịu trách nhiệm về bất kỳ tính chính xác thông tin nào về các dữ liệu và dẫn chứng được đề cập trong bài.
Tổng hợp việc làm IT - Software trên VietnamWorks
VietnamWorks InTECH
Theo Alexander Katrompas
TẠO TÀI KHOẢN MỚI: XEM FULL “1 TÁCH CODEFEE” - NHẬN SLOT TƯ VẤN CV TỪ CHUYÊN GIA - CƠ HỘI RINH VỀ VOUCHER 200K