Có thể cho một người nghiệp dư để trở thành một lập trình viên tốt? [đóng cửa]


46

Một lập trình viên toàn thời gian chuyên nghiệp có thể làm một công việc tuyệt vời bằng cách liên tục học hỏi từ công việc của họ. Làm thế nào một lập trình viên nghiệp dư có thể đào tạo để trở thành một lập trình viên giỏi?

** Nếu bạn thích chơi nhạc hoặc hát, bạn có thể làm điều đó bởi vì đó là sở thích của bạn và bạn quan tâm, và bạn có thể trở thành một ca sĩ hoặc người chơi nhạc giỏi. Nhưng bạn không cần phải trở thành một ca sĩ chuyên nghiệp hoặc hát để kiếm sống. Điều này cũng đúng với các lập trình viên? Bất kỳ lập trình viên nghiệp dư nào nổi tiếng?


3
Đúng. Vì vậy, Wozniak không phải là một lập trình viên giỏi cho đến khi Apple đầu tiên được bán (và do đó anh ta trở thành một "chuyên gia").
KeithS

Xác định "tốt" ..

2
Mỗi lập trình viên "tốt" đã từng là một người nghiệp dư.
spudwaff

Câu trả lời:


84

Chìa khóa để trở nên thực sự tốt là làm việc trong một nhóm tốt. Nhiều người nghiệp dư làm việc một mình, vì vậy họ chỉ đạt được điều đó. Trong một nhóm, bạn học hỏi từ những người khác và bạn trở nên kỷ luật bởi vì đồng nghiệp của bạn sẽ đánh bạn với bất cứ điều gì có ích nếu không.

Vì lý do đó, tôi đề nghị bạn tham gia một nhóm, ví dụ như một dự án nguồn mở hoặc thực hiện một dự án sở thích với một số người bạn.


9
+1 Để làm việc trong một nhóm tốt. Có những người có trình độ tương đương hoặc cao hơn trong nhóm của bạn là vô cùng động lực.
BenR

Quên phần của đội trong danh sách 'cạm bẫy' của tôi, +1
keppla

2
+1 Tôi nghĩ đó là chìa khóa: học hỏi từ những người giỏi có nhiều kinh nghiệm hơn bạn. Mặc dù tham gia một nhóm tốt thì nói dễ hơn nhiều so với thực hiện.

1
+1 cho bit nhóm tốt . Nếu nhóm không giỏi hoặc giỏi hơn bạn, bạn sẽ không học.
Spencer Rathbun

4
Bạn không cần phải ở trong một nhóm để học hỏi từ những người khác.
Emanuil Rusev

53

Con đường trở nên giỏi lập trình cũng giống như hát hoặc chơi nhạc: luyện tập, luyện tập, luyện tập. Nếu bạn dành đủ thời gian thường xuyên phát triển phần mềm trong vài năm, rất có thể bạn sẽ trở nên giỏi về nó - có thể là trong hoặc ngoài giờ làm việc.

Bây giờ, ngoài việc dành nhiều thời gian hơn để luyện tập, còn có một lý do khác khiến các chuyên gia thường trở nên giỏi hơn những người nghiệp dư theo một nghĩa nào đó (trong âm nhạc cũng như trong lập trình). Nếu bạn là một người chuyên nghiệp, bạn phải thực hiện các nhiệm vụ mà bạn không nhất thiết phải thích, nhưng thuộc về công việc phát triển phần mềm rộng hơn (ví dụ: kiểm tra, thảo luận với khách hàng, viết tài liệu, thiết lập môi trường dev / build, viết kịch bản xây dựng, v.v. ). Và thỉnh thoảng bạn cũng bị ép phải bước vào những khu vực xa lạ, để học các ngôn ngữ hoặc nền tảng mới. Là một người nghiệp dư, bạn không bị buộc phải làm bất cứ điều gì bạn không muốn, điều đó có khả năng là bạn ở trong vùng thoải mái của mình trong phần lớn cuộc đời. Nói cách khác, bạn có thể dễ dàng bị giới hạn ở một hoặc một vài lĩnh vực cụ thể mà bạn thích nhất,

