Điều gì làm nên nhà phát triển PHP chuyên nghiệp

Ngày đăng: 21-12-2007Nguồn tin: Thông tin công nghệ
Điều gì làm nên nhà phát triển PHP chuyên nghiệp Trong blog của mình, Jim Plush có nêu ra vài yếu tố để phân biệt giữa một nhà phát triển PHP chuyên nghiệp và một lập trình viên đơn thuần. Nguyên tác: What separates a professional PHP web developer from a scripter?

Trong 3 năm vừa qua tôi đã có dịp phỏng vấn hơn 200 ứng viên vào các vị trí php/web. Người tôi muốn tìm là phải thực sự là một nhà phát triển PHP cao cấp và chuyên nghiệp. Tiếc là 98% số này thậm chỉ không đáp ứng được một nửa các yêu cầu tôi đặt ra. Thế bạn đáp ứng được bao nhiêu ?

Dưới đây là các yếu tố được Jim liệt kê:

  • PHP5 vs PHP4: phải kể ra ít nhất 3 tính năng quan trọng tạo ra sự khác biệt giữa hai phiên bản này.
  • Mạng: có khả năng lập trình socket, hoặc ít nhất cũng hiểu cách kết nối đến các máy khác.
  • OOP: hiểu sâu về LT HĐT để có thể trả lời vài câu hỏi đơn giản, thí dụ các phương thức private và protected khác nhau thế nào. Phải hiểu (không nhất thiết phải dùng hết) các khái niệm: interface, constructor, private/public/protected, kế thừa, đa hình, phương thức tĩnh.
  • CSDL: hiểu thế nào là một CSDL được chuẩn hóa, hiểu về các khóa chính và khóa ngoại.
  • Design patterns: không nhất thiết lúc nào cũng phải dùng, nhưng quan trọng là phải hiểu tại sao nó có ích.
  • Quản lí mã nguồn (source control): ít nhất nhất một hệ thống quản lí mã nguồn (chứ không phải là zip các tập tin rồi lưu vào thư mục tạm nào đấy). Điểm thưởng cho ai chỉ ra ít nhất 1 khuyết điểm của CVS.
  • Unit Testing: hiểu thế nào là unit testing, tại sao nó quan trọng. Điểm thưởng cho test driven design, unit test javascript, biết sử dụng Selenium.
  • Tham gia vào cộng đồng: tôi có thể google vài thứ hay ho mà bạn làm với PHP hoặc các công nghệ web, cẩn thận nếu tôi không thể google được gì về bạn. Điểm thưởng nếu bạn có tham gia vào một đề án nào đó.
  • Kĩ năng javascript: biết cách làm việc với DOM (appendChild, removeChild, nextSibling, v.v...), biết tạo lớp riêng trong JS, điểm thưởng nếu biết tạo biến cục bộ trong javascript.
  • Kĩ năng CSS: biết về mô hình hộp trong và ngoài, hiểu các CSS selector và cách kế thừa.
  • Đam mê cải tiến: yêu những gì bạn đang làm. Biết tạo cho mình những kĩ năng riêng và trở nên có giá trị hơn.

Trên đây là những yêu cầu tối thiểu. Đáng buồn thay, hầu hết có vẻ như hài lòng với công việc của một lập trình viên ở mức tối thiểu, dẫn đến các chương trình tồi và các đội ngũ tồi. Tôi thường xuyên gặp những tình cảnh như thế. Bạn có các nhà phát triển tuyệt vời làm chung với những người ngồi ngủ tại bàn của họ lúc 9-10 giờ sáng (đừng cười, tôi có ảnh đây). Nó làm mức độ chung của cả nhóm đi xuống. Có những người ngồi kiểm tra code bị lỗi lúc 4h59 chiều, và ra về lúc 5h00.

Trên đây là phần dịch gần như nguyên vẹn từ blog của Jim Plush. Vài người cho rằng kiến thức về CSS (thậm chí Javascript) là không cần thiết. Tôi thì nghiêng về phía Jim, sự hiểu biết này giúp bạn có thể nhanh chóng nắm được hình thức một trang web. Thêm một ý kiến khác là "cần phải hiểu và làm việc với ít nhất một framework php nào đó". Tôi thấy điều này không quan trọng lắm, nó không phải là điểm trừ, vì xác suất bạn làm việc với một framework chọn trước không cao lắm.

[ Back ] [ Top ]

Product Base

Hệ quản trị website trực quan VCms
Hệ quản trị website trực quan
Website thương mại điện tử VECommerce
Website thương mại điện tử
Phần mềm tự động Up lên đầu trang thương mại AutoUP
Phần mềm tự động Up lên đầu trang thương mại
VietSmall Poster Poster
Phần mềm đăng bài nhanh

Liên hệ

Nguyễn Phúc Thịnh
Tel: 04 7303 6845 - 0975 925 943

Đinh Ngọc Ánh
Tel: 04 66 749 545 - 0906 094 693

Dịch vụ thiết kế website

Dịch vụ quảng bá website

Dịch vụ thương mại điện tử

Địa chỉ: 35 Ngách 82/2, Pho Nghia Tan

Advertising

Dịch vụ quảng bá website.
vn