Mục lục
Mọi thức đều có level từ thấp đến cao… và developer cũng cũng chia level khác nhau từ intern, fresher, junior, senior, tech lead…
Việc để đạt 1 level mới của developer là cả một chặng đường dài, việc này đòi hỏi thời gian và công sức. Tuy nhiên để “thuận giò xuôi bướm” hơn, 5 Tips sau sẽ giúp ta sử dụng thời gian, công sức hiệu quả.
1. Nâng cao khả năng DEBUG
Mọi dòng code bạn viết ra đều tiềm ẩn khả năng gây lỗi, mọi phần mềm đều có lỗi không nhiều thì ít. Vì vậy, để trở thành một dev có tâm và có tầm, bạn cần rèn luyện kĩ năng tìm bug, fix bug, bạn cần trở thành một cao thủ xử lý bug và bug không thể lọt qua những business flow thông thường được.
Tuy nhiên, mình thấy rằng các bạn dev thường lảng tránh quá trình debug, khiến cho skill debug không tốt. Mỗi khi phát hiện bug, họ thường tìm kiếm đến một dev khác trình cao hơn để tìm kiếm sự trợ giúp.
Hệ quả là dev trình cao ngày càng cao bởi vì họ được tiếp xúc với nhiều bug, họ học được cách phán đoán, cách debug và xử lý bug, còn bạn nhờ vả mà không quan sát thì không nắm được gì cả!
Để có thể nâng cao khả năng dev và debug, mình nghĩ rằng:
- Học cách tự giải quyết các vấn đề của bản thân, độc lập debug và xử lý bug.
- Đừng vội đi nhờ sự trợ giúp còn bản thân thì ngồi nhìn, chỉ nên tìm kiếm sự trợ giúp khi bạn đã thật sự cố gắng hết sức và Nên áp dụng Mob programming cho bản thân mình là Driver và người giúp mình là behavior.
- Bạn có thể sẽ hoàn thành task chậm hơn, mệt mỏi hơn vì debug và fix bug của chính mình, nhưng bạn sẽ học được nhiều thứ hơn là kinh nghiệm debug.
2. Quan sát mọi thứ hoạt động
Công việc dành cho các vị trí fresher, junior thường khá đơn giản, thông thường là làm theo một cái gì đó có sẵn.
Ví dụ: sửa một function dựa trên function đã có
Lý do: bởi trình độ của fresher, junior chưa đủ để có thể tự làm một công việc độc lập ở mức mediate task. Việc này không có gì sai, làm theo những thứ có sẵn do các anh senior làm sẽ giúp chúng ta học được nhiều điều về chuẩn viết code và thuật toán họ dùng.
Tuy nhiên, nếu bạn quá dựa dẫm vào những thứ có sẵn, chỉ biết copy/ paste từ những thứ có sẵn, chỉnh sửa chút cho phù hợp mà chưa thật sự hiểu gì về nó thì không tốt! Một nguy cơ tìm ẩm bug có thể xảy ra vì sự sai lệch thuật toán mà bạn viết thêm vào!
Để có thể phát triển nhanh, tốt nhất thì mình nghĩ:
- Bạn cần giữ một cái đầu mở, một cái đầu tò mò. Đừng dễ dãi với những gì bạn làm, hãy tò mò, hãy hiểu tại sao nó lại được làm ra như vậy.
- Hãy cố gắng hiểu tại sao mấy thánh trên stackoverflow lại hướng dẫn như vậy chứ đừng chỉ copy/paste code của họ.
- Hãy hiểu tại sao code cũ lại được code như vậy chứ đừng chỉ bắt chước làm theo.
- Có thể bạn sẽ hoàn thành task chậm hơn, mệt mỏi hơn, đôi khi còn bị sếp chỉ trích vì làm việc chậm không bằng X, Y, Z. Tuy nhiên, hãy nghĩ cho bản thân bạn, học cách mọi thứ hoạt động sẽ tốt cho bạn và sản phẩm bạn làm ra.
3. Đừng chỉ hoàn thành task, hãy nhìn vào bức tranh lớn
Công việc dành cho các vị trí thấp thường rất đơn giản, những công việc này thông thường chỉ là một phần nhỏ trong một hệ thống lớn.
Vì vậy, các bạn dễ rơi vào tình trạng như con tốt trên bàn cờ, không hiểu được toàn bộ thế cục, không mở mang được đầu óc, không học được những kiến thức phức tạp hơn.
Đôi khi công ty trả lương để bạn hoàn thành task, chứ không để tìm hiểu những thứ chúng ta không có trách nhiệm. Giả sử như task của bạn là sửa 1 con số 0 –> 1 trên form thì dĩ nhiên là họ không muốn bạn dành cả tiếng đồng hồ để tìm hiểu cách hoạt động mọi thứ.
Tuy nhiên, việc luôn cố gắng nhìn vào bức tranh lớn hơn giúp chúng ta học hỏi được nhiều thứ hơn, hiểu về hệ thống hơn biết chính xác hơn công việc của mình, lâu dần chúng ta có thể đảm nhiệm nhiều công việc phức tạp hơn, như vậy cũng có lợi cho đồng đội và công ty.
Để không trở thành con tốt thì mình nghĩ:
- Hãy dành thời gian tìm hiểu xem những thứ bạn đang được giao làm nằm ở đâu trong hệ thống, nhiệm vụ của nó là gì, tại sao người ta lại làm như vậy…
- Bạn sẽ học được cách họ thiết kế hệ thống, cách hoạt động của một hệ thống lớn hơn, thậm chí là cách nghiệp vụ của họ vận hành…
- Đừng chỉ chăm chăm làm việc như một tên lính đánh thuê, sai đâu đánh đó, như vậy không tốt cho lối suy nghĩ mở của bạn.
4. Tìm và vá lỗ hổng kiến thức
Đã bao giờ bạn rơi vào tình trạng đang làm trên ngôn ngữ nào đó nhưng không biết học nó như thế nào chưa? Nếu bạn đã từng thì lý do là bởi bạn đã bỏ qua một việc quan trọng đó là theo dõi và vá lỗ hổng trong kiến thức của bản thân.
Có một thời gian mình luôn gặp khó khăn trong việc xử lý bất đồng bộ của JS nó làm mình vướn vào 1 đống promise và callback hell, nhưng tại thời điểm làm việc thì mình không có đủ thời gian để học bài bản, sau đó thì mình lại quên mất là mình cần vá lại kiến thức đó.
Kết quả là những lần sau gặp phải mình lại tốn rất nhiều thời gian, mọi chuyện cứ lặp lại vài lần như vậy.
Cuối cùng mình quyết định tạo một danh sách để nhắc bản thân cần cải thiện kiến thức này, sau đó thì mình không quên nữa và tình hình được cải thiện.
Mình giữ thói quen mỗi khi gặp kiến thức gì mình không biết, kiến thức gì quan trọng mà mình chưa hiểu mình đều đưa vào danh sách “lỗ hổng kiến thức” để cải thiện dần.
Kết quả khá khả quan. Đôi khi không phải chúng ta không có thời gian để cải thiện mà chỉ đơn giản là chúng ta không biết bản thân cần cải thiện gì mà thôi. Vì vậy việc theo dõi lỗ hổng kết thức sẽ giúp bạn dần lấp đầy khoảng trống, nâng cao khả năng hơn.
5. Rèn luyện bản thân
Ngoài công việc dev ở công ty, thì hãy dành thời gian rèn luyện bản thân mỗi ngày. Chúng ta có rất nhiều lĩnh vực, kiến thức cần rèn luyện ngoài kỹ thuật, hãy dành thời gian cho chúng như tạo 1 thói quen tốt cho bản thân.
Đọc sách về soft skill, clean code, sách về lịch sử, một giờ học tiếng Anh, một giờ tập gym hoặc đi bộ… sẽ giúp bạn trở thành một con người tốt hơn về 1 mặc nào đó, một con người tốt hơn thì cũng là một developer pro hơn.