OTOH nhiều nhà phát triển chuyên nghiệp cũng rơi vào điều này, ở cùng một công ty làm cùng một công việc thường ngày hầu như không học được điều gì mới trong nhiều thập kỷ ... Vì vậy, chìa khóa để trở nên tốt hơn là thái độ của bạn. Nếu bạn tiếp tục học hỏi và có ý thức tìm kiếm cơ hội để ra khỏi vùng thoải mái của mình vào lãnh thổ mới, xa lạ, cuối cùng bạn sẽ vượt trội hơn những "chuyên gia" hóa thạch từ từ. Một cách tốt để làm điều này có thể đóng góp cho một số dự án nguồn mở.

Một bài đọc được đề xuất là Lập trình viên thực dụng: Từ Journeyman đến Master , với rất nhiều lời khuyên tuyệt vời và rất thiết thực về cách tiếp tục trở nên tốt hơn.


3
+1 Quy tắc 10.000 giờ của Malcolm Gladwell từ en.wikipedia.org/wiki/Outliers_(book)
StuperUser

Mặc dù một chuyên gia phải làm những công việc khó chịu, nhưng có một khía cạnh khác - những công việc khó chịu đó thường là những công việc buồn tẻ, tẻ nhạt mà ít dạy. IOW người nghiệp dư thường có thể học hỏi nhiều hơn cùng một lúc bằng cách chọn phát triển các dự án thú vị. NHƯNG một bài học quan trọng, tất nhiên, là bạn phải chuẩn bị để thực hiện công việc buồn tẻ và tẻ nhạt. Tôi đặc biệt thích "đóng góp cho các dự án nguồn mở" của bạn bởi vì điều đó có nghĩa là làm việc với mã của ai đó - học bằng ví dụ, cách đọc mã không quen thuộc, v.v.
Steve314

@StuperUser liên kết của bạn bị hỏng (dấu ngoặc đơn thứ hai không được bao gồm trong siêu liên kết).
Paperjam

Một số lời khuyên tốt nhất tôi từng đọc, "Nếu bạn muốn trở thành một nghệ sĩ đàng hoàng, hãy vẽ. Mỗi buổi sáng, làm một bản phác thảo, bạn không thể giúp đỡ nhưng tốt hơn" .. tìm một dự án .. có rất nhiều người không lợi nhuận ngoài đó cần sự giúp đỡ .. xin lời khuyên ("Tôi đang xây dựng một hệ thống lập hóa đơn, tôi phải bắt đầu từ đâu?", "Làm thế nào để tôi xử lý bảo mật theo ngữ cảnh?", v.v.) .. chi phí thất bại thấp và bạn có thể nhận được một hợp đồng thanh toán từ nó ..
Bobby D

@ Steve314, các chuyên gia giỏi hơn sẽ viết các công cụ để tự động hóa các nhiệm vụ tẻ nhạt trần tục. Bằng cách sử dụng các công cụ phù hợp cho công việc phù hợp, tôi đã giảm thời gian cho một số nhiệm vụ theo hàng trăm yếu tố. (Ngay cả các công cụ tốt hơn có thể đã có thể tự động hóa hoàn toàn nhiệm vụ đó, nhưng tôi đã đạt được cảm giác như một sự cân bằng tốt giữa nỗ lực viết công cụ và tiết kiệm thời gian.)
sarnold

18

Nhưng đối với một lập trình viên nghiệp dư, làm thế nào để có thể đào tạo để trở thành một lập trình viên giỏi?

Bạn trở nên tốt hơn bằng cách học, đó là một phần làm, một phần phản ánh những gì đã được thực hiện.

Về cơ bản, không có sự khác biệt giữa người có sở thích và chuyên nghiệp, nhưng 'cạm bẫy' được sắp xếp hơi khác nhau.

