Junior Software Engineer nên làm sao để lên trình và phát triển bản thân

Mình thấy mọi thứ đến với dev để phát triển khá là tự nhiên.
Đầu tiên là phải có roadmap cụ thể, và ko ngại đập ngay cái đơn nghỉ việc vào mặt sếp để nghỉ nếu sếp làm lệch cái roadmap đấy, với quan niệm ko có việc này thì có việc khác, đang cần học hỏi liên tục mà cho làm mấy cá project maintain Crud thì nghỉ mẹ cho lành. Đây là cái tư tưởng mình hay truyền lại cho em út hay members sau này, khá là độc hại cho cty nhưng mà tốt cho tụi nó nhiều :sleep::sleep:
Như mình từ lúc đi làm là đã tự lập roadmap riêng, đầu tiên là học code, sau là học tiếng anh, sau microservice, devops rồi tới FE, rồi học tới kĩ năng quản lí. Từ từ rồi lên level lúc nào ko hay, giờ quen khá nhiều bạn bè ở tầng P và C level :D giờ lại quay lại học Alogrithm vì ngày xưa học môn này khá tệ.
Sau 2 công ty đầu khoảng 1.5 năm rưỡi làm việc có 1 cty Eu nó cho mình làm ở vị trí Senior dev với lương đâu tầm 1k5 do tụi nó thấy mình đam mê quá chứ skills như hạch :beat_brick::beat_brick:, còn bonus thêm cho 1 chuyến qua Eu ở mấy tháng để training.
Nói chung với tinh thần chịu khó học hỏi thì mọi thứ sẽ đến từ từ thôi

Sent from Samsung SM-G996B using vozFApp
 
Đọc qua chia sẻ của em thì thấy rõ ràng tech skill của em vẫn còn non (về mọi mặt). Em làm các task đơn giản mà vẫn chật vật, học trước quên sau thì chỉ có thể là em chỉ áp dụng 1 cách mù mờ chứ ko hiểu bản chất. Em cần có tư duy đào sâu vấn đề để hiểu bản chất (của các concept, ngôn ngữ, framework...) trước khi cố gắng mở rộng tech stack.
Ở level thấp như vậy thì ham hố mấy cái title "fullstack, DevOps" làm gì hả em.
Xây dựng thế mạnh cho mình đã thì mới có cái mà deal với nhà tuyển dụng chứ.
Em hay chật vật ở đây là do requirement rồi codebase bự quá nên em tốn thời gian để catch up chứ cũng không hẳn là logic code ạ
Bản chất thì em rất coi trọng cái này, chỉ là nhiều cái lâu ngày k xài nên bị quên ạ.
Dù sao cũng cảm ơn anh ạ. Em sẽ gáng tiếp thu
Edit: Kiểu đôi lúc requirement chỉ là gửi thêm 1 field trong cục data th nhma với source code bự quá tr bự và phải viết UT đồ lum la khi thêm 1 field vô, và làm Backend For Frontend nên phải mò tiếp 1 source bự phía dưới nữa.
Nói chung kiểu logic không khó nên em cảm thấy học không được nhiều khúc này. Đổi lại problem-solving và khả năng đọc papers, business em được cải thiện
 
Mình thấy mọi thứ đến với dev để phát triển khá là tự nhiên.
Đầu tiên là phải có roadmap cụ thể, và ko ngại đập ngay cái đơn nghỉ việc vào mặt sếp để nghỉ nếu sếp làm lệch cái roadmap đấy, với quan niệm ko có việc này thì có việc khác, đang cần học hỏi liên tục mà cho làm mấy cá project maintain Crud thì nghỉ mẹ cho lành. Đây là cái tư tưởng mình hay truyền lại cho em út hay members sau này, khá là độc hại cho cty nhưng mà tốt cho tụi nó nhiều :sleep::sleep:
Như mình từ lúc đi làm là đã tự lập roadmap riêng, đầu tiên là học code, sau là học tiếng anh, sau microservice, devops rồi tới FE, rồi học tới kĩ năng quản lí. Từ từ rồi lên level lúc nào ko hay, giờ quen khá nhiều bạn bè ở tầng P và C level :D giờ lại quay lại học Alogrithm vì ngày xưa học môn này khá tệ.
Sau 2 công ty đầu khoảng 1.5 năm rưỡi làm việc có 1 cty Eu nó cho mình làm ở vị trí Senior dev với lương đâu tầm 1k5 do tụi nó thấy mình đam mê quá chứ skills như hạch :beat_brick::beat_brick:, còn bonus thêm cho 1 chuyến qua Eu ở mấy tháng để training.
Nói chung với tinh thần chịu khó học hỏi thì mọi thứ sẽ đến từ từ thôi

