Câu trả lời:
Tự học không chỉ tốt , mà còn cần thiết nếu bạn muốn trở thành một nhà phát triển trên trung bình.
Người duy nhất chịu trách nhiệm cho sự tiến bộ chuyên nghiệp của bạn là bạn . Chắc chắn, giáo dục chính thức, các khóa đào tạo, vv có thể giúp đỡ, nhưng vào cuối ngày, đó là sự nghiệp của bạn .
Tôi may mắn được hưởng lợi từ một nền giáo dục rất tốt và tôi đã có những người chủ tốt, những người đã hỗ trợ việc học của tôi theo đủ mọi cách khác nhau. Tuy nhiên, phần lớn những gì tôi đã học về lập trình tôi đã tự mình nhặt được - bằng cách đọc nhiều và thực hành nhiều hơn.
Nói chung, bạn càng biết nhiều thì việc tự học càng trở thành cách hiệu quả duy nhất để dạy cho bản thân bạn mọi thứ.
Các khóa học thật tuyệt vời khi bạn chỉ mới bắt đầu như một khởi đầu nhưng sau đó bạn sẽ nhận được một sự trở lại giảm dần trong nhiều ngày ngồi trong lớp học khi khóa học di chuyển với tốc độ của người tham gia chậm nhất. Một khi bạn đã có một mức độ kinh nghiệm hợp lý mà hầu như không bao giờ là bạn, vì vậy bạn sẽ luôn lãng phí thời gian.
Tự học mặt khác cho phép bạn tăng tốc bản thân. Nếu bạn nhận được một cái gì đó nhanh chóng, bạn có thể đọc lướt qua, nếu bạn không hiểu nó hãy quay lại và xem lại nó. Nếu bạn nghĩ rằng một chủ đề không liên quan, bạn có thể bỏ qua nó.
Những gì tôi đã dạy bản thân mình? Về những điều tôi đã học được từ đầu: HTML, ASP, VB.NET, JavaScript, LotusScript, một chút Python, một chút Java.
Nhưng trong thực tế hầu hết mọi thứ hữu ích là tự dạy trong công việc. Bạn có thể học những điều cơ bản trong một khóa học nhưng nơi bạn thực sự học nó đang sử dụng nó vì vậy tôi nói 95% những gì tôi biết (nếu không nói thêm) là tự học.
Tôi đã tự học thành công .NET, C #, ASP.NET và ASP.NET MVC.
Nó không giống như ai đó sẽ dạy chúng cho tôi.
Tự học là cốt lõi của việc học lập trình. Đại học, đồng nghiệp, tất cả họ đều cho bạn lời khuyên và gợi ý khi bạn cần nhưng bạn vẫn phải tự học phần lớn hơn. Sách, blog, bài viết, tài liệu, thử nghiệm về thời gian cá nhân của bạn, đó là cách bạn học.
Có một số khía cạnh để tự học, đầu tiên tất nhiên là nghiên cứu độc lập nơi bạn tìm kiếm kiến thức và bắt đầu đưa nó vào sử dụng thực tế. Điều này có thể có nghĩa là mua một số sách, nghiên cứu mã nguồn mở, thử nghiệm cho đến nửa đêm về sáng hoặc (thường) tất cả những điều trên.
Tuy nhiên, tại một số điểm, bạn sẽ cần một hoặc một vài cố vấn để hướng dẫn bạn vượt qua, những chủ đề khó khăn, thực tiễn tốt nhất và các nguyên tắc kỹ thuật vững chắc. Một người tự học hiệu quả sẽ tìm kiếm những cố vấn này sớm hơn nhiều và nhận được mã của mình trước càng nhiều người có kinh nghiệm cao càng tốt.
Tôi đã học lắp ráp BASIC, Pascal, C, PHP, x86 thô sơ mà không cần tham gia lớp học, nhưng điều đó không có nghĩa là tôi không có giáo viên để gọi khi tôi cần. Vì vậy, với thực tế là tôi học được một lượng đáng kể từ các cố vấn mà tôi tìm thấy trong các cộng đồng mã nguồn miễn phí / mở .. Tôi muốn được cứng ép để nói rằng tôi đã học bất cứ điều gì một mình hoặc một mình .
Phương pháp học tập này là phương pháp duy nhất phù hợp với tôi, vượt xa nghiên cứu về lập trình.
Tôi nghĩ rằng chúng tôi học cùng với công việc tất cả các thời gian.
Tôi đã học Struts, Spring và một loạt các khung công tác java nguồn mở khác và thậm chí tự mình sử dụng Tomcat khi tôi đang làm việc trên các dự án Java / JSP. Công ty sẽ không trả tiền cho việc này;)
Và bây giờ đây là những công nghệ tôi sử dụng trong công việc hàng ngày.
Một vài lùm xùm ngẫu nhiên về chủ đề này ...
Như tất cả những người khác đã nói, bạn sẽ phải tự học rất nhiều khi sự nghiệp của bạn tiến triển. Tuy nhiên, một điều mà tôi chưa thực sự thấy được đánh vần ở đây là thực tế là bạn sẽ rất khó tìm được công việc đầu tiên mà không có sự giáo dục chính thức trong một lĩnh vực liên quan, đặc biệt là trong thời kỳ suy thoái. Rất nhiều hồ sơ xin việc được chuyển qua "bàn lọc" và nếu không có gì ở đó với giáo dục liên quan về nó, nó có khả năng sẽ được thông qua. Bạn có thể ré lên nếu bạn có nhiều kinh nghiệm liên quan, nhưng nó phụ thuộc vào việc ai đó đọc sơ yếu lý lịch của bạn chặt chẽ như thế nào (trong vòng đầu tiên, rất tiếc là không có khả năng lắm). Không rõ điều này có áp dụng cho bạn không, nhưng tôi chắc chắn sẽ áp dụng cho ai đó.
Trên một lưu ý (phần nào) không liên quan, tự học là tuyệt vời, nhưng có thời gian để làm điều đó thậm chí còn lớn hơn (và hiếm hơn, tôi sẽ tranh luận). Tất cả chúng ta đều phù hợp với nó bằng cách nào đó, nhưng nếu bạn có cơ hội dành một chút thời gian mỗi ngày để học một cái gì đó, hãy nắm lấy nó và giữ tất cả sức lực của bạn.
Delphi. Tôi đã học Pascal ở trường trung học và thấy một lần IDE, thích nó, tải xuống một số hướng dẫn và bắt đầu học. Và hôm nay, tiếp tục quá trình học tập. Khi bạn tự học có những phần tốt và phần xấu: 1) tự học là phương pháp tốt nhất để học, bởi vì bạn thực sự hiểu những gì đang xảy ra ở đó (phần tốt) 2) bạn có thể mắc lỗi lớn bằng cách hiểu sai điều gì đó / trở nên tồi tệ thói quen và sau đó nếu bạn tiếp tục theo cách này, rất khó để sửa lỗi này. (phần xấu)
Trân trọng,
Radu
Bạn cần phải có được điểm bạn không cần nắm tay. Bạn phải ở điểm mà bạn có thể lấy một cuốn sách, xem một tập tin trợ giúp, tìm một hướng dẫn, vv và tìm hiểu các hiệu trưởng bạn cần cho công việc của bạn.
BTW, bạn cần điều này cho bất kỳ và mọi công việc, không chỉ lập trình. Phương tiện để bạn tự học có thể khác nhau nhưng bạn phải làm điều đó.
Tôi đã học hầu hết kiến thức C / C ++ của mình trong lớp, nhưng tất cả các ngôn ngữ lập trình khác của tôi, tất cả lý thuyết của tôi, tất cả quản lý dự án của tôi và hàng tấn kiến thức khác khiến tôi trở thành hacker mà tôi tự học.
Như những người khác đã nói, tự giáo dục trong ngành của chúng tôi không chỉ tốt, nó là cần thiết . Điều này không giống như là một thợ sửa ống nước hoặc nướng bánh mì: công nghệ luôn phát triển và chúng ta phải di chuyển với nó hoặc trở nên không liên quan.
Thật đáng để hỏi: ý nghĩa của việc này là gì? Những tin tặc giỏi nhất không chỉ là những con khỉ mã nhổ mã - chúng tôi dành thời gian để tìm hiểu những thứ lớn. Các thuật toán, độ phức tạp, thiết kế ngôn ngữ, v.v. sẽ ở lại với chúng tôi và phục vụ chúng tôi tốt cho dù chúng tôi sử dụng ngôn ngữ nào, hoặc chúng tôi thấy mình sử dụng ngôn ngữ đó để làm gì. Tôi đã thấy loại tin tặc này nhảy từ một phần của ngành công nghệ sang một phần hoàn toàn khác, một cách dễ dàng.
Quá nhiều người nghĩ rằng các khái niệm "bức tranh lớn" nằm trên đầu của tất cả trừ các học giả, và tôi hoàn toàn không đồng ý. Khi bạn dành thời gian để tìm hiểu chúng, bạn sẽ thấy rằng một số đã được thực hành trực quan bởi các lập trình viên giỏi và phần còn lại có ý nghĩa khi bạn đã quen thuộc với chúng.
Tự học là cần thiết trừ khi bạn có một nhà hảo tâm hào phóng sẵn sàng hỗ trợ đào tạo chính thức hết lần này đến lần khác. Tôi đã phải tự học rất nhiều thứ bên ngoài phòng học, để kể tên một số thứ lớn hơn:
ASP và ASP.Net sẽ là những thứ tôi phải học trong công việc vì nơi tôi làm việc muốn làm cho trang web mới viết lại sử dụng những thứ này và do đó tôi phải tự mình nhặt nó lên thay vì trong lớp học.
IIS và MS-SQL Server sẽ là một vài điều khác mà tôi đã học khi tôi cần và do đó tôi nói rằng tôi đã tự học ở đây. Mặc dù tôi đã có những đồng nghiệp có thể giúp đỡ với những câu hỏi nếu tôi thực sự bế tắc, chỉ cần quay đầu lại là những điều khác trở lại trong những ngày đầu khởi nghiệp.
AJAX sẽ làm điều gì đó mà một vài năm trước tôi đã học được trong công việc nghiên cứu các khung công tác và cố gắng đưa nó vào nơi tôi làm việc ngay trước khi Microsoft ASP.Net AJAX ra mắt.
Đồng thời, chỉ làm việc tự giáo dục có thể nguy hiểm vì không phải ai cũng muốn làm mọi thứ theo cách này. Đối với một số người, họ có thể muốn có nhiều cấu trúc hơn và không quá độc lập trong việc điều khiển con đường của mình thông qua việc học một cái gì đó.
@Kramii là chính xác; lập trình viên sẽ phải tự học trong suốt sự nghiệp
Q: Tôi đã học được gì thành công?
Dạy học là một huyền thoại; giáo viên chỉ có thể cung cấp thông tin, học sinh phải lắng nghe và quyết định học hay không học và học gì. Giáo viên chỉ có thể chỉ cho bạn con đường. Nói cách khác, tất cả giáo dục về cơ bản là tự giáo dục
Bây giờ nếu bạn chỉ có nghĩa là 'bạn đã học được gì ngoài lớp học có ích', câu trả lời của tôi sẽ là
bởi vì khi tôi còn đi học, các trường đại học nói chung chậm 12-15 năm so với thị trường trong những gì họ dạy. Ví dụ, vào ban ngày trường đại học 'dạy' tôi lập trình thủ tục bằng PL / 1, và vào ban đêm, tôi đang viết một ngôn ngữ lập trình hướng đối tượng trong hội.
Kể từ đó, sách và google là giáo viên của tôi.
Rõ ràng tất cả các câu trả lời đồng ý rằng tự giáo dục là tất cả. Tôi không nghĩ điều đó hoàn toàn đúng. Một giáo viên giỏi có thể dạy bạn rất nhiều và đặc biệt có thể dạy bạn nhanh. Rõ ràng đến một lúc nào đó bạn phải đưa vấn đề vào tay mình và bắt đầu nghiên cứu, đọc, thử. Thậm chí một cuốn sách được viết bởi một người nào đó (một giáo viên) và cố gắng dạy cho bạn một cái gì đó. Người đó có thể đang đứng trong phòng và trả lời tất cả các câu hỏi của bạn thay vì khiến bạn lãng phí thời gian trong việc tìm kiếm. Tìm kiếm và đập đầu vào tường, mặt khác sẽ làm cho những bài học kinh nghiệm rất có giá trị và khó có thể bị lãng quên.
Đặc biệt là để bắt đầu trong một môn học mới, tôi nghĩ rằng một giáo viên giỏi là rất rất rất hữu ích. Và những người rất quan tâm đến việc tự học nên tự học mà không cần wikipedia, không có stackoverflow, không có sách và không có blog ;-)