Cạm bẫy nghiệp dư là, imho

  • bất kể nhu cầu hoàn thành dự án của bạn là gì, không mạnh bằng khi bạn không chuyên nghiệp . Đây có thể là một điều tốt, bởi vì bạn sẽ không quen với việc cắt góc khi nói đến chất lượng, nhưng hoàn thiện (hoàn toàn đúng lúc thậm chí còn tốt hơn) là một kỹ năng rất quan trọng, khó đào tạo như một người nghiệp dư, bởi vì thật dễ dàng để cho một dự án chết và bắt đầu một dự án khác.

  • nhu cầu giao tiếp tốt không mạnh bằng. Trong một dự án chuyên nghiệp, có một động lực mạnh mẽ để thực sự hiểu khách hàng, ngay cả khi họ hoàn toàn không thể hình thành chỉ một câu mạch lạc về vấn đề họ muốn bạn giải quyết. Nếu bạn hiểu nhầm họ, hoặc (trường hợp thông thường) không để ý, rằng họ không nói về điều gì bạn cần hiểu, nó sẽ trở thành vấn đề của bạn, sớm hay muộn. Một dự án nghiệp dư có thể dễ dàng mất tất cả người dùng tiềm năng, do không giải quyết được vấn đề của họ và được 'hoàn thành' theo cách kỹ thuật.

Cạm bẫy chuyên nghiệp là

  • thường có ít động lực để trở nên tốt hơn . Bạn ở đó 40h / tuần, bất kể bạn tìm ra cách chữa ung thư hay chỉ uống cà phê theo cách có vẻ hiệu quả. Học hỏi là thứ bạn làm chủ yếu cho bản thân và thông thường, nếu bạn cố gắng áp dụng những thứ bạn đã học, có những lực lượng chống lại điều đó (nhóm bảo thủ, phân cấp, thậm chí cả phong cách có thể được sử dụng làm vũ khí chống lại sự cải tiến). Phải mất rất nhiều tình yêu cho nghề nghiệp để không chỉ từ bỏ nó, hack hàng giờ của bạn và tìm kiếm các mục đích thay thế trong cuộc sống.

  • có thường ít để học hỏi từ . Đúng, người ta CÓ THỂ thử thách mọi thứ như một thách thức, nhưng chúng ta phải thành thật: sau 1 năm mã Spaghetti bạn không cho phép tái cấu trúc ("bạn đang làm phức tạp nó!") Bằng ngôn ngữ bạn có nhiều năm hơn về kinh nghiệm có lẽ sẽ kéo dài, điều duy nhất người ta học được là xây dựng một sự khoan dung chống lại sự thất vọng và chính trị của công ty.

Nếu bạn chơi nhạc, hoặc hát, bạn có thể chơi nó vì sở thích, bạn vẫn có thể trở thành một ca sĩ hay người chơi nhạc giỏi, nhưng không cần phải trở thành một ca sĩ chuyên nghiệp, hay hát để kiếm sống.

Tất nhiên bạn không cần, nhưng có bao nhiêu nhạc sĩ sẽ từ chối một cơ hội để thực sự bỏ công việc và kiếm tiền với âm nhạc của họ?

Trong CNTT, những cơ hội này có nhiều khả năng hơn so với trong Âm nhạc, vì vậy tôi nghĩ, không phải là không thể trở thành một tài tử nổi tiếng, nhưng đôi khi, những người nghiệp dư thực hiện niềm đam mê của họ (với những vấn đề tương tự mà các nhạc sĩ gặp phải khi họ phải tìm ra ranh giới giữa thương mại và nghệ thuật)


Điều này làm tổn thương tâm hồn tôi, nó rất đúng với tôi, lol. 1 năm mã Spaghetti mà bạn không cho phép tái cấu trúc ("bạn đang làm phức tạp nó!")
Terrance

1
"thường có ít động lực để tốt hơn." nếu tôi từng có bất kỳ nhân viên nào đối xử với việc phát triển phần mềm theo cách đó, tôi thà sa thải họ hơn là một người cố gắng làm tốt hơn ngay cả khi họ vô tình phá vỡ mọi thứ từ sự cố gắng của họ.

@Chris Marisic: sau đó tôi sẽ rất vui khi được làm việc với bạn. thật đáng buồn, bạn sẽ là ngoại lệ trong dòng các nhà tuyển dụng của tôi
keppla

8

