Cách để Trở thành nhà phát triển phần mềm tự do

Đồng tác giả: Nhân viên của wikiHow

Bài viết wikiHow này hướng dẫn bạn cách bắt đầu phát triển và duy trì phần mềm có mã nguồn mở trong cộng đồng lập trình. Dù người làm công việc này đôi khi bị coi là "hacker phần mềm", thật ra vị trí này hướng đến mục tiêu tạo ra và tinh chỉnh phần mềm hơn là xâm nhập vào nó. Nếu có hứng trở thành kiểu hacker tìm kiếm và khai thác lỗ hổng trong phần mềm hoặc hệ điều hành, bạn có thể tham khảo bài viết trở thành tin tặc.

Các bước

  1. 1
    Hiểu được bạn cần có những gì để phát triển phần mềm. Trở thành một nhà phát triển phần mềm đồng nghĩa với việc bạn sẽ dành nhiều thời gian để xây dựng, tinh chỉnh và cập nhật phần mềm miễn phí để khiến người dùng hài lòng và khiến phần mềm luôn phù hợp. Để làm được điều này, bạn cần đạt những tiêu chuẩn sau:[1]
    • Có hiểu biết về cả ngôn ngữ hệ thống (ví dụ như C++) và ngôn ngữ lập trình (ví dụ như Python)
    • Biết rằng bạn muốn lập trình cho nền tảng nào (chẳng hạn như Windows, Android...).
    • Sẵn lòng dành nhiều thời gian học hỏi về thể loại phần mềm, nền tảng và ngôn ngữ đã lựa chọn.
  2. 2
    Hiểu rằng bất cứ ai cũng có thể trở thành nhà phát triển phần mềm tự do. Trái với suy nghĩ thông thường, việc có hiểu biết sâu về toán học, kiến thức code từ trước, và/hoặc tấm bằng đại học về khoa học máy tính (hoặc lĩnh vực tương tự) không phải là thứ bắt buộc phải có khi học cách trở thành nhà phát triển phần mềm tự do.[2]
    • Chỉ cần bạn có hứng thú với việc học cách phát triển phần mềm và sẵn sàng chấp nhận những lời phê bình khi cần thiết, chẳng có lý do gì khiến bạn không thể trở thành một nhà phát triển phần mềm.
  3. 3
    Xác định mục tiêu cuối cùng của mình. Phát triển phần mềm có thể chỉ đơn thuần là sở thích cá nhân hoặc nghề nghiệp toàn thời gian. Việc xác định bạn muốn đạt được mục tiêu gì trước khi bắt đầu học ngôn ngữ lập trình hoặc lựa chọn một nền tảng giúp bạn luôn tập trung trên con đường của mình.
    • Dù không quá cần thiết, tấm bằng khoa học máy tính hoặc phát triển phần mềm sẽ giúp bạn nâng cao cơ hội việc làm nếu bạn đang hướng tới mục tiêu cuối cùng là có sự nghiệp ổn định trong lĩnh vực phát triển phần mềm.
    • Nếu mục tiêu của bạn chỉ đơn giản là tạo ra một ứng dụng hoặc chương trình giúp người dùng làm được việc từng rất khó hoặc không thể, hãy đảm bảo rằng phần mềm đó chưa được người khác phát triển.
  4. 4
    Xác định xem bạn muốn làm việc trên nền tảng nào. Mỗi nền tảng chính—Windows, macOS, iOS, Android, và Linux—đều có cộng đồng riêng, các ngôn ngữ lập trình được ưa thích và nhu cầu cá nhân khác nhau. Biết rằng phần mềm của bạn sẽ chạy trên nền tảng nào trước khi dấn thân vào nghề phát triển phần mềm là một việc quan trọng.
    • Tốt nhất là nên làm việc trên cùng nền tảng mà bạn đang phát triển. Ví dụ: Nếu bạn đang phát triển ứng dụng Android, sử dụng hệ thống dựa trên Unix như Mac hoặc máy tính Linux sẽ tốt hơn là dùng Windows.
    • Linux là hệ điều hành thường được sử dụng (và miễn phí) dành cho nhiều nhà phát triển phần mềm.
  5. 5
    Lựa chọn một ngôn ngữ code. Có hai loại ngôn ngữ code. Bạn cần học ít nhất một ngôn ngữ trước khi tiến hành phát triển, nhưng về sau bạn vẫn phải biết nhiều ngôn ngữ:
    • Ngôn ngữ hệ thống — Một ngôn ngữ máy tính được sử dụng để tương tác trực tiếp với hệ thống. Có thể kể đến vài ngôn ngữ điển hình như C, C++ và Java.
    • Ngôn ngữ lập trình — Ngôn ngữ được sử dụng để thiết kế giao diện của phần mềm (thứ mà người dùng sẽ nhìn vào) và tính năng. Có thể nhắc đến một số ngôn ngữ điển hình như Python, Ruby và Perl.
  6. 6
    Làm quen với dòng lệnh. Mỗi máy tính đều có ứng dụng dòng lệnh (chẳng hạn như Command Prompt trên Windows, Terminal trên Mac và Linux...). Bạn có thể sử dụng dòng lệnh để tương tác với máy tính, đưa ra các lệnh cụ thể khi cần thiết.
    • Dù bạn không tiến hành phát triển phần mềm từ dòng lệnh, bạn cần sử dụng dòng lệnh để chạy một số chương trình nhất định hoặc tích hợp lệnh phần mềm với máy tính.
  7. 7
    Tải về và sử dụng Notepad++. Notepad++ là tài nguyên lập trình vô giá vì vừa khiến quá trình code (viết mã) trở nên dễ theo dõi hơn nhờ có sự hỗ trợ của đồ họa, vừa đóng vai trò là một công cụ giáo dục tuyệt vời.
    • Dù sau này bạn sẽ sử dụng các phần mềm chỉnh sửa văn bản dựa trên dòng lệnh và chương trình khác để viết code, Notepad++ là công cụ hữu ích (và miễn phí) giúp bạn có khởi đầu thuận lợi.
  8. 8
    Cài đặt môi trường phát triển. Các nền tảng và ngôn ngữ lập trình đã lựa chọn thường có phần mềm phát triển cho phép bạn lưu và kiểm thử dự án của mình trên máy tính. Những phần mềm như thế được gọi là "môi trường phát triển". Nếu có thể, bạn nên tìm kiếm và cài đặt môi trường phát triển cho ngôn ngữ đã lựa chọn trước khi bắt đầu học lập trình.
    • Chẳng hạn, nếu đang phát triển ứng dụng Android, bạn nên tải về và cài đặt bộ công cụ phát triển Android Studio.
    • Người dùng Java thường sẽ sử dụng môi trường phát triển kiểu như Eclipse.
  9. 9
    Bắt đầu học cách lập trình. Sau khi biết bản thân muốn sử dụng ngôn ngữ nào, đã đến lúc bắt đầu học cách sử dụng nó. Hiện có nhiều bản hướng dẫn trực tuyến—cả miễn phí và trả phí—mà bạn có thể tham khảo, và hầu hết các thư viện đều có sách chuyên về ngôn ngữ lập trình (ví dụ như sách "C++ cho người mới bắt đầu") cho phép bạn học miễn phí về ngôn ngữ nào đó.
    • Có rất nhiều tài liệu lập trình miễn phí ở trên mạng, vậy nên hãy tận dụng chúng trước khi đăng ký một khóa học hay lớp học mất phí.
  10. 10
    Tìm kiếm cộng đồng có thể hỗ trợ cho lĩnh vực yêu thích của bạn. Các dự án có mã nguồn mở như những dự án trên SourceForge hoặc GitHub thường có nhiều người theo dõi. Nếu có thể tìm thấy một dự án sử dụng cùng ngôn ngữ lập trình và/hoặc cùng mục tiêu với dự án của mình, bạn có thể gia nhập cộng đồng để góp ý và theo dõi quá trình phát triển.
    • Giống như bất cứ kỹ năng nào khác, tham gia vào quá trình tạo (dù chỉ là người quan sát) là cách tốt nhất để có kinh nghiệm thực tế.
  11. 11
    Tương tác với cộng đồng. Bạn có thể làm nhiều việc, từ đăng bài trong diễn đàn của cộng đồng đến bắt đầu dự án mã nguồn mở của riêng mình, nhưng mục đích chính vẫn là hiện thực hóa ý tưởng và vượt qua trở ngại cũng như lắng nghe ý kiến phản hồi của cộng đồng.
    • Nếu có ý định bắt đầu dự án mã nguồn mở của riêng mình, hãy chuẩn bị tinh thần thỏa hiệp với cộng đồng về hướng đi của dự án.
  12. 12
    Tìm kiếm dự án mã nguồn mở để cống hiến sức mình. Thông thường, trong lĩnh vực phát triển phần mềm, ý tưởng chính hoặc dự án nhỏ lẻ của bạn có thể đang được cộng đồng tiến hành với nhiều kinh nghiệm hơn hẳn bạn. Nếu vậy, bạn nên cân nhắc về việc xin tham gia vào dự án. Điều này giúp bạn vừa mở mang tầm hiểu biết về cách thức hoạt động của dự án phần mềm, vừa giúp hiện thực hóa dự án của bạn, dù chỉ là dưới hình thức làm việc theo nhóm.
    • Dự án mã nguồn mở có thể không phải là mục tiêu cuối cùng của bạn, nhưng đây là cách tuyệt vời để tập hợp các ý tưởng và tạo ra phần mềm phù hợp với người dùng.
  13. 13
    Chấp nhận lời chê bai của cộng đồng về phần mềm của mình. Trong quá trình phát triển và phổ biến phần mềm, có thể bạn sẽ gặp không ít lời chê bai. Lắng nghe ý kiến phản hồi của cộng đồng sẽ giúp định hình việc phát triển trong tương lai, ngoài ra còn giúp bạn biết đường tắt và phương pháp giải quyết các vấn đề tương tự cho những dự án sau này.
    • Không phải ý kiến phản hồi nào cũng mang tính xây dựng. Nếu bạn nhìn thấy ý kiến phản hồi thô lỗ hoặc không hữu ích, cố gắng cư xử lịch sự nếu có ý định trả lời.
  14. 14
    Tham gia thử thách phát triển phần mềm, chương trình hoặc cuộc thi. Thường thì bạn sẽ tìm thấy thử thách, khóa học, bài giảng, lớp học và cuộc thi trong diễn đàn của cộng đồng, tại những nơi như Craigslist và trong khuôn viên. Việc đăng ký bất cứ sự kiện hoặc hội trại nào giúp bạn được hướng dẫn bài bản, hòa mình vào môi trường có những người cùng chung chí hướng.
    • Có thể kể tới một sự lựa chọn là chương trình Summer of Code của Google giúp sinh viên làm quen với dự án mã nguồn mở và cộng đồng code.[3]
  15. 15
    Tiếp tục nâng cao kỹ năng. Phát triển phần mềm là lĩnh vực đang ngày càng lớn mạnh cùng với sự phát triển của công nghệ, vậy nên hãy đảm bảo rằng bạn sẽ liên tục học hỏi về những dự án mới, ngôn ngữ, hệ điều hành và bất kỳ thông tin liên quan nào khác trong lĩnh vực ưa thích.
    • Sự thành công của một nhà phát triển phần mềm tự do thường đến từ sự tò mò. Chừng nào còn đặt câu hỏi và tìm kiếm câu trả lời, bạn sẽ còn đạt năng suất tốt và làm việc lâu dài trong lĩnh vực phát triển phần mềm.

