Tự học quan trọng như thế nào trong lĩnh vực lập trình? [đóng cửa]


74

Tôi 16 tuổi. Tôi bắt đầu lập trình khoảng một năm trước khi tôi chuẩn bị bắt đầu học trung học. Tôi sẽ theo đuổi nghề lập trình và tôi đang cố gắng hết sức để học nhiều nhất có thể. Khi tôi mới bắt đầu, tôi đã học những điều cơ bản về C ++ từ một cuốn sách và tôi bắt đầu tự học mọi thứ từ đó. Ngày nay tôi có nhiều kinh nghiệm hơn tôi một năm trước. Tôi biết tôi phải tự học vì trường trung học sẽ không dạy tôi bất cứ điều gì có giá trị về lập trình và tôi muốn được chuẩn bị.

Câu hỏi ở đây là: việc tự học lập trình quan trọng như thế nào?


12
Ngôn ngữ tôi sử dụng hàng ngày không tồn tại khi tôi học đại học. Vì vậy, tự học là rất quan trọng để học công nghệ mới nếu bạn có kế hoạch trở thành một nhà phát triển trong hơn một vài năm.
Jon Strayer

5
Bạn nhận thấy rằng bây giờ bạn có nhiều kinh nghiệm hơn bạn một năm trước - thực tế tôi cá là một năm trước bạn không biết bạn có thể học được bao nhiêu! Tôi thấy điều này xảy ra cứ sau 2 - 5 năm, tôi nhìn lại và nói "Wow, tôi đã làm sai tất cả và thậm chí còn không biết có thể làm điều đó tốt hơn". Tự học là rất quan trọng, mọi lúc, nếu bạn muốn thậm chí tốt vừa phải. Hơn nữa, tôi sẽ không muốn làm việc với một người không thể học theo cách đó.
Bill K

2
Khi tôi bằng tuổi các bạn, tôi sẽ không có được khả năng không mất lập trình bởi bản thân mình ngay cả khi tôi đã cố gắng. Đó là cách quá nhiều niềm vui. Và vâng, hóa ra nó cực kỳ quan trọng và hữu ích cho sự nghiệp của tôi, nhưng đó chỉ là một sản phẩm phụ đẹp. Làm điều đó vì niềm vui của nó, và bạn sẽ không phải suy nghĩ về việc bạn sẽ cần trải nghiệm hay không.
Ben Lee

Câu trả lời:


100

Nó rất quan trọng. Tôi không nghĩ rằng tôi đã từng biết một lập trình viên giỏi, người không tự học ở một mức độ nào đó. Là một người quản lý tuyển dụng tại một công ty lớn, tôi có thể nói rằng một ứng viên mô tả các dự án cá nhânkhao khát học hỏi sẽ vượt qua một người có bằng cấp ấn tượng mỗi lần. (Mặc dù tốt nhất là có cả hai.)

Đây là điều về đại học: Các khóa học về Khoa học Máy tính dạy lý thuyết, không phải công nghệ. Họ sẽ dạy cho bạn sự khác biệt giữa bảng băm và cây B và những điều cơ bản về cách hệ điều hành hoạt động. Họ thường sẽ không dạy bạn ngôn ngữ máy tính, hệ điều hành hoặc các công nghệ khác vượt quá mức nông cạn.

Tôi nhớ lại thời gian trôi qua khi tôi học lớp cấu trúc dữ liệu đầu tiên của mình và chúng tôi đã nhận được một hướng dẫn mỏng cho ngôn ngữ mới này có tên là "C ++" mà họ đã quyết định bắt đầu học. Chúng tôi đã có hai tuần để nhặt nó đủ để viết mã. Đó là một bài học tốt trong và của chính nó. Đó là con đường sự nghiệp của bạn sẽ đi.