Tôi e rằng có nhiều khả năng học tập cho những người nghiệp dư hơn là cho máy bay không người lái toàn thời gian của công ty. Là một người nghiệp dư, bạn không bị giới hạn với bất kỳ phương pháp công nghệ, môi trường, thiết kế và phát triển nhất định nào. Bạn có thể làm bất cứ điều gì bạn thấy hữu ích cho sự phát triển cá nhân của bạn. Là một nhà phát triển toàn thời gian, bạn có thể sẽ làm việc trên cùng một sản phẩm trong nhiều năm, theo cùng một thói quen, bị giới hạn bởi cùng một hướng dẫn của công ty. Đối với hầu hết chúng ta, nó không là gì ngoài sự trì trệ. Một chút có thể học được từ môi trường công ty, một khi bạn đã quen thuộc với những điều cơ bản phổ biến.

Đó là lý do tại sao nhiều nhà phát triển toàn thời gian cũng là những người nghiệp dư, họ tiếp tục viết mã sau khi làm việc, họ đang chơi với các dự án đồ chơi của riêng họ - đó là một chút tự do cần thiết cho sự phát triển.


6

Là một lập trình viên nghiệp dư, ngày nay bạn có rất nhiều khả năng để cải thiện kỹ năng của mình. Tôi đã làm như sau để cải thiện kỹ năng của mình trong khi học kỹ thuật phần mềm.

Tất nhiên bạn cũng cần phải áp dụng kiến ​​thức của bạn. Làm điều này thông qua một thực tập, một dự án với bạn bè hoặc khóa học. Có nhiều cách để cải thiện bản thân, bạn chỉ cần sẵn sàng đầu tư thời gian rảnh của mình. Ngoài ra, hãy vui vẻ học một cái gì đó mới !


4

Có thể cho một người nghiệp dư để trở thành một lập trình viên tốt?

Vâng, điều đó là có thể , tuy nhiên phải mất nhiều thời gian:

phải mất khoảng mười năm để phát triển chuyên môn trong bất kỳ lĩnh vực nào, bao gồm chơi cờ, sáng tác nhạc, vận hành điện báo, vẽ tranh, chơi piano, bơi lội, quần vợt, và nghiên cứu về khoa học thần kinh và cấu trúc liên kết. Chìa khóa là thực hành có chủ ý: không chỉ thực hiện lặp đi lặp lại mà còn thử thách bản thân với một nhiệm vụ vượt quá khả năng hiện tại của bạn, thử nó, phân tích hiệu suất của bạn trong và sau khi thực hiện, và sửa chữa bất kỳ sai lầm nào. Sau đó lặp lại. Và lặp lại lần nữa.


Làm thế nào một lập trình viên nghiệp dư có thể đào tạo để trở thành một lập trình viên giỏi?

Một lần nữa từ cùng một nguồn :

  • Quan tâm đến lập trình
  • Chương trình
  • Nói chuyện với các lập trình viên khác
  • Nếu bạn muốn, hãy học bốn năm tại một trường cao đẳng
  • Làm việc trên các dự án với các lập trình viên khác
  • Làm việc trên các dự án sau khi lập trình viên khác
  • Học ít nhất nửa tá ngôn ngữ lập trình

Tôi không thường xuyên +1 câu trả lời chỉ bao gồm các liên kết, nhưng bài viết này đáng đọc. Cảm ơn.
đăng

bạn có thể giải thích về điều này chi tiết hơn - làm thế nào và tại sao nó trả lời câu hỏi được hỏi? "Câu trả lời chỉ liên kết" không được chào đón tại Stack Exchange
gnat

1
@gnat Liên kết nói lên tất cả - hy vọng nó sẽ tốt hơn sau khi chỉnh sửa.
BЈовић 25/03/13

3

Là một người nghiệp dư, bạn có nhiều lựa chọn hơn để tìm kiếm các thực hành tốt hơn so với nhiều chuyên gia. Các chuyên gia thường chịu áp lực "chỉ cần hoàn thành công việc".

