Một vài kinh nghiệm trên con đường lập trình viên cho bạn
Xin chào mọi người, tôi mới bắt đầu trở thành 1 developer được 4 tháng. Trong thời gian 4 tháng này, tôi đã thử nhiều phương pháp xem làm thế nào để có thể phát triển một cách “mạnh mẽ” nhất.
Giới thiệu
Trong lúc lang thang trên Qiita, mình có tìm được một bài chia sẻ khá hay ho của một bạn new-dev. Tiếp xúc nhiều với người Nhật thì thấy một điểm khác biệt rõ rệt đó là suy nghĩ của họ trong công việc (mình hay gọi là mindset). Cái này thì mình nghĩ là chúng ta nên học tập của họ.
Hiện nay thì cơ hội hợp tác làm việc với người Nhật gần như là chuyện cơm bữa ở Việt Nam, nên mình nghĩ nếu có thể hiểu rõ hơn về các suy nghĩ của họ thì cũng là một điều tốt khi làm việc cùng nhau. Vậy hãy cùng thử xem một new-dev của “Nhật bựa” thì là như thế nào nhé!
Mở đầu
Xin chào mọi người, tôi mới bắt đầu trở thành 1 developer được 4 tháng. Trong thời gian 4 tháng này, tôi đã thử nhiều phương pháp xem làm thế nào để có thể phát triển một cách “mạnh mẽ” nhất.
Vì thế, tôi muốn chia sẻ những điều này để các newbie như tôi có thể tham khảo.
Tôi thường hay bị tự ti khi so sánh ‘level’ của mình với những đồng nghiệp xung quanh, nên ngay từ khi bắt đầu tôi đã đặt ra mục tiêu phải trở nên giỏi hơn nữa. Chúng ta hãy cùng nhau tiến bộ!
Vì là newbie nên chưa làm được là điều hiển nhiên
Mọi người thường hay an ủi là:
“LÀ NGƯỜI MỚI NÊN CHƯA BIẾT CŨNG LÀ ĐIỀU ĐƯƠNG NHIÊN”
Thế nên, đừng nên giấu dốt mà phải chủ động nói ra những điều mà mình chưa biết, chưa làm được! Trước đây, trước khi muốn hỏi gì đó thì tôi sẽ ngồi thử làm hết cách nọ cách kia,.. mỗi lần đều hết tầm 3 tiếng… Cứ như vậy, chẳng hỏi ai mà cứ tự mình làm nên chẳng thể tiến bộ được mấy, hoặc cũng rất chậm chạp. Tuy nhiên, từ lúc nghe được câu nói này thì tôi đã cởi mở hơn, chủ động hỏi những người xung quanh nhiều hơn khi gặp khó khăn. Cũng nhờ vậy mà tôi cảm thấy giống như tốc độ phát triển của bản thân đã được tăng lên một tầm cao mới vậy.
Thế nhưng, nên hỏi như thế nào mới đúng?
Đặt ra các quy định
Đúng là để không tốn thời gian thì khi có khó khăn gì phải hỏi mọi người xung quanh, nhưng có nhiều người lại hễ gặp vấn đề cái là đã đi hỏi luôn mà chẳng thử suy nghĩ cách giải quyết.
Để giải quyết tình trạng này thì chúng ta nên đặt ra những quy định cho bản thân cũng như chia sẻ nó với những người xung quanh.
Đầu tiên hãy tự đưa ra các rule, sau đó nhờ mọi người xung quanh góp ý. Thông qua đó mọi người cũng hiểu mình hơn, nên sau này không cần phải lo là “Không biết bây giờ hỏi có hợp không?”, “Hỏi cái này có sao không?” mà có thể thoải mái hỏi khi cần.
Mặc dù mọi người vẫn bảo “Cứ hỏi đi không có gì phải ngại”, nhưng vì bản thân vẫn luôn nghĩ rằng chỉ nên hỏi những cái thật cần thiết, nên đưa ra các rule sẽ giúp tránh khỏi suy nghĩ đó.
Ví dụ như trước đây, nếu không biết cách truyền dữ liệu giữa model và controller, tôi thường vừa thử search trên google vừa thử bằng debug, có khi mất đến 2 tiếng. Thế nên tôi đã hạ quyết tâm, để tránh lãng phí thời gian vô ích, nếu trong 30p mà vẫn không giải quyết được thì sẽ hỏi mọi người.
Từ lúc làm theo quy định đó, nếu như đã cố hết sức mà vẫn không giải quyết được, tôi đã không ngần ngại mà đi hỏi mọi người xung quanh, nhờ thế mà có thể giải quyết và tiếp tục công việc. Năng suất cũng nhờ đó mà tăng lên.
Những quy định trước khi hỏi
Trước khi hỏi 1 cái gì đó thì nên tự tìm hiểu trước.
Khi đang làm việc
Viết ra:
- Điều mình muốn, Vấn đề gặp phải là gì.
- Đã thử làm gì -> Tổng hợp lại những cái mình đã viết để hỏi.
Khi hỏi
Có thể hỏi trực tiếp hoặc qua Chatwork, Slack,..
Lưu ý
: Note lại trong khi nghe. Có chỗ nào không hiểu phải hỏi lại ngay. Khi xong thì confirm lại.
Mặc dù hơi ngại một chút nhưng vì mình cũng đã tự tìm hiểu rồi nên mọi người sẽ vui vẻ giúp đỡ thôi. Cứ như vậy dần dần sẽ học hỏi được rất nhiều điều.
Pair-programming:
Nhưng cuộc đời không phải lúc nào cũng tươi đẹp, có rất ca rất khó nhằn. Mặc dù đã thử hỏi rồi nhưng mãi vẫn chưa thể giải quyết được. Lúc này thì nên nhờ mọi người pair-programming để cùng giải quyết.
Tuy nhiên để tránh lãng phí thời gian của người khác, thì hãy chuẩn bị trước khi nhờ nhé. Ví dụ như trước khi nhờ thì phải sắp xếp thời gian, chuẩn bị sẵn sàng code, note lại những gì mình đã thử làm,..
Một câu chuyện khi pair-programming:
Có lần có một task về jQuery, mà tôi thì chưa bao giờ động tới jQuery hay Javascript cả, nên tôi đã nhờ một anh bên front-end để pair-programming giúp. Vì làm hết cái này đến cái khác, cái nào cũng đều không hiểu, nên anh ấy đã phải giải thích từ những kiến thức cơ bản nhất, mất gần 30 phút. Chưa kể có những chỗ về CSS mà tôi mất 3 ngày liên tiếp cũng không làm được thì nhờ có advice của mọi người nên đã giải quyết được nhanh chóng.
Khi pair-programming có nghĩa là 2 người cùng tập trung giải quyết 1 vấn đề, nhờ vậy mà có những cái 1 người làm vài ngày không xong thì có thể giải quyết được trong 30p – 1 tiếng, thật đúng là một phương pháp tuyệt vời
Ngoài ra khi pair-programming, chúng ta rất ngại tốn thời gian của người khác, nên nói một cách nào đó, chúng ta còn có thể học được cả cách giải quyết vấn đề nhanh nhất, rất hữu ích.
Chia sẻ những điều mình học được
Đối với người mới thì mỗi ngày đều học được rất nhiều điều mới. Vì vậy nên cho dù là điều nhỏ nhất thì cũng hãy cố gắng chia sẻ với mọi người, qua đó cũng là một cách để học tập.
Tập phát biểu trước nhiều người
Vì trong công ty chắc chắn sẽ có tool chat nội bộ, nên hãy thử nói ra những điều mà mình học được mỗi ngày ở đó. Chỉ cần như vậy, chúng ta cũng có thể học được nhiều kiến thức quý giá từ mọi người xung quanh, hoặc nếu có sai sót thì cũng được góp ý. Mặc dù không hề dễ dàng, nhưng vì sẽ học được rất nhiều điều, nên mọi người hãy thử làm theo cách này nhé!
Viết bài trên các blog về những gì đã học được
Để viết được một bài viết có chất lượng thì chắc chắn sẽ phải tìm hiểu sâu thêm, qua đó có thể nắm chắc hơn những điều mình đã học được. Ngoài ra thì, mọi người có thể thấy được là mình đã học được đến đâu. Đối với những người đã giúp đỡ mình, thì khi thấy công sức họ bỏ ra đã đạt được thành quả thì họ cũng sẽ cảm thấy vui. Hơn nữa, thông qua việc viết blog, bạn có thể nhận được nhận xét, lời khuyên không chỉ từ mọi người trong công ty mà cả bên ngoài nữa
Trước đây tôi cũng rất ngại viết ra, vì nghĩ rằng chỉ vừa mới học được một chút mà đã viết thì có chính xác hay không.
Những lúc như vậy thì tôi đã nhờ mọi người xung quanh check lại giúp, nên đã có thể hoàn thành được.
VD: Lúc cài đặt môi trường để code Rails, tôi đã khá vất vả để cài đặt xong nên mặc dù trên mạng đã có rất nhiều, nhưng tôi vẫn quyết định viết một bài hướng dẫn bằng trải nghiệm của mình, hi vọng nó sẽ giúp được cho các bạn:
Cài đặt Rails + Git + Editor trong vòng 30p (tiếng Nhật)
Nếu như khi bài viết nhận được like đầu tiên, chắc chắn bạn sẽ rất thích thú thì khi nó nhận được 100, 200, 300 likes,.. là lúc bạn cảm thấy được niềm vui khi viết bài. Đôi lúc khi gặp khó khăn trong việc cài đặt môi trường thì tôi cũng vào xem lại, hoặc khi có ai gặp khó khăn thì tôi cũng đã gửi cho họ bài của mình. Thật tốt khi viết ra được 1 cái gì đó thực sự có ích.
Thế nhưng lại có nảy sinh một vấn đề, đó là thời gian bỏ ra là không ít. Thời gian viết chỉ cần khoảng 5p thôi nhưng thời gian để tìm hiểu thì rất nhiều. Mặc dù mới chỉ viết được 1 bài thôi, nhưng tôi đã cảm nhận được điều này. Vì thế nên tôi đang đặt ra mục tiêu đó là không cần suy nghĩ quá nhiều mà cứ viết 1 cách thoải mái.
Dù sao thì viết bài là 1 cách rất trực quan để theo dõi sự tiến bộ của bản thân. Hơn nữa năng lực truyền đạt cũng có thể được cải thiện nhanh chóng. Vì vậy mọi người (nhất là các bạn newbie như mình) hãy cố gắng lên nhé.
Nhận được feedback thường xuyên
Cho dù mỗi ngày đều rất nỗ lực đi chăng nữa, nhưng không phải lúc nào mọi người xung quanh cũng có thể nhìn thấy được, cũng không biết là bản thân có đang tiến bộ hay không, nhanh hay chậm, phương pháp hiện tại có đúng hay không,..
-> Vì thế việc nhờ mọi người feedback lại là một điều rất cần thiết.
Mình nghĩ việc hỏi trực tiếp các anh senpai, hoặc mentor của mình để được nhận xét, khuyên bảo là thích hợp nhất.
Cho dù là vì lợi ích của bản thân, hay là cho công ty đi chăng nữa, thì việc cùng nhau trao đổi để cải thiện như vậy là một việc nên được thực hiện và duy trì.
Tổng kết
Đây là những điều mà một người mới bước chân vào con đường developer được 4 tháng như tôi đã rút ra được。Tôi cảm thấy những điều này sẽ có ích không chỉ cho những bạn mới bước chân vào ngành IT, hay có ý định trở thành developer, những bạn đang loay hoay không biết làm thế nào để có thể phát triển bản thân,.. giống như tôi, nên tôi đã viết bài này.
Đừng tự ti vì chưa giỏi bằng các đồng nghiệp khác, hãy thể hiện hết những điều mình đã và chưa làm được, trong giai đoạn “nhập môn” này vẫn đang được mọi người support thì hãy cố gắng để có thể tiến bộ hơn nữa!
Hãy cố gắng hơn mỗi ngày để trở thành 1 kĩ sư giỏi nhé!
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!