Tuy ai cũng có thể học cách bắt đầu lập trình, nhiều người vẫn không dám dấn thân vì lo rằng cần có bằng khoa học máy tính, vì họ còn quá trẻ, vì họ “không giỏi toán”, hoặc cho rằng đã có đủ lập trình viên rồi.
Không gì sai hơn thế. Lập trình là về việc giải quyết vấn đề. Đúng, có thể mất chút thời gian để thành thạo từng ngôn ngữ cụ thể, nhưng có vô số tài nguyên cho mọi phong cách học khác nhau.
Đây là những điều cốt lõi để tự học lập trình.
1. Nghĩ ra một dự án đơn giản
Bạn không thể học nghề mộc mà không đóng vài cái tủ. Tương tự, khi học lập trình, cách luyện tập tốt nhất là viết chương trình. Thiếu một dự án rõ ràng, bạn rất dễ mất tập trung và động lực. Vậy nên hãy nghĩ ra một ý tưởng và hướng tới mục tiêu đó.
Hãy cố giữ cho dự án thật đơn giản. Ví dụ, hãy bắt đầu nhẹ nhàng với một ứng dụng tính ngân sách, hoặc thử dựng lại một trò kinh điển như Hangman.
Chúng tôi không thể nhấn mạnh hơn về tầm quan trọng của việc này. Vì vậy, trước khi lao vào chọn ngôn ngữ hay đọc sách, hãy nghĩ ra một ý tưởng. Có rồi chứ? Tuyệt. Cùng tiếp tục nào.
2. Cài đặt phần mềm bạn cần

Bạn không cần nhiều thứ để bắt đầu viết mã. Phần đôi khi cần thiết lập một chút là làm sao để máy tính biết cách chạy mã đó. Vì vậy, nếu bạn hoàn toàn mới với lập trình, có vài điều bạn cần biết.
Nó có thể đơn giản như một trình soạn thảo văn bản
Khi viết mã, tất cả những gì bạn cần làm là lưu tệp đúng định dạng. Ví dụ, nếu dùng Python, bạn lưu tệp văn bản là .py thay vì .txt. Bạn có thể làm việc dễ hơn bằng cách tải Notepad++, giúp bạn phát hiện chỗ sai trong mã.
Máy tính của bạn cần biết cách đọc mã nguồn
Khi bạn chạy một tệp, máy tính cần biết phải làm gì với toàn bộ đoạn mã. Vì vậy hãy tìm hiểu xem cần cài đặt những gì trước khi thử chạy tệp.
Bạn có thể dùng phần mềm tổng hợp mọi thứ bạn cần
Một khi đã biết muốn học ngôn ngữ nào và bắt đầu viết những chương trình phức tạp hơn, bạn sẽ muốn tải về một Môi trường phát triển tích hợp (IDE).
Một IDE gộp chung khả năng chỉnh sửa mã, xem mã chạy theo thời gian thực và tạo ra tệp cuối cùng bạn cần. Chúng không bắt buộc, nhưng giúp công việc dễ dàng hơn rất nhiều.
Làm quen với cửa sổ dòng lệnh (console)
Có lẽ bạn đã quen dùng máy tính với giao diện được thiết kế đẹp mắt. Đó gọi là Giao diện đồ họa người dùng (GUI). Nhưng giờ bạn sắp trở thành lập trình viên, sẽ rất hữu ích nếu biết cách dùng cửa sổ đen quyền lực: cửa sổ dòng lệnh (console — giao diện dòng lệnh).
Không khó đâu, chỉ là có lẽ còn lạ lẫm với bạn. Có một hướng dẫn rất hay của The New Boston về cách dùng Dòng lệnh Windows.
Tham gia cộng đồng học lập trình

Giờ bạn đã nắm những điều cơ bản, đã đến lúc đi vào chi tiết. Có rất nhiều nơi trên mạng để đặt câu hỏi, được giúp gỡ những vấn đề khó nhằn và học các thực hành tốt nhất. Tham gia một cộng đồng có thể khích lệ bạn tiếp tục, và cho bạn chút định hướng khi cảm thấy lạc lối.
Dưới đây là bốn cách hay để bắt đầu:
- Reddit: /r/learnprogramming. Một nguồn tài nguyên thiết yếu tập hợp mọi thứ bạn có thể cần để học ngôn ngữ của mình.
- Stack Overflow. Mỗi khi bạn gặp vấn đề, gần như chắc chắn có ai đó đã giải quyết nó rồi. Stack Overflow là một trong những diễn đàn tốt nhất để tìm những lời giải đó.
- Meetup. Đừng đánh giá thấp lợi ích của việc quen biết ngoài đời những người cũng lập trình.
- Hackathon. Những sự kiện này quy tụ mọi người lại để nhanh chóng tạo ra các chương trình, thường trong một cuối tuần. Bạn có thể tìm thấy rất nhiều trên mạng, nhưng hãy thử bắt đầu với Major League Hacking.
Tham gia cộng đồng tuy không dạy bạn một ngôn ngữ, nhưng sẽ giúp bạn nhận ra mình đã sai ở đâu.
Đọc một vài cuốn sách

Có vô số cuốn sách về cách bắt đầu lập trình. Đọc sách có thể giúp bạn nắm vững lý thuyết lập trình. Nhược điểm chính là khi bị bí, bạn khó lòng hỏi một cuốn sách để được giúp. Sách rất hợp để nắm các ý tưởng và khái niệm tổng quát, hoặc để học khi rời xa máy tính. Nhưng nếu không luyện tập thường xuyên, bạn có thể dễ nản lòng.
Bạn có thể tìm danh sách sách miễn phí trên GitHub.
Hãy cẩn thận với những cuốn sách hứa dạy bạn trong 24 giờ
Lập trình cần thời gian. Bạn sẽ không học xong một ngôn ngữ trong một ngày. Thay vào đó, hãy tìm những cuốn sách có khung thời gian thực tế hơn. Một bộ đặc biệt hay là loạt sách Sams Teach Yourself của Bradley L Jones.
Học lập trình với YouTube

