Hi mọi người, mình hiện đang là sinh viên, sắp đi thực tập hè. Mình xin vào một cty web làm về magento. Mình muốn hỏi cơ hội nghề nghiệp sau này của mảng này có tốt không? Và giờ mình muốn học trước về magento thì nên học những gì? Mình biết cơ bản về web (HTML, CSS, JS, Bootstrap. jQuery, PHP, Django)… Mong mọi người góp ý…!
Học magento nên bắt đầu từ đâu?
Làm web nếu mạnh về một hệ sinh thái nền tảng cụ thể, cơ hội nghề nghiệp là cực kỳ tốt.
Nhưng nếu cứ nhắm vào một sản phẩm cụ thể, cơ hội việc làm là… không thể nói được bởi các sản phẩm giống như bông hoa 10 giờ, sớm nở tối tàn. Do đó, hãy chuẩn bị tâm thế sau:
-
Tiếng Anh đọc hiểu tốt, có thể nói/ trao đổi được với người khác sẽ càng tốt hơn, thuyết trình trước một nhóm bằng tiếng Anh sẽ là tuyệt hảo.
-
Một hệ sinh thái lập trình web: Front-end thì luôn giống nhau cho mọi hệ: nắm về JavaScript, CSS, HTML. Còn back-end sẽ chọn trong các họ lớn như Java, .NET, Ruby, Python, PHP.
-
Vì PHP rất thông dụng nên có nhiều bạn trẻ gần như đồng nghĩa PHP với web nếu họ có ý định nhảy việc lung tung. Các họ khác lương cao hơn làm PHP nhưng ở Việt Nam phải giỏi thực sự, chăm chỉ học nhiều năm mới làm được, ít bạn trẻ dám theo đuổi, vì không thể chém gió, vào công ty lớn, làm không được là mệt ngay.
Do đó, ở đây mình chỉ nói về PHP thì học như sau:
-
Cố gắng lấy được 1 trong vài (hoặc vài cái nếu muốn thử độ am hiểu PHP) chứng chỉ về PHP để chứng tỏ đã học PHP một cách bài bản, nền tảng. Một vài chứng chỉ PHP giá trị: Zend Certified Engineer, Symfony Certification.
-
Khi vọc PHP chắc chắn sẽ đụng đến anh em song hành cùng nó như MySQL, Linux. Vì thé, nếu có qua chứng chỉ LPIC, MySQL DBA sẽ cực tốt, không có thì cũng phải học xong course dành cho beginner, có thử làm bài test.
-
Nhiêu đó đủ đuối rồi. Nắm vững được thì bỗng nhiên biết cần thêm cái gì trong quá trình học và làm, chứ kể ra tùm lum lại gây hoảng hốt.
Cuối cùng mình muốn nói: học phát triển web là học lập trình, chứ không phải học sản phẩm. Cần phải phân biệt rõ ràng giữa người phát triển web là làm sản phẩm cho người ta dùng, chứ không phải là người dùng sản phẩm. Cho nên, cái gọi là học Wordpress, Magento, Drupal, Joomla!, Xenforo, Moodle,… vân vân và vân vân là KHÔNG CÓ MỘT Ý NGHĨA GÌ với người sẽ đi kiếm cơm lâu dài bằng nghề phát triển web dựa trên PHP. Vì sao mình dám nói như vậy? Vì nếu làm được mấy việc sử dụng các phần mềm kia, lắp ghép các mô-đun, thêm mắm dặm muối linh tinh để cho trang web “có vẻ đang chạy” thì ai cũng làm được, dân tay ngang vẫn làm được. Một khi như vậy, giá trị gia tăng của các gọi là “web developer” ở chỗ nào, không chỉ ra được -> thu nhập thấp là không thể tránh khỏi.
Magento k dễ. Bạn cần nắm rất vững OOP, MVC (riêng với php đã cần thứ này rồi)
Với Magento có hệ thống XML đồ sộ nữa, bạn đọc No frills magento layout
bản cho Magento 1 đã có bản download trên mạng. Nếu làm Magento 2 thì bạn cũng vẫn nên đọc vì về cơ bản cái nền vẫn là vậy (tập trung vào Block, Controller, View, Model)
Tác giả của cuốn sách là Alan Storm, rất nổi tiếng trong giới Magento, bạn vào site của ông ý đọc các bài viết, rất sâu và chi tiết https://alanstorm.com
Cơ sở dữ liệu thì dạng ORM, EAV, bạn google từ khóa đó.
Làm Magento là làm fullstack nên bạn sẽ phải đụng tới Javascript, học một khóa cơ bản về javascript, hiểu thế nào là prototype
, this
sử dụng sao, biến toàn cục, cục bộ. Những thứ cần phải biết về js. Trừ phi làm chuyên về theme chứ dev module thì có những model chỉ ở trong backend nên không cần kiến thức quá cao siêu về js hay css.
Với magento 1 bạn cần biết Prototype xem tại http://prototypejs.org, và Magento 2 bạn cần biết knockoutjs xem tại knockoutjs.com/
Dev cứng thì lương bạn rất cao nhưng để nắm được Magento bạn cần có 1 kỹ năng code tốt.