kiến thức [Chia sẻ] Real case học lập trình của một người tay ngang

Bác cho em hỏi chút, em cũng trái ngành, tự học FE cũng gần 1 năm rồi, biết cwo bản về HTML,CSS,JS vừa rồi pass Intern WP 1 công ty product nhỏ. Nhưng mà sau 2 tháng thực tập xong nếu làm nhân viên chính thức thì phải kí hđ 2 năm:oh:, theo bác em có nên kí không ? Em tính vừa làm vừa học thêm tiếp:big_smile:
Sơ qua về cty thì cty nhỏ ( ở thành phố tỉnh, nên cũng ít cty làm về IT) , làm về Web là chính :big_smile:
Điểm cộng là ở gần nhà, đỡ tốn chi phí ăn ở đi lại :smile:
Theo em thì không nên, dev làm được 6 tháng là trình độ đã khác lắm so với lúc chưa đi làm rồi.
Mà kí hợp đồng 2 năm là hợp đồng lao động có thời hạn thôi, hay là có thêm điều kiện nếu nghỉ trước thời gian 2 năm này thì phải đền tiền? :surrender:
Chứ hợp đồng có thời hạn bình thường thì nghỉ báo trước 30 ngày, hợp đồng vô thời hạn thì báo trước 45 ngày. Cả 2 đều không phải đền tiền gì cả:nosebleed:.
 
Theo em thì không nên, dev làm được 6 tháng là trình độ đã khác lắm so với lúc chưa đi làm rồi.
Mà kí hợp đồng 2 năm là hợp đồng lao động có thời hạn thôi, hay là có thêm điều kiện nếu nghỉ trước thời gian 2 năm này thì phải đền tiền? :surrender:
Chứ hợp đồng có thời hạn bình thường thì nghỉ báo trước 30 ngày, hợp đồng vô thời hạn thì báo trước 45 ngày. Cả 2 đều không phải đền tiền gì cả:nosebleed:.
Em vẫn đang trong thời gian thực tập , nên cũng chưa rõ nội dung hđ như thế nào, do lúc pv người phỏng vẫn có nói qua và hỏi em có đồng ý không thôi. Chắc em hỏi lại chi tiết từ bên hr, để lúc kí hợp đồng cân nhắc lại :byebye:
Em cũng khá đắn đo, tại vì từ khi ra trường mấy năm toàn đi làm xa nhà, nay có cơ hội làm gần nhà nên em cũng muốn thử:shame:
 
Em vẫn đang trong thời gian thực tập , nên cũng chưa rõ nội dung hđ như thế nào, do lúc pv người phỏng vẫn có nói qua và hỏi em có đồng ý không thôi. Chắc em hỏi lại chi tiết từ bên hr, để lúc kí hợp đồng cân nhắc lại :byebye:
Em cũng khá đắn đo, tại vì từ khi ra trường mấy năm toàn đi làm xa nhà, nay có cơ hội làm gần nhà nên em cũng muốn thử:shame:
Nếu bác còn trẻ thì em recommend làm ở TP lớn như HN, HCM, ĐN. Cỡ 4-5 năm build được Profile xịn thì làm remote full-time cũng ngon :extreme_sexy_girl:
Mặc dù chọn làm gần nhà thì chi phí thấp (đỡ ăn ở đi lại), nhưng lương ở TP 50tr tiêu 30tr vẫn bỏ xa lương tỉnh 10tr tiêu 2tr :byebye:
 
Nếu bác còn trẻ thì em recommend làm ở TP lớn như HN, HCM, ĐN. Cỡ 4-5 năm build được Profile xịn thì làm remote full-time cũng ngon :extreme_sexy_girl:
Mặc dù chọn làm gần nhà thì chi phí thấp (đỡ ăn ở đi lại), nhưng lương ở TP 50tr tiêu 30tr vẫn bỏ xa lương tỉnh 10tr tiêu 2tr :byebye:
Thank bác đã recommend , em thì mới 25 thôi nên ý định vẫn làm ở cty gần nhà nay 1 năm xem sao đã, vừa trau dồi thêm tech stack vì em thấy gần như chưa biết gì:sweat:
 
Part 18: Mình đã tiến bộ nhanh bằng cách nào?

