Sự khác nhau giữa Junior vs Senior ReactJs Developer
Châm ngôn của mình là học để kiếm tiền.
Vì thế mình build các khóa học của mình để giúp anh em tiến bộ nhanh hơn x10 lần , để kiếm được nhiều tiền hơn
- 🏆 React.js Super: Trở thành React.js Developer trong 7 ngày với mức thu nhập 20 triệu/tháng
- 🏆 Node.js Super: Giúp bạn học cách phân tích, thiết kế, deploy 1 API Backend bằng Node.js
- 🏆 Next.js Super: Mình sẽ chia sẻ từ A-Z kiến thức về Next.js, thứ giúp mình kiếm hơn 1 tỉ/năm
Bạn có muốn biết sự khác nhau giữa 2 level Junior và Senior ReactJs là gì không? Biết sớm sẽ giúp bạn rút ngắn được thời gian phát triển sự nghiệp của bản thân đi rất nhiều.
💡 Mẹo:
Bài viết này được viết theo góc nhìn của mình, tất nhiên mọi thứ không gì là tuyệt đối cả. Tiêu chuẩn xét duyệt level ở các cty là khác nhau!
Mình sẽ đánh giá dựa trên những tiêu chí sau
- Kỹ năng cứng (phân tích, giải quyết vấn đề, coding)
- Trách nhiệm đối với dự án
- Chia sẻ & giúp đỡ
- Kỹ năng mềm khác
🥇Kỹ năng cứng (phân tích, giải quyết vấn đề, coding)
🥈Khi bắt đầu nhận task thì
- Junior: Phân tích độ khó của task, ước lượng thời gian và bắt tay vào làm luôn.
- Senior: Cũng như Junior nhưng sẽ phân tích chuyên sâu hơn như: Task này sẽ dùng thư viện gì? Có nên dùng thư viện hay tự viết tay? Những section này đã có component nào trong source code hay chưa để ta có thể tái sử dụng mà không cần tạo mới?
🥈Ước lượng thời gian làm task
- Junior: Có xu hướng ước lượng rất sát thời gian, ví dụ ước lượng task này làm 16h coding thì Junior sẽ cho là 2 ngày (nhưng đâu dễ gì 1 ngày bạn code đủ 8h, thời gian họp, ăn uống, nói chuyện,... ở đâu 😁)
- Senior: Ước lượng chính xác hơn, đây là do kinh nghiệm làm lâu năm nên biết được độ phức tạp của task. Khi ước lượng sẽ tính đến thời gian code trong một ngày là bao nhiêu để không bị deadline dí
🥈Giải quyết khi gặp vấn đề
Ví dụ cái task có thời gian làm là 18h nhưng bạn làm được 10h rồi thì gặp bug khó (dự là không thể tự giải quyết),
- Junior: Các bạn Junior thường hay có thói quen là "cố đấm ăn xôi". Nghĩ mình sẽ làm được nên cố tiếp tục làm đến 17h. Cuối cùng gần đến deadline thì mới nói ra là em gặp bug, lúc này cũng đã quá muộn rồi, bạn đã bị trễ task 🥲 và không ai giúp bạn được.
- Senior: Cùng ví dụ trên, các senior trước tiên sẽ search google và các nguồn tài liệu liên quan, nếu đã trôi 1-2 tiếng mà không giải quyết được thì sẽ trao đổi với cả team rằng có ai từng gặp bug này chưa, nếu task này quá khó thì hãy ước lượng lại task và thông báo với khách hàng sớm.
🥈Kỹ năng code
Không thể chối cãi được đây chính là sự khác biệt lớn nhất giữa Junior và Senior, mình sẽ nêu ra một số kiến thức bắt buộc nếu như bạn muốn trở thành một Senior ReactJs
Viết code clean có thể tái sử dụng
Viết CSS dễ bảo trì, hạn chế
!important
, không bị bug override css giữa các componentDùng các thư viện ngoài có kiểm soát (không phải cái gì cũng cài và dùng vào được)
Hiểu được độ phức tạp của function, viết code với độ phức tạp thấp
Dùng Typescript (không phải bàn rồi!)
Testing (Unit testing, e2e testing,...)
Custom được các build tool như webpack, vite
Biết cách xử lý các tình huống với Git như squash, rebase, cherry pick, resolve conflict
Biết cách sử dụng các công cụ devtool như React Dev Tool Component, Lighthouse, Performance, Network, Elements
Hiểu biết về SEO: Viết code semantic html, website đầy đủ title, description, Open Graph
Hiểu biết về flow hoạt động của ReactJs: render cái nào chạy trước, chạy sau, khi nào dùng
useEffect
, khi nào dùnguseLayoutEffect
Hiểu được khi nào nên dùng state, khi nào không cần dùng. Các bạn mới học React rất hay lạm dụng state, ở đâu cũng dùng cả.
Hiểu được tham trị tham chiếu!
Luôn luôn hủy đăng ký sự kiện & gọi api khi viết code trong
useEffect
Biết dùng các thư viện quản lý state: Redux, React Query
Biết dùng các thư viện style như CSS Modules, Styled Components, Tailwindcss
Thực sự còn vài cái nữa nhưng như trên là cũng tương đối đủ rồi đó.
💡 Mẹo:
🎁 Và tất cả các kiến thức trên đều được mình dạy trong khóa học ReactJs Super
🥇Kỹ năng mềm
Một khi đã lên được level này rồi thì ngoài kĩ năng cứng ở trên ra, anh em cũng cần những kỹ năng dưới đây
🥈Kỹ năng quản lý, phân chia task cho các thành viên
Lên level cao hơn thì trách nhiệm cũng cao theo. Anh em phải biết quản lý công việc sao cho mang lại hiệu quả tối ưu nhất.
Đôi lúc anh em phải chia task cho các bạn Junior, vì thế cần phải biết "break down" task ra, phân chia sao cho phù hợp với điểm mạnh điểm yếu mỗi bạn
Chia task thôi vẫn chưa xong, khi đến mỗi giai đoạn của task thì cũng nên hỏi han các thành viên để xem thử có ai gặp vấn đề gì không để mình còn support kịp.
🥈Kỹ năng review code
Mỗi lần các bạn làm xong thì chúng ta phải có nhiệm vụ review code xem thử có chuẩn chưa, có clean, có tối ưu gì chưa. Và review dưới góc nhìn của một Senior chứ đừng review dưới góc nhìn của một Junior 😉.
Ý mình là bạn nên khó tính một xíu thì dự án mới chất lượng được 😁
🥈Kỹ năng giao tiếp khách hàng
Em ơi, cái này như thế này vẫn chưa được, chị muốn nó phải như thế này cơ!
Ủa em? Tính năng này không làm được hả?
Hoặc những tình huống trớ treo như website bị sập, trễ deadline thì cũng biết cách ăn nói sao cho khéo 🥲
🥈Kỹ năng trình bày vấn đề
Ui trời, mang tiếng senior mà nói cái vấn đề ra ở trong team không một ai hiểu thì có 2 khả năng
- Vấn đề quá khó, trong team không ai đủ trình để hiều
- Bạn trình bày quá tệ (thường rơi vào cái này 🤣)
Nên là ae nào code nhiều, ít nói thì nên "nói nhiều" một chút để cho khẩu hình miệng linh hoạt tí.
Mình biết nhiều ae hiểu cái vấn đề ae định nói nhưng mà khổ nổi không trình bày được 🥲.
Luyện đi nhá.
🥈Kỹ năng tổ chức họp, meeting
Có thể ae thấy cái này hơi thừa, vì người tổ chức họp hành trong team thường là Leader, Manager nhưng dù sao thì chúng ta cũng là Senior rồi, cũng nên học hỏi cách tổ chức cuộc họp của những anh chị đi trước, biết đâu năm sau cty cho anh em lên Leader thì sao 🤣
🥈Chia sẻ kiến thức
Chia sẻ kiến thức, học hỏi lẫn nhau là thứ không thể thiếu ở các cty hiện nay nếu muốn phát triển nhanh và bền. Cty nào mà không có văn hóa này thì anh em nên xem lại nhé 😁
Mình đã làm 3 cty từ nhỏ đến lớn đều có các buổi seminar cả, và mình cũng hay đăng ký làm host lắm 😁
Anh em có thể bắt tay vào viết những bài blog đầu tiên, tin mình đi, viết blog giúp anh em học được rất nhiều thứ từ việc trình bày vấn đề, ghi nhớ lâu hơn, lâu lâu còn nhận lại được những lời cảm ơn từ các bạn dev khác. Nghe ấm lòng thực sự.
💡 Mẹo:
Khi mình mới vào KMS, có một bạn đi lại gần nói mình rằng bạn ý rất hay đọc blog của mình, nhờ đó mà bạn ý pass phỏng vấn 😋
🥇Túm cái váy lại
Các bạn thấy không, để trở thành một senior dev nói chung hay Senior React nói riêng không dễ chút nào, nhưng không phải là không đạt được.
Nếu chúng ta biết được cần những kiến thức nào để trở thành một Senior thì chúng ta sẽ đi rất nhanh.
Chúc anh em sớm chinh phục được cột mốc này nhé 💓
Kiến thức trong khóa học Next.js này đã giúp mình kiếm hơn 1 tỉ đồng/năm
Phew! Cuối cùng bạn cũng đã đọc xong. Bài viết này có hơi dài một tí vì mình muốn nó đầy đủ nhất có thể 😅
Website bạn đang đọc được viết bằng Next.js TypeScript và tối ưu từng chi tiết nhỏ như SEO, hiệu suất, nội dung để đảm bảo bạn có trải nghiệm tốt nhất.
Với lượt view trung bình là 30k/tháng (dù website rất ít bài viết). Website này đem lại doanh thu 1 năm vừa qua là hơn 1 tỉ đồng
Đó chính là sức mạnh của SEO, sức mạnh của Next.js.
Mình luôn tin rằng kiến thức là chìa khóa giúp chúng ta đi nhanh nhất.
Mình đã dành hơn 6 tháng để phát triển khóa học Next.js Super | Dự án quản lý quán ăn & gọi món bằng QR Code. Trong khóa này các bạn sẽ được học mọi thứ về framework Next.js, các kiến thức từ cơ bản cho đến nâng cao nhất, mục đích của mình là giúp bạn chinh phục mức lương 25 - 30 triêu/tháng
Nếu bạn cảm thấy bài viết này của mình hữu ích, mình nghĩ bạn sẽ thích hợp với phong cách dạy của mình. Không như bài viết này, khóa học là sự kết hợp giữa các bài viết, video, bài tập nhỏ và dự án lớn có thể xin việc được ngay. Học xong mình đảm bảo bạn sẽ lên tay ngay. 💪🏻