Người trái ngành cần học thêm gì để có thể đủ khả năng để xin đi thực tập front-end web?

Chào anh chị, em năm nay 24 tuổi, đã tốt nghiệp đại học ( không phải chuyên ngành CNTT ).

Định hướng của em là trở thành web developer, em có tham khảo và biết front-end dễ tiếp cận hơn nên em quyết định học front-end trước, sau khi đi làm 1 thời gian vững mảng front-end sẽ học thêm back-end

Hiện tại em đã tự học đc cơ bản HTML5, CSS3, Bootstrap4, Sass, javascript, em đang học Reactjs.

Anh chị cho em hỏi: Cần học thêm gì để có thể đủ khả năng để xin đi thực tập front-end web ko ạ. Em thấy job người ta tuyển phải biết thêm PHP và .NET nữa, không thì cũng cần 6 tháng, 1 năm, 2 năm kinh nghiệm, hoặc sinh viên khối ngành CNTT, nên em khá hoang mang ạ.

Em xin cảm ơn các anh chị.

Bạn không tốt nghiệp IT nên hiển nhiên bạn phải có nhiều nỗ lực hơn người khác nhiều. Vì nếu bạn không có gì hơn thì tại sao phải nhận bạn. Kiến thức về quy trình phần mềm (dù chỉ là lý thuyết), database, mạng máy tính, kiến trúc máy tính, hệ điều hành, cấu trúc dữ liệu và giải thuật… Đúng là bình thường hầu như không xài nhưng khi biết những cái cơ bản đó thì có thể sẽ đi nhanh hơn
Trở về case của bạn. Job tuyển frontend không có nghĩa là người ta chấp nhận một người mù hoàn toàn những thứ về backend. Mà có nghĩa là người ta mong muốn tuyển vào để join project với role frontend là chính, và có thể làm các công việc khác khi cần
Với kiến thức bạn nêu ra thì hầu như không có gì nổi bật cả, một sinh viên học tốt tốt tí (không cần quá giỏi) thực thập có memtor hướng dẫn tầm 2 tuần là có thể bắt nhịp được, join project vừa làm vừa search
Mình thấy nhiều bạn quá forcus vào cái role frontend hoặc backend, nó không có ý nghĩa nhiều vì sẽ chẳng nhà tuyển nào mong đợi một người làm chỉ được một cái mà không biết vì về cái còn lại
Frontend nó không phải chỉ có html/css/js, nó cũng cần về cấu trúc dữ liệu. Vì sao? Vì đôi khi bạn phải tự thiết kế api, bạn mong đợi hoặc yêu cầu backend trả về cái gì cho bạn để hiển thị lên, bạn phải biết luồng xử lý cơ bản như authentication, authorization như nào. Tóm lại frontend không phải chỉ có giao diện, mà còn phải xử lý theo flow nữa. Xem ra bạn chỉ làm được tí giao diện hoặc animation dựa vào thư viện chứ chưa có gì khác
Cả css/sass cũng không phải chỉ có cú pháp, phải chọn selector cho hợp lý để viết sass cho gọn, có thể kế thừa, tránh lặp những thứ không cần thiết mà lại có thể dễ dàng chỉnh sửa

Nói cho dông dài vậy thôi chứ tóm lại thì vẫn là học. Học thì đừng sợ phải học nhiều, tutorials giờ quá nhiều, chi tiết tới mức copy là chạy
Bạn cũng nên có cái gì đó show ra cho nhà tuyển dụng, ví dụ như github của bạn có gì (tất nhiên là tự làm chứ lấy code tutorial trên mạng về up lên thì không được) và bạn có thể feedback quá trình làm cho người ta nghe
Bạn có thể thử phỏng vấn thử xem feedback của nhà tuyển dụng nói sao về bạn (về tech lẫn kĩ năng giao tiếp)
Có thể bắt đầu bằng vị trí thực tập để nhập cuộc dễ dàng hơn.

9 Likes

Dạ em cảm ơn anh rất nhiều ạ, mong anh có thể chỉ rõ hơn những thứ cần học thêm cụ thể để có thể đi thực tập đc ko ạ.