Khi nói đến cách tự học lập trình, có khá nhiều hướng dẫn trên YouTube. Chúng thường thú vị hơn đọc sách, nhưng cũng thường mang tính tổng quan hơn một chút. Dưới đây là vài nơi hay để bắt đầu.
- Crash Course Computer Science. Loạt video này không dạy cách lập trình, nhưng bạn sẽ học được cách hệ điều hành và phần cứng hoạt động. Mỗi tập dài khoảng 10 phút, nên bạn có thể khá nhanh chóng hiểu được máy tính và mã nguồn ăn khớp với nhau ra sao.
- The Coding Train. Chương trình thú vị này tập trung vào Python, nhưng sẽ cho bạn thấy một lập trình viên thực thụ đang làm việc. Đặc biệt đáng xem là các thử thách của anh ấy, nơi anh cố tạo ra một chương trình đơn giản trong 10 phút. Bạn nên ghé xem khi đã hiểu cơ bản về các thuật ngữ.
Nghe podcast

Podcast là cách tuyệt vời để học khi đang di chuyển. Dù không giúp bạn học cú pháp cụ thể, chúng sẽ giúp bạn hiểu thấu lý thuyết.
Dưới đây là vài gợi ý để bạn bắt đầu:
- CodeNewbie. Nếu bạn đang tìm nguồn cảm hứng, podcast này kể lại câu chuyện của những người bước vào lập trình, họ đã làm gì và làm như thế nào.
- Learn to Code. Laurence Bradford phỏng vấn và dấn thân vào hành trình học lập trình của riêng mình. Bạn có thể theo dõi và học cùng cô ấy trên suốt chặng đường.
- Coding Blocks. Một podcast nâng cao hơn, nơi một nhóm lập trình viên bàn về những điều tinh tế trong cách lập trình.
Học qua các hướng dẫn

Có khá nhiều ứng dụng và website hướng dẫn bạn cách lập trình. Chúng thực sự hữu ích nếu bạn vẫn đang phân vân chọn ngôn ngữ nào. Bạn sẽ học được sự khác biệt giữa một biến và một hàm, rồi bắt đầu ghép nên những chương trình thật đơn giản.
Hãy lưu ý, chúng thường tỏ ra hơi hụt hơi một khi bạn bắt đầu muốn tạo chương trình của riêng mình, hay bất cứ thứ gì đặc biệt độc đáo. Bạn sẽ không có ai để trò chuyện, và chúng có thể khá giới hạn về phạm vi.
Chúng tôi khuyên bạn nên bắt đầu với Codecademy. Nó miễn phí, và bạn có thể học những kiến thức cơ bản của nhiều ngôn ngữ để xem cái nào hợp với mình nhất.
Thử một vài trò chơi học lập trình

Một khi đã bắt đầu hiểu cách lập trình và có vài chương trình bỏ túi, mọi thứ quy về luyện tập. Đây là lúc bạn có thể bắt đầu tìm các trò chơi lập trình. Chúng giống như câu đố, thử thách cách bạn tiếp cận các bài toán lập trình. Chúng không dành cho người mới hoàn toàn, nhưng rất tuyệt cho trình độ trung cấp.
Hãy thử một trong số này:
- Code Combat. Những trò chơi này dẫn bạn đi từ từ qua các khái niệm, bắt đầu từ khoa học máy tính rồi dần dần phức tạp hơn.
- CodinGame. Một khi bạn đã hiểu thêm một chút, trò chơi này xoay quanh việc giải quyết các bài toán bằng những ngôn ngữ cụ thể.
- Code Wars. Lao thẳng vào các bài toán lập trình và luyện tập gỡ lỗi cho phần mềm của bạn.
Tham gia một khóa Coding Bootcamp

Khi nói đến cách bắt đầu lập trình, không gì sánh được với một người thầy thực thụ. Trong một khóa coding bootcamp, bạn sẽ được đặt vào môi trường học toàn diện, đưa bạn từ một học viên lập trình thành một lập trình viên độc lập chỉ trong 14 tuần.
Không dành cho những ai chỉ muốn thử cho biết, các khóa coding bootcamp được tạo ra cho những người đã quyết tâm theo đuổi công nghệ như một nghề nghiệp và muốn nhanh chóng có được những kỹ năng chuyên môn thiết yếu để được tuyển vào các vị trí như lập trình viên full-stack và kỹ sư phần mềm.
Coding Dojo mang đến khóa bootcamp nghiêm túc nhất trong ngành. Đây là bootcamp duy nhất có chương trình được thiết kế để dạy bạn cả ba full stack mà các công ty hàng đầu thế giới đang dùng (đa số bootcamp chỉ dạy một). Có các khóa học lập trình trực tuyến toàn thời gian lẫn bán thời gian. Ngoài việc giúp bạn ứng tuyển nhiều vị trí hơn với mức lương tốt hơn, chương trình ba stack còn giúp bạn phát triển cùng ngành thay vì phải quay lại trường để học thêm các ngôn ngữ lập trình.
Nếu bạn thực sự nghiêm túc muốn đưa công nghệ thành phần cốt lõi trong sự nghiệp suốt đời mình, thì Coding Dojo là lựa chọn nghiêm túc duy nhất.