Chào các bác, có một bác inbox em hỏi về cách tự học và research sao cho hiệu quả, em cũng để trong đầu hơn 2 tuần rồi, quả thực em cũng không biết làm sao để tiến bộ nhanh (như lụm bí kíp võ công trong phim ấy). Mức độ tiến bộ của em đến từ sự kiên trì và không bỏ cuộc thôi, nhưng mà em vẫn đưa ra vài tips mà em tin là có hiệu quả nha:
  1. Chiến thuật học top down - bottom up: Mình sẽ học overall trước, cố gắng khi tiếp cận một cái source code mà mình hiểu được những thành phần trong source có nhiệm vụ gì (chỉ cần biết nó làm việc gì thôi). Xong rồi mình mới tìm cách đào sâu vào một mảng (mà trong mảng nhỏ này mình cố chia ra nhiều mảng nhỏ hơn, rỗi hiểu từng mảng nhỏ này có nhiệm vụ gì thì mới đào sâu vào tiếp). Ví dụ như em join vào 1 project mà có xài pattern (Factory, Strategy, Singleton,...) thì thời gian đầu em chỉ cần tìm hiểu là pattern đó có tác dụng gì, implementation của nó ra sao, chứ chưa cần lôi cuốn sách design pattern ra mà học.
  2. Quan trọng là quá trình, chứ không phải là thời gian: Việc bắt đầu 1 task nào đó sẽ là lúc khó khăn nhất, nhưng khi các báo đã lăn vào tìm hiểu rồi thì thời gian trôi qua nhanh lắm, mình sẽ miệt mài tìm hiểu mà quên thời gian luôn. Cái này thuộc về vấn đề tâm lý khi bắt đầu làm những thứ mà não ta không thích. Tip này được đề cập trong những part trước, lấy trong khoá học: "Learning how to learn" trên coursera.
  3. Research để có cái nhìn đa chiều, chứ không phải chỉ giải quyết vấn đề: tip này có thể các bác gặp nhiều, research ra vấn đề, tìm ra cách giải quyết thì nó còn low level lắm (Nhìn tích xanh hay lượt vote của answer đó là xong). Mình phải tìm hiểu tại sao họ làm vậy, tham khảo các ý kiến khác trong topic đó xem họ giải quyết thế nào, để có cái nhìn đa chiều. Vì chúng ta là lập trình viên, mỗi anh lại có tư duy giải quyết vấn đề khác nhau, khi mình có cái nhìn đa chiều (tham khảo từ nhiều bộ óc khác nhau mà) thì sẽ dễ thuyết phục người khác hơn, tranh luận nó cũng có vị hơn. Mỗi ông suy nghĩ khác nhau, nói ra thì ông nào cũng đúng cả nhưng để chọn ra cách phù hợp nhất thì phải research có tâm vào. Code là chất xám của mình nhưng mỗi lần bị review mà chỉnh sửa răm rắp theo ý reviewer thì mãi không tiến bộ được.
  4. Mục tiêu phải hợp lý: thì mình mới theo đuổi, ví dụ: trong 6 tháng nắm HTML, CSS, JS, 6 tháng nắm ReactJs , chia nhỏ từng chặn ra, tìm hiểu phân tích xem mỗi kỹ năng cần bao nhiêu thời gian học. Lên Google search "how long does it take to learn <skill>", nếu skill mình search đủ specific, mình còn có thể tham khảo được những thứ cần học, vì khi vấn đề đủ nhỏ thì họ có thể listout ra.
Quay lại câu chuyện, lúc này em được join vào một project mới của công ty, họ muốn làm sản phẩm cho riêng mình. Tất cả chỉ nằm ở bước ý tưởng của ông sếp người Canada, còn nhiều quá trình ở phía sau. Em được anh Lead. T giao task research những công nghệ mới mà có thể apply vào project. Task này thì trúng tủ của em vì em học theo kiểu top down - bottom up như trên, nên em biết nhiều thứ nhưng chưa thử dùng bao giờ:look_down:.

Vì Domain đang nhắm tới là e-commerce nên em suggest NextJs ( 1 Framework based trên ReactJs), typescript, dùng context để lưu Global State chứ không dùng Redux. Còn phần CSS thì em có cơ hội nghe anh Lead.T. phân tích ưu nhược của từng loại (CSS Module, styled-component, scss), chốt vì resource có hạn nên sẽ custom lại thư viện UI.