nếu được thì tự nghĩ ra một project rồi bắt tay vào làm, khi làm mới biết bản thân thiếu gì mà search cái đó, với việc tự học thì hoàn thành một cái gì đó hữu ích thì coi như đạt
nếu hơi yếu, thì tìm một seri tutorial hướng dẫn hoàn thành một project cụ thể từ a tới z
làm theo tutorial đó. sau đó mở rộng project đó bằng cách thêm tính năng hoặc custom lại cái gì đó cũng là một cách học
lập trình là thực hành, chỉ có thực hành mới có thể giỏi lên được

không thể trả lời cụ thể là bạn cần học gì được, vì không ai biết bạn sẽ thích cái gì và định hướng của bạn ra sao
frontend thì chỉ có html/css/js thôi, mở rộng ra thì có sass/less với các thư viện/framework js mà bạn đã list ra, thì chỉ việc bắt tay vào làm một project để tự trao dồi kĩ năng bản thân bạn thôi, công việc chính của một dev frontend cũng chỉ có thế
tốt nhất là học thêm một ngôn ngữ (và framework) để làm backend, tay ngang thì chắc nên học php hoặc node hoặc python cho nhanh. nếu bạn thích cái nào khác thì cứ học cái đó

cái quan trọng nhất là bạn phải làm được project gì đó, còn học thuộc lòng đống thuộc tính css hoặc html tag hoặc cú pháp js thì cũng chẳng là gì khi bạn không biết vận dụng những gì bạn đã học

cá nhân mình thích combo boootstrap/jquery/codeigniter (php) vì cảm thấy nó dễ học, dễ bắt đầu, nhanh có thành tích

6 Likes

Bạn học bữa giờ có làm ra được cái gì đưa lên cho người ta xem. Hãy làm ra cái sản phẩm để bán chứ đừng học tư tưởng kiểu công nhân may công nghiệp, còn lâu mới kiếm được việc.

Mình kèm một bạn nữ hồi giờ làm nội trợ, vài tháng nữa tròn 34 tuổi, chỉ học hết phổ thông. Cô ấy đánh máy còn lóng ngóng, mỗi lần bấm chuột cứ hỏi mình nút trái hay nút phải, có hôm điên quá mình bảo bấm cả hai :smiley: .

Đây là kết quả sau 1 tháng https://nongsankhanhhoa.vn cô ấy theo học, chưa có gì nhiều nhưng kiến thức là nắm vững, học xong bài nào áp dụng ngay, làm xong phần thực hành thì quay lại làm quiz test, không đạt 85% là mình bắt học lại. 3 ngày đầu cô ấy nổ não vì lâu nay ít lao động trí óc, nhưng mình nói bao giờ chết thì tính, giờ còn sống thì cứ làm, không làm thì không kèm nữa, kiếm chỗ nào học thì học. Thế là cố gắng lết được đến buổi thứ 7-8 gì đó thì tối về nhà còn lôi máy tính ra tọc tạch cứ như dân nghiện game.

Có hôm, cô ấy làm một việc mà nói thật là mình hoảng hồn vì ngay cả mình làm còn chưa chắc được. Các bạn có biết sao hông. Hôm đó vọc WordPress, mình mới test cái form và nói rằng nó không hoạt động, hosting thì tắt hàm mail của PHP rồi, nên giờ thì phải tìm hiểu về SMTP, chả hiểu cô ấy tìm hiểu kiểu gì, vào GitHub lôi cái (xem hình dưới) về và thiết lập được thông số cho nó chạy, dùng SMTP của Google luôn mới khiến mình kinh ngạc.

Selection_004

Nói thiệt là mình thấy nguy cơ mất việc với AI chạy bằng cơm này chứ hổng đùa :smiley:

Bạn ấy đọc tiếng Anh toàn copy sang Google Dịch. Tuần này bắt cắt file PSD ra HTML thấy mịa luôn, cô ấy cứ théc méc về CSS là rì-set khác nọc man lai chỗ nào, mình mới nói cô ấy nếu lười chuyển ngữ tiếng Anh, cứ công thức What is the difference between + 1 cái and 1 cái còn lại. Chiều hôm nay cô ấy đang loay hoay với cái gọi là Bút Sờ Tráp nào đó :smiley: mình cũng hổng biết nữa, mình luôn nói hãy cố hết sức, bao giờ bí thì chụp màn hình khoanh vào, thảy qua mình sẽ giải thích gửi lại. Bật mí: cô ấy đã được 1 đơn vị tuyển dụng để phụ trách 2 trang web của họ, lương cũng tương đương các cô gái khác làm ở đó, không phờ rông en gì cả.