Sent from Samsung SM-G996B using vozFApp
a nói đúng nhưng mà cũng phải tìm dc công ty tạo điều kiện nữa. học microsevice xong mà rồi chỉ dev trên base project người khác, deploy setup các thứ leader làm hết thì cũng chậm lên. học thì phải được hành nữa. mà hành ở đây là ăn hành hoặc dc team ( công ty ) tạo điều kiện cho thực hành

via theNEXTvoz for iPhone
 
vào đây có roadmap rất cụ thể skill và những thứ phải học nhé. tha hồ mà lựa.
https://github.com/kamranahmedse/developer-roadmap
Em mong là không bị trùng post :)
Chuyện là em đang làm ở 1 công ty kia được 1 năm rồi nhưng có cảm giác đang dậm chân tại chỗ, cụ thể là em làm về cả FE + BE ReactJS và học hỏi thêm cả chút DevOps
Do công ty làm về banking + finance nên đa phần em được học hỏi về architecture + business là chủ yếu, còn về các chuyên môn chính cần câu kiếm cơm xịn thì khá ít, chủ yếu ai bảo gì thì em làm đó, cảm thấy skills chính đó giờ học bị mai một đi. Kiểu trong công ty giao tasks em làm vẫn ok nhưng mà không học hỏi được nhiều cái em cần lắm
Em rút ra được điều đó bằng cách đi pvan dạo, làm thử các bài test interview như dụng UI React cảm thấy mình làm rất chật vật dù cho yêu cầu rất dễ (nhất là về mặt UI/UX) và có vài kiến thức React, Node, CS questions cũng bị quên :(
Đó là background và context của em, còn đây là các câu hỏi em đang muốn hỏi mọi người:
  • Làm sao để làm đẹp CV của mình, cạnh tranh và vào các công ty lớn ngay từ những năm đầu ở VN hoặc xin job remote các startup ở nước ngoài như trên angellist dành cho fresher. Em thấy việc có giải thi thố algo đồ là khá khó rồi nên em đang tham khảo cách contribute open-source
  • Cách các anh chị làm việc và self-learning sao để vừa học hỏi được thêm ở công ty những kinh nghiệm không kiếm được khi tự học và cả level up bản thân, cập nhật công nghệ mới + nắm vững kiến thức cơ bản
  • Em thấy job remote chủ yếu tuyển ReactJS là chủ yếu và cạnh tranh rất nhiều, làm sao để skill ReactJS của mình nổi bật hơn nhiều ứng viên khác?

TL;DR: cảm giác em đang dậm chân skill Fullstack JS của em tại chỗ và đang muốn level up bản thân hơn cả nâng cao + nền bằng nhiều cách thiết thực cho cả nhu cầu doanh nghiệp cũ (như bank) hoặc mới (startup, outsource), cập nhật techstacks mới (tại có 1 thời gian em vọc thử mấy lib state management xịn với như Jotai, react-query xong vô chả có mấy cty xài nên cũng bỏ phí)

Đàn em cảm ơn các anh chị ạ :)
 
