Được giao Task, gặp Bug - Bạn sẽ làm gì?
code
39
Problem
1
NyLaa
4
White

Văn Đức Thái viết ngày 27/06/2018

1. Tản mạn ngoài lề

alt text
Khi gặp một vấn đề trong cuộc sống bạn sẽ làm gì? Người yêu đá đít, cuối tháng hết tiền lương, sếp đì trên đi xuống, bla bla

Giải quyết nó thôi!!!

Hôm nay mình xin phép nói về cách xử lý vấn đề trong công việc. Mình đang làm outsouring cho Nhật. Vậy nên sẽ nói trong trường hợp Được giao taskFix bug.

2. Giải quyết vấn đề

Hiểu vấn đề -> Tìm đường đi -> Tìm công cụ để đi trên những đoạn đường đi ấy.

a. Define rất clear về Yêu cầu.

Đây là việc đầu tiên khi tiếp cận vấn đề.

Với một Task được giao thì vấn đề làm rõ yêu cầu rất quan trọng.

  • Thứ nhất nó phải đúng: Mình làm các dự án của Nhật nên khi Task giao xuống từ PM thì qua Comtor dịch (Comtor nhiều lúc chưa hiểu hết từ chuyên ngành). Cho nên nhiều khi vấn đề hiểu chưa được đúng và đủ ý của Khách hàng. Có lần làm xong ngon lành cành đào. Tự tin push lên cho sếp. Rồi đập đi làm lại. :((
    => Confirm với PM, (hoặc BrSE) để hiểu thật đúng Task.

  • Thứ hai là làm đủ yêu cầu của Task thôi: Có nhiều Task chỉ yêu cầu làm cái A và B. Tiện tay làm cái C luôn vì tư duy DEV nghĩ nó là cần thiết. Nhưng không phải. Vì nó còn là vấn đề thời gian code. Mình không nên code một cái mà Khách hàng không bao giờ dùng đến.

Bug cũng vậy. Thường gặp bug thì vấn đề của mình thường nhanh hiểu hơn. (Vì mình đã từng code ở đoạn này rồi). Tuy nhiên việc hiểu được Bug đó đang sai ở đâu và Cần sửa như thế nào. Việc confirm với PM và Comtor là cần thiết. Đừng ngại ngùng gì cả.

b. Tìm đường đi

OK, vấn đề đã rõ. Vậy giải quyết nó như thế nào? Một bài toán sinh ra thì có rất nhiều cách để giải quyết. Có chăng chỉ là cách nào tối ưu hơn thôi.

Ví dụ bạn đi từ A đến F thì có nhiều cách như
A -> B -> D -> E -> F
A -> C -> F

Yếu tố tối ưu đây là gì? Thời gian code, security, ...

Nói đến phần này ngoài yếu tố Con người (DEV) thì cần chú ý những yếu tố như sau:

Máy móc, thiết bị:

Hãy đảm bảo là mình đã có một cái máy ổn để code. Ít nhất là cũng không phải gặp những cái lỗi ngớ ngẩn phát sinh từ một cái laptop lởm. Hãy request lên công ty nếu cần như

- Chuột em die rồi anh ơi.
- Mạng yếu quá, thay cục phát wifi đi anh ơi
- Có con MacPro nhìn đẹp đẹp, anh thay cho toàn bộ nhân viên đi anh =))

Môi trường:

Bạn không thể code ngon trong môi trường quá là ồn ào, đang code hăng thì anh chị em bắt đi đặt chè, xuống xách cơm, ra đấm bóp cho em gái, bla bla.

Code là thứ tồn tại duy nhất, những thứ khác có hay không không quan trọng. 

Con người: Yếu tố quan trọng nhất.

Thật ra mà nói thì yếu tố quyết định đến vị trí của bạn đang ở đâu chính là vấn đề bạn giải quyết một bài toán như thế nào. Cùng một task giao xuống nhưng Dev V thì giải quyết trong 1 tiếng, còn thằng cu Dev T thì mất nửa ngày. Chưa kể vấn đề còn là security, vấn đề tối ưu, ...

