Một ngày làm việc của lập trình viên diễn ra như thế nào? Hãy cùng chúng tôi tìm hiểu nhé
I. DAILY MEETING
Daily meeting là khái niệm rất phổ biến trong các công ty hay team phần mềm. Nó là hoạt động đầu ngày của cả đội.
Daily meeting là gì? là cuộc họp ngắn diễn ra hàng ngày vào 15 phút buổi sáng, để cả từng thành viên team cùng trình bày răng hôm qua họ đã làm những gì và đã gặp khó khăn gì và hôm nay sẽ định làm những gì. Cả team cùng phản biện phân trần các vấn đề và trợ giúp nhau đưa ra hướng giải quyết
Đây là 1 văn hoá khá hay ở các công ty công nghệ, giúp quản lý thời gian công việc hiệu quả, trợ giúp nhau vượt qua các vấn đề đang gặp phải
II. PHÂN TÍCH NGHIỆP VỤ
Với các công ty lớn có phân rõ phòng ban và nhiệm vụ thì phân tích nghiệp vụ là 1 bộ phận đảm nhận riêng gọi là BA. Còn với các công ty cỡ vừa hoặc nhỏ thì đôi khi lập trình viên sẽ phải đảm nhận luôn công việc của BA.
Phân tích nghiệp vụ hay còn gọi là BA (Business Analyst – Phân tích nghiệp vụ).
Họ đứng giữa khách hàng và team phát triển sản phẩm để phân tích yêu cầu khách hàng.
Họ sẽ trả lời các câu hỏi sau trong quá trình làm việc
-
Yêu cầu của khách hàng có thực sự khả thi? Liệu có làm được hay không hay yêu cầu đó là phi lí, nằm ngoài giới hạn của công nghệ
-
Có nên làm tính năng đó không? Có những tính năng khách hàng đưa ra khá tốn kém nhưng giá trị đem lại không cao thì phía BA sẽ phân tích và giải thích cho khách hàng hiểu
Một số công việc điển hình khác của BA:
-
Chuyển đổi yêu cầu của khách hàng thành các đầu công việc cụ thể: Yêu cầu của khách hàng thường mơ hồ, chung chung, BA cần phân tích và làm rõ chúng, chuyển thành các đầu công việc cụ thể.
-
Phân tích rủi ro khi thay đổi (bổ sung) tính năng: Khi một tính năng mới được thêm vào hệ thống, BA cần phân tích xem nó ảnh hưởng tới hệ thống như thế nào.
-
Đưa ra các lời khuyên cho khách hàng: Khách hàng đôi khi rất “vô lý” đòi làm những thứ trên trời dưới bể mà chẳng đem lại lợi ích gì, BA cần phân tích, đưa ra các lời khuyên hợp lý cho khách hàng như “anh không nên làm thế, vì … thay vào đó anh nên làm thế này vì … “.
III. VIẾT CODE
Một ngày làm việc của lập trình viên bao gồm việc viết CODE.
-
Viết code = Ngôn ngữ lập trình + Tư duy lập trình: Ngôn ngữ lập trình học thì dễ, nhưng tư duy lập trình thì phải chịu khó rèn luyện. Nghĩa là để viết code, thì bạn nên tập trung vào tư duy lập trình nhiều hơn là việc học một ngôn ngữ lập trình.
-
Code chỉ là công cụ: Một phần mềm tốt thì bao gồm cả yếu tố “code tốt”, nhưng “code tốt” không có nghĩa là phần mềm tốt. Tức là để tạo ra một phần mềm tốt bạn cần tập trung nhiều kỹ năng hơn vào việc “code sao cho tốt”.
-
Viết code là việc chuyển ý tưởng của con người thành công cụ thao tác trên máy tính: Bạn cần có ý tưởng trước khi viết code
IV. REVIEW CODE
Một ngày làm việc của lập trình viên có công việc là review code. Đây là công việc đánh giá một đoạn code đó tốt hay không, không tốt hay tốt ở điểm nào và cần chỉnh sửa như thế nào. Đây là công việc thường được thực hiện bởi leader hoặc những người có kinh nghiệm code. Họ sẽ review chéo cho nhau để dễ dàng tìm ra lỗi sai và góp ý
Review code là công việc khó và áp lực vì
-
Những dòng code không phải do bạn viết ra nên bạn sẽ phải đi tìm hiểu tại sao nó được viết như vậy. Thật sự tốn chất xám và thời gian
-
Code được bạn review và vẫn lỗi thì đó sẽ là lỗi của bạn.
-
Bạn phải thực sự vắt trí não hơn so với người viết ra đoạn code vì bạn phải tìm ra các trường đoạn code không xử lý được
-
Tuy nhiên nếu review code nhiều thì trình độ của bạn cũng sẽ lên cao
V. TEST
Tester là công việc kiểm thử phần mềm, nhiều team nhỏ thì lập trình viên phải kiêm luôn vai trò của tester
Một phần mềm khi được doe ra sẽ được tester thử chạy xem nó chạy có ổn không. tester cũng sẽ phải nghĩ ra nhiều trường hợp để đảm bảo là phần mềm đó chạy tốt trên tất cả các trường hợp đó.
Tester là nghề khá hot hiện nay và có mức lương từ 10-20tr
VI. HỌP
Các lập trình viên phải thường xuyên họp để hoàn thiện dự án, lunching dự án hay kết thúc dự án
-
Khi có dự án mới => họp.
-
Khi hoàn thiện một dự án => họp.
-
Khi có business không rõ ràng, cần thảo luận lại => họp.
-
Khi thảo luận với đối tác => họp.
-
Khi cần training công nghệ mới => họp.
-
Khi team có thưởng cũng sẽ họp
-
Khi team có member mới là nữ => họp.
Tần suất họp của mỗi team là khác nhau, thời lượng cũng khác nhau tuy nhiên họp là 1 việc phải thường xuyên diễn ra.
VII. TỔNG KẾT
Công việc của lập trình viên không chỉ là CODE mà còn gồm thiết kế hệ thống, quản lý dự án, quan hệ khách hàng. Một ngày làm việc của lập trình viên thường khá bận rộn và đòi hỏi công việc trí óc cao