Để tự học thành công thì phải kỷ luật bản thân và đặt ra mục tiêu cao, phải như dân đa cấp ấy, nói theo ngôn ngữ xã hội đen là “quyết tâm phạm tội” phải cao, ngôn ngữ nhà nước thì “quyết tâm chính trị + huy động cả hệ thống vào cuộc”. Không có được tinh thần đó, việc tự học sẽ không đi đến đâu.

9 Likes

Dạ em cảm ơn chị đã chia sẻ ạ, em xin chia sẻ 1 xíu ạ, em mới học lập trình đc 3 tháng,
tháng 1 em học java cơ bản để làm quen với lập trình, em đã biết được thêm OOP khá hay ho ạ. Còn front-end web em mới học 2 tháng gần đây, em xin múa rùi qua mắt thợ 1 chút ạ, sản phẩm còn thô sơ có gì sai sót mong anh chị bỏ qua:

Em đang học React và sau khi học xong em sẽ tiếp tục clone 1 vài trang.
Em xác định là theo ngành này phải biết tiếng anh. Em là thằng mù tiếng anh mới học tiếng anh 5 tháng gần đây, mỗi ngày em đặt mục tiêu là 20 từ, hằng tuần, hằng tháng ôn lại. Giờ cũng có thể đọc đc tài liệu 1 phần, vào mấy từ mới thì em lại tra google, tra vài lần em cũng nhớ nó.

Em cảm ơn các anh chị đã chia sẻ góc nhìn của mình, em thực sự nghiêm túc với nghề, em học để hiểu code, hiểu flow, chứ em không học để thuộc code và chép code nên có thể sẽ mất nhiều thời gian hơn các bạn.

Em thực sự muốn hỏi là em nên học gì tiếp theo sau khi học React thì mới đủ khả năng xin thực tập, mong anh chị đi trước tiếp cận với công nghệ mới chia sẻ ạ.

4 Likes

Mình thì có quan điểm hơi khác.

Với những cái bạn có thì cũng ra gì đấy, html + css là làm được phần design rồi, bạn design 1 trang twitter, facebook, instagram xem. Mấy tính năng như hover vào để hiển thị cảm xúc của facebook này. Hay như zing khi ấn vào play thì cái khung album nó quay, next bài thì nó lại quay lại từ đầu, có cách nào xử lý không?

Khi bạn code đủ nhiều, bạn sẽ thấy file css sẽ dày đặc lên, và nhận ra là đôi lúc đặt tên biến, class, id khó phết (ơ thế ưu tiên đặt id hay class thì hơn nhỉ?) Cũng như việc copy/paste khá thủ công.
Bạn sẽ đặt câu hỏi, làm sao để tổ chức file css tốt hơn, tức là bạn đang tìm kiếm cơ hội nâng cao kỹ năng làm việc, bạn sẽ nhận ra tại sao lại sinh ra mấy thứ như BEM, Sass,…
Nên học không có thừa, chỉ là phải biết cái tool nó sinh ra để làm gì (để mà chọn lấy để học chứ cứ học mãi rồi chả biết nó dùng làm gì, không áp dụng thì cũng quên thôi)

Giống như việc bạn phải copy đâu đó 100 cái div trên html, thì thử xem có cách nào làm nó bớt thủ công hơn không, có thể kể đến ở đây là plugin emmet, hay ngôn ngữ template hỗ trợ như pug
Tại sao mình lại nêu phần này, vì sử dụng tool cũng là một trong những cách để tăng hiệu suất làm việc.

Bạn muốn nâng cao kỹ năng css html (js) thì đi kiếm mấy trang bán theme ấy, chọn lấy cái theme rồi làm 1 cái giao diện giống thế (gọi là clone)

Ok vậy là xong phần giao diện (tạm thế)
Giả sử bạn đang clone 1 trang post của fb, gồm title post, body, phần cảm xúc, và vài comment. Giao diện thì ok, nhưng mấy cái comment đều là fix cứng vào trong html.

Giả sử code nó vầy

A: comment 1,
B: comment 2,
C: comment 3

Bạn cần biến nó thành như này