Lời khuyên

  • Bắt đầu bằng việc học C (hoặc C++) và Python sẽ giúp bạn có khởi đầu khá vững chắc, nhưng Java cũng là một sự lựa chọn phổ biến.
  • Về sau bạn sẽ học nhiều ngôn ngữ máy tính trong khoảng thời gian làm nhà phát triển phần mềm tự do.
  • Lập trình máy tính nghe có vẻ phức tạp, nhưng thật ra chỉ đơn giản là giao tiếp với máy tính bằng ngôn ngữ mà máy tính hiểu được.

Cảnh báo

  • Bạn không nên cố hồi sinh một dự án bị bỏ dở mà đội trước đó không làm nữa.
  • Ngồi trước máy tính nhiều tiếng đồng hồ có thể gây ảnh hưởng lâu dài đến sức khỏe của bạn. Nhớ đứng lên và kéo giãn cơ, nhìn ra chỗ khác, và di chuyển ít nhất một lần trong nhiều tiếng đồng hồ.
  • Tránh hỏi các câu có liên quan đến nguyên tắc lập trình cơ bản hoặc công cụ lập trình trong trang thảo luận của chương trình mã nguồn mở. Thời gian của một nhà phát triển phần mềm tự do là đáng quý. Thay vào đó, hãy thảo luận về những điều cơ bản của lập trình trong cộng đồng dành cho dân nghiệp dư hoặc lập trình viên mới.
  • Kiên nhẫn. Giống như khi học bất cứ kỹ năng nào khác, trở thành một nhà phát triển phần mềm tự do cần có thời gian và sự quyết tâm.

Thông tin Bài viết

Bài viết này có đồng tác giả là đội ngũ biên tập viên và các nhà nghiên cứu đã qua đào tạo, những người xác nhận tính chính xác và toàn diện của bài viết.

Chuyên mục: Phần mềm | Thương mại và Nghề nghiệp

Ngôn ngữ khác:

English: Become a Free Software Hacker, Español: ser un hacker de software libre, Português: Se Tornar um Hacker do Software Livre, Русский: стать хакером свободного программного обеспечения, Italiano: Diventare un Hacker del Software Libero, Deutsch: Ein freier Software Hacker werden, Français: devenir un développeur de logiciels libres, Nederlands: Een programmeur worden van open software, العربية: أن تصبح خبيرا في البرمجيات الحرة, Bahasa Indonesia: Menjadi Peretas Perangkat Lunak Gratis, 中文: 成为一名自由软件黑客

Trang này đã được đọc 534 lần.
Bài viết này đã giúp ích cho bạn?