Khoảng thời gian này là lúc em chịu khó học, thức dậy từ 4h-5h sáng để ngồi học mà chưa ăn sáng, học đến tầm 7h mới chuẩn bị đi làm. Mỗi ngày đều đặn học tập, đến công ty thì apply kiến thức vừa học vào project luôn:cool:. Em nghĩ nếu qua được giai đoạn khó khăn ban đầu này (lúc start 1 project sẽ có nhiều việc nhất, lúc maintenance sẽ nhàn hơn) thì sẽ làm key-member (kiểu người quan trọng không thay thế được ý), lúc đó tiền tài danh vọng sẽ đến :extreme_sexy_girl:. Cộng thêm vợ chồng em lên ở chung cư, thuê cũng tầm 10tr 1 tháng rồi:burn_joss_stick:, nên có động lực cài tiền ghê gớm lắm. Việc nhà cửa thoải mái dẫn đến em có nhiều cảm hứng để ngồi vào bàn học hơn nữa.

"Áp lực mới tạo ra kim cương", công việc áp lực, deadline dí tới tấp mới thấy được độ trâu bò của em. Nhiều hôm ở lại công ty OT đến 11h khuya, vợ thì ở nhà trông, nghĩ lại thật tội cho bạn ấy. Em nhớ 3 tháng đầu chỉ là sửa nhanh UI, thêm nhanh tính năng để cho sếp Can demo với khách hàng. Tiền bạc lương thưởng gì của các team outsource còn lại cũng bị cắt vì dồn qua đầu tư bên project này, anh em trong công ty vì thế mà cũng lục đục lắm.

Nói thêm về anh Lead.T, vì ảnh cũng là dân tay ngang, nhiều kinh nghiệm làm trên các nền tảng cơ bản, cũ nên cũng ham học hỏi cái mới lắm. Nhất là khi có cơ hội start 1 project từ con số không, nên 2 anh em lúc đó bắt đầu thân với nhau hơn, em thì không ngại việc, research cũng nhanh, code cũng nhanh nên có vẻ ổng quý em lắm:beauty:.

Cho đến khi có một đứa em sinh năm 97 vào tên Dev.M, ông em này thì du học nước ngoài về, tiếng anh cũng khá lắm. Khỏi nói cũng biết là mọi người đánh giá cao dev.M hơn em, mặc dù em là người đầu tiên làm cái project ấy. Lúc đó em cũng buồn, vì bản thân phỏng vấn mất 3 tháng mới vào, còn ku em phỏng vấn xong là tuần sau vào làm luôn (ngoài ra một thời gian sau em mới biết là dev.M có sign-on bonus, tết thì thưởng full lương mặc dù vào sau em:canny:). Lúc đó em cũng nghi ngờ về khả năng bản thân lắm, dù gì học trong trường lớp ra, lại còn du học nước ngoài về thì nói chuyện cũng khác mình. Mang trong đầu tinh thần bất mãn ấy, em cũng bắt đầu hạn chế OT, làm hết giờ rồi về, chiến thuật của em là chú trọng chất lượng hơn số lượng. Ở chiều ngược lại, dev. M lại hăng hái OT, tích cực cống hiến, ku này thích ôm hết việc vào người, lại hay chủ động liên lạc với cấp trên. Em từng nghĩ mình còn trẻ, còn cống hiến được nhiều nhưng mà nhìn ku em vừa trẻ vừa khoẻ, chịu hi sinh thời gian hơn cả mình nữa thì cũng nản lắm các bác:tire:.

(to be continue....)
 
Èo, người trẻ giỏi hơn là bình thường rồi bạn. Kể cả người trong ngành lâu năm cũng phải thừa nhận. Trước đi học các thầy chưa kịp dịch xong sách để giảng nên mình chưa biết gì, phải đi làm mới biết. Giờ các thầy dịch xong sách rồi giảng lại nên bọn mới ra trường trình độ ngang xừ hồi mình 1-2 năm kinh nghiệm luôn á. Chưa kể đi du học thì kiến thức mới có khi còn biết trước các thầy.
 
Èo, người trẻ giỏi hơn là bình thường rồi bạn. Kể cả người trong ngành lâu năm cũng phải thừa nhận. Trước đi học các thầy chưa kịp dịch xong sách để giảng nên mình chưa biết gì, phải đi làm mới biết. Giờ các thầy dịch xong sách rồi giảng lại nên bọn mới ra trường trình độ ngang xừ hồi mình 1-2 năm kinh nghiệm luôn á. Chưa kể đi du học thì kiến thức mới có khi còn biết trước các thầy.
Nghành này có tài liệu đầy đủ tràn lan trên mạng, tài liệu tiếng Anh ấy bác. Chỉ là đợt đó nếu bác chịu khó tìm tòi bằng tiếng anh thì vẫn bắt kịp bản cập nhật thôi.
 
Từ từ rồi em kể hết nha bác, công ty trong flow em đang kể là công ty cũ, đến giờ em nhảy được thêm 2 chỗ rồi:big_smile:.

