Chào anh em, lại là mình đây ! Trong các bài viết trước thì mình từng chia sẻ với anh em về những yếu tố để trở thành một lập trình viên toàn diện hơn rồi.
Nếu anh em nào chưa đọc có thể có thể tham khảo tại đây nha: 5 yếu tố để trở thành một lập trình viên toàn diện hơn
Việc trở thành một người toàn diện đã khó, mà trở thành một lập trình viên toàn diện lại càng khó hơn, vì nó đòi hỏi anh em phải cân bằng được nhiều khía cạnh khác nhau trong cuộc sống.
Nhưng nếu thu gọn lại, chỉ xét về khía cạnh kỹ thuật thì làm thế nào để trở thành một lập trình viên “cứng” đây?
Vâng, ở trong bài viết này mình sẽ chia sẻ với anh em 5 bí kíp để “có thể” trở thành một lập trình viên có khả năng kỹ thuật tốt nhé.
Mục Lục Nội Dung
#1. Đọc sách và tài liệu chuyên ngành
Hiện nay có vô số các kênh để anh em lập trình viên có thể nâng cao chuyên môn về kỹ thuật của mình, ví dụ như là các khóa học online, các khóa học trực tiếp…
Nhưng nếu anh em để ý mấy ông giỏi thường họ rất ít khi học như vậy, rất ít khi họ ngồi xem các khóa học online hay mất công đến các trung tâm để “được dạy”.
Ngược lại, anh em thấy họ rất hay đọc sách chuyên ngành (tiếng anh), hoặc đọc trực tiếp tài liệu (documents) về công nghệ hay ngôn ngữ lập trình mà học muốn học.
Đặc điểm của cách học này là người học phải kiên trì, có kiến thức nền tảng tốt, có vốn tiếng anh chuyên ngành vững.. khá là nhàm chán nhưng đó là cách vô cùng hiểu quả để có thể nắm chắc kiến thức mà họ muốn tìm hiểu.
Thử hỏi, liệu có mấy anh em dev ở đây đủ kiên trì đọc cuốn sách dài tới 1000 trang hoặc đủ trình độ để đọc và hiểu được bên trong nói gì?
Nguyên nhân thì như mình vừa nói rồi đấy, đơn giản là vì hầu hết sách và tài liệu họ viết khá hàn lâm, không phải là dạng hướng dẫn nên việc một dev bình thường đọc docs mà nản là chuyện hết sức bình thường.
Chính vì vậy mà mấy ông lập trình viên cứng là mấy ông hội tụ đủ các yếu tố bên trên. Làm việc khó mà, đâu phải ai cũng làm được, nên đâu phải ai cũng có thể xuất chúng được 😀
#2. Chăm chỉ code, chịu khó mày mò
Nói về chuyện chăm chỉ thì chắc nhiều anh em sẽ bảo rằng làm lập trình khó lắm, có phải cứ chăm chỉ là được đâu.
Suy nghĩ này hoàn toàn đúng nhưng lại hơi mang tính chủ quan, vì anh em đã vô hình chung nghĩ rằng việc học lập trình là khó, mà khó thì phải thông minh mới học được, mà đã thông minh thì không phải cứ chăm là thông minh được.
Nhưng thực tế thì lại không phải như vậy đâu các bạn ạ, những người có tố chất và trí tuệ thì mình không nói, nhưng phần đa những người làm lập trình hay người học lập trình không phải là những con người quá giỏi, quá xuất sắc như các bạn nghĩ.
Ừ công nhận là lập trình không phải là dễ, nhưng học cái gì mà chả có cái khó của nó. Nên đôi khi bạn chỉ cần chăm chỉ, chịu khó rèn luyện, tích lũy kinh nghiệm thì đã có thể lập trình “tốt” rồi, chứ chưa nói đến khả năng trí tuệ bẩm sinh.
Hai nữa là nếu muốn học tốt ngành công nghệ thông tin nói chung và ngành lập trình nói riêng thì bạn “nên” là người ham học hỏi, thích mày mò, luôn tự đặt ra câu hỏi tại sao?
Kiến thức công nghệ nó như một biển lớn và mang những trạng thái khác nhau, liên tục thay đổi từng ngày, từng giờ, thậm chí là từng phút.
Nếu bạn không thuộc kiểu người chịu khó tìm tòi học hỏi thì mình tin chắc, bạn chỉ có thể trụ được từ 1-2 năm trong ngành này mà thôi.
#3. Rèn luyện tư duy đa chiều, tổng quát hóa vấn đề
Một trong những cái khó khi anh em học lập trình đó là việc: một vấn đề có thể được giải quyết theo nhiều cách khác nhau.
Chính xác hơn là đôi khi anh em gặp một vấn đề A, anh em nghĩ nó có thể giải quyết được theo cách B và anh em lao đầu vào tìm hiểu cách B đó.
Nhưng thực tế, để giải quyết được vấn đề A thì anh em có thể sử dụng cách C đơn giản hơn rất nhiều.
Đây có lẽ là câu chuyện muôn thuở của những anh em mới đi làm hoặc mới học lập trình. Hầu như chúng ta quá tập trung vào việc làm sao để giải quyết vấn đề, thay vì đặt ra câu hỏi vấn đề này nên được giải quyết như thế nào.
Tư duy đa chiều vô cùng quan trọng không chỉ với công việc lập trình, mà với hầu như các công việc vận dụng trí óc thì anh em đều nên áp dụng tư duy đa chiều, biết cách tổng quát hóa vấn đề.
Khi suy nghĩ theo nhiều hướng sẽ giúp anh em nhìn nhận vấn đề một cách tổng quan hơn, thậm chí với nhiều “cao thủ” khi gặp vấn đề khó họ cũng giải quyết trong nốt nhạc là nhờ vào việc kiến thức sâu, rộng, cộng với tư duy tổng quát của họ.
#4. Học từ những “cao thủ” khác
Nếu việc học từ các “cao thủ” mà dễ dàng thì chắc trên đời này ai cũng trở thành cao thủ hết rồi. Trong ngành lập trình thì việc học từ người khác lại càng không phải dễ. Tại sao?
Câu trả lời vô cùng đơn giản đó là: nó nằm ở tư duy của mỗi người, tư duy khác nhau thì rất khó để có thể hiểu được nhau.
Chưa kể việc học hỏi là cả một quá trình, “cao thủ” trong giới lập trình là những người rất lì lợm, họ tích lũy kiến thức và kinh nghiệm từng ngày.
Việc học từ họ đòi hỏi người học cũng phải có những tố chất tương tự, có thể sẽ mất thời gian và phải tích lũy theo năm tháng nhưng mình tin rằng việc học từ người khác là một trong những cách học nhanh nhất và hiệu quả nhất mà bạn có thể học.
Ví dụ có những kỹ thuật họ mất thời gian suy nghĩ, tìm hiểu, đọc không biết bao nhiêu tài liệu mới ngộ ra. Rồi họ lại truyền đạt kiến thức cho bạn, như vậy chẳng phải là bạn đã tiết kiệm được nhiều thời gian mà vẫn nắm được kiến thức đó sao?
Vì vậy, nếu có cơ hội được làm việc với các “cao thủ” thì bạn hãy tận dụng và học hỏi từ họ và bạn sẽ tiến bộ lên rất nhanh đó.
#5. Lì lợm
Nói về những “lập trình viên cứng” mình từng gặp thì họ có một điểm chung đó là rất lì lợm. Vậy thế nào là lì lợm?
Đơn giản là nếu bạn thấy ông nào làm lập trình mà kiểu bug càng khó càng xung, có thể ngồi lì cả ngày để fix bằng được bug hoặc tối ưu chương trình chẳng hạn thì đó chính là sự “lì lợm” mình đang nhắc đến.
Mình cũng không biết cái này có rèn luyện được hay không vì bạn phải thực sự đam mê với công việc, bạn cảm thấy vui và phấn khích khi giải quyết các vấn đề khó thì mới có thể lì lợm như vậy được.
Đôi khi mình cảm thấy nó xuất phát từ tính cách của mỗi người, được hình thành và rèn luyện trong học tập, công việc và cuộc sống.
Nói tóm lại thì đây giống như dấu hiệu nhận biết một lập trình viên cứng hơn là một bí kíp để trở thành một lập trình viên cứng.
#6. Lời kết
Thực ra mình cũng không thích dùng từ “bí kíp”, mà chính xác hơn đó là những yếu tố hoặc những việc mà các bạn nên làm để có thể trở thành một lập trình viên giỏi.
Giới hạn của việc “giỏi” nó như thế nào thì anh em chắc có lẽ cũng đã tự có cho mình các quy chuẩn riêng rồi.
Tựu chung lại thì nó sẽ phụ thuộc rất nhiều vào bản thân các bạn, sự nỗ lực và chủ động của các bạn. Khi có nỗ lực và một hướng đi đúng thì anh em sớm muộn cũng giỏi hơn thôi.
Xin chào và hẹn gặp lại anh em trong các bài viết tiếp theo nha !
Đọc thêm:
- [SHARE] 5 thái độ của một lập trình viên thành công
- 5 tips giúp lập trình viên TẬP TRUNG hơn khi NGỒI CODE
- Lập trình viên nên HỌC NHIỀU HƠN một ngôn ngữ lập trình?
CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com