Trường học của bạn có thể sẽ không dạy bạn những gì bạn cần để có một công việc tốt. Các trường học thường theo dõi những gì nóng trong ngành trong nhiều năm. Sau đó, bạn sẽ nhận được một công việc. Bất cứ công ty nào bạn đến sẽ gần như chắc chắn sẽ không dành bất kỳ nỗ lực cụ thể nào để đào tạo bạn. Các công ty xấu quá rẻ, và thẳng thắn, các công ty tốt sẽ chỉ thuê những người đủ thông minh để nhận nó khi họ đi.

Tôi tốt nghiệp đại học năm 1987. Tôi đã đi làm lập trình viên C có chuyên môn về các chương trình DOS, NetBIOS và "Chấm dứt và ở lại". Trong những năm kể từ đó, tôi đã có rất ít nếu được đào tạo thực tế. Nhìn vào quảng cáo việc làm ... không có nhiều lời kêu gọi cho những kỹ năng đó! Lý do duy nhất tôi có thể được tuyển dụng ngày hôm nay là vì tôi đã dành nhiều năm không ngừng học hỏi. Để thành công như một kỹ sư, bạn phải có thói quen học hỏi. Chết tiệt, tôi sẽ vượt xa điều đó: bạn phải có tình yêu học hỏi. Bạn cần phải là loại người gây rối với WebGL hoặc Android hoặc iOS bởi vì nó trông vui nhộn. Nếu bạn là kiểu người như vậy và duy trì thói quen học tập, bạn sẽ tiến xa trong ngành.


3
Điều này. Lý thuyết cũng rất quan trọng, và việc tự học khó hơn. Tôi không đồng ý về đào tạo công ty mặc dù .. Lĩnh vực của chúng tôi rất nhiều nhu cầu ngày nay và các công ty đang gặp khó khăn trong việc tìm kiếm tài năng tốt. (Ít nhất là trong khu vực của tôi)
user606723

+1, tôi đã từng nhận thấy một 'TSRs trong C' rất cũ trong thư viện trường học của tôi vào năm 2004. Tự hỏi liệu nó có còn ở đó không.
Jesvin Jose

3
Lý thuyết rất quan trọng, nhưng việc tự học nó dễ dàng hơn trước đây, vì video của nhiều lớp học đại học có sẵn trực tuyến. Tôi dám nói người ta có thể học được nhiều hơn từ việc xem các bài giảng của một giáo sư vĩ đại trên mạng hơn là từ việc hiện diện thực tế tại các bài giảng của một người tầm thường.
Jeanne Pindar

@Steven Burnap: "Các khóa học về Khoa học Máy tính dạy lý thuyết, không phải công nghệ" - điều đó không đúng. Tại trường đại học của tôi (KIT, Đức), chúng tôi phải học Java (và thực hiện một số dự án nhỏ) cũng như một số bài tập trong C. Một sự chuẩn bị cho ICPC (một cuộc thi như TopCoder) nơi chúng tôi học cách giải quyết vấn đề nhanh trong C ++ là đề nghị. Chúng tôi cũng phải thực hiện một dự án khá lớn (một nhóm đã tạo một ứng dụng cho điện thoại windows có thể tự động phân cấp thiết lập mạng di động nếu mạng bị hỏng do thiên tai). Chúng tôi cũng nhận được một giới thiệu trong Scala / Haskell.
Martin Thoma

1
Nhưng sự thật là bạn nên luôn tự làm dự án. Đại học chỉ cung cấp nhiều điểm khởi đầu. Tôi đoán nếu bạn không tò mò, nếu bạn không muốn thử một số thứ, bạn không nên làm việc như một lập trình viên (như một công việc toàn thời gian).
Martin Thoma

29

Tự học rất quan trọng. Bạn không thể dựa vào một nền giáo dục chính thức để dạy cho bạn mọi thứ bạn cần biết về lĩnh vực của mình. Tuy nhiên, điều đó đang được nói, một nền giáo dục chính thức cũng rất quan trọng nếu bạn muốn tham gia vào lĩnh vực nghề nghiệp được chuẩn bị tốt và được trang bị tốt.

