8 cách tiếp cận hiệu quả để trở thành một kỹ sư lập trình
Bắt đầu từ một kỹ sư quèn mình và chật vật với nhiều cách tự học khác nhau mình nhận ra một số cách tiếp cận học hỏi trong ngành mà...
Bắt đầu từ một kỹ sư quèn mình và chật vật với nhiều cách tự học khác nhau mình nhận ra một số cách tiếp cận học hỏi trong ngành mà bạn nên lưu tâm, nó sẽ giúp bạn tiếp kiệm được nhiều thời gian hơn đó
1. Tìm một người hướng dẫn
Đây là cách giúp bạn có thể đi nhanh hơn mà hiệu quả hơn nếu có một người đi trước hướng dẫn, bạn sẽ tiết kiệm được khá nhiều thời gian học tập của mình hơn rất nhiều. Đây cũng là điều tốt nhất để bạn có thể trở thành một lập trình viên giỏi nếu bạn tìm được một người mentor xuất sắc. Một người mentor tốt sẽ cho bạn những lời khuyên không chỉ về mặt kỹ thuật mà còn giúp bạn định hướng phát triển career path của bạn nữa.
Hãy học một ai đó có kinh nghiệm lập trình hơn bạn, bạn sẽ tiếp thu được rất nhiều điều từ việc làm cùng họ. Bạn thật may mắn khi nếu có một ai đó để hỏi mỗi khi gặp khúc mắc, đôi khi chỉ là những từ khóa hay một vài câu nói ý tưởng giúp bạn khai thông và tìm hiểu nó sâu hơn.
Bạn cũng nên hiểu rằng, con đường bạn đi chỉ có bạn mới hiểu rõ và quyết định được trong khi đó có rất nhiều hướng rẽ ngoài kia khiến bạn phân tâm. Có người thì nói Java tốt, có người thì nói bạn nên theo PHP hay .Net nhưng con đường của bạn sẽ dễ dàng hơn nếu có một ai đó show cho bạn con đường phía trước, họ giúp bạn phân tích, giúp bạn tìm hiểu, giúp bạn tìm ra chân ái đam mê của bạn, bạn sẽ phải là người lựa chọn và quyết định nó.
Không nhất thiết người mentor bạn phải cùng trong công ty hay cùng trong dự án với bạn, anh chị đó có thể khác công ty nhưng họ có thể giúp bạn trên con đường của bạn, đôi khi họ chỉ cần là người đẩy đam mê và khởi nguồn động lực cho bạn mà thôi.
Điều cuối cùng, nếu không tìm được người hướng dẫn, hãy tham gia các hội nhóm công nghệ, các blog nổi tiếng hay các diễn đàn, sẽ có nhiều anh chị đi trước giúp bạn trên đó.
2. Đọc, đọc, đọc thật nhiều
Đây cũng là một thứ vô cùng quan trọng mà không chỉ riêng ngành kỹ sư phần mềm mà còn trong bất cứ lĩnh vực nào khác. Nếu may mắn bạn có một người thầy giỏi, một người hướng dẫn tốt thì xin chúc mừng bạn, tuy nhiên cánh cửa của bạn không phải dừng ở đó, bạn có thể tìm thấy mọi thứ trong sách hay trên internet. Việc của bạn lúc này là tìm chúng, đọc chúng, sàng lọc và nạp chúng vào trong đầu.
Bạn có thể tìm kiếm mọi kiến thức trên google thứ mà bạn quan tâm và muốn học hỏi, hãy liệt kê thành những danh sách các câu trả lời mà bạn tìm thấy, gom nhóm những đáp án có liên quan đến nhau và xâu chuỗi chúng lại. Với cách này có thể giúp bạn nhanh chóng nắm bắt và đánh giá tính chính xác của câu trả lời cũng như những góc nhìn khác nhau của một vấn đề mà bạn muốn tìm hiểu.
Đừng chỉ đọc một kiến thức nào đó rồi chỉ lướt qua như bỏ rơi người yêu cũ, hãy cố gắng tìm hiểu xung quanh vấn đề bạn đọc, ghi chúng lại và suy nghĩ vấn đề này theo góc nhìn của bạn, ý hiểu của bạn lúc này sẽ giúp bạn nhớ chúng lâu hơn. Nếu được thì hãy đọc lại hay giảng lại cho một người nào khác thì là điều tuyệt với nhất 😄
3. Thực hành, thực hành thật nhiều và làm theo những best practices
Không có đường tắt cho một kỹ sư lập trình ngoài coding cả, bạn phải tự tay thực hành với những kiến thức bạn đã học để có được những kinh nghiệm thực tế, trải nghiệm thật sự thì bạn mới có thể nắm bắt được công nghệ đó. Chẳng ai tự tin rằng tôi nắm bắt được một công nghệ chỉ bằng cách đọc nó trên mạng và chém gió với nhà tuyển dụng cả. Có thể bạn lừa họ được lần đầu nhưng bạn sẽ chật vật khi làm thực tế đó.
Thực hành trong quá trình làm việc nếu chưa đủ thì bạn có thể thực hành thêm nó tại nhà, thời gian trên công ty làm việc với nó đôi khi chỉ đủ cho bạn hoàn thành công việc đó trong dự án mà thôi, để hiểu và tích lũy thêm thì bạn cần thực hành thêm khi ở nhà, nhiều khi thời gian OT ngoài giờ không lương kia đã vô tình giúp bạn trở nên thuần thục hơn đó.
Trong quá trình thực hành cố gắng tuân theo những chuẩn coding, viết code và test chúng thông qua unit test với bộ test case mà bạn định hình được. Điều này giúp chất lượng code của bạn được tốt hơn.
Tạo một git repository trên github để chứa những gì bạn thực hành được với bất kỳ chủ đề nào, Bạn có thể chia sẻ nó với cộng đồng, và bạn bè, chính họ sẽ là người review đánh giá chất lượng code của bạn và giúp bạn cải thiện được chất lượng code hơn. Đây cũng là một điểm cộng lớn cho sự khác biệt của bạn trong mắt mọi người đồng nghiệp hay bạn bè thay vì chỉ chăm chăm vào công việc trên văn phòng.
Để có thể thuần thục một kỹ năng hay một ngôn ngữ công nghệ, không đơn giản chỉ là bạn biết về nó, có thể làm được nó, mà còn thông qua những cách xử lý vấn đề với nó, những khó khăn và giải pháp cho mỗi công nghệ là khác nhau, điều này cần phải có thời gian đủ lâu để tiếp xúc với công nghệ hay ngôn ngữ đó. Không phải ngẫu nhiên khi nhà tuyển dụng ghi rằng bạn tối thiểu có 3 năm với ngôn ngữ X, công nghệ Y. Đơn giản họ cần kinh nghiệm xử lý vấn đề cho ngôn ngữ và công nghệ đó và họ hiểu rằng công nghệ nào cũng có điểm mạnh điểm yếu, chỉ có những người thuần thục và có kinh nghiệm đủ lâu mới có thể giải quyết chúng một cách ít rủi ro nhất, 😄 mình sẽ không nói là hoàn hảo nhất 😄
4. Chia sẻ kiến thức cho người khác
Một lập trình viên tốt không hẳn đã giúp ích cho cộng đồng, nhưng một lập trình viên có ích cho cộng động có lẽ là một lập trình viên tốt. Giúp một ai đó không đơn giản chỉ là giúp họ mà đó cũng chính là giúp bản thân mình. Thực tế thì phần lớn những lập trình viên xuất sắc đều chia sẻ kiến thức hữu ích của họ cho tất cả các anh em lập trình viên khác, và nếu bạn để ý những MVP của các các công nghệ hàng đầu đều là những người chia sẻ và lan tỏa kiến thức của họ liên tục và có một lượng người theo dõi cực lớn. Đây chính là một trong những tiêu chí của MVP trên các diễn đàn github hay stackoverflow.
Pair programming là một cách thực hành việc chia sẻ kiến thức tốt nhất bởi với cách này bạn có thể học được nhiều kiểu cấu trúc code của người khác giúp họ tăng khả năng suy nghĩ và giải quyết vấn đề của họ đồng thời cũng cải thiện được khả năng diễn đạt của bản thân.
Pair programming tốt thì tốt thật đó nhưng thường khó có thể thực hiện do nó tốt khá nhiều thời gian cả cả 2 người và nó cần sự đồng thuận của cả 2 người hay có một cái nhìn chung cho một vấn đề cần giải quyết. Không thể bắt một ai đó ngồi làm cùng bạn trong khi họ không biết nó có thực sự giúp ích được cho họ hay không.
Cách hay được mọi người ưa thích nhất là bạn có một chủ đề hay công nghệ nào hay hãy cố gắng phân tích và bàn luận với người khác. Cố gắng học từ học những góc nhìn mới thông qua những câu hỏi của họ, Chưa chắc rằng bạn có thể trả lời được tất cả các câu hỏi mà họ đặt ra đâu, sẽ có những câu hỏi bạn sẽ không ngờ tới đó và bạn chính là người học được những điều mới thông qua những câu hỏi này.
Bạn có thể tham gia đóng góp các câu hỏi hay câu trả lời mà bạn gặp hay bạn biết trên stackoverflow hay có thể viết những topic hay chủ đề trên các diễn đàn để mọi người có thể thảo luận và đặt câu hỏi. Nó cũng có thể mang lại sự nổi tiếng cho bạn trong tương lai thì sao 😄
5. Thử mở rộng nền tảng kiến thức của bạn thử xem
Thường bạn sẽ mạnh trong một nền tảng hay một lĩnh vực nào đó, điều này được gọi là chuyên môn hóa. Nhưng bạn có thực sự phát triển nếu bạn chỉ quanh quẩn một chuyên môn đặc thù đó. Cố gắng thử mở rộng kiến thức của bản thân với những phân khúc, nền tảng khác xung quanh phần chuyên môn của bạn. Nếu bạn làm về backend, hãy thử tìm hiểu thêm frontend hay mobile thử, nếu bạn là dev, hãy thử trải nghiệm một vài ngày làm tester xem. Điều này sẽ giúp bạn có cái nhìn khác hoàn toàn so với chỉ đứng ở góc nhìn chuyên môn của bạn, giúp bạn hiểu được công việc của mỗi người khác nhau và linh hoạt hơn trong quá trình tích hợp chuyển giao giữa các phân khúc công việc hơn. Tránh việc suốt ngày dev và tester chửi nhau rằng anh không hiểu tôi, anh chẳng biết cái vẹo gì 😄
Trong một trường hợp khác nếu công ty bạn là một công ty startup hay công ty của bạn thiếu người bạn có thể một mình cân hết một bản đồ và các lĩnh vực của người khác. Bởi vậy mà các công ty hay tuyển những role rất kêu như full-stack developers (người biết cả backend và frontend), t-sharp developers (người biết cả develop và test), devops (người biết cả develop và operation)… Vậy bạn nghĩ những người đảm nhiệm nhiều thứ hơn thì có nên trả lương cao hơn không? 😄
6. Luôn tích cực chủ động
Một nhân viên trong công ty dù có phải là lập trình hay không thì công ty nào cũng thích một người tích cực chủ động trong công việc, nhưng phải nói là không phải không có những người giao gì làm đó, đủ thâm niên họ sẽ được thăng tiến 😄
Hãy cố gắng chủ động học hỏi những điều mới, những nghiệp vụ mới giúp bạn đẩy nhanh được quá trình làm việc trong dự án, nó sẽ giúp bạn có thể trở nên chuyên nghiệp hơn và ghi điểm trong mắt người khác. Tất nhiên quyền lựa chọn vẫn là ở bạn nhưng phải nói một điều rằng một lập trình viên được mọi người đánh giá tốt sẽ luôn là người có khả năng giao tiếp tốt với mọi thành viên trong team, chủ động tích cực trong công việc của bản thân hay cũng như của dự án, đôi khi còn đặt trách nhiệm của dự án lên trên vai mình và giúp phát triển team một cách lớn mạnh hơn.
7. Nắm chắc hiểu rộng nghiệp vụ trong dự án
Đôi khi bạn chỉ cần biết những phạm vi hay yêu cầu của riêng phần bạn làm, điều đó là đương nhiên vì bạn làm ra chức năng nào thì bạn phải hiểu sâu về chức năng đó là đúng mà. Tuy nhiên chỉ dừng ở đó thì không nên, hãy cố gắng nắm bắt được bức tranh toàn cảnh của cả dự án, nắm nghiệp vụ rộng và chắc sẽ giúp bạn xâu chuỗi được các công việc liên quan được nhiều hơn, từ đó công việc của bạn sẽ trở nên mượt mà hơn. Sẽ không còn những lỗi phát sinh khi tích hợp giữa nhiều thành phần chức năng lại với nhau nữa.
Một điều nữa là một dự án nếu các sếp chon một người ở lại để tiếp tục đi đường dài thì chắc hẳn họ sẽ chọn một người có độ hiểu sâu về hệ thống nhất ở lại đi cùng họ rồi. Không phải cứ thâm niên là được đề bạt nhưng thường những người thâm niên sẽ có mức độ hiểu về nghiệp vụ dự án rất rộng, có lẽ đó là lý do họ được chọn và được đề bạt. Vậy tại sao bạn không rút ngắn khoảng thời gian thâm niên đó lại để có thể hiểu rộng hơn hệ thống mà không cần phải ngồi lâu và mang mác là chỉ vì thâm niên bạn mới được cất nhắc 😄
8. Dừng lại và hãy nghỉ ngơi
Con người mà không phải cỗ máy, hãy cố gắng sắp xếp thời gian nghỉ ngơi tái tạo năng lượng. Kể cả làm việc hay học tập một điều gì mới, hãy để thời gian nghỉ ngơi sau những hay làm việc, nó cũng là thời gian giúp bạn thẩm thấu những gì mình đã học và làm.
Đôi khi một ly cafe mỗi sáng chiêm nghiệm cuộc đời giúp bạn đánh giá con đường bạn đi là đúng hay sai, dừng chân hay tiếp tục cống hiến và làm việc. Hơn nữa ngoài công việc bạn còn có gia đình bạn bè nữa, hãy cho bản thân mình những không gian riêng cho sở thích cá nhân và khởi nguồn lại những hứng thú để tiếp tục học hỏi được nhiều hơn.
Trên đây là những điều mà mình nhận ra sau khi một thời gian chật vật với ngành này, có thể nó đúng, có thể nó sai, nhưng dù sao cũng là trải nghiệm, mình viết lại để hi vọng có thể giúp cho các bạn khác có thể tiết kiệm được thời gian hay những xương máu đổ ra không đáng có.
Chúc bạn thành công!
Kỹ năng
/ky-nang
Bài viết nổi bật khác
- Hot nhất
- Mới nhất