Tôi chưa thấy bất kỳ khóa học nào giống như tôi học lập trình từ đó, nhưng tôi đã học được từ một số khóa học miễn phí ngắn (1-3 giờ) do Trường đại học tôi đang theo học trình bày. Họ dự định cho phép những người kinh doanh hiểu mã được viết cho họ. Các khóa học trình bày mã viết rất tốt (bao gồm ý kiến) đã giải quyết một vấn đề thực tế phổ biến trong cuộc sống. Mã này sau đó đã được xem xét với một lời giải thích về các tính năng ngôn ngữ và lý do tại sao chúng được sử dụng theo cách chúng ở đâu. Không có khóa học ngôn ngữ đầy đủ nào tôi thấy kết quả bằng mã ở bất cứ đâu gần chất lượng của những gì tôi học được từ khóa học đó. Đó là một vài năm trước khi tôi chuyển sang học Khoa học Máy tính.

Internet và thư viện cung cấp rất nhiều tài nguyên và ví dụ. Tôi thấy nhiều ví dụ không tốt cho bất cứ điều gì ngoài việc hoàn thành nó. Khi nhìn vào các ví dụ, nhìn vào mã đầu tiên. Bạn có thể hiểu nó mục đích và cấu trúc mà không cần giải thích? Nếu vậy, bạn có thể đã tìm thấy một ví dụ tốt.

Một số thực hành chính bạn nên tìm hiểu và áp dụng:

  • DRY (Đừng lặp lại chính mình).
  • DRO (Không lặp lại khác); Sử dụng các thư viện ngôn ngữ tiêu chuẩn, sử dụng các thư viện khác.
  • Giữ mã đơn giản. Mã thanh lịch có xu hướng khó bảo trì hơn. Thậm chí tệ hơn, tối ưu hóa thường tạo ra mã máy chậm hơn so với mã đơn giản hơn.
  • Các mô-đun chỉ nên có một mục đích. (Sẽ tốt hơn nếu mục đích đó là để thực hiện công việc hoặc đưa ra quyết định.)
  • Sử dụng tên tốt. Đừng sử dụng tên ngắn để tránh gõ, thay vào đó hãy sử dụng IDE có tự động hoàn thành. Hiểu các quy ước đặt tên của ngôn ngữ của bạn.
  • Đừng tối ưu hóa mã của bạn. Đợi cho đến khi bạn có thể đo hiệu suất của nó và biết rằng tối ưu hóa nó sẽ có hiệu quả rõ rệt.
  • Hãy tiếp tục học hỏi. Tìm hiểu để xác định các tài nguyên sẽ cung cấp thông tin hữu ích mà bạn có thể sử dụng ngay bây giờ.

2

Nếu bạn thích chơi nhạc hoặc hát, bạn có thể làm điều đó bởi vì đó là sở thích của bạn và bạn quan tâm, và bạn có thể trở thành một ca sĩ hoặc người chơi nhạc giỏi. Nhưng bạn không cần phải trở thành một ca sĩ chuyên nghiệp hoặc hát để kiếm sống. Điều này cũng đúng với các lập trình viên? Bất kỳ lập trình viên nghiệp dư nào nổi tiếng?

Không có gì. Đó là kỹ thuật phần mềm . Nó không dựa trên "tài năng thiên bẩm". Trở thành lập trình viên tuyệt vời dựa trên nhiều năm giáo dục và nhiều năm kinh nghiệm . Bạn chỉ có được rằng làm việc trên các dự án thực tế .


2
Trên thực tế, ở một mức độ đáng kể, một tài năng tự nhiên. Bạn không thể đào tạo một kỹ sư phần mềm kém để trở nên tuyệt vời, nhưng bạn thường có thể đào tạo bất cứ ai trở nên giỏi. Nó rất giống với tài năng âm nhạc hoặc nghệ thuật, bạn có thể đào tạo hầu hết mọi người trở nên khá giỏi nhưng bạn không thể đào tạo bất cứ ai trở nên tuyệt vời, họ tự rèn luyện và có lẽ tốt hơn BẤT K of huấn luyện viên nào của họ. Cũng giống như các vận động viên đẳng cấp thế giới, ít người từng gặp một tài năng lập trình đẳng cấp thế giới, điều này có thể giải thích tại sao hầu hết các lập trình viên không biết họ tồn tại :)
Bill K

