Friday, February 13, 2015

Các công ty tuyển dụng cần gì ở lập trình viên PHP?

Để tuyển dụng được một lập trình viên tốt, thì nhà tuyển dụng thường đặt khá nhiều kỳ vọng vào các kỹ năng mà lập trình viên đã tự trang bị được cho mình, chẳng hạn như: làm việc nhóm, độc lập, tư duy tốt, tự tìm tòi và học hỏi, nghiên cứu nhanh,...
Trong bài này, chỉ bàn riêng về chuyên môn trong lĩnh vực PHP, các nhà tuyển dụng cần gì ở một lập trình viên? Bạn đã chuẩn bị được những kỹ năng gì để đi xin việc làm một lập trình viên PHP.


Những kỹ năng bắt buộc

Những kỹ năng dưới đây là bắt buộc khi bạn làm một lập trình viên PHP.

Bắt buộc 1: Nắm chắc kiến thức cơ bản về lập trình web với HTML, CSS (và cả JS thì là tốt nhất)

PHP là để lập trình web, mà HTML+CSS(+JS) là bộ cơ sở đi với nhau, và do đó, bạn muốn làm web mà không biết HTML+CSS thì chắc chắn là không thể được. Thực tế, với HTML+CSS bạn không cần phải biết tường tận mọi ngõ ngách, không cần phải siêu đẳng, thế nhưng những thứ thường gặp bạn cần phải nắm rõ.
Ví dụ:
- Với HTML bạn cần hiểu biết trong đầu về thẻ là gì, các thẻ thường làm có meta, div, các thẻ h, span, p, a, form, ...
- Với CSS bạn cần hiểu biết về: border, padding, margin, float, overflow, z-index, background, color, :hover,...
- Với JS: bạn có thể làm chưa quen, nhưng bạn cũng cần phải đọc được các câu lệnh JS đơn giản để: show/hide element, get/change/remove css class,...

Những thứ trên là các kiến thức rất cơ bản, nếu bạn không nắm chắc, hãy kiếm những quyển sách rất đơn giản và học lại, làm theo những bước trong sách hướng dẫn, thử thay đổi các tham số để hiểu rõ hơn về việc mình thực hành.

Nhấn mạnh lại một điều nữa để bạn hiểu rõ, Không nắm được HTML+CSS, đừng nghĩ đến chuyện làm WEB, và cũng đừng nghĩ đến chuyện làm PHP.


Bắt buộc 2: Về ngôn ngữ PHP

Bạn làm về PHP, rõ ràng bạn phải hiểu được cơ bản về nó. Cách bạn đặt biến như nào, đặt hàm như nào, làm thế nào để gọi,... rồi những vấn đề cơ bản như: hiển thị một chuỗi lên HTML bằng PHP như thế nào, PHP kết nối đến DB như là MySQL ra làm sao,... Bạn có thể quên quên nhớ nhớ, nhưng khi đưa code có sẵn ra bạn phải đọc được và hiểu được, rồi mới tính đến chuyện tự tay code được. Bạn đọc hiểu code có sẵn không được thì làm sao mà code được.

Những kỹ năng cạnh tranh, làm lợi thế

Nếu bạn tu luyện được một trong các kỹ năng dưới đây, ngoài việc tăng khả năng kiếm được một công việc như ý về PHP, bạn còn có lợi thế nhất định khi đàm phán lương bổng.

Thành thạo một, hoặc nhiều thì càng tốt, các PHP framework

Với cộng đồng PHP lớn mạnh, cũng như vị trí của bộ sậu PHP-MySQL trong thế giới web, thì việc mà có vô số các sản phẩm opensource, hoặc có phí là điều dễ hiểu. Tương tự đó, rất ít các công ty phát triển web làm từ đầu sản phẩm của mình, mà thường dựa vào một nền tảng framework nào đó để tuỳ biến. Nhất là các công ty ở Việt Nam, có rất ít công ty bỏ tiền ra đầu tư làm từ đầu sản phẩm của mình. Do đó, bạn nắm được nhiều framework thì bạn lại càng có nhiều lợi thế hơn khi xin việc cũng như khi đàm phán lương bổng.

Các framework đáng chú mà các bạn cần bỏ thời gian nghiên cứu, làm thử gồm:
- Về CMS: Wordpress, Joomla, CakePHP, Yii, Laravel, ...
- Về eCommercer: Magento, OpenCart, Shopify,...
- Ngoài ra, còn có một số khác, mặc dù ít gặp ở VN nhưng không phải là không cần: CRM như Sugar hoặc Tiger,...

Thành thạo làm Responsive



Với thời điểm bùng nổ smartphone, tablet iOS, Android như hiện tại, việc có thêm kỹ năng làm web Responsive là cực kỳ quan trọng. Các website lớn, hoặc chuyên nghiệp sẽ yêu cầu điều này. Việc học cách để làm responsive này cũng không tốn nhiều thời gian, vì cũng như PHP, hiện có rất nhiều framework giúp cho các bạn về việc này. Và do đó, tôi recommend, hoặc xúi các bạn cũng có thể nói là vậy, nên học thêm Bootstrap, sau đó là Foundation framework. Ngoài ra cũng nên dành thời gian tìm hiểu thêm việc ứng dụng HTML5, các hiệu ứng CSS mới,...

Thành thạo các Javascript framework, tối đặc biệt JQuery

Tương tự với các quan điểm trên, bạn cũng nên nắm được vững cách sử dụng JQuery. Tài liệu hướng dẫn rõ ràng dễ hiểu, các biện pháp giải quyết khó khăn bằng JQuery nhiều vô kể. Và cũng có vô số người sẵn sàng giúp bạn trên StackOverflow.


Một số kỹ năng, hoặc hiểu biết khác

Ngoài những điểm đề cập trên, thật tuyệt vời nếu nhà tuyển dụng cũng biết được bạn thành thạo, hoặc đã từng làm, hoặc có hiểu biết, hoặc thậm chí là có nghe nói đến một số các thứ sau đây:
- Kỹ thuật về AJAX với JQuery.
- JSON
- Restful Webservices
- Tương tác với web API, request header, response header
- AngularJS
- Thành thạo các tool như Sublime Text, Notepad++, IntelliJ IDEA,...
- Cách deploy một web PHP lên hosting bằng FTP, CPanel,...


Bạn cũng nên theo dõi blog này thường xuyên, tôi sẽ post các bài hướng dẫn lập trình từ cơ bản đến phức tạp trên một số lĩnh vực như web, android, ios...