Lập trình viên hay vs. lập trình viên dở

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ấp Bằ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ách Thườ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ật Học ngoại ngữ khá nhanh đặc biệt là tiếng Anh
Kỹ năng giao tiếp Rấ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áo Bả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ước Giống như đánh cờ, dev dở chỉ được 1-2 bước đi, khá dập khuôn Dev hay có nhiều phương án, dự trù được 2-3-4 bước.
Làm việc Thích làm những việc đã quen tay Phấn khích tò mò, khi làm những việc mới lạ
Với đồng nghiệp Cố 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ỗi Bỏ 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ỗi Lậ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ịu Liên tục kêu bận, thiếu thời gian Liê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 gian 20% code, 80% sửa lỗi 40% code, 30% sửa lỗi, 30% đọc sách
Chia sẻ Không viết blog, không chia sẻ mã nguồn Viết bài chia sẻ kinh nghiệm, tham gia một số dự án mã nguồn mở
Gõ code Thí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ật Ra 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ền Khả 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 camp Ngồ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

Chọn nghề nghiệp – khi cả phụ huynh và người học là những kẻ vô trách nhiệm Chọn nghề nghiệp – khi cả phụ huynh và người học là những kẻ vô trách nhiệm Techmaster team Blog Home Liệu có quá muộn để tôi đổi nghề và trở thành một lập trình viên? Liệu có quá muộn để tôi đổi nghề và trở thành một lập trình viên? Hồ Sỹ Hùng
Trịnh Minh Cường

Mình bắt đầu lập trình Pascal từ năm 1993, với chiếc máy PC 2Mb RAM, 40Mb ổ cứng. Đến nay, đã hoàn thành gần 60 dự án phần mềm lớn nhỏ. Mình dạy lớp iOS, Node.js tại Techmaster. Ngoài ra mình còn làm cố vấn công nghệ cho các nhóm khởi nghiệp, kiêm quản lý dự án tại Techmaster. Mình bơi mỗi ngày 2000 mét.