2

Trong các cuộc phỏng vấn xin việc tôi đã từng (về phía nhà tuyển dụng), tôi luôn hỏi về những người được phỏng vấn đã lập trình như một người nghiệp dư (trừ bài tập ở trường) - đã làm điều đó là một dấu hiệu chắc chắn về sự quan tâm thực sự trong lĩnh vực này và có niềm đam mê học hỏi của chính mình. Không chỉ có thể, nó gần như là một yêu cầu để trở nên tốt.


2

Có thể không? Đúng. Tuy nhiên, bạn càng dành nhiều thời gian để lập trình thì bạn càng có nhiều thời gian để làm tốt hơn. Người ta nói phải mất 10 năm / 10 000 giờ thực hành có chủ ý để phát triển chuyên môn ở một kỹ năng kỹ thuật. Đó không phải là 10 000 giờ thực hiện cùng một loại mã hóa trong vùng thoải mái của bạn (ví dụ: viết mã jQuery đơn giản cho các trang web khác nhau), nhưng 10 000 giờ học / đọc về lập trình / đọc mã nguồn / viết mã nguồn / học các ngôn ngữ khác / làm việc với người khác, v.v.

Nếu bạn sẽ dành mức độ thời gian đó cho nó; bạn cũng có thể có được một công việc như một lập trình viên và bỏ trạng thái nghiệp dư. (Trừ khi bạn độc lập giàu có).


1

Mọi người đều là một người nghiệp dư ở mọi thứ tại một thời điểm. Nếu bạn muốn trở thành một lập trình viên giỏi và đó là điều bạn thích làm, bạn sẽ làm được. Chìa khóa là tự lập trình. Trường sẽ dạy bạn bên cạnh không có gì. Hầu hết việc học của bạn sẽ được thực hiện một mình và tại nơi làm việc. Nếu bạn muốn trở nên tốt, hãy trở nên tốt.


1

trao thật ý nghĩa gốc của từ (tiếng Pháp nghiệp dư "người yêu của", từ Old Pháp và cuối cùng là từ Latin amatorem nom. amator , "người yêu" - Wikipedia), người ta sẽ muốn tin rằng một số lượng lớn của các chuyên gia cũng là nghiệp dư. Nếu bạn không yêu nghề của bạn, bạn sẽ thực hành nó chứ?

Tất nhiên là có thể - nếu bạn yêu thích lập trình, bạn sẽ thực hành nó và theo thời gian, bạn sẽ trở nên giỏi về nó. (Có thể không bao giờ tuyệt vời, được cung cấp tài năng cá nhân hoặc thiếu nó), nhưng ít nhất là tốt


Ý nghĩa thực sự của nghiệp dư là ý nghĩa bạn tìm thấy trong OED hoặc NOAD. Từ nguyên của một từ không cho biết nghĩa của nó. "Một người tham gia vào việc theo đuổi, học tập, khoa học hoặc thể thao như một trò tiêu khiển hơn là một nghề nghiệp".
Django Reinhardt

thật. có lẽ tôi nên viết "nghĩa gốc" chứ không phải "nghĩa thực". Thật không may là ngôn ngữ hiện tại của chúng tôi không có một từ chung cho "những người làm điều gì đó bởi vì họ thực sự thích làm điều đó." Tôi nghĩ điều đó sẽ giúp trả lời câu hỏi của OP, "Liệu một người nghiệp dư có thể trở thành một lập trình viên giỏi không?" Tất nhiên là có thể - nếu bạn yêu thích lập trình, bạn sẽ thực hành nó và theo thời gian, bạn sẽ trở nên giỏi về nó. (Có thể không bao giờ tuyệt vời, cho tài năng cá nhân hoặc thiếu nó), nhưng ít nhất là tốt.
StevenV

0