Tôi đang trên đường đến trường đại học và đã dành bốn năm qua để dạy bản thân phát triển phần mềm, kết quả là bây giờ tôi làm việc cho một công ty lớn, nổi tiếng, duy trì các ứng dụng doanh nghiệp. Nó không mất rất nhiều tài năng nhưng nó cần rất nhiều công sức và động lực. Tôi nghĩ rằng văn học và thực hành là đặt cược tốt nhất của bạn khi học. Điều quan trọng nữa là chọn một lĩnh vực cụ thể, mặc dù bạn có thể mang ngôn ngữ và logic trên tất cả các lĩnh vực, bạn chỉ có thể thực sự trở nên "tuyệt vời" khi được thực hành và hiểu biết đầy đủ trong một lĩnh vực cụ thể.


8
Có giáo dục chính quy và tự học, nhưng bạn đang bỏ qua một người cố vấn tại chỗ - đó có thể là cách tốt nhất để nâng cao kỹ năng của bạn và tìm hiểu cách phần mềm thực sự được tạo ra.
JeffO

1
"Tuy nhiên, điều đó đang được nói, một nền giáo dục chính thức cũng rất quan trọng nếu bạn muốn tham gia vào lĩnh vực nghề nghiệp đó để chuẩn bị có lập trường tích cực trong lực lượng lao động." ... Câu này rất mơ hồ. Một "lập trường tích cực" trong "lực lượng lao động"? Có thật không? Điều đó có nghĩa là gì?
thịt

@bleh Đồng ý. Thay đổi từ ngữ.
Johnny Rotten

1
Tôi nghĩ rằng về kinh nghiệm làm việc là quan trọng nhất ... nhưng một phần lớn trong số đó là tự học. Bạn không thể mong đợi tất cả mọi người tại văn phòng của mình sẽ dạy cho bạn mọi thứ, và tận dụng tốt nhất trải nghiệm của họ từ mọi nơi họ có thể có được ..
user606723

11

Tự học là rất quan trọng. Có kỷ luật để nghiên cứu và thu thập kiến ​​thức cần thiết để hoàn thành một nhiệm vụ sẽ đưa bạn vượt xa nhiều người khác dựa vào đào tạo chính thức để hoàn thành cùng một nhiệm vụ. Điều này đi cho bất kỳ ngành công nghiệp, không chỉ công nghiệp phần mềm.

Đừng hiểu sai ý tôi, việc đào tạo hoặc giáo dục chính thức là hữu ích, nhưng động lực của chính bạn để cải thiện các kỹ năng của bạn sẽ giúp bạn phát triển thành một nhà phát triển phần mềm tốt hơn. Luôn luôn có một cái gì đó để học: nền tảng mới hoặc ngôn ngữ lập trình để thử nghiệm, phương pháp phát triển để thực hiện, các công cụ và thuật toán để sử dụng, danh sách tiếp tục. Không phải tất cả mọi thứ sẽ được giới thiệu cho bạn thông qua đào tạo chính thức và do đó, tùy thuộc vào bạn để tìm hiểu về các chủ đề và ý tưởng khác mà bạn có thể quan tâm sẽ giúp bạn trong suốt sự nghiệp lập trình.


6

Trong lập trình, tự học là điều bạn sẽ làm mỗi ngày. Bạn sẽ phải dạy cho mình rất nhiều thứ, không chỉ ngôn ngữ máy tính và công cụ luôn thay đổi. Bạn sẽ phải học mã người khác viết và bạn cũng sẽ phải sửa nó với sự hướng dẫn và giám sát tối thiểu. Rất hiếm khi ở một số tổ chức được đào tạo thực sự hơn 1 lần mỗi năm (nếu có bao giờ!). Hãy chắc chắn rằng bạn có thể làm (và tận hưởng) điều này, nếu không, hãy xem xét một nghề nghiệp khác trong khi bạn vẫn còn trẻ.


4

