Tác giả: Andrej Kovacevic
Khó khăn trong lúc lập trình là một trong những vấn đề mà bất kì lập trình viên nào cũng có thể gặp phải. Với một số lập trình viên, việc mỗi ngày đều phải tiếp xúc với dấu chấm phẩy, dấu ngoặc và dấu ngoặc đơn (ai mà không lãng phí hàng giờ để tìm kiếm một trong những thứ mà họ đặt sai vị trí hoặc bỏ sót), gần như đã trở thành một sự “ám ảnh”.
Nhưng hiện nay, vấn đề lập trình phổ biến nhất mà các lập trình viên trải qua chính là mắc kẹt trong các ý tưởng, không thể cho ra những đoạn code và đạt kết quả mà mình mong muốn. Nhờ những kinh nghiệm làm việc của bản thân, tôi sẽ chia sẻ với bạn về việc làm thế nào để khắc phục tình trạng này.
1. Bắt đầu các dự án trên giấy trước
Hầu như bất cứ khi nào tôi gặp rắc rối khi làm việc trong một dự án, những khó khăn trong lập trình phát sinh tôi đều có thể truy tìm nguyên nhân cụ thể của nó. Bằng cách nào? Đó là tôi đã cố gắng xây dựng các dự án bằng cách xoay quanh tổng thể những việc cần phải làm.
Khi bạn làm điều này, bạn sẽ nhận ra sự to lớn và đa dạng của dự án mã hóa mà bạn phải làm việc. Thêm vào đó, bắt đầu viết code mà không có ý tưởng cụ thể về thứ mình cần làm là gì, kết quả sau cùng chắc chắn sẽ không tốt, thậm chí là một sự thất bại đáng sợ.
Thay vào đó, hãy phác thảo những nét sơ bộ về dự án sắp phải làm việc trên giấy trước. Đó là điều mà các lập trình viên thế hệ trước thường làm theo thói quen, nhưng các lập trình viên trẻ tuổi hiện tại có xu hướng bỏ qua. Tất cả những gì bạn phải làm là viết ra mục đích hoạt động của chương trình, sau đó là danh sách các chức năng con mà bạn nghĩ sẽ làm cho mọi thứ hoạt động tốt hơn.
Hành động tưởng chừng đơn giản này giúp bạn dễ dàng chia nhỏ dự án thành các phần hợp lý hơn. Ngoài ra, đây cũng là cơ hội phát hiện trước các vấn đề có thể làm bạn chậm lại trong quá trình làm việc sau này.
2. Hoạt động trong SandBox
Đôi khi cách tốt nhất để vượt qua việc bí ý tưởng trong lúc lập trình là xây dựng một thứ gì đó – bất cứ thứ gì – miễn là nó hoạt động được. Vì vậy, nếu tôi gặp phải một nội dung khó khăn mà cảm giác khiến tôi như chẳng thế tiến thêm được kết quả gì, tôi sẽ chuyển sang SandBox và cố gắng xây dựng một thứ gì đó thú vị hơn với nền tảng này.
Bởi vì tôi thường làm việc và xử lý giao diện người dùng web, các trang web tôi thường truy cập sẽ là CodeSandbox và CodePen, nhưng chắc chắn sẽ có nhiều website khác có thể phù hợp với nhu cầu của bạn hơn một chút.
Ví dụ: Replit sẽ cho phép người dùng viết code trực tiếp bằng hơn 50 ngôn ngữ và thậm chí có thể chuyển sang cộng đồng tích hợp của họ để yêu cầu trợ giúp nếu bạn gặp khó khăn về vấn đề nào đó.
Xem thêm Lập trình viên đánh đổi gì khi theo ngành lập trình
3. Duy trì công việc đang dang dở
Một điều góp phần vào việc xây dựng ý tưởng lập trình của cá nhân tôi là không có danh sách các nhiệm vụ đơn giản, có thể hoàn thành ngay, mà tôi có thể chuyển sang khi muốn tiếp tục đạt được tiến độ trong một dự án.
Nói cách khác, khi bạn đang làm việc với một thứ gì đó đặc biệt khó khăn trong lập trình, bạn sẽ muốn dành thật nhiều thời gian để suy nghĩ và hoàn thành nó. Dù dành ra quá nhiều thời gian nhưng có thể kết quả sẽ chẳng thể đi đến đâu. Để tránh phải điều đó, bạn nên duy trì một danh sách những task còn tồn đọng trong suốt quá trình chạy dự án. Tôi sử dụng một công cụ tương tự như một Scrum product backlog (ngay cả khi tôi không làm việc với một nhóm) để lưu trữ thông tin.
Ghi chú vào đó những thứ như tái cấu trúc mã và thay đổi giao diện,… Những vấn đề đơn giản sẽ có độ ưu tiên thấp nhất và cứ thế triển khai với vấn đề khó khăn hơn. Sau đó, khi gặp trục trặc, bạn có thể giải quyết những việc đơn giản đó như một phương tiện để tiếp tục tiến lên với dự án của mình.
Đôi khi, hoàn thành ngay cả một nhiệm vụ đơn giản nhất cũng đủ giúp bạn trở lại đúng hướng và tạo ra những code tốt một lần nữa nhờ cảm giác tin tưởng vào bản thân hơn.
4. Nghỉ ngơi đúng cách và có chiến lược
Nếu bạn dành một chút thời gian để tra cứu ý tưởng lập trình trên công cụ tìm kiếm yêu thích của mình, mỗi bài viết bạn thấy sẽ đều khuyên bạn nên nghỉ ngơi để thoát khỏi những áp lực và thử thách lập trình khó khăn. Tuy nhiên, điều quan trọng là bạn phải biết cách để thư giãn một cách hợp lí. Việc nghỉ ngơi thiếu logic có thể là một con dao hai lưỡi. Nếu không cẩn thận, những khoảng thời gian nghỉ của bạn sẽ bị lãng phí cho những thứ khác, chẳng hạn như sẽ chìm đắm vào chiếc điện thoại hay game đang chơi dở. Lúc này thì những khó khăn trong lập trình sẽ như quả cầu tuyết – càng lăn càng lớn.
Tôi đã nhận ra điều này khi lần đầu tiên tìm kiếm các mẹo vượt qua khó khăn khi lập trình. Lúc đầu, tôi khá có trách nhiệm với những khoảng thời gian nghỉ ngơi của mình – chỉ cần đi bộ năm phút hoặc đến máy pha cà phê khi tôi muốn đầu óc tỉnh táo, rồi sau đó tôi sẽ quay lại với công việc.
Nhưng ngay sau đó, tôi nhận ra mình đang tìm kiếm lý do để không bị phân tâm vào bất cứ điều gì tôi đang mắc kẹt. Chẳng hạn như việc tôi dành nửa ngày lùng sục trên internet để tìm một chiếc card màn hình PCIe có giá cả hợp lý mà không cần phải đưa vào danh sách chờ.
Nghỉ giải lao là một cách hợp lý để thử và vượt qua việc bí ý tưởng, nhưng đương nhiên, đó là chỉ khi bạn sử dụng chúng một cách đúng đắn. Cuối cùng tôi nhận thấy rằng việc sử dụng thời gian có hạn, không sử dụng máy tính hoạt động tốt như là bước cuối cùng trong quá trình thiết lập lại có chủ ý cho não của tôi.
Hiện tại, khi tôi gặp khó khăn, thời gian nghỉ ngơi của tôi sẽ như thế này:
- Dành 15 phút để giải quyết vấn đề
- Dành 5 phút để xem xét mọi thứ từ đầu
- Dành thêm 15 phút để giải quyết vấn đề
- Đi bộ ít nhất 10 phút để làm điều gì đó không liên quan đến mã hóa
- Bắt đầu lại từ đầu
Hầu như mọi lúc, tôi sẽ tìm thấy câu trả lời mà tôi đang tìm kiếm sau khi nghỉ ngơi khoảng 10 phút như thế này. Đó là lý do tại sao phải có một khoảng thời gian ngắn sau đó ngay lập tức quay trở lại với nó. Lâu hơn nữa có thể khiến bạn bị phân tâm và thậm chí quên mất mình đã dừng lại ở đâu và cần làm gì tiếp theo.
Và nếu may mắn, bạn sẽ không phải lặp lại quá trình trên thường xuyên. Bằng cách đó, bạn có thể tập trung và tránh lãng phí quá nhiều thời gian cho những công việc không hiệu quả. Tuy nhiên, hãy cẩn thận, không được bỏ qua hoàn toàn các giờ giải lao. Bạn nên cân nhắc thời gian giãn cách công việc để thư giãn, nó không chỉ tốt cho việc phát huy ý tưởng mới mà còn cần thiết vì sức khỏe của bạn.
5. Luôn luôn để lại những ghi chú cần thiết
Khi nói đến sự khó khăn trong việc phát triển các ý tưởng phần mềm, câu nói “phòng bệnh hơn chữa bệnh” chắc chắn không thể đúng hơn. Đó là lý do tại sao tôi xây dựng thói quen kiểm soát thời gian và cách thức tôi tạm dừng công việc của mình khi đang thực hiện một dự án mã hóa.
Tôi làm điều này bởi vì tôi thấy rằng việc bị gián đoạn và không hoàn thành được bất cứ việc gì đang làm giữa chừng không gây ra vấn đề gì, ngoài việc đau đầu để tìm lại vị trí công việc ở nơi mà tôi đã dừng lại.
Xem thêm 8 cạm bẫy lập trình viên dù biết vẫn khó tránh khỏi
Thay vào đó, nếu tôi cần ngừng làm việc, tôi sẽ để lại những ghi chú cụ thể và chi tiết cho biết tôi cần làm gì tiếp theo. Ngay cả khi tôi đang vội, tôi vẫn để lại vài dòng note để dễ dàng hơn khi bắt nhịp công việc của mình lúc quay lại.
Nó giúp tôi giảm được những rắc rối liên quan đến việc quay trở lại “chế độ lập trình” vì tôi không phải suy nghĩ quá nhiều để bắt đầu tại nơi tôi đã dừng lại. Cả hai vấn đề đều có thể làm bạn chậm lại và khiến bạn gặp nhiều trở ngại trong việc lập trình.
Bài viết được phỏng dịch theo bài viết gốc tại freecodecamp.org
Có thể bạn quan tâm:
- Có một nỗi khổ mang tên “thành viên mới” – Những khó khăn khi mới vào team
- Khó khăn của một CTO – Chief Technology Officer
- Tại sao nhiều lập trình viên giỏi không đưa ra lời khuyên để người khác có thể được như họ?
Xem thêm Việc làm IT Jobs for Developer hấp dẫn trên TopDev