Lập trình viên làm gì hàng ngày? Họ làm việc cùng nhau như thế nào? Cảm giác như thế nào khi trở thành một lập trình viên trong một công ty? Những loại câu hỏi này đang chờ được trả lời nếu bạn đang cân nhắc bắt đầu sự nghiệp lập trình.

Bài viết này kể về công việc hàng ngày của một lập trình viên. Tác giả là một nhà phát triển phần mềm đang làm việc trong một công ty được vài năm.  Tác giả sẽ kể cho bạn nghe những gì anh ấy thực sự làm trong một ngày bình thường trong cuộc sống lập trình của mình. Trước khi bắt đầu, một điều quan trọng cần đề cập là mỗi công ty hoặc dự án đều có quy trình & phương pháp làm việc riêng. Ngày nay, hầu hết họ làm theo các phương pháp như Scrum hoặc Kanban. Những ví dụ mà tác giả đang nói đến không có nghĩa là nó hoàn toàn giống nhau ở mọi nơi, nhưng sớm hay muộn trong sự nghiệp, bạn sẽ trải nghiệm chúng.

Nội dung

  • 10:00 sáng: Cuộc họp đứng (stand-up) hàng ngày
  • 11:00 sáng: Làm việc nhóm / Lập trình theo cặp
  • 1:00 chiều: lập kế hoạch
  • 2:00 chiều: đánh giá code
  • 3:00 chiều: đánh giá của khách hàng hay product owner
  • 4:00 chiều: triển khai
  • 6:00 chiều: kết thúc

10:00 sáng: Cuộc họp đứng (stand-up) hàng ngày

Khi bạn làm việc trong một công ty, trong hầu hết các trường hợp, bạn sẽ làm việc trong một đội nào đó. Quy mô của một đội có thể khác nhau từ 3 đến 9 người, tùy thuộc vào dự án. Mỗi nhà phát triển làm việc trên một nhiệm vụ khác nhau của cùng một dự án. Các nhiệm vụ có thể liên quan hoặc hoàn toàn khác nhau. Đó là lý do tại sao bạn nên thông báo cho mọi người hàng ngày trong nhóm về những gì mỗi người hiện đang làm.

standup meeting bắt đầu ngày làm việc của lập trình viên

Photo by airfocus on Unsplash

Mỗi buổi sáng, các đội có một cuộc họp ngắn (khoảng 15 phút) để thông báo cho nhau về các chủ đề sau:

  • Những gì mỗi lập trình viê đã làm ngày hôm qua
  • Các lập trình viên dự định làm gì hôm nay
  • Bất kỳ vấn đề gì cần thảo luận

Loại cuộc họp này được gọi là cuộc họp hàng ngày, bởi vì chúng diễn ra hàng ngày và nhóm thực sự đứng lên, đi đến một bảng nơi có tất cả các nhiệm vụ đã viết trên đó và từng người nói về nhiệm vụ của họ. Nếu có ai làm việc từ xa, họ có thể tham gia cuộc họp trực tuyến.

Hãy tưởng tượng rằng bạn không thể giải quyết vấn đề ngày hôm qua trong nhiệm vụ của mình, vì vậy bạn có thể chia sẻ vấn đề và yêu cầu nhóm của mình giúp đỡ trong cuộc họp hàng ngày để một thành viên khác sẽ giúp bạn sau cuộc họp.

11:00 sáng: Làm việc nhóm / Lập trình theo cặp

Do bạn đã chia sẻ rằng bạn không thể giải quyết vấn đề ngày hôm qua và một thành viên khác sẽ đến nhờ trợ giúp và chúng ta cùng nhau xem vấn đề. Đây được gọi là lập trình cặp mà các lập trình viên đôi khi vẫn làm.

Về cơ bản chúng ta làm việc chung một nhiệm vụ. Chúng ta chia sẻ ý kiến của mình, nói về vấn đề, cố gắng hiểu lý do tại sao vấn đề đang xảy ra và giải quyết nó càng nhanh càng tốt. Khi chúng ta tìm ra giải pháp và đạt được thỏa thuận, chúng ta lại tách ra để tiếp tục thực hiện nhiệm vụ của riêng mình.

Photo by NESA by Makers on Unsplash

Trong một số trường hợp, khi 2 người không thể tìm ra giải pháp thì người thứ 3 sẽ tham gia cùng họ (từ bên trong hoặc bên ngoài nhóm) để giải quyết vấn đề.

Nếu bạn gặp khó khăn ở đâu đó, đừng ngại yêu cầu sự giúp đỡ.

Đó là lý do tại sao chúng ta làm việc theo nhóm và giúp đỡ nhau khi có khó khăn. Một số lập trình viên e ngại hoặc ngại yêu cầu hỗ trợ, nhưng điều đó không tốt cho tinh thần đồng đội. Trong các trường hợp khác, một số thành viên trong nhóm có thể không sẵn sàng giúp đỡ nếu họ rất bận hoặc đang bị căng thẳng. Điều này cũng không tốt.

Nếu bạn thấy có vấn đề với công việc nhóm của mình, bạn nên nói chuyện với chuyên gia scrum / huấn luyện viên nhóm của nhóm bạn. Một trong những vai trò chính của họ là tập hợp các cá nhân lại với nhau để làm việc như một nhóm.