Tự hướng dẫn là một kỹ năng không thể thiếu đối với một lập trình viên. Quá nhiều không. Nếu bạn giỏi, bạn sẽ sử dụng kỹ năng này cho phần còn lại của sự nghiệp.


1
-1: Tôi đồng ý rằng tự học là một kỹ năng không thể thiếu, nhưng chỉ nói rằng nó không làm cho nó trở nên như vậy.
Jim G.

1
+1 Không đồng ý với phiếu bầu xuống. Tôi cũng nói như vậy và nó cũng dựa trên kinh nghiệm của tôi.
CodeART

1
@Jim - thật là một lý do hoàn toàn vô lý mà bạn có ở đó. WTF tôi có nên làm điều đó không? "Tôi đồng ý, nhưng -1 vì bạn đã nói nó." O_o
Edward Strange

@CrazyEddie: Chỉ cần nói điều gì đó là đúng mà không cung cấp một số lý do hỗ trợ không hữu ích trên một diễn đàn như thế này.
Jim G.

@Jim - Một đánh giá thô sơ về câu trả lời của bạn khiến tôi phải trả lời: "Những người sống trong nhà kính không nên ném đá."
Edward Strange

3

Tự học rất quan trọng vì bạn sẽ không có cơ hội được đào tạo chính quy. Khi bạn bắt đầu tìm kiếm một dự án, thực tập hoặc công việc, hãy tìm những người có các nhà phát triển cao cấp vững chắc, những người thực sự có thể dạy cho bạn một cái gì đó. Ở trong một môi trường làm mọi thứ đúng có thể là con đường nhanh đến mã chất lượng.


3

Tôi có thể nói với bạn rằng đã có một vài nơi tôi từng làm việc, nơi họ thậm chí sẽ không xem xét ai đó không có dự án riêng của họ ngoài công việc. Nó thể hiện tình yêu dành cho lập trình ngoài việc chỉ hiển thị một công việc và thu thập séc. Tôi sẽ đi ra ngoài ở đây và nói điều này: Tất cả các lập trình viên không thích lập trình hút công việc của họ. Tệ hơn nữa, họ không có gì để thêm vào bất kỳ đội nào họ có thể tham gia.

Tôi muốn có một nhà phát triển cơ sở thiếu kinh nghiệm yêu thích những gì anh ta làm rất nhiều, anh ta chơi mã trong thời gian rảnh của mình trên ba nhà phát triển cấp trung đang trải qua những chuyển động: Một ngày nào đó nhà phát triển cơ sở đó sẽ rất tuyệt, và những người khác sẽ không bao giờ tốt hơn họ

Nếu bạn không học những điều mới, bạn chỉ đang ngồi quên những gì bạn biết.


2

Tài năng được đánh giá quá cao.

Phải mất ít nhất 10 năm luyện tập trước khi một người có thể trở nên vĩ đại trong bất kỳ lĩnh vực nào. Vì vậy, điều quan trọng là bắt đầu sớm.

Thực tế là bạn đã bắt đầu ở giai đoạn đầu đời để làm một việc gì đó mà bạn có vẻ thích đã đưa bạn đi trước các gói. Vì vậy, trừ khi bạn có suy nghĩ thứ hai về khu vực bạn sẽ làm việc, đừng dừng lại ... đừng bao giờ dừng lại!

Tôi coi việc tự học là một trong những kỹ năng tốt nhất của bất kỳ nhà phát triển nào và thứ hai là bằng đại học. Bằng đại học tốt rất quan trọng chỉ vì nó bổ sung rất nhiều chất lượng vào kiến ​​thức của bạn mà bạn có thể không thể tự mình thu thập được. Chắc chắn có những ngoại lệ cho quy tắc này, nhưng đó là tất cả chúng là; ngoại lệ.