Tôi không biết những gì nó định nghĩa một lập trình viên tốt. Nhưng học một cái gì đó của riêng họ và làm việc với một nhóm người là một cái gì đó khác nhau. Các lập trình viên nghiệp dư đam mê thực sự học hỏi những điều mới và hack. Họ đã tìm thấy những điều thú vị hơn. Nhưng làm việc với một nhóm người hơi là một hành động kỷ luật nơi bạn cộng tác, giao tiếp, chia sẻ / thu thập thông tin từ các chuyên gia trong lĩnh vực đó.

Nhưng đạt được kiến ​​thức chỉ là vấn đề của niềm đam mê. Có những người đã dành cả đêm để tự học những thứ và cuối cùng mang đến một thứ gì đó mới mẻ cho thế giới như Bill G Mark Zuck, v.v. Không thể dễ dàng so sánh. nhưng nếu bạn muốn trở thành một kỹ sư phần mềm tốt hơn (tôi sẽ không gọi Lập trình viên) tham gia vào một công ty hoặc làm việc cho một số sản phẩm tốt được sử dụng bởi những người khác.

Cuối cùng đọc rất nhiều để cải thiện kỹ năng, thái độ, cập nhật ngành, phát triển sở thích và đi với niềm đam mê. Mọi thứ sẽ dễ dàng theo bạn!


Cả Bill Gates và Mark Zuckerberg đều học ngành khoa học máy tính tại Hardvard cho đến khi họ bắt đầu kinh doanh riêng và bỏ học. Không phải là một ví dụ tốt về nghiệp dư .
vartec

Tôi nghi ngờ liệu Harvard có đóng vai trò quan trọng trong việc phát triển kỹ năng lập trình của họ ngoại trừ môi trường lập dị!
sarat

0

Với câu hỏi, "có lập trình viên nghiệp dư nào trở nên nổi tiếng không?" Câu trả lời là "Có, nhưng hầu hết không theo cách đó." Ví dụ nổi tiếng nhất mà tôi có thể nghĩ đến là Roy Fielding, người đã thực hiện một số công việc quan trọng nhất của mình trong khi (tôi tin) không được trả lương tại Đại học (nghiệp dư có nghĩa là không được trả theo định nghĩa).

Bí quyết để có chất lượng chuyên nghiệp là có một người cố vấn hoặc một nhóm cố vấn (chẳng hạn như một nhóm trong một dự án nguồn mở) và dành thời gian nghiêm túc cho chủ đề này. Là một nhạc sĩ chuyên nghiệp trước đây, kinh nghiệm của tôi là cả hai điều này đều cần thiết để trở thành một người chuyên nghiệp hoặc nghiệp dư. Một số có thể được học bằng sách, nhưng không có sự phê phán bên ngoài nhất quán, nó trở nên rất khó để vượt qua những thói quen xấu có được như một người mới.

Điều đó nói rằng, trong trường hợp lập trình viên, nó dễ học hơn so với nhạc sĩ - đó là kinh nghiệm của tôi khi là một nhạc sĩ, việc tìm kiếm các lỗi sư phạm của bạn khó hơn nhiều so với việc nhìn thấy mã không hoạt động. Mặt khác, nó cũng đòi hỏi một khoản đầu tư thời gian lớn hơn đáng kể để trở thành một nhà phát triển giỏi.


0

Giống như bất cứ điều gì khác, cách tốt nhất để cải thiện điều gì đó là đắm mình trong môi trường mà bạn muốn trở nên tốt hơn, và bao quanh mình với những người vượt trội hơn bạn, những người sẵn sàng chịu đựng bạn và dạy bạn. Không dễ thực hiện, nhưng đó là những gì tôi đã tìm thấy là cách tốt nhất để học cách giỏi một thứ gì đó nhanh nhất.

Nhưng khi trở thành một lập trình viên thực sự có năng khiếu, bạn phải là người có năng khiếu. Nếu bạn không phải là một người chơi violin tài năng tự nhiên, bạn sẽ không bao giờ giỏi như những bậc thầy cho dù bạn có cố gắng hay mua nhạc cụ nào. Tương tự như vậy, nếu bạn không có món quà đó khiến các lập trình viên thực sự trở thành thiên tài, bạn cũng sẽ không bao giờ là họ.

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.