Làm ngành này dễ bị áp lực mà bác, mà áp lực mới tạo ra được kim cương chứ. Mấy anh em dev tay ngang vì hay bị áp lực khi so sánh với người khác, nên mới chịu học hỏi, đôi khi còn giỏi hơn các bác đúng chuyên ngành nhưng ỷ lại:giggle:.
áp lực về việc ai giỏi hơn ai thì em cũng không quan tâm lắm vì đâu có ai giống nhau bao giờ, chủ yếu là áp lực khi mình viết code thôi bác, chợt nhận ra có rất nhiều kiến thức mà mình chưa biết, cần phải biết =((
 
áp lực về việc ai giỏi hơn ai thì em cũng không quan tâm lắm vì đâu có ai giống nhau bao giờ, chủ yếu là áp lực khi mình viết code thôi bác, chợt nhận ra có rất nhiều kiến thức mà mình chưa biết, cần phải biết =((
Bác thử chuyển áp lực khi so sánh với đồng nghiệp đi bác, vì môi trường mình làm việc thể hiện phần nào trình độ của mình, trình độ bản thân mình cũng nằm đâu đó trong trung bình trình độ dev của cty thôi. Cứ nhắm ông nào code cứng nhất team mà so sánh, cạnh tranh để phát triển.

Môi trường trong team như là ao làng, trong cộng đồng dev VN như sông hồ, còn dev thế giới như đại dương vậy. Em từng làm task research 1 Library để xem họ resolve 1 vấn đề mà project đang vướng, đọc cũng thấy áp lực lắm :big_smile:
 
Bác thử chuyển áp lực khi so sánh với đồng nghiệp đi bác, vì môi trường mình làm việc thể hiện phần nào trình độ của mình, trình độ bản thân mình cũng nằm đâu đó trong trung bình trình độ dev của cty thôi. Cứ nhắm ông nào code cứng nhất team mà so sánh, cạnh tranh để phát triển.

Môi trường trong team như là ao làng, trong cộng đồng dev VN như sông hồ, còn dev thế giới như đại dương vậy. Em từng làm task research 1 Library để xem họ resolve 1 vấn đề mà project đang vướng, đọc cũng thấy áp lực lắm :big_smile:
Thanks fen vì những chia sẻ thực tế rất bổ ích nhé, nhất là đối vs người cùng cảnh ngộ như t, cũng tay ngang đang muốn chuyển sang làm front-end web đây :D
Sau 3 tuần học html, css, js thì mình cũng có cái nhìn cơ bản về front-end, fen xem thử xem có đúng hướng ko nhé:
https://voz.vn/t/code-thiet-ke-website-nhu-lam-1-bai-tap-lam-van.564024/
https://voz.vn/t/nhung-nguoi-kha-tieng-anh-se-hoc-code-web-rat-nhanh.565109/

Plan của mình là học html, css, js -> reactjs
Theo fen khi làm thực tế thì cần skill gì nhất, ngoài ra thì cần học thêm các skill gì hay ngôn ngữ nào ko ?
Fen có thể share portfilio hoặc project mà fen đã làm đc ko ? Tại vì mình mới học, thấy để làm front-end thì dùng html, css, js là làm đc khá đầy đủ chức năng rồi, chưa hình dung đc những task và skill mà fen nói trong các "kí sự" ở trên :byebye:
 
html voi css hoc cho vui chứ sau này chả mấy khi đụng tới. H phần lớn bọn nó có sẵn UI framework như Material Design, chứ chẳng ai mà ngồi thay đổi từng pixel một. Cùng lắm là report hay email template mới phải đụng tới. React hay Angular cũng được, giờ phần lớn cty lớn ben front end sẽ dùng micro front-end, muốn tạo app = gì cũng được, nó sẽ integrate được hết. Chủ yếu là hiểu được high level design như thế nào cho nó modular, scalable thì sau này học thêm framework nào cũng được. Khuyên là lên mấy website của mấy cty lớn, phần lớn bọn nó đều có engineering blog, mỗi tuần có vài bài báo, ngồi đọc. FE bị 1 cái là technology thay đổi liên tục, có khi mình đang học 1 cái, tới 1 năm sau thông thạo thì không ai dùng nữa, cho nên phải update liên tục.

Em tưởng Frontend phải biết React với HTML CSS chứ ạ.
 
html voi css hoc cho vui chứ sau này chả mấy khi đụng tới. H phần lớn bọn nó có sẵn UI framework như Material Design, chứ chẳng ai mà ngồi thay đổi từng pixel một. Cùng lắm là report hay email template mới phải đụng tới. React hay Angular cũng được, giờ phần lớn cty lớn ben front end sẽ dùng micro front-end, muốn tạo app = gì cũng được, nó sẽ integrate được hết. Chủ yếu là hiểu được high level design như thế nào cho nó modular, scalable thì sau này học thêm framework nào cũng được. Khuyên là lên mấy website của mấy cty lớn, phần lớn bọn nó đều có engineering blog, mỗi tuần có vài bài báo, ngồi đọc. FE bị 1 cái là technology thay đổi liên tục, có khi mình đang học 1 cái, tới 1 năm sau thông thạo thì không ai dùng nữa, cho nên phải update liên tục.
Theo e hiểu ý của bác là các cty lớn làm 1 project sẽ chia làm nhiều team, mỗi team sẽ làm 1 module riêng của dự án
Nên sẽ cần làm theo kiểu micro front-end để thống nhất từ đầu đến cuối, khi ráp các module vào là sẽ chạy mượt, web/app sẽ responsive và ít bug... Đúng ko nhỉ ? Vậy thì framework có phải là các lệnh để làm các tính năng như lọc sản phẩm, animation ko...?

Bác hay đọc egineering blog của cty nào, cho e 1 vài ví dụ đc ko ? Ngoài reactjs ra thì cần học thêm gì nữa ko ?
 
Html với css là thuộc dạng very very basic. thông thường sẽ dùng 1 cái framework bootstrap, material,.... để cho standardize nguyên 1 cái website, mình chỉ dùng cai framework này, thông thường sẽ có config đi cùng để thay đổi font, text size,.... Mà mấy cai thay đổi này củng chả phải cho FE làm, sẽ do bên DA kết hợp với PM,... xác định. Thậm chỉ có thể thay đổi online bằng 1 người chả biết gì đến code cũng được nếu cty dùng 1 số CMS platform.
React nó chỉ là 1 cái JS framework thôi, bản chất như advanced jQuery vậy, chả biết h ai còn xài jquery không. Có hàng chục cái framework như thế này, react tạo bới meta nên nó popular thôi. Mà như nói ở trên, h tất cả cty đều xài microfrontend hết, cái framework không quan trọng bằng cái design sao cho modular vs scale.
Tóm lại muốn phát triển về dev thì chỉ có đọc engineering blog là tốt nhất. Được 1 cái là học FE không bị hỏi leetcode khi pv maangmula như BE.
Thường thì đọc engineering blog ở đâu cho việc cập nhật meta sớm nhất vậy bro? Tôi cũng chỉ là tay ngang nên mong bro chỉ điểm cho.
 
mình 91 học đại học rồi bôn ba bên Nhật 5 năm, học chả liên quan gì đến IT. Năm nay mới về nước. Đi tìm việc vài tháng ko khả quan lắm, việc muốn thì ko nhận, việc ko muốn thì nó nhận. Dịch cũng chả làm ăn đc gì nên đăng kí học khóa Java full stack. Gần xong module 1 thì thấy tư duy vẫn ngon chán, tiếp thu kiến thức nhanh, có hứng thú bỏ thời gian để tìm hiểu, nghiên cứu thêm. Thế mà hồi trước cấp 3 vs năm 1 đại học (môn cơ sở có lập trình pascal) học méo hiểu gì nên nghĩ chả hợp với IT :nosebleed:
Tớ cũng đang muốn học 1 khoá, chuyển ngành thôi. Cho tớ hỏi bạn học ở trung tâm nào, học phí ra sao
 
Mình cũng dân tay ngang, làm nhúng ở cty f một năm thì bị out, cuộc sống áp lực kinh khủng vì lúc đó vợ đang bầu nữa. Được bạn bè hướng quá IT nên cũng chuyển luôn, làm cả fe, be. Đúng là cuộc đời :too_sad:
 
Ở part trước bạn có nói đến chỗ gặp vấn đề => giải quyết vđề => cảm thấy tài giỏi => gặp vấn đề => bế tắc => hoài nghi nhân sinh, thì hôm bữa đi nhậu với xếp cũng chia sẻ cái gọi là 「Peak of "Mt. Stupid"」 —> Việt hoá là “đỉnh ngu”. Cũng tương tự như bạn nói nhưng theo kiểu học thuật hơn.
Mình cũng nhảy qua IT nhưng làm BE ☺️

via theNEXTvoz for iPhone
 
Back
Top