Làm thế nào để trở thành một lập trình viên giỏi?
Lập trình viên hay vs. lập trình viên dở

Người hay thì biết điểm mạnh và cả điểm yếu của mình. Người dở thì chỉ biết điểm mạnh, mà không biết (lờ) đi điểm yếu hoặc chỉ thấy điểm yếu của mình mà tự ti, lùi bước. Một số ghi chú:

  • Không ai mới vào nghề lập trình đã giỏi ngay. Hoặc tỷ lệ này chỉ là 1%. Trở thành dev hay cần có 5% tố chất ban đầu cộng nhiều năm (> 5 năm) kiên trì làm việc học hỏi
  • Code dở trong lĩnh vực lập trình nhưng có thể làm tốt ở lĩnh vực khác và ngược lại.
  • Dev dở có thể cải thiện nếu chịu khó quan sát, học tập và thay đổi mạnh mẽ.
  • Một tháng không trực tiếp lập trình làm sản phẩm, hao hụt 6-8 tháng  kinh nghiệm tích lũy trước đó. 4 năm không lập trình kinh nghiệm coi như về không.

Techmaster đang tuyển giảng viên là lập trình viên. Yêu cầu code phải ngon (Dev Hay). Anh em thấy mình có những tiêu chí của Dev Hay thì tham khảo tin tuyển dụng này nhé.

 Dev DởDev Hay
Học ở trường nào?Một số đại học có uy tín lâu năm, sẽ cung cấp tỷ lệ dev tốt cao hơn, ổn định hơn so với các trường còn lại. Tuy nhiên học đại học mới chỉ bước khởi động ban đầu.
Bằng cấpBằng cấp không nói lên trình độ của lập trình viên. Tuy nhiên ở Việt nam, hãy cẩn thận khi tuyển lập trình viên có bằng thạc sỹ. Phần đông họ lý thuyết nhiều hơn là thực tế. 70% số họ đi học cao học để chạy trốn thực tế nhiều hơn là đam mê nghiên cứu khóa học công nghệ 
Đọc sáchThường ít đọc sách. Hoặc tải về rất nhiều sách ebook, nhưng không thực sự đọc quyển nào, đọc hời hợt, đọc một lúc là mất tập trungĐọc sách lẹ, nắm bắt, tổng hợp thông tin nhanh, không nhất thiết phải đọc từ đầu xuống cuối. Tra danh mục và chỉ mục rất lẹ
Ngoại ngữNgôn ngữ lập trình bản thân nó cũng là một dạng ngôn ngữ với số từ vựng hữu hạn, ngữ pháp cực chặt chẽ. Nhưng sự sáng tạo thì không hạn chế. Lập trình viên dở thường học ngoại ngữ rất chật vậtHọc ngoại ngữ khá nhanh đặc biệt là tiếng Anh
Kỹ năng giao tiếpRất đa dạng - đủ loại. Dân gian có câu "Mồm miệng đỡ chân tay" hay "Miệng chèo khéo chống". Lập trình là công việc kỹ thuật. Nếu kỹ thuật kém thì bù lại ngoại giao giỏi.Thường nhút nhát - ít nói. Khả năng ngoại giao bình thường - thậm chí lập dị. Lập trình viên giỏi có quá nhiều mối bận tâm.
Kỹ năng báo cáoBản báo cáo rất dài dòng, mục tiêu thì nhiều nhưng ít giải pháp cụ thể hay đầu việc cụ thể.Ít báo cáo. Báo cáo ngắn gọn. Thường là có sản phẩm rồi mới báo cao.
Tính nhiều bướcGiống như đánh cờ, dev dở chỉ được 1-2 bước đi, khá dập khuônDev hay có nhiều phương án, dự trù được 2-3-4 bước.
Làm việcThích làm những việc đã quen tayPhấn khích tò mò, khi làm những việc mới lạ
Với đồng nghiệpCố gắng giao tiếp tốt với đồng nghiệp trong những hoạt động ngoài công việc: nhậu, bia bọt, bóng bánh. Cố tỏ ra thân thiện với project manager, nhưng lảng tránh tester.Đồng nghiệp thường ra chỗ lập trình viên hay để hỏi ý kiến hoặc xem những chức năng cool anh này tạo ra.
Thẳng thắn, có thể xung khắc với project manager, nhưng với tester, sản phẩm của dev gây ít phiền toái cho tester.
Khi gặp lỗiBỏ cuộc sớm, đổ tại cho các bên liên quan, biểu hiện cáu giận
Im lặng quan sát, kiểm tra đầu vào, đầu ra, thử các trường hợp, khác nhau.
Nếu sửa được lỗiLập tức quên ngay, và tự thưởng cho mình bằng cách vào Internet, check FaceBook. Bản vá lỗi lại tiếp tục gây ra vài lỗi khác. Hoặc tiếp tục phạm lỗi này ngay tuần sau.Kiểm tra một vài lần nữa, sau đó rút ra kinh nghiệm, chia sẻ trên Blog hoặc ghi lại. Không bao giờ lặp lại lỗi đã tìm ra và rút kinh nghiệm,
Bận bịuLiên tục kêu bận, thiếu thời gianLiên tục có những ý tưởng mới, sáng kiến mới, giải pháp mới
Phân bổ thời gian20% code, 80% sửa lỗi40% code, 30% sửa lỗi, 30% đọc sách
Chia sẻKhông viết blog, không chia sẻ mã nguồnViết bài chia sẻ kinh nghiệm, tham gia một số dự án mã nguồn mở
Gõ codeThích copy and paste, gõ lệnh thủ công. Thường sử dụng phương pháp trial - error (thử đúng sai).Thích tối ưu mã và viết mã để chạy tự động thay cho thủ công. Mềm dẻo ứng dụng các phương pháp khác nhau đề giải quyết vấn đề.
Lý trí vs cảm tínhĐánh giá vấn đề bằng cảm tính, dựa vào số đông. Hay bộp chộp hoặc quá do dự khi ra quyết định liên quan đến kỹ thuậtRa quyết định sau khi phân tích, thu thập số liệu có luận cứ rõ ràng.
Khả năng kiếm tiềnKhả năng kiếm tiền từ lập trình đơn điệu, tẻ nhạt. Ít có cơ hội tự chủ tài chính khi ngoài 45 nếu chỉ lập trình. Nếu chuyển sang làm quản lý, bán hàng từ năm 35 có thể sẽ tốt hơn.Biết cách bán sức lao động, kỹ năng với giá tốt. Khả năng tự chủ tài chính khi ngoài 45 tuổi là rất cao. Tuy vậy có một số lập trình viên giỏi quá tập trung vào kỹ thuật, kiếm tiền không thuộc quan tâm của họ: Steve Wozniak sáng lập Apple một ví dụ
Quản lýChưa chắc đã là nhà quản lý kém. Mourinho, Ferguson là những cầu thủ có kỹ thuật tồi, nhưng quản lý, huấn luyện rất xuất sắc
Chưa chắc đã là nhà quản lý giỏi. Lothar Matthäus là cầu thủ xuất sắc, nhưng lại là huấn luyện viên kém thành tích
Trong code campNgồi nhìn người khác code, đi mua nước, phục vụ đồ ăn. Quan trọng đấy chứ !Code thay cho phần cả team

Tham khảo thêm slide "Good vs bad programmer"

Học lập trình trực tuyến để trở thành một lập trình viên giỏi