forEach user and comment -> display the comment

Tức là bạn chỉ việc khai báo user và comment, còn cái template (cái đoạn foreach ấy) nó sẽ xử lý tiếp, sau này khi sửa sẽ không phải mò vào đống html nữa, chỉ sửa ở chỗ khai báo data thôi (cũng như đừng viết css vào trong html, tách ra cho dễ sửa)

Cái trên thì vẫn chưa gọi là dynamic, vì bạn vẫn đang khai báo user, comment 1 cách thủ công.
Giờ muốn dynamic thì bắt đầu tới phần cho phép add comment. Tạm thời cứ cho là chỉ có 1 mình bạn thôi, nhưng bạn cho 1 cái form, để nhập vào user, comment, ấn enter là sẽ add vào trong cái data có sẵn của bạn (3 thằng A, B, C comment 1,2,3 ấy), enter xong nếu thỏa mãn thì phải hiện ngay ở list comment, nếu không phải báo lỗi (lỗi có thể do bạn tự đặt, comment k được chứa từ khóa bậy chẳng hạn)

Phần này vẫn làm tốt = JS thuần nha

Ok tiếp tới là phần nâng cao hơn chút, bạn muốn lưu cái data đấy lại, không muốn mỗi lần f5 trang web nó lại còn mỗi data cũ. Lúc này bạn lưu nó xuống database.
Database nghe cao siêu chứ cứ kiếm cái nào lưu mà nó không mất mỗi lần f5 trang là được, câu trả lời là localstorage.

Đây là ví dụ để bạn hiểu được các phần của 1 trang web liên kết sao, cũng để hình dung bạn cần có những kiến thức gì.

Ở trên nếu làm sâu hơn, bạn cần cho phép user đăng ký (auth), giới hạn user không được comment nếu như bị chặn ở post hoặc chưa đăng ký (làm sao biết được nó đăng ký chưa?).
Thay vì sử dụng database là 1 file json hay localstorage, bạn cần đưa nó lên server, để lúc đem đi phỏng vấn còn có cái chưng cho nhà tuyển dụng xem (deploy - devops - thiết kế database)

Ngoài ra bạn nên follow mấy ông trên youtube ấy, vì nó free á, kiếm mấy video mà người ta ghi using html, js, thì cứ thế xông vào xem thôi, vì đấy là kiến thức bạn đang có mà.
Sau khi cứng cáp js rồi thì bạn chuyển sang react, vue, angular. Để cứng js thì mời bạn đọc You don’t know JS nhé, ờ thì bộ này cũng hơi dài, đọc có thể sẽ chán đấy, nhưng mà đọc từ dưới lên trên thì sẽ giúp bạn có cái nền vững để xử lý bất kỳ framework nào (không chỉ riêng react/vue/angular)

Mà nhỡ có chán quá thì đi học python nhé, python nó tường minh và không ngu ngốc như js nên học cũng dễ hơn.

Mình viết bài này nhằm mục đích cho bạn cách để biết nên chọn gì để học (biết chọn tool để học), nên lấy gì để củng cố kiến thức (đi clone theme với kiến thức hiện có)
Sau này đi viết cv hay đi hỏi ở đâu đó thì nêu ra sản phẩm, là đã clone được như này này, sản phẩm đây này, chứ ghi biết html, css nghe nó chung lắm, người ta loại từ vòng lọc email chứ chưa được gửi xe luôn á.

7 Likes

à vừa comment xong thì đọc được reply của bạn.
Thế là bạn qua giai đoạn design rồi đấy.

Giờ bạn thích React thì phải nói thật là bạn vẫn nên quay lại cày JS thuần cho mình, ít nhất cũng phải biết this, function, prototype->class, async (ajax, callback, promise, await)
Mình gặp nhiều trường hợp đăng bài là react nhưng lại đi hỏi kiến thức JS, react chả liên quan gì.

Đương nhiên là vẫn học từ ngọn được, cứ học react và song song là bổ sung kiến thức js (học từ gốc là học từ js -> react)

Như mình nói là học xong thì build 1 cái gì đó cho người ta xem đi, đừng có hỏi mấy câu “học xong X, thì học gì tiếp, có nên học Y không” nghe buồn cười lắm.
Biết xong là xong ở mức nào? Lên trang chủ copy paste cái hướng dẫn làm game XO cũng gọi là xong.