Ngoài ra, bạn càng có nhiều kinh nghiệm xây dựng sớm, bạn sẽ càng thích trường đại học và bạn sẽ tiếp thu những khái niệm mới tốt hơn với bạn. Lúc đầu, bạn sẽ thấy tất cả thật dễ dàng và vô nghĩa nhưng rất nhanh bạn sẽ cảm thấy được thử thách và sẽ háo hức tìm hiểu thêm.

Sau khi bạn rời trường đại học, đừng bao giờ ngừng học vì đó sẽ là một trong những tính năng tốt nhất của bạn. Tôi khuyên bạn nên đọc 'Tài năng được đánh giá cao'. Bạn có thể xem bài viết nhanh này về cuốn sách đó:

http://www.devlounge.net/strargety/the-talent-myth


Nói về thần thoại ... Tôi tin rằng 10 năm thực hành thần chú cũng là một huyền thoại. Bạn có thể cho nhiều người 100 năm thực hành ở một số kỹ năng và họ sẽ không bao giờ có được nó. Chắc chắn, chúng có thể tốt hơn so với khi chúng bắt đầu, nhưng nếu nó vẫn chưa đủ tốt, thì nó không đủ tốt. Ngoài ra, tôi đã thấy những sinh viên mới ra trường chạy vòng quanh các nhà phát triển rất có kinh nghiệm trong phát triển phần mềm. Chắc chắn, họ vẫn có những thứ để học, nhưng các nhà phát triển rất có kinh nghiệm, ngay cả những người có 10 năm thực hành cũng vậy. Tài năng là rất, rất quan trọng. Không có nó, bạn chỉ có thể nhận được cho đến nay.
Dunk

@Dunk tôi đồng ý. Tôi nghĩ ý tưởng này theo nghĩa nhiều hơn là ngay cả những người tài năng cũng cần ít nhất 10 năm để học tốt điều gì đó và tài năng không phải là một hộ chiếu để trở thành ngôi sao. Một sự kết hợp của tài năng và sự cống hiến thực sự trong nhiều năm là.
Alex

Tôi đồng ý với bạn. Tài năng mà không thực hành không mất một xa. Tuy nhiên, tôi dường như nhớ đọc bài báo gốc và tác giả đã tuyên bố rằng ngay cả những người có tài năng thông thường ở một kỹ năng nhất định cũng có thể trở nên khá thành thạo với 10.000 giờ luyện tập. Tôi hoàn toàn không đồng ý với đánh giá đó. Nó trở nên thực sự rõ ràng trong lĩnh vực phát triển phần mềm, đặc biệt nếu bạn làm việc trên các ứng dụng với mức độ phức tạp trung bình. Phần lớn các nhà phát triển chỉ có khả năng làm những việc tương đối đơn giản. Không có số lượng thực hành dường như đưa họ vượt quá điểm
Dunk

@Dunk thì có lẽ họ đang thiếu đam mê chứ không phải tài năng.
Alex

: Tôi nghĩ rằng khá dễ dàng để phát hiện tài năng, ngay cả khi nó còn thô sơ và thiếu kinh nghiệm, so với việc không bao giờ có được nó.
Dunk

2

So với hầu hết các lĩnh vực khác mà tôi có thể nghĩ ra, lập trình về cơ bản là tất cả về tự học. Giáo dục kỹ thuật phần mềm / khoa học máy tính chính thức rất hữu ích, nhưng nó không thực sự là nơi bạn học viết mã.

Những gì bạn thực sự nên làm chỉ là bắt đầu làm việc trên các dự án: xây dựng một cái gì đó mà bạn muốn tồn tại. Và sau đó tham gia một dự án nguồn mở để làm việc trên một cái gì đó mà bạn muốn thậm chí tốt hơn. Việc học được miễn phí sau đó ...


2

Bạn cần phải tự học những điều mới - đi đến nơi sự tò mò của bạn đưa bạn đến.

Nhận một nền giáo dục chính thức là tốt - 90% những gì bạn được dạy trong một nền giáo dục chính thức sẽ không được sử dụng tại nơi làm việc. Nhưng 10% được sử dụng sẽ là một điều kỳ lạ và tối nghĩa mà bạn nghĩ lúc đó sẽ không bao giờ được sử dụng.