Nói chung công ty finance nên cần stable và build cũng xong gần hết, em vô kiểu maintain với fix bugs và vài ticket đơn giản cũng không impact quá nhiều nên cũng lụt nghề :(
Lỗi em chắc cũng do k tranh thủ self-learning
 
a nói đúng nhưng mà cũng phải tìm dc công ty tạo điều kiện nữa. học microsevice xong mà rồi chỉ dev trên base project người khác, deploy setup các thứ leader làm hết thì cũng chậm lên. học thì phải được hành nữa. mà hành ở đây là ăn hành hoặc dc team ( công ty ) tạo điều kiện cho thực hành

via theNEXTvoz for iPhone

Ko, base trên người khác viết lại càng valuable. Vì bạn sẽ biết là nó hay chỗ nào dở chỗ nào, vừa học vừa phân tích vừa tìm hiểu chứ đừng làm như 1 cái máy :D
Ví dụ như về services communication, có chỗ thì dùng rest, có chỗ thì dùng gRpc, chỗ thì dùng Message queue.
Vừa làm tasks vừa đọc hiểu vừa phân tích đúng sai và đặc biệt là phải dám propose những thứ cần thiết.
Vd như ngày xưa mình làm Junior dev, join 1 dự án outsource bên Mỹ thấy tụi nó viết 1 cái gọi là queue versioning, rất lạ. Nên mình đào sâu vào xem nó để làm gì, mình chạy vô lib để nó đọc và nó giải quyết vấn đề gì.
Lúc pv senior Cto cty mới nó hỏi, nếu có business cũ và mới cùng subscribe vào 1 cái queue trong microservices thì làm thế nào để đảm bảo business nó ko bị conflict nếu 2 versions vẫn đang active, mình tl ngay là sao ko làm queue versioning, và queue có suffix nó đc hash theo environment variable để đảm bảo worker cũ subscribe vào queue version cũ => pass pv senior trong 20 phút với comment là thằng này ít kn thực tế mà rất có tiềm năng, communication skills rất tốt kiểu ít tuổi mà có võ :D:D lúc đấy 1.5 năm kinh nghiệm đi làm sau tốt nghiệp + với English ngon nên nó làm visa đi Eu luôn.
Mình chỉ chia sẻ real usecase của mình thôi, cứ chăm chỉ học hỏi, đam mê với nghề nghiệp, trách nhiệm với code mình viết ra, và chứng tỏ bản thân thì tiền + kinh nghiệm nó sẽ từ từ tới ko cần phải lo lắng gì đâu.

Sent from Samsung SM-G996B using vozFApp
 
Ko, base trên người khác viết lại càng valuable. Vì bạn sẽ biết là nó hay chỗ nào dở chỗ nào, vừa học vừa phân tích vừa tìm hiểu chứ đừng làm như 1 cái máy :D
Ví dụ như về services communication, có chỗ thì dùng rest, có chỗ thì dùng gRpc, chỗ thì dùng Message queue.
Vừa làm tasks vừa đọc hiểu vừa phân tích đúng sai và đặc biệt là phải dám propose những thứ cần thiết.
Vd như ngày xưa mình làm Junior dev, join 1 dự án outsource bên Mỹ thấy tụi nó viết 1 cái gọi là queue versioning, rất lạ. Nên mình đào sâu vào xem nó để làm gì, mình chạy vô lib để nó đọc và nó giải quyết vấn đề gì.
Lúc pv senior Cto cty mới nó hỏi, nếu có business cũ và mới cùng subscribe vào 1 cái queue trong microservices thì làm thế nào để đảm bảo business nó ko bị conflict nếu 2 versions vẫn đang active, mình tl ngay là sao ko làm queue versioning, và queue có suffix nó đc hash theo environment variable để đảm bảo worker cũ subscribe vào queue version cũ => pass pv senior trong 20 phút với comment là thằng này ít kn thực tế mà rất có tiềm năng, communication skills rất tốt kiểu ít tuổi mà có võ :D:D lúc đấy 1.5 năm kinh nghiệm đi làm sau tốt nghiệp + với English ngon nên nó làm visa đi Eu luôn.
Mình chỉ chia sẻ real usecase của mình thôi, cứ chăm chỉ học hỏi, đam mê với nghề nghiệp, trách nhiệm với code mình viết ra, và chứng tỏ bản thân thì tiền + kinh nghiệm nó sẽ từ từ tới ko cần phải lo lắng gì đâu.

Sent from Samsung SM-G996B using vozFApp
nice 👍

via theNEXTvoz for iPhone
 
Bạn sn bao nhiêu thế? Chắc 99 or 2k nhỉ -.-
Mình làm mảng low-code, đang chán vcl đây, ăn r toàn fix bug rồi làm ba cái gì quy trình hầm bà lằng nản vl.
 
Làm sao để làm đẹp CV của mình, cạnh tranh và vào các công ty lớn ngay từ những năm đầu ở VN hoặc xin job remote các startup ở nước ngoài như trên angellist dành cho fresher. Em thấy việc có giải thi thố algo đồ là khá khó rồi nên em đang tham khảo cách contribute open-source
Tại sao phải làm những cty lớn? Em mới ra trường thì nên tìm môi trường làm việc tốt, có cơ hội học hỏi, nói thẳng ra là startup vì môi trường startup mình sẽ đc va chạm nhiều thứ chứ ko chỉ là lập trình, nếu gặp đc lead tốt thì càng ngon nữa :D
Cách các anh chị làm việc và self-learning sao để vừa học hỏi được thêm ở công ty những kinh nghiệm không kiếm được khi tự học và cả level up bản thân, cập nhật công nghệ mới + nắm vững kiến thức cơ bản
Cách dễ nhất là tự làm sản phẩm riêng, 1 tố chất của senior là "never stop building", mặc dù ko cần phải hoàn thành nhưng sau mỗi project thì sẽ biết đc nhiều thứ khác nhau
Em thấy job remote chủ yếu tuyển ReactJS là chủ yếu và cạnh tranh rất nhiều, làm sao để skill ReactJS của mình nổi bật hơn nhiều ứng viên khác?
Em đang dính vào 1 cái bẫy kinh điển là học công nghệ mà ko học căn bản. Nếu nói cụ thể về React, có những khái niệm căn bản mà ko phải ai cũng biết
  • Fiber architecture -> em học coi cách React nó render ra sao, cách hook hoạt động etc... thì đảm bảo nổi bật
  • Flux -> cách mà các react app quản lý dữ liệu, từ cái Flux này nó làm ra hàng tá các lib hao hao nhau. Khi biết cái architecture này rồi thì đổi sang các framework khác cũng khá dễ (ví dụ Vue)
Nói tóm lại là học công nghệ / lib thì dễ thôi, nhưng hiểu đc cách nó hoạt động ra sao mới là điểm khác biệt giữa thợ code và engineer :D (ý kiến cá nhân).Nên học lập trình chứ đừng học cách dùng tools, khi mình có cái nền tảng vững rồi thì học cái gì nó cũng dễ
 
Tại sao phải làm những cty lớn? Em mới ra trường thì nên tìm môi trường làm việc tốt, có cơ hội học hỏi, nói thẳng ra là startup vì môi trường startup mình sẽ đc va chạm nhiều thứ chứ ko chỉ là lập trình, nếu gặp đc lead tốt thì càng ngon nữa :D

Cách dễ nhất là tự làm sản phẩm riêng, 1 tố chất của senior là "never stop building", mặc dù ko cần phải hoàn thành nhưng sau mỗi project thì sẽ biết đc nhiều thứ khác nhau

Em đang dính vào 1 cái bẫy kinh điển là học công nghệ mà ko học căn bản. Nếu nói cụ thể về React, có những khái niệm căn bản mà ko phải ai cũng biết
  • Fiber architecture -> em học coi cách React nó render ra sao, cách hook hoạt động etc... thì đảm bảo nổi bật
  • Flux -> cách mà các react app quản lý dữ liệu, từ cái Flux này nó làm ra hàng tá các lib hao hao nhau. Khi biết cái architecture này rồi thì đổi sang các framework khác cũng khá dễ (ví dụ Vue)
Nói tóm lại là học công nghệ / lib thì dễ thôi, nhưng hiểu đc cách nó hoạt động ra sao mới là điểm khác biệt giữa thợ code và engineer :D (ý kiến cá nhân).Nên học lập trình chứ đừng học cách dùng tools, khi mình có cái nền tảng vững rồi thì học cái gì nó cũng dễ

Feedbacks kĩ quá ạ em xin cảm ơn anh. Còn về học bản chất thì em rất coi trọng ạ ví dụ như vài concept react reconciliation,...em có lần vô source NextJS và ReactJS (mò từ đống bundle, minified) để bóc tách ra các functions sửa lại cho đúng requirements luôn rồi ạ, tất nhiên là tranh thủ học cách người ta comment, code-style,... Chỉ là cảm giác đang học cái mới mà học chỉ mới dừng ở mức readonly (khó cho fresher đụng lắm) mà đã quên mấy cái cũ hic
Học trước quên sau =((
 
Last edited:
Tất cả cuối cùng cũng code logic cả thôi.
Dự án to cũng chỉ cần 1 SA, 1 TA, còn lại vẫn đi code logic cả lũ.
Mình có mấy thằng em trước làm SA bên Fsoft, giờ cũng chỉ đi code logic.
Hỏi thì nó bảo lương cao việc nhàn gì phải khổ hả anh
 
Tất cả cuối cùng cũng code logic cả thôi.
Dự án to cũng chỉ cần 1 SA, 1 TA, còn lại vẫn đi code logic cả lũ.
Mình có mấy thằng em trước làm SA bên Fsoft, giờ cũng chỉ đi code logic.
Hỏi thì nó bảo lương cao việc nhàn gì phải khổ hả anh
Vâng anh dạo gần đây em cũng đang tập trung lại chính cần câu chính là React rồi, nhận ra là còn trẻ thì nên ăn chắc mặc bền trước rồi mới thêm các cái khác
 
Cũng đang rơi vào tình trạng giống như thớt. Project bự nên k đc dev feature mới, toàn phải fix bug, mò data, đọc log r viết test, chẳng được dev feature mới nào trầm cảm thật sự
 
Feedbacks kĩ quá ạ em xin cảm ơn anh. Còn về học bản chất thì em rất coi trọng ạ ví dụ như vài concept react reconciliation,...em có lần vô source NextJS và ReactJS (mò từ đống bundle, minified) để bóc tách ra các functions sửa lại cho đúng requirements luôn rồi ạ, tất nhiên là tranh thủ học cách người ta comment, code-style,... Chỉ là cảm giác đang học cái mới mà học chỉ mới dừng ở mức readonly (khó cho fresher đụng lắm) mà đã quên mấy cái cũ hic
Học trước quên sau =((
Cái này là do bạn chưa nắm đủ vững các kiến thức cơ bản, nên đụng cái mới là sẽ quên.
Đọc đoạn này mình cảm thấy mục đích của việc mò code là học cách người ta code, nhưng chưa rõ "cách" ở đây là gì. Theo mình hiểu thì nó chỉ là các refactor, naming convention.. đại loại là các biến đổi của code để thực hiện cùng 1 tính năng, mà chưa đề cập đến việc tại sao họ lại biến đổi sang như vậy (dựa trên pattern gì, quy tắc gì...). Bạn nên tìm hiểu thêm về phần này nữa thì hơn.
Nếu bạn cảm thấy trình mình còn yếu thì nên theo 1 hướng trước đã (BE/FE) chứ không nên làm cả 2, do 2 mảng này lượng kiến thức đều rộng, khó tập trung.
 
Feedbacks kĩ quá ạ em xin cảm ơn anh. Còn về học bản chất thì em rất coi trọng ạ ví dụ như vài concept react reconciliation,...em có lần vô source NextJS và ReactJS (mò từ đống bundle, minified) để bóc tách ra các functions sửa lại cho đúng requirements luôn rồi ạ, tất nhiên là tranh thủ học cách người ta comment, code-style,... Chỉ là cảm giác đang học cái mới mà học chỉ mới dừng ở mức readonly (khó cho fresher đụng lắm) mà đã quên mấy cái cũ hic
Học trước quên sau =((
comment, code style chỉ là 1 phần rất rất nhỏ thôi. Nếu em nhìn vào 1 project open source lớn ReactJS / NextJS thì nói thật là chả hiểu gì đâu, trừ khi em tham gia vào project đó 1 thời gian thì mới từ từ hiểu ra

Cái em cần là va chạm càng nhiều càng tốt, làm project càng nhiều càng tốt, và nhanh nhất là tìm lead nào giỏi mà theo học :D tự học cũng đc nhưng tốn nhiều thời gian
 
Back
Top