Hành trình trở thành lập trình viên không phải là con đường dễ dàng, nhưng nó sẽ đem lại những thách thức và thành tựu đáng giá. Không có phương pháp thần kỳ, chỉ có sự kiên nhẫn và cố gắng không ngừng nghỉ.
Những Bước
Tham gia khóa học giới thiệu
Tham gia các khóa học về logic, toán rời rạc và ngôn ngữ lập trình. Các ngôn ngữ phổ biến để bắt đầu là C++, Java hoặc Python.
Không cần phải có bằng coding. Dù việc học ngôn ngữ lập trình là có ích, nhưng Gene Linesky, một kỹ sư phần mềm và nhà sáng lập startup, cho biết: 'Việc có bằng cấp có thể quan trọng, nhưng không phải lúc nào cũng cần thiết. Thay vào đó, hãy coi lập trình như một quá trình học từ kinh nghiệm, từ những sai lầm.'
Học về cơ sở dữ liệu
Xác định loại lập trình viên bạn muốn trở thành. Có nhiều hướng lập trình khác nhau, hãy chọn một trong số đó:
Tìm hiểu về công nghệ và ngôn ngữ lập trình
Lập trình Web
Hiểu về lập trình Web. Các ứng dụng Web là phần mềm được thiết kế để hoạt động trên Internet. Chúng có thể truy cập thông qua trình duyệt web như Firefox hoặc Internet Explorer. Các ứng dụng này dựa trên các công nghệ web tiêu chuẩn như HTTP, FTP, POP3, SMTP, TCP, các giao thức IP, HTML, XML, Coldfusion, ASP, JSP, PHP, và ASP.NET.
Khám phá các trang web khác nhau. Hãy xem mã nguồn của chúng để hiểu cách chúng hoạt động. Tìm kiếm sự đa dạng trong kiểu/nội dung của trang web, không chỉ số lượng. Ghé thăm ít nhất một trang từ mỗi loại sau: trang giới thiệu công ty, công cụ tìm kiếm, trang khai thác dữ liệu, trang cá nhân, trang tư liệu/bách khoa toàn thư, trang xã hội, và trang cộng tác.
Học một kỹ thuật động não và phần mềm áp dụng kỹ thuật đó. Ví dụ: sử dụng biểu đồ động não và phần mềm MS Visio.
Hiểu cấu trúc của trang web. Hãy tạo biểu đồ web, sơ đồ trang và cấu trúc điều hướng.
Tham gia khóa đào tạo đồ họa. Học ít nhất một phần mềm biên tập/thao tác đồ họa (Không bắt buộc nhưng rất khuyến khích).
Hiểu về cơ sở hạ tầng Internet. Điều này bao gồm việc hiểu về các giao thức dịch vụ Web phổ biến như HTTP, FTP, SMTP và POP3 hoặc IMAP4. Hãy tìm hiểu về phần mềm máy chủ Web và duyệt Web.
Học HTML và CSS. Đồng thời, nên sử dụng phần mềm 'What You See Is What You Get (WYSIWYG)' để biên tập HTML.
Nắm vững XML và các công nghệ liên quan như XSL và XPath.
Bắt đầu tạo các trang web tĩnh để làm quen với HTML.
Học một ngôn ngữ lập trình máy khách. JavaScript là lựa chọn phổ biến nhất, nhưng cũng có thể học VBScript (không tương thích với mọi trình duyệt).
Tiến xa hơn với ngôn ngữ lập trình kịch bản máy khách bạn đã học. Thử đặt ra những thách thức mới và phát triển kỹ năng của bạn với ngôn ngữ đó.
Học ít nhất một ngôn ngữ lập trình máy chủ. Nếu bạn hạn chế mình trong một phần mềm máy chủ, hãy học ngôn ngữ lập trình được phần mềm đó hỗ trợ. Nếu không, hãy học một ngôn ngữ lập trình cho mỗi phần mềm máy chủ.
Triển khai một dự án thực hành sau khi tìm hiểu ngôn ngữ lập trình máy chủ.
Tạo ra một trang web cá nhân và bắt đầu thử nghiệm trên trực tuyến.
Lập trình ứng dụng máy tính để bàn
Rõ ràng về mục tiêu của việc lập trình ứng dụng máy tính.
Lập trình viên máy tính thường tạo mã cho các giải pháp doanh nghiệp, vì vậy hiểu biết về doanh nghiệp, cơ cấu tổ chức và tài chính sẽ tiết kiệm thời gian cho bạn.
Nghiên cứu về các kiến trúc phần cứng máy tính khác nhau. Hiểu biết cơ bản về thiết kế mạch kỹ thuật số và kiến trúc máy tính sẽ giúp bạn. Đọc một số bài hướng dẫn như đây và đây là đủ. Bạn có thể quay lại sau khi đã học ngôn ngữ lập trình đầu tiên của mình.
Học một ngôn ngữ lập trình sơ đẳng. Mặc dù có thể cảm thấy lớn tuổi để học nhưng đừng ngần ngại. Scratch là một ví dụ. Ngôn ngữ này có thể giúp giảm khó khăn khi học ngôn ngữ lập trình đầu tiên.
Khám phá về các mô hình lập trình thủ tục, hướng đối tượng và hàm.
Tham gia một khóa học cơ bản về ngôn ngữ lập trình thủ tục. Lập trình thủ tục là một bước dễ nhất để bắt đầu hiểu về lập trình nói chung.
Tìm hiểu ít nhất một phương pháp mô hình hóa tiên tiến như UML hoặc ORM.
Bắt đầu viết vài ứng dụng nhỏ dạng console hoặc tương tự. Sử dụng các bài thực hành trong sách về ngôn ngữ lập trình. Chọn công cụ phù hợp với ngôn ngữ bạn muốn sử dụng.
Tham gia một khóa học nâng cao về ngôn ngữ lập trình bạn chọn. Đảm bảo bạn hiểu rõ các khái niệm và có thể áp dụng chúng trước khi tiếp tục.
Sử dụng các kỹ thuật nâng cao đã học.
Tham gia một khóa học cơ bản về ít nhất một ngôn ngữ lập trình khác trong mô hình lập trình khác nhau. Bắt đầu với một ngôn ngữ, làm việc với nó, rồi thực hành. Sau khi có kinh nghiệm, hãy học tiếp ngôn ngữ mới.
So sánh hai ngôn ngữ lập trình bạn đã học. Đánh giá điểm mạnh và điểm yếu của mỗi ngôn ngữ. Bạn có thể thử làm điều này bằng cách sử dụng các mẫu công việc đơn giản hoặc thử thực hiện dự án mới bằng cả hai ngôn ngữ.
Học các khái niệm lập trình trực quan bằng ngôn ngữ bạn đã học. Tìm hiểu về lập trình sự kiện và thử các phần mềm máy bàn để hiểu rõ hơn về giao diện người dùng.
Áp dụng kiến thức của bạn vào các dự án phần mềm nhỏ. Thử viết các chương trình giải quyết các vấn đề hàng ngày một cách đơn giản.
Hoàn thành một dự án tốt nghiệp ảo. Sử dụng kỹ thuật lập trình trực quan bạn đã học.
Mở rộng hiểu biết về khung công việc/trình thư viện mà bạn đã học bằng cách tham gia các khóa học nâng cao và tìm hiểu chi tiết hơn.
Tìm kiếm và nghiên cứu các gói/thư viện trực quan cho ngôn ngữ lập trình của bạn.
Tham gia khóa học về đồ họa (không phải thiết kế đồ họa). Điều này sẽ hữu ích cho việc viết các yếu tố giao diện người dùng hấp dẫn.
Trở thành một lập trình viên trò chơi (tùy chọn). Nếu bạn quyết định theo đuổi lập trình trò chơi, bạn sẽ cần học thêm về lập trình trò chơi sau khi hoàn thành các bước trước đó.
Lập trình Ứng dụng phân tán
Tìm hiểu về lập trình ứng dụng phân tán. Đây được coi là một trong những lĩnh vực khó nhất và đòi hỏi kiến thức rộng lớn về máy tính cũng như các công nghệ truyền thông.
Khám phá nhanh về hệ thống thoại và phần cứng liên quan. Có hiểu biết về cấu trúc mạng sẽ giúp bạn rất nhiều.
Tự tìm hiểu về kiến trúc phần cứng và các thiết bị mạng như hub, switch và router.
Tham gia một khóa học về giao thức và các khái niệm cơ bản. Việc hiểu về OSI, Ethernet, IP, TCP, UDP và HTTP là cần thiết trước khi bắt đầu lập trình ứng dụng phân tán.
Học ngôn ngữ XML và làm quen với nó.
Bắt đầu học một ngôn ngữ kịch bản cho lập trình thông dịch lệnh. JavaScript là lựa chọn được khuyến khích vì nó được hỗ trợ rộng rãi và dễ học.
Bắt đầu với lập trình thủ tục bằng ngôn ngữ kịch bản bạn chọn. Sau đó, mở rộng sử dụng các kỹ thuật và mô hình lập trình nâng cao phù hợp với ngôn ngữ và tính năng hỗ trợ của nó.
Áp dụng ngôn ngữ kịch bản bạn đã học để viết các kịch bản truyền thông giữa các máy. Tìm hiểu những gì cần thiết để làm điều này. Đơn giản là đủ.
Chuyển sang sử dụng một ngôn ngữ máy bàn/kịch bản mới. Python là một lựa chọn tốt. Tìm hiểu ngôn ngữ thứ hai này. Java và C# được ưa chuộng vì tính linh hoạt và khả năng hỗ trợ mạng của chúng.
Tập trung vào các tính năng cốt lõi của ngôn ngữ, đặc biệt là các tính năng liên quan đến kết nối mạng. Đừng quá chú trọng vào giao diện người dùng.
Tham gia khóa học về thiết kế và kiến trúc ứng dụng phân tán. Học qua sách, trực tuyến hoặc qua các khóa đào tạo, nhưng hãy đảm bảo bạn hiểu rõ về kiến trúc ứng dụng phân tán và các khái niệm liên quan.
Học cách xây dựng các dịch vụ và sử dụng ngôn ngữ lập trình một cách thành thạo.
Nắm vững ít nhất một công nghệ sau: CORBA, SOAP, AJAX, DCOM, .NET Remoting, XML Web Services.
Tìm hiểu sâu về Thư viện/Nền tảng/Khung công việc/Lõi lập trình.
Hiểu rõ về vai trò của lập trình lõi và sự quan trọng của nó trong quá trình phát triển phần mềm.
Hãy bắt đầu học một ngôn ngữ lập trình mới để hỗ trợ việc xây dựng các thành phần tái sử dụng.
Tham gia một khóa đào tạo chuyên sâu về UML và ORM để nâng cao kiến thức.
Tham gia khóa học về kỹ thuật phần mềm để nắm vững kiến thức cơ bản.
Đào sâu vào các kỹ thuật lập trình module, thành phần, hướng đối tượng và theo sự kiện.
Nâng cao hiểu biết về các hệ điều hành và các khung công việc liên quan.
Tập trung vào việc học các khung công việc, ngôn ngữ lập trình và công nghệ độc lập với nền tảng.
Nắm vững các tiêu chuẩn ANSI/ISO/IEEE/W3C khi học các ngôn ngữ lập trình.
Thử nghiệm các thư viện mã nguồn mở để trở thành một lập trình viên thư viện/gói.
Khám phá và thử nghiệm các gói nguồn mở trong lĩnh vực lập trình của bạn.
Nghiên cứu các phương pháp phân phối và triển khai thành phần cho các lập trình viên.
Nghiên cứu về lập trình hệ thống để hiểu rõ hơn về hệ thống máy tính.
Hiểu về yêu cầu của lập trình hệ thống và cách tiếp cận chúng.
Bắt đầu với ba bước đầu tiên để trở thành một Lập Trình Viên Ứng Dụng Máy Bàn.
Tham gia khóa học mở đầu về Đại số Tuyến tính để nắm bắt kiến thức cơ bản.
Học một khóa về Tính toán để hiểu sâu hơn về các phép toán cơ bản.
Tham gia một khóa học về Lô gic học và/hoặc Toán rời rạc để tăng cường kiến thức.
Tự làm quen với các hệ điều hành cơ bản khác nhau để hiểu rõ về cách chúng hoạt động.
Tham gia một khóa học về kiến trúc phần cứng máy tính hoặc đọc sách về chủ đề này.
Nâng cao hiểu biết về các nền tảng phần cứng máy tính khác nhau.
Bắt đầu làm quen với hợp ngữ của hệ điều hành/nền tảng phần cứng bạn chọn.
Học các ngôn ngữ ANSI C và C++, cùng với các khái niệm về lập trình thủ tục.
Hiểu sâu về và áp dụng các thư viện C/C++ tiêu chuẩn trên nền tảng của bạn.
Tìm kiếm tài nguyên trực tuyến, sách và khóa học để nắm vững đặc tính của ngôn ngữ C trên nền tảng bạn chọn.
Thực hành viết mã nâng cao với ngôn ngữ lập trình C và C++.
Học thêm về Hợp ngữ cao cấp để mở rộng kiến thức về lập trình.
Tham gia một khóa học về thiết kế hệ điều hành để hiểu sâu về cách hoạt động của hệ điều hành.
Nghiên cứu và đọc tài liệu về nền tảng bạn chọn để hiểu rõ hơn về hệ thống.
Thực hành những kiến thức bạn đã học bằng cách tạo ra các tiện ích hệ thống nhỏ.
Học các ngôn ngữ lập trình theo thứ tự hữu ích nhất, bắt đầu với ANSI C trước.
Thảo luận về Khoa học Lập trình và vai trò của nhà khoa học lập trình.
Biết về vai trò của một nhà khoa học lập trình và những công việc họ thực hiện.
Thu thập kiến thức tương đương với bằng cấp 4-năm trong lĩnh vực khoa học máy tính.
Chọn một lĩnh vực chuyên sâu trong khoa học máy tính theo sở thích của bạn.
Xem xét việc học cao hơn bằng cách tham gia các chương trình thạc sĩ hoặc tiến sĩ.
Nắm vững các công nghệ và ngôn ngữ lập trình liên quan đến lĩnh vực bạn quan tâm.
Lời khuyên: Hãy cân nhắc kỹ trước khi chọn lựa con đường học vấn của mình.
- Cho dù bạn muốn thử kiểu lập trình nào và dự định đạt được mức độ nào, hãy xem xét tham gia các khóa học tại trường hoặc đại học cộng đồng địa phương. Đừng lo lắng về các thuật ngữ như 'Khoa học Máy tính'. Bất kỳ khóa học nào bạn tham gia mà không yêu cầu điều kiện tiên quyết sẽ tập trung vào việc giảng dạy cơ bản về lập trình, tuy nhiên, bạn nên kiểm tra với giáo viên hoặc người tư vấn trước khi tham gia để đảm bảo rằng nó phù hợp với mong muốn của bạn, vì những khóa học như 'Kỹ năng Máy tính' có thể tập trung nhiều hơn vào việc làm quen với các ứng dụng văn phòng hoặc các tương tự.