Nguyên tắc của Thủy quân lục chiến và lập trình
Nguyên tắc của Thủy quân lục chiến nói rằng: nếu bạn tìm được những nam nữ đủ thể chất, thì với việc huấn luyện và luyện tập đúng cách, bạn gần như có thể biến bất kỳ ai trong số họ thành một chiến binh xuất sắc. Lập trình — cũng là một kỹ năng, như biết chơi guitar, bơi lội hoặc đi xe đạp. Không ai sinh ra đã biết đi xe đạp.

Có không ít người thông minh và có năng lực làm việc nhiều gấp đôi lập trình viên nhưng kiếm được ít hơn bốn lần. Có lẽ họ chỉ đang không ở đúng vị trí của mình?
Vì sao lại là lập trình?
Trước khi dạy ai đó lập trình, tốt hơn hết là hãy làm rõ nó mang lại cho họ điều gì.
1. Công việc đơn giản và thú vị
Lập trình — là một công việc đơn giản và thú vị. Không gian sáng tạo rất lớn. Nhiều lập trình viên mới vào nghề ban đầu khó tin rằng giờ đây họ đang làm điều mình thích mà còn được trả tiền cho nó. Rồi họ sẽ quen.
2. Thu nhập cao
Thật vui khi thấy những chuyên gia giỏi sau 5 năm làm việc bắt đầu mua xe hoặc nhà cho mình.
3. Lịch làm việc linh hoạt
Lịch làm việc cứng nhắc — thật khó chịu. Bất kỳ ai từng mắc kẹt trong tắc đường giờ cao điểm, hoặc bị phạt vì đi muộn 5 phút, đều sẽ xác nhận điều đó. Còn khả năng đến công ty lúc 11 giờ sáng, và ra về lúc 5 thì sao? Bạn nói, mơ ư? Với phần lớn lập trình viên, đó là thực tế. Chỉ cần bạn hoàn thành công việc, sẽ chẳng ai nói gì. Ở nhiều công ty, bạn thậm chí không cần đến văn phòng, mà làm việc tại nhà. Luôn có thể thương lượng.
4. Phát triển nghề nghiệp
Hầu như ở bất kỳ tổ chức nào, để có vị trí danh giá và thu nhập tốt, bạn phải xây dựng sự nghiệp. Với lập trình viên, chỉ cần tiếp tục làm lập trình viên là đủ. Bạn không cần chuyển từ lập trình viên sang quản trị viên hoặc tranh đấu cho chức trưởng phòng. Chỉ cần phát triển chuyên môn. Lập trình viên với 5–10 năm kinh nghiệm nhận mức lương rất cao.
5. Khả năng dịch chuyển quốc tế cao
Ba chuyên môn được trả lương cao nhất trên thế giới: luật sư, bác sĩ phẫu thuật/bác sĩ và lập trình viên. Làm luật sư ở nước ngoài rất khó: luật pháp khác, án lệ v.v. Bác sĩ phải học ngôn ngữ, chuẩn y khoa khác, và còn phải thi lại. Lập trình viên thì chẳng phải học lại gì cả. Cùng một ngôn ngữ. Cùng chuẩn mực. Thậm chí khách hàng thường cũng giống nhau.
6. Mức lương cao nhất trong ngành

Thuộc nhóm cao nhất. Điều này đặc biệt đúng với các lập trình viên mới vào nghề.
Không thể đọc một cuốn sách và trở thành lập trình viên. Ở đây cần tối thiểu 500 giờ thực hành. Giống như trong boxing. Không thể chỉ xem hết các trận đấu và trở thành chuyên nghiệp. Bạn phải dành những buổi tối dài cho việc tập luyện trong phòng gym (vì thế ở CodeGym có rất nhiều bài tập thực hành).
Mọi lời hứa dạy lập trình trong 10 giờ tương đương với lời hứa dạy bạn boxing trong 10 giờ. Rồi bước lên võ đài! Đừng làm vậy.
Đôi khi, khi người mới hỏi trên diễn đàn cách trở thành lập trình viên, họ được bảo: hãy tự nghĩ ra bài tập và làm chúng. Cách đó không hiệu quả. Vấn đề là con người không thể tự nghĩ ra một bài tập nằm ngay ngoài rìa hiểu biết hiện tại của mình. Hoặc bạn biết, hoặc bạn không.
Chỉ có người thực sự nắm vững chủ đề mới có thể thiết kế cho bạn một chuỗi bài tập, mỗi bài dạy bạn một điều mới và không đòi hỏi cả tuần để mày mò. Đó chính là điều chúng tôi đã làm.
Cách tiếp cận đổi mới trong học tập
Việc học ở CodeGym không giống như ở đại học. Bạn sẽ nhanh chóng nhận ra điều đó. Nhưng nó hiệu quả hơn.
Ở đại học, rất có thể bạn học theo mô hình: các bài giảng dài và phần thực hành để củng cố chúng. Cách tiếp cận này nhằm cung cấp cho bạn kiến thức rộng. Nhưng kỹ năng thực hành thực sự của bạn thì còn nhiều điều phải cải thiện. Thành thật mà nói, với kiểu học đó, bạn gần như chẳng làm được điều gì ra hồn.
Ở đây — cách tiếp cận khác. Lý thuyết — là kiến thức, và kiến thức — là câu trả lời cho các câu hỏi của chúng ta. Vì vậy trước hết chúng tôi đưa ra câu hỏi — các bài tập thực hành khó giải với lượng kiến thức hiện tại của bạn, rồi mới đến câu trả lời (lý thuyết, thứ cho phép giải chúng dễ dàng hơn.
Tài liệu mới được trình bày theo ba giai đoạn:
- Làm quen (lý thuyết tối thiểu hoặc một vài bài tập thực hành).
- Khối kiến thức chính (bạn cần hiểu trọn vẹn vấn đề).
- Chi tiết và sắc thái vận hành (lấp đầy các khoảng trống).
Như vậy, bạn sẽ chạm vào cùng một chủ đề ít nhất ba lần. Chưa kể mọi thứ liên kết chặt chẽ với nhau và gần như không thể giải thích trọn vẹn một chủ đề mà không giới thiệu trước, dù chỉ một phần, các chủ đề khác.
Một số học viên thậm chí còn phàn nàn về các bài tập: rằng chúng tôi vẫn chưa học cái này. Những bài như vậy — là dịp để suy ngẫm: làm sao giải được với bộ kiến thức hiện tại? Bạn sẽ tốn một hai tiếng cho các bài đó, nhưng sau đó sẽ vui mừng khi gặp một cách tiếp cận độc đáo mới hoặc một lời giải đẹp.
Hơn nữa, trong đời thực ở nơi làm việc, bạn cũng sẽ nhận nhiệm vụ trước, rồi mới tìm kiến thức cần thiết để giải quyết nó. Đời thực — là như vậy. Vì thế, bạn càng sớm quen với cách tiếp cận này càng tốt.
GO TO FULL VERSION