[Lập trình] Kỹ năng làm việc IT

Thế là cũng được gần 2 năm kể từ ngày rời ghế nhà trường để bắt đầu một công việc mà mình từng mong muốn. Khoảng thời gian đầu thực sự là có rất nhiều khó khăn. Nhưng quả thật từ những khó khăn đó, mình đã học tập và trưởng thành hơn rất nhiều. Sau tất cả, mình rút ra một kinh nghiệm vô cùng quý báu cho các bạn fresher hay junior lúc mới ra trường như mình. Thứ nhất là thái độ làm việc tích cực, biết lắng nghe và ham học hỏi, thứ 2 là cần có một phương pháp làm việc hiệu quả đối với mình.

Về vấn đề thứ 1 thì mình không có nói quá nhiều bởi vì đó là thứ vô cùng cần thiết với các bạn fresher rồi. Cách học nhanh nhất chính là làm việc cùng những người giỏi hơn mình. Nhưng làm việc không thì không đủ, mình cần phải biết khai thác kiến thức từ họ, khiến họ muốn chia sẻ và giúp đỡ mình. Do đó thái độ tích cực của bạn chính là điều kiện cần để có được điều này.

Về vấn đề thứ 2 là một phương pháp làm việc hiệu quả. Cái này là quan điểm cá nhân của mình thôi nhé :) Chính mình đã học hỏi từ các anh đi trước và tự rút ra kinh nghiệm cho bản thân mình. Sau đây là phương pháp tiếp cận của mình khi gặp 1 vấn đề - công việc hàng ngày là giải quyết các vấn đề mà :)
  • Bước 1: Hiểu rõ vấn đề: Điều này tưởng chừng đơn giản nhưng rất nhiều bạn hay mắc phải. Đó là luôn tự nghĩ ra vấn đề, phải nhớ luôn luôn đặt câu hỏi để có thể hiểu rõ vấn đề nhất. Với các vấn đề phức tạp, mình thường trình bày vấn đề cho các đồng nghiệp, sau đó lắng nghe phản hồi từ họ, chính những góp ý đó có thể làm sáng tỏ vấn đề hơn cũng như có thể đưa ra một vài giải pháp sơ khai rồi.
  • Bước 2: Phân tích và đưa ra giải pháp: Sau khi đã hiểu rõ vấn đề, chúng ta cần đưa ra "một vài" giải pháp(đối với cá nhân mình thường là 2-3 giải pháp). Phân tích ưu nhược điểm của từng cái, sau đó chọn ra một cái thích hợp nhất.
  • Bước 3: Chia nhỏ công việc và tiến hành: Đừng chỉ hình dung trong đầu là làm những gì bla bla... sau đó rồi cắm đầu vào làm luôn. Kinh nghiệm của mình là các bạn nên chia nhỏ công việc ra thành các bước cụ thể. Với mỗi bước chúng ta cần ghi ra những cái mình đã làm, input, output cụ thể cho từng bước. Điều này giúp chúng ta có thể kiếm soát được tiến độ của công việc cũng như estimate thời gian một cách chính xác nhất. Hơn nữa điều này còn cực kì quan trọng khi bạn làm teamwork, bởi không phải lúc nào bạn cũng đủ 100% công lực để làm hết công việc của mình. Đôi khi vì deadline hay bận rộn công việc gia đình. Lúc đó teammate của bạn hoàn toàn có thể nhảy vào giúp bạn nếu bạn vẽ ra một kế hoạch đủ tốt.
  • Bước 4: Đánh gía giải pháp: Nếu trong khi làm, giải pháp bạn đưa ra chưa hợp lý hoặc gặp bế tắc. Bạn có thể chuyển ngay sang giải pháp khác(cái đã liệt kê ở bước 2)
  • Bước 5: Review lại công việc, rút ra kinh nghiệm cho lần sau. Điều này cũng vô cùng quan trọng nếu bạn muốn cải thiện khả năng của mình theo thời gian. Cái gì mình đã làm tốt, cái gì chưa tốt, nếu lần sau gặp phải thì mình có thể làm tốt hơn được thế không?
Trên đây là phương pháp mà mình đã rút ra. Có thể nhiều bạn thấy nó hơi thừa và hơi phức tạp. Tuy nhiên nếu chúng ta làm đủ các bước thì công việc sẽ còn thực hiện nhanh hơn cách "cắm mặt" vào làm ngay. Và hơn nữa khi các kỹ năng của các bạn đủ tốt, các biết trên hoàn toàn có thể được vẽ ra trong đầu rồi nhưng các bạn không biết đó thôi. Cảm ơn mọi người đã quan tâm.

Nhận xét

Bài đăng phổ biến từ blog này

[Lập trình] Optimistic vs Pessimistic Locking

[Interview] - Tổng hợp các câu hỏi thú vị trong lần nhảy việc đầu tiên