Series Nhập Môn Lập Trình – Công việc thường ngày của một lập trình viên

Đây là bài viết đầu tiên trong series Nhập Môn Lập Trình Không Code. Như mình đã nói ở bài viết trước, đây là series mang tính định hướng, giúp các bạn sinh viên hoặc các em lớp 12 có cái nhìn tổng quát hơn về ngành phần mềm trước khi quyết định theo đuổi nó.

Bài viết này sẽ trả lời câu hỏi “Làm lập trình viên là làm gì?” và giới thiệu những công việc hằng ngày của mỗi lập trình viên.

Làm lập trình viên là làm gì?

Nói một cách đơn giản, công việc của lập trình viên là “lập trình”, tức là viết code để tạo ra phần mềm. Phần mềm ở đây có thể là ứng dụng di động (Google Map, Camera 360), game (Flappy Bird, Angry Bird), web (Facebook, Instagram), ứng dụng Window (ứng dụng quản lý, bán hàng…) hoặc các hệ thống nội bộ cho các công ty.

Qui trình cơ bản để tạo ra một phần mềm thường bao gồm: business analysis (BA) phụ trách phân tích nghiệp vụ và lấy yêu cầu của khách hàng; designer để thiết kế các màn hình và luồng chạy; lập trình viên (developer) sẽ dựa vào đó để viết code tạo nên chương trình; sau đó tester đã chạy thử để tìm lỗi và… quăng cho developer sửa.

Với các web, ứng dụng nho nhỏ, lập trình viên sẽ tự mình làm hết các công đoạn trên, từ lấy yêu cầu khách hàng cho tới design và viết code, sau đó test thử sản phẩm.

Công việc hàng ngày của mỗi lập trình viên

Tới đây chắc bạn cũng hiểu sơ về công việc của mỗi lập trình viên. Tuy nhiên, nhiều bạn sinh viên vẫn không rõ khi đi làm mình sẽ phải làm những việc gì.

Làm một lập trình viên, công việc thường ngày của bạn đa phần là xoay quanh chiếc máy tính:

  • Code: Phần lớn thời gian đi làm của bạn là dùng để code. Ở vị trí junior hoặc developer, bạn sẽ code những hàm hoặc chức năng nhỏ. Ở các vị trí cao hơn bạn sẽ nhận nhiều trách nhiệm hơn, code các module phức tạp hơn.
  • Test: Thông thường, sau khi code xong một chức năng nào đó, ta sẽ đưa cho tester test để tìm lỗi. Tuy vậy, trước khi đưa cho tester, ta cũng phải chạy thử và viết unit test cẩn thận để chắc chắn chương trình chạy đúng, module đã hoàn thành.
  • Fix bug: Bug là những lỗi ta gặp khi code, làm chương trình chạy sai. Code thì lúc nào cũng có bug, không ít thì nhiều. Khi phát hiện bug, ta phải vọc và sửa code để chương trình chạy đúng.
  • Học cái mới: Đôi khi ta phải tham gia một dự án sử dụng công nghệ mới hoặc công nghệ… quá cũ mà ta không biết. Lúc này ta phải tự học công nghệ đó (thông qua ebook, khoá học online) để có thể làm việc được.

Lập trình viên không phải chỉ biết code

Tuy nhiên, như mình đã nói, lập trình viên không phải lúc nào cũng code. Ngoài code ra, ta còn phải làm khá nhiều việc không dính dáng tới máy tính như:

  • Suy nghĩ: Trước khi đặt bút viết code, nhầm, gõ code, ta cần phải ngồi phác thảo và suy nghĩ hướng giải quyết. Việc suy nghĩ cẩn thận trước khi code rất quan trọng, nó giúp bạn có cái nhìn tổng quát vấn đề, không bỏ quên các trường hợp thừa.
  • Phân tích/Thiết kế: Với các module phức tạp, trước khi code bạn phải làm việc với đồng đội cùng team để phân tích rõ ràng, thiết kế các module trước khi code. Việc này khá là vui, hồi bên UK cứ mỗi lần cần thảo luận là mình và teammate lại kiếm cái bảng, vừa viết viết vẽ vẽ phân tích vừa chém gió.
  • Họp hành và báo cáo: Theo qui trình Scrum, mỗi ngày bạn sẽ mất khoảng 10 phút tham gia họp Scrum (Daily Meeting) để báo cáo về những việc mình đã/sẽ làm. Ngoài ra, bạn còn phải tham dụ đủ thứ cuộc họp liên quan đến thiết kế hệ thống, báo cáo tình hình, họp demo cho khách hàng.
  • Giao tiếp với khách hàng/stackholder: Theo lý thuyết thì BA sẽ giao tiếp với khách hàng và lấy requirement, developer chỉ việc code. Tuy nhiên, trên thực tế, ở các công ty hoặc team nhỏ, đôi khi chính developer phải nói chuyện với khách hàng để làm rõ yêu cầu, demo sản phẩm. Thời còn làm FPT, mình vẫn phải lên forum để hỏi khách hàng và bên designer về những phần chưa rõ.

Kết luận

Ở phần này, chúng ta đã tìm hiểu những việc mà hầu như developer nào cũng làm hằng ngày trong khoảng thời gian đầu đi làm.

Khi bạn lên các vị trí cao hơn,  thời gian code sẽ ít đi, thay vào đó bạn sẽ bỏ nhiều thời gian hơn để phân tích thiết kế, phỏng vấn developer nếu bạn theo hướng technical; hoặc bỏ nhiều thời gian hơn để quản lý, giao tiếp với khách hàng nếu ban đi theo hướng management.

Bạn nào đi làm rồi thấy gì còn thiếu trong bài viết thì cứ comment cho mình bổ sung nhé!

Ở phần sau, chúng ta sẽ tim hiểu về những tư chất cần có để theo ngành lập trình? Làm sao biết liệu bạn có phù hợp với ngành lập trình? Nhớ like và theo dõi fanpage để đón xem nhé.

Advertisements

One thought on “Series Nhập Môn Lập Trình – Công việc thường ngày của một lập trình viên”

  1. Theo mình điều quan trọng nữa là lên lịch làm việc chu đáo. Không phải từng ngày mà từng xử lý.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s