1:00 chiều: lập kế hoạch

Vào hầu hết các ngày trong tuần, sẽ có một cuộc họp vào buổi sáng và một cuộc họp thứ hai vào buổi chiều.

Sau bữa trưa, khoảng 13–14 giờ lại có một cuộc họp khác để lên kế hoạch cho nhiệm vụ của mình. Nếu bạn làm việc trong một nhóm scrum, thì bạn cũng sẽ tham gia các cuộc họp sàng lọc đánh giá vào các ngày khác nhau trong tuần. Ở đây chúng ta sẽ không đi sâu thêm chi tiết về sự kiện scrum trong bài đăng này.

Lên kế hoạch

Photo by You X Ventures on Unsplash

Trong cuộc họp lập kế hoạch, chúng ta nói về những nhiệm vụ mà chúng ta sẽ bắt đầu thực hiện trong sprint (scrum) / tuần tới. Thời lượng của cuộc họp này thường khoảng 1 giờ. Nếu các nhiệm vụ được giải thích rõ ràng và các lập trình viên biết phải làm gì, thì chúng ta đưa chúng vào phần công việc tồn đọng và bắt đầu thực hiện chúng trong sprint tiếp theo.

Backlog là một bảng kỹ thuật số / tương tự, nơi tất cả các nhiệm vụ được đặt và sẵn sàng hoạt động. Nếu bạn hoàn thành nhiệm vụ của mình, bạn có thể lấy một nhiệm vụ mới từ công việc tồn đọng của nhóm.

2:00 chiều: đánh giá code

Một số nhiệm vụ của bạn sẽ dễ dàng và nhỏ, vì vậy bạn sẽ có thể hoàn thành nó trong vòng vài giờ. Những nhiệm vụ khác là những nhiệm vụ lớn hơn, có thể kéo dài nhiều ngày hoặc thậm chí hơn một tuần để hoàn thành.

Nếu bạn đạt được để hoàn thành nhiệm vụ của mình, việc tiếp theo bạn làm là gửi nó để đánh giá code. Đánh giá code là code của bạn được một nhà phát triển khác trong nhóm của bạn xem để kiểm tra xem code của bạn được viết đủ tốt để được phê duyệt hay cần cải tiến thêm.

Đánh giá code là một phần của ngày làm việc của lập trình viên

Photo by Pankaj Patel on Unsplash

Việc lập trình không dễ dàng và nếu sản phẩm của bạn cần được viết có chất lượng, thì code của bạn cần được lập trình viên khác xem xét.

Nếu nó đủ tốt, thì nó sẽ được chấp thuận để bạn có thể hợp nhất mã của mình với main branch (master or dev), nếu không, người đánh giá của bạn sẽ yêu cầu những thay đổi mà bạn có thể thấy chúng trên Github / GitLab.

3:00 chiều: đánh giá của khách hàng hay product owner

Giả sử code của bạn có chất lượng tốt và được chấp thuận. Bước tiếp theo của quy trình là xem xét của khách hàng hay chủ sở hữu sản phẩm.

Ví dụ: vì tôi là nhà phát triển Web Front-end, tôi gửi các thay đổi cho khách hàng qua một URL mô phỏng (không phải trang trực tiếp thực tế) để khách hàng có thể kiểm tra trực quan những gì đã thay đổi trong Front-end của trang web.

Nếu khách hàng không hài lòng, họ sẽ sớm liên hệ với bạn và yêu cầu các thay đổi bổ sung, nếu không, họ sẽ chấp thuận và điều này dẫn chúng ta đến bước tiếp theo.

4:00 chiều: triển khai

Triển khai là bước cuối cùng để hoàn thành nhiệm vụ của bạn. Triển khai có nghĩa là tải các thay đổi mới lên trang web trực tiếp thực tế, để mọi người có thể xem trực quan.

Có những công cụ chúng ta sử dụng để thực hiện việc này và khi các thay đổi của bạn đã được khách hàng, chủ sở hữu sản phẩm, v.v. chấp thuận thì bạn hoặc người khác trong nhóm của bạn có thể triển khai nhiệm vụ của mình.

6:00 chiều: kết thúc

🙂

Vậy là đã hết ngày  Như chúng ta có thể thấy, quá trình phát triển trong cuộc sống lập trình hàng ngày của chúng ta không chỉ là viết code.

Chúng ta làm việc theo nhóm, các developer có nhiều nền tảng thông tin khác nhau, những người làm việc đồng thời cho một hoặc nhiều sản phẩm, 1 giám đốc hoặc chủ sở hữu sản phẩm chịu trách nhiệm về sản phẩm và 1 huấn luyện viên nhóm chịu trách nhiệm tăng hiệu quả của nhóm.

Việc lập trình không hề dễ dàng và đó là lý do tại sao quy trình này nên được xử lý cẩn thận và được những người khác kiểm tra kỹ các vấn đề không mong muốn. Hy vọng bài đăng này làm rõ một số câu hỏi của bạn về cuộc sống hàng ngày của một lập trình viên.

Bài của tác giả Cem Eygi