Vấn đề này cũng khó nói. Ai Dev cũng muốn bá. Nhưng mới tập tành vào code thì cũng phải từ từ. Chưa kể deadline mà dí đến đít thì chạy cho được cái đã =)). Thôi cứ luyện dần dần, gặp nhiều vấn đề rồi rút kinh nghiệm dài dài vậy.

  • Tự học: lên một số trang luyện code, ví dụ như https://www.hackerrank.com/dashboard https://leetcode.com/
  • Đọc blog thường xuyên: Đọc cái này rất tốt. Có thể đâu đó khi gặp một vấn đề mới chợt nhận ra. À, mình đã đọc trên Kipalog rồi.

https://vinacode.net/ https://toidicodedao.com https://kipalog.com/posts . Cứ đọc bài của tiếng việt cho thạo đã. Nếu giỏi tiếng anh thì có thể tham khảo thêm https://www.joelonsoftware.com/ https://blog.codinghorror.com/ .

  • Đọc sách: là con đường ngắn nhất để học. Mọi người có thể tham khảo ở đây https://itviec.com/blog/5-sach-lap-trinh-kinh-dien/
  • Viết guilde: Gặp một vấn đề hay, hoặc gặp một vấn đề hay gặp phải. Hãy ghi nó lại (Trong laptop, trên blog). Chắc chắn sẽ có ích.
  • Đồng đội: Không gì tuyệt vời hơn khi có đồng đội tốt. Hãy tự tìm hiểu vấn đề trước. Khó quá hãy hỏi đồng đội trong cty. Hỏi PM, CTO, ... Họ luôn sẵn sàng. Code xong sẽ có đồng đội review. Còn gì tuyệt hơn khi làm cùng một tập thể như thế.

c. Search keyword
OK, chúng ta đã mường tượng được cách giải quyết. Nhưng giải quyết nó như thế nào?

Trừ trường hợp quá easy, hoặc trường hợp vấn đề mất quá nhiều thời gian trước khi hỏi các PRO hơn thì hầu như chúng ta sẽ lên google để dựa vào các keyword để tìm phương án thôi.

Tốt nhất là search bằng Tiếng anh. Nó chuẩn. Bạn tưởng tượng 90 triệu dân (Việt Nam) so với hơn 4 tỷ (sử dụng tiếng Anh) hơn kém nhau bao nhiêu lần.

Hãy học tiếng anh, ít nhất là mấy từ tiếng anh Chuyên ngành. Chả có cách nào khác cả.
http://aroma.vn/tieng-anh-chuyen-nganh-cong-nghe-thong-tin/

3. Tóm lại

Nói đi nói lại thì gặp một vấn đề thì Dev PRO sẽ san bằng tất cả.

Chỉ là nếu bạn đang chưa PRO thì luyện cho PRO thôi.

  • Tìm hiểu rõ vấn đề.
  • Luyện tay nghề: làm nhiều, code nhiều.
  • Học tiếng anh.

Bài Bái

(。◕‿◕。) NyLaa (。◕‿◕。)

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Văn Đức Thái

8 bài viết.
42 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
20 15
1. Tản mạn ngoài lề (Ảnh) MySQL với DB thì có cái quần què gì chứ? Đọc thôi để thấy cũng vài cái hay ho và này nọ. 2. MySQL: MyISAM & InnoDB & ...
Văn Đức Thái viết 2 tháng trước
20 15
White
17 13
1. Tản mạn ngoài lề Khuya vật vã. Chẳng ngủ được. Mà chẳng biết làm gì giữa cái lúc dở dở ương ương này. Viết blog vậy :(. Bài viết dành cho các...
Văn Đức Thái viết 2 tháng trước
17 13
White
15 13
1. Tản mạn ngoài lề Câu chuyện ở đây là bạn đang là ai? Bạn đang ở đâu trong thế giới Develop. Bài viết mục đích mọi người soi vào bản thân mình v...
Văn Đức Thái viết 1 tháng trước
15 13
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
8 bài viết.
42 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!