Thay vào đó thì trưng sản phẩm ra, kèm theo công nghệ bạn dùng (như bạn vừa nêu ở trên ấy) thì nó dễ hình dung hơn.

5 Likes

Dạ em cảm ơn anh, js em cũng đã học cơ bản và em đang clone 1 cái resume trên themeforest, nhưng mà làm đến phần hiệu ứng như này https://tympanus.net/TipsTricks/DirectionAwareHoverEffect/index.html
em search nhưng không thấy có cách biết bằng vanilla js, em biết ý tưởng của nó là lấy hướng mouseover và hướng mouseout, nhưng viết bằng nó khá loằng nhoằng, nên em quyết định học tiếp reactjs để xem có cách nào xử lý ngắn gọn hơn ko. Còn jquery em chỉ biết qua qua em không ưu tiên học cái này.

Em luôn ưu tiên nếu những gì em có thể viết được bằng vanilla js mà nó không quá dài, thì em sẽ viết ạ. Vì em thấy đọc hiểu code vanilla js dễ hiểu hơn. Em tính học xong reactjs rồi sẽ quay lại clone nốt cái resume đang dang dở.

Về cuốn sách em cũng đã tải về, nhưng em chưa muốn đọc ngay vì để đọc xong cũng mất khá nhiều thời gian, kiến thức ở trong đó rất hữu ích nhưng mở rộng nhiều. Em muốn học thật nhanh để có thể đi thực tập được, nên chắc cuốn sách đó xem xin phép đọc sau.

Em sẽ cố gắng clone trang có đầy đủ tình năng như anh nói ạ. Còn python thì em xin phép “từ chối nhẹ nhàng thôi”, vì em “đã lỡ yêu” JS mất rồi :))

1 Like

Nó là thư viện mà bạn? https://github.com/codrops/DirectionAwareHoverEffect

Có 2 cái ở đây:

  1. Bạn không biết nó là thư viện luôn -> trình độ dùng F12 của bạn còn quá kém
  2. Bạn đang muốn code lại cái thư viện bằng React.

Mình thì thấy việc code lại để học thì không vấn đề gì

6 Likes

Dạ,

  1. Em biết nó viết bằng jquery, mà em không tập trung vào jquery, em đang phân vân nên tự code loằng nhoằng bằng vanilla js hay React, chứ em ko có ý định dùng jquery. F12 kiểm tra thư viện nó dùng thì em không biết ạ, em dựa vào cách nó hoạt động để nghĩ keyword rồi search google thôi. Vì em nghĩ sau này đi làm chắc là nhận ý tưởng, bản PSD rồi làm thôi, chứ chắc ko có F12.
  2. Cũng không biết phải nói là code lại cái thư viện hay không nghe to lớn quá ạ, em chỉ muốn thử thay thế viết cái đó bằng React xem đc không ạ.

Mà hình như hơi lan man sang chủ đề khác rồi ạ, em muốn hỏi cần học thêm gì tiếp theo để đủ khả năng đi thực tập ạ. Em xin phép quay lại chủ đề ạ. Em cảm ơn anh đã góp ý <3 <3

Cứ học đi, rồi bữa nào nộp đơn phỏng vấn đi làm chứ xin thực tập cái gì, sinh viên thì họ còn phải nộp báo cáo cho nhà trường, thủ tục này nọ nên mới có cái màn gọi là “thực tập”. Chứ dân lao động là bán sức lao động lấy cơm. Đi phỏng vấn rớt vài lần hoặc nộp hồ sơ thấy im re => bạn sẽ biết làm gì tiếp theo.

Không ai trả lời được là học bao nhiêu là đủ để đi thực tập cả, tuỳ nơi tuyển dụng họ có yêu cầu, bạn định nộp vào đâu thì đọc cái gọi là Job Description (hay viết tắt là JD) của họ. Ví dụ đây là mẩu tuyển dụng của FPT: https://www.topcv.vn/brand/fptsoftware/tuyen-dung/fresher-front-end-developer-j184804.html

7 Likes

Dạ em cảm ơn chị, em đã hỏi đc rất nhiều, những thứ gì cần học thêm từ các anh chị trong topic này ạ. Em cảm ơn các anh chị rất nhiều ạ

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?