Không có giáo dục chính thức, bạn gặp phải vấn đề được mô tả tốt nhất là "bạn không biết những gì bạn không biết". Giáo dục chính thức cung cấp cho bạn một phạm vi bao quát rộng lớn của rất nhiều điều trong kiến ​​thức đầy đủ mà không ai sẽ đi ra ngoài và sử dụng tất cả. Bởi vì những gì bạn sẽ sử dụng là thứ bạn sẽ không biết cho đến khi bạn cần nó, tất cả là về sự chuẩn bị để bạn biết nơi cần tìm.

Điều tự học / tò mò thúc đẩy là điều khiến bạn trở thành một người hiểu biết và làm tròn tốt hơn. Chưa kể có giá trị hơn đối với một người sử dụng lao động.

Lưu ý bên lề: Tôi đã dành toàn bộ sự nghiệp của mình, kể từ khi bắt đầu lập trình khoảng 15 tuổi (hơn 25 tuổi ... gần 30 tuổi), ngoài việc học đại học, hầu hết các khóa đào tạo (bạn biết ... học BLAH ở 3 ngày toàn thời gian) là khá vô dụng. Chúng thường rất hời hợt, và theo như câu thần chú "giữ kỹ năng của bạn", không hữu ích lắm cho một người cần đi sâu vào chi tiết kỹ thuật. Mua sách, sử dụng internet, đào sâu vào toán học / vật lý / kiến ​​trúc / bất cứ điều gì là những gì đã làm cho tôi hữu ích và có giá trị. Ở một giai đoạn, tôi là một trong số khoảng 10 người trên thế giới có chuyên môn cụ thể về một chủ đề cụ thể - tất cả những kiến ​​thức đó có được bằng cách tự học và học tại chỗ.

Thời gian duy nhất để ngừng học là khi bạn dưới 6 feet trong một hộp thông.


2

Có một câu chuyện ngụ ngôn hay về nó:

Giải vô địch thế giới hàng năm được tổ chức tại British Columbia. Vòng chung kết là Canada và Na Uy.

Nhiệm vụ của họ là như sau. Mỗi người trong số họ là một phần của rừng. Người chiến thắng là người có thể hạ gục số lượng cây lớn nhất từ ​​8 giờ sáng đến bốn giờ chiều.

Lúc tám giờ, tiếng còi vang lên và hai người tiều phu chiếm lấy vị trí của họ. Họ chặt một cái cây phía sau một cái cây, trong khi người Canada không nghe thấy tiếng Na Uy dừng lại. Nhận ra rằng đây là cơ hội của mình, Canada đã tăng gấp đôi nỗ lực của mình.

Lúc chín giờ, người Canada nghe tin người Na Uy lại đi làm. Và một lần nữa, họ làm việc gần như đồng thời, khi mười đến mười người Canada nghe nói rằng người Na Uy đã dừng lại. Và một lần nữa, người Canada đi làm, muốn tận dụng điểm yếu của kẻ thù.

Lúc mười giờ ở Na Uy lại vào làm việc. Cho đến mười phút đến mười một giờ, anh thoáng chốc không ngắt lời. Với cảm giác tưng bừng ngày càng tăng, Canada tiếp tục làm việc theo cùng một nhịp điệu, đã cảm nhận được mùi chiến thắng.

Nó kéo dài cả ngày. Mỗi giờ của người Na Uy ở lại trong mười phút, và người Canada tiếp tục làm việc. Khi bạn nghe về sự kết thúc của cuộc thi, vào lúc bốn giờ chiều, người Canada khá chắc chắn rằng giải thưởng trong túi của anh ta.

Bạn có thể tưởng tượng làm thế nào anh ấy ngạc nhiên khi biết rằng anh ấy đã thua.

  • Làm thế nào điều đó xảy ra? - Anh hỏi người Na Uy. - Mỗi giờ, tôi nghe thấy bạn trong mười phút dừng lại. Giống như, Chết tiệt bạn, bạn quản lý để cắt nhiều gỗ hơn tôi? Nó là không thể.

  • Trên thực tế, mọi thứ đều rất đơn giản - chỉ cần nói tiếng Na Uy. - Mỗi giờ, tôi dừng lại mười phút. Và trong khi bạn tiếp tục chặt gỗ, tôi đang mài rìu.

Vì vậy, bạn nên học mọi lúc để giữ cho chiếc rìu của bạn sắc nét .


1
  • Điều đó rất quan trọng, nếu không bạn sẽ ở lại phía sau

  • Tôi học mỗi ngày, tại nơi làm việc, ở đây, bằng cách đọc sách, bằng cách hỏi và trả lời câu hỏi. Càng học tôi càng hiểu tôi biết ít.


1

Tự học rất quan trọng vì hai lý do:

  • sau khi học : như đã nêu trong các câu trả lời khác, tự học là điều bạn sẽ làm trong cuộc sống hàng ngày với tư cách là một nhà phát triển. Bạn không thể biết tất cả mọi thứ và các công ty biết điều này. Những gì bạn PHẢI biết là làm thế nào để cải thiện bản thân. Các nhà phát triển tốt nhất có khả năng tự học ngôn ngữ mới, công nghệ mới một cách nhanh chóng.
  • trong quá trình học : khoảng cách giữa những gì các khóa học đại học sẽ dạy cho bạn và thực tế công việc của bạn sẽ rất lớn. Cụ thể tôi đang nói về bảo trì và bảo trì. Một phần thiết yếu trong công việc của nhà phát triển bao gồm duy trì mã kế thừa (sửa lỗi, cải tiến, thêm tính năng, v.v.). Bạn có thể đọc Có phải việc tạo ra phần mềm hoàn toàn mới nói chung là một phần chính của hầu hết các công việc lập trình? để biết thêm chi tiết.
    Vì việc duy trì mã kế thừa là điều cần thiết, bạn cũng sẽ cần phải tự viết mã duy trì và điều này hiếm khi được dạy với các bài học chính thức (xem Làm thế nào để cải thiện việc đào tạo sinh viên về khả năng duy trì?). Nếu bạn không thực hành tự dạy và đọc nhiều trong quá trình học, bạn khó có thể có được các kỹ năng cần thiết giúp bạn trở thành một nhà phát triển tốt hơn so với mức trung bình.
    Đừng cố gắng học nhiều ngôn ngữ / công nghệ trong quá trình học, nhưng hãy học các cách thực hành tốt và mã hóa sạch. Ví dụ, bạn nên đọc "Mã sạch" của Robert C. Martin hơn là "Tài liệu tham khảo đầy đủ" của Herbert Schildt trong quá trình học.

-1

Tự dạy là rất quan trọng vì bạn tiếp thu các khái niệm theo cách riêng của mình và điều đó thực sự có ích. Chọn một ngôn ngữ để tự học là rất quan trọng. Ngôn ngữ có tài liệu rõ ràng rất quan trọng và những gì bạn không muốn là rất tham vọng muốn học quá nhiều ngôn ngữ phổ biến quá nhanh. Vì vậy, bạn nói rằng bạn đã bắt đầu với c ++, tôi muốn giới thiệu java cho bạn, nó luôn hoạt động rất tốt cho các lập trình viên tự học.


-1

Có lẽ tôi đã học được 95 +% những gì tôi biết liên quan đến lập trình từ việc tự mình thử mọi thứ và học cách nó hoạt động. Trường học có thể giúp dạy phong cách lập trình tốt và tối ưu hóa mã cho tốc độ, v.v., nhưng bạn sẽ không bao giờ trở thành một lập trình viên "giỏi" chỉ bằng cách đọc sách giáo khoa. Một cách tuyệt vời để xây dựng các kỹ năng lập trình là tìm các vấn đề hàng ngày mà bạn có thể sử dụng máy tính để giải quyết và cố gắng viết một số mã để hoàn thành nó. Bị mắc kẹt là một phần của việc học. Tôi bắt đầu muốn trở thành một nhà phát triển web, vì vậy tôi sẽ tạo ra các trang web giả khá thường xuyên (không lưu trữ chúng hoặc bất cứ điều gì) để thử nghiệm những điều mới mà tôi muốn thử. Nó làm việc khá tốt cho tôi!


-1

Tôi bắt đầu lập trình 2 năm trước. Trường học của tôi không thể dạy ngôn ngữ tốt, và tôi phải lên mạng và tự nghiên cứu. Tôi là một người học chậm hơn và vì vậy tôi đã mất 2 năm để viết chương trình đầu tiên của mình, trong khi tất cả các bạn học của tôi vẫn đang gặp khó khăn hoặc đã từ bỏ việc lập trình.

Điều này cho thấy tốt hơn là một lập trình viên nên tự học hơn là phụ thuộc vào trường học. Trường học sẽ luôn che giấu thông tin, vì họ nghĩ rằng chúng tôi chưa sẵn sàng cho nó.


Không chắc tôi đồng ý. Tôi nghĩ rằng tự dạy là quan trọng, nhưng chắc chắn có rất nhiều tài liệu nền tảng mà bạn có thể có được từ giáo dục chính quy sẽ cung cấp cho bạn các công cụ để giao tiếp với người khác và học cách giải quyết các vấn đề mới thay vì những vấn đề đã được giải quyết.
jmort253

trong thời gian đó, mọi người đều đang cố gắng để hiểu những gì trường đang dạy và họ đang dạy với tốc độ rất nhanh mà mọi người không thể bắt kịp.
Jie Liang

Trường học là một chương trình truyền dạy được thiết kế để cung cấp cho chúng tôi nền tảng của các khái niệm cơ bản, nhưng chúng tôi sẽ tiếp tục giáo dục đó sau đó và tiếp tục tự học.
jmort253

Tôi đồng ý với những gì bạn nói. Đó là y tự dạy là điều bắt buộc nếu chúng ta muốn cải thiện hơn với lập trình.
Jie Liang

-3

Như mọi khi trong toán học và khoa học máy tính - có 2 quan điểm: 1. Cần thiết và 2. Mâu thuẫn đầy đủ

  1. Điều cần thiết là (tự-) học trong suốt cuộc sống của bạn. Không có lựa chọn khác để được và vẫn là lập trình viên tốt.
  2. Điểm trên không đủ điều kiện - bạn phải có nền tảng vững chắc về toán học - trung học và sau đó tốt nghiệp Đại học tốt trong lĩnh vực khoa học máy tính. Đây là (có thể) điều kiện đủ. Bộ não của bạn phải được dạy để suy nghĩ theo thuật toán. Điều này KHÔNG THỂ đạt được bằng cách tự học.

1
Bộ não của bạn có thể được dạy cách suy nghĩ theo thuật toán mà không cần đến trường đại học. Tôi thậm chí sẽ gợi ý rằng có nhiều cách tốt hơn để học điều này hơn là vào một trường đại học (ví dụ như học nghề, sẽ hiệu quả hơn đối với nhiều người). Mặt khác, có nhiều người không thể nghĩ theo thuật toán bất kể họ có bao nhiêu khóa học về khoa học máy tính. Đại học chắc chắn là một trợ giúp lớn cho hầu hết các lập trình viên, nhưng nó cũng không bắt buộc.
Phil

Nếu bạn thành thạo đọc sách giáo khoa, thì hãy đọc một vài cuốn sách và sử dụng các công cụ trực tuyến như stackexchange.com và các lập trình viên nên cung cấp nhiều nền tảng về khoa học máy tính và thuật toán.
Peter Smith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.