Tôi không có chương trình trong thời gian rảnh rỗi. Điều đó làm cho tôi một nhà phát triển xấu?


387

Rất nhiều blog và lời khuyên trên web dường như gợi ý rằng để trở thành một nhà phát triển tuyệt vời, chỉ làm công việc hàng ngày của bạn là không đủ. Ví dụ, bạn nên đóng góp cho các dự án nguồn mở trong thời gian rảnh rỗi, viết ứng dụng trên điện thoại thông minh, v.v. Trên thực tế, rất nhiều lời khuyên này dường như gợi ý rằng nếu bạn không thích lập trình đủ để làm việc đó cả ngày thì bạn có lẽ trong sự nghiệp sai.

Điều đó không đúng với tôi. Tôi thích công việc của mình, nhưng khi tôi từ văn phòng về nhà, tôi không có tâm trạng nhảy thẳng vào máy tính và bắt đầu viết mã cho đến khi đi ngủ. Tôi chỉ có một số giờ nhất định thời gian rảnh mỗi ngày, và tôi thà dành chúng cho những sở thích khác, gặp bạn bè hoặc đi ra ngoài hơn trước máy tính.

Tôi thỉnh thoảng bị loại khỏi chương trình và thỉnh thoảng đột nhập vào công việc. Tôi cam kết phát triển cá nhân và dành thời gian đọc blog và sách công nghệ như một cách để tiếp tục học hỏi và trở nên tốt hơn. Nhưng điều đó không kéo dài đến mức tôi muốn sử dụng tất cả thời gian rảnh rỗi của mình để viết mã.

Điều này có nghĩa là tôi không phải là nhà phát triển phần mềm "thực sự"? Có thể trở thành một nhà phát triển phần mềm tốt mà không cần làm thêm ngoài công việc của bạn không? Tôi rất muốn nghe những gì bạn nghĩ.

Cập nhật: cảm ơn mọi người vì ý kiến ​​và câu trả lời của bạn. Rất nhiều suy nghĩ và lời khuyên tốt!


133
Tôi nghĩ rằng điều đó chỉ khiến bạn trở nên bình thường hơn, có lẽ bạn có nhiều kết nối hơn với những gì chúng ta gọi là "cuộc sống thực". Giá trị mà.
Orble

146
@ HOÀN TOÀN "cuộc sống thực" này bạn đang nói về cái gì? Nó có giống với WoW không? Nó có chạy trên hệ điều hành 64 bit không?
biziclop

18
@biziclop - Giống như WOW với đồ họa và chơi trò chơi tốt hơn mà tẻ nhạt hơn rất nhiều.
ChaosPandion

39
@ChaosPandion: Các nhiệm vụ hút r / l, dài, buồn tẻ và các chiến lợi phẩm chắc chắn không hoành tráng.
Orble

4
Vì mục đích hiệu quả, tôi khuyên bạn nên thử nghiệm những điều mới và thực hiện các dự án cá nhân khi bạn phải làm việc. Bằng cách đó bạn vẫn có thời gian rảnh hạn chế. :-)
Carson63000

Câu trả lời:


446

IMO thái độ này đến từ những người có công việc hút hồn khủng khiếp, kết hợp với kỹ năng quản lý thời gian khó khăn. Nếu về cơ bản bạn đang gõ các biểu mẫu web cả ngày, hãy ra ngoài và nhận một công việc khó khăn hơn hoặc bắt đầu công việc của riêng bạn.

Vấn đề là như thế này. Một nhạc sĩ hòa nhạc (cellist / nghệ sĩ piano / bất cứ điều gì), sẽ luyện tập nhiều nhất là 6 giờ mỗi ngày. Hầu hết chỉ thực hành một vài giờ mỗi ngày. ở mức cao nhất

Mọi người nói chương trình nhiều hơn vì bạn học được nhiều hơn, nhưng đó là một màn khói. 8 giờ mỗi ngày là nhiều .

Tiến độ KHÔNG tuyến tính. Đó là logarit:

nhập mô tả hình ảnh ở đây

Lý do duy nhất mà một nhạc sĩ có thể luyện tập lâu hơn 3 giờ, là họ cần vắt thêm 1% mà những giờ đó mang lại cho họ. Nếu bạn nghĩ rằng điều đó áp dụng cho bạn, giải quyết lại một vấn đề CS đã giải quyết cách đây 2 thập kỷ, thì bạn có một phức hợp prima-donna để khởi động.

Trước đây tôi đã từng làm việc trong các công ty nồi áp suất và tin tưởng tôi, số lượng công việc thực tế mà những người đó hoàn thành không tốt hơn một công ty như 37 công ty đặt ra những hạn chế về số lượng công việc: http://37signals.com / svn / bài viết / 996-why-i-love-làm việc-với-gia đình-người

Điều cuối cùng xảy ra là chắc chắn, bạn có thể ở trước máy tính trong 10-12 giờ và ở văn phòng thêm 2 giờ nữa, nhưng điều đó không bao gồm 90 phút ăn trưa bạn đã dùng, 2 giờ bạn dành để thảo luận duyệt web diễn đàn, và giờ giải lao bạn phải chơi một trong nhiều trò chơi được đặt trong văn phòng (foosball, pool, yada ...).

Nhìn lại biểu đồ đó. Bây giờ trở lại với tôi.

Tâm trí của bạn thực sự có cơ hội mở rộng hơn nhiều nếu bạn tham gia vào một số hoạt động khác: Học chơi một nhạc cụ . Học ngoại ngữ . Tốt hơn hết là ra ngoài và tập thể dục, và kết nối với những người thực sự sống .

Về bản chất logarit của năng suất:

Trong nghiên cứu nổi tiếng năm 1993 về các nghệ sĩ violin trẻ tuổi, nhà nghiên cứu biểu diễn Anders Ericsson đã phát hiện ra rằng những người giỏi nhất đều tập luyện theo cùng một cách: vào buổi sáng, trong ba lần tăng không quá 90 phút, mỗi lần nghỉ giữa mỗi lần. Ericcson tìm thấy mô hình tương tự giữa các nhạc sĩ, vận động viên, người chơi cờ và nhà văn khác.

Đối với năng suất thực, ít hơn là thực sự nhiều hơn

Đây thực sự là một nguyên tắc nổi tiếng trong thế giới kinh doanh, tôi ngạc nhiên khi nhiều lập trình viên chưa từng nghe về nó.

Cập nhật: Thông tin thêm về nghiên cứu của Ericsson.

Toàn bộ khái niệm phải mất 10.000 giờ / 10 năm để thành thạo thực sự đến từ các nghiên cứu được thực hiện bởi Ericsson, không phải từ Malcom Gladwell.

Như chúng ta đã biết, bạn có thể có 1 năm kinh nghiệm được lặp lại 10 lần ... vì vậy chỉ cần đặt mông của bạn trong 10 năm là không đủ điều kiện. Những gì không đủ điều kiện là những gì Ericsson gọi là thực hành có chủ ý .

Ông đã tìm thấy nguyên tắc này để giữ đúng trong điền kinh, âm nhạc, viết, cờ vua và toán học. Ông còn định nghĩa thêm việc thực hành có chủ ý là rất nỗ lực, thậm chí ở mức cao nhất bạn chỉ có thể đưa ra khoảng 4 giờ mỗi ngày . Nếu không, bạn sẽ bị tập luyện quá sức hoặc kiệt sức. Một lần nữa, anh ta nhận ra rằng có những lợi nhuận giảm dần cho việc thực hành có chủ ý, lên đến khoảng 4 giờ.

Về vấn đề không có một công việc tốt / thử thách:

Chuyện nhảm. Hoặc có được một công việc tốt hơn, hoặc đây là một ý tưởng: Biến công việc hiện tại của bạn thành một thứ gì đó không phải , ít nhất là ngay bây giờ.

Một trong những lập trình viên giỏi nhất mà tôi biết đã bước vào một công việc là một lập trình viên bảo trì trên một hệ thống kế thừa bao gồm hàng tá chương trình và hàng trăm ngàn dòng mã. Hầu hết trong số đó đã bị hack trong nhiều năm qua đến nỗi bạn sẽ phải nói rằng không còn thiết kế mạch lạc nào nữa.

Đây là khá nhiều công việc không đi đến đâu. Quản lý muốn bạn giữ cho đầu của bạn xuống, và chỉ cần sửa các lỗi chết tiệt. Các nhà phát triển giỏi đã làm việc trong dự án greenfield. Mọi người hoặc đến đây để ngồi ngoài những ngày còn lại cho đến khi họ nghỉ hưu, hoặc có được một vài năm kinh nghiệm trước khi tiếp tục phát triển ứng dụng mới. Trong khi hầu hết các lập trình viên sẽ phàn nàn về việc thiếu sự phát triển nghề nghiệp, hoặc cơ hội học hỏi những điều mới, hoặc không có các dự án thú vị để làm việc, hoặc nói chung là chỉ chê bai về việc không ai cho phép họ , anh chàng này chỉ đơn giản ngồi xuống và tiếp tục thực hiện công việc cần phải làm

Và trong suốt 2 năm, anh ta đã biến hệ thống đó từ một mã lỗi spaghetti thành một thứ đẹp đẽ và hoạt động như một chiếc đồng hồ Thụy Sĩ. Vì vậy, hoàn thành là sự chuyển đổi, rằng VP của bộ phận bắt đầu chú ý nhiều hơn và nhiều hơn vào dự án hiện có, và bắt đầu đặt câu hỏi về giá trị của dự án greenfield. Mặc dù anh ta không có một danh hiệu, những người hoạt động đã đến với anh ta với tư cách là người lãnh đạo thực tế của nhóm. Khi tôi rời đi, VP đã nói về việc tạo ra một vai trò mới cho anh ấy như một kiến ​​trúc sư hệ thống ...

Tôi không chắc chuyện gì đã xảy ra với anh ta sau đó, nhưng anh ta đã dạy cho tôi một vài bài học rất quan trọng:

  1. Công việc của bạn là những gì bạn làm ra nó, và có những vấn đề thú vị cần được giải quyết ở mọi nơi . Nếu bạn ghét viết màn hình CRUD, hãy giải quyết vấn đề bằng cách tự động tạo chúng.

  2. Đừng ngồi chờ đợi cơ hội đến với bạn. Rất có thể họ sẽ không bao giờ


Bình luận viên : ý kiến ​​có nghĩa là để tìm kiếm làm rõ, không phải để thảo luận mở rộng. Nếu bạn có một giải pháp, hãy để lại một câu trả lời. Nếu giải pháp của bạn đã được đăng, xin vui lòng nâng cấp nó. Nếu bạn muốn thảo luận câu hỏi này với người khác, vui lòng sử dụng trò chuyện . Xem FAQ để biết thêm thông tin.

30
Điều này, và nhiều câu trả lời khác, tập trung quá nhiều vào lập trình là "thực hành". Để tiếp tục so sánh nhạc sĩ, tin hay không nhưng thực ra họ cũng chơi cho vui. Những gì người phỏng vấn tìm kiếm một người mà các chương trình trong thời gian rảnh rỗi của họ đang tìm kiếm không phải là người cảm thấy cần phải thường xuyên thực hành mọi lúc. Họ đang tìm kiếm một người đam mê và thực sự thích những gì họ làm. Nếu bạn đam mê công việc của mình, bạn cũng thường biến nó thành một sở thích và thật khó để thoát khỏi nó. Không khác gì chọn bất kỳ sở thích nào khác.

7
Ví dụ của nhạc sĩ không thực sự tốt. Khi một nhạc sĩ đạt đến trình độ kỹ năng cao, khi anh ta đã học được tất cả lý thuyết, khi anh ta có thể ghép các bài hát với đôi mắt nhắm lại, khi anh ta có thể chơi hơn 9000 nhạc cụ cùng một lúc, anh ta không còn gì để làm. Lập trình viên hoặc kỹ sư máy tính cần tìm hiểu về các công nghệ mới TẤT CẢ cuộc sống. Luôn luôn có một cái gì đó mới để tìm hiểu. Vì vậy, trả lời cho câu hỏi, một anh chàng lập trình cả ngày và không có đời sống xã hội tốt hơn nhiều so với một anh chàng không lập trình trong thời gian rảnh rỗi.

2
@GabrielLlamas Các lý thuyết âm nhạc là những điều cơ bản như nguyên tắc cơ bản của thuật toán, tính toán phân tán và hệ điều hành mà chúng ta học được ở trường đại học. Những điều cơ bản này không thay đổi quá nhiều thời gian. Trở lại sau khoảng 20 năm, chúng ta đã có mô hình máy khách và máy chủ, và bây giờ chúng ta vẫn có mô hình máy khách và máy chủ. Vì vậy, những điều cơ bản của máy khách và máy chủ vẫn được áp dụng, đó chỉ là những thứ cấp cao đang thay đổi nhanh chóng. Bạn có thể nghĩ về các công cụ khác nhau như các công nghệ khác nhau như HTML, Javascript. Nhưng nếu bạn có thể áp dụng các nguyên tắc cơ bản, thì mọi thứ sẽ tương tự.
David Gao

1
Một ví dụ khác giống như một khi bạn biết cách lập trình trong c, học c ++ sẽ không khó. Tôi nhớ tôi đã giải quyết các câu hỏi lập trình của bạn cùng phòng bằng Scheme mà không biết bất kỳ Lược đồ nào. Sơ đồ học tập không hề khó với tôi vì tôi biết ở cấp độ cao, ngôn ngữ chức năng là gì.
David Gao

150

Có nhiều ẩn trong tin nhắn này.

Nhiều lập trình viên nhiệt tình thích khám phá mọi thứ, thử nghiệm, làm theo ý tưởng của họ, đó là cách chúng ta học hỏi và có được kỹ năng và tầm nhìn.

Thông thường, bạn không được làm theo sở thích của mình trong giờ làm việc. Bạn chỉ cần làm những việc bạn được bảo phải làm và đó là điều đó. Chỉ một vài người trong chúng ta đủ may mắn để làm trong công việc những gì chúng ta sẽ làm cá nhân ngay cả khi không được trả tiền.

Do đó, nếu bạn không làm gì thêm, bạn sẽ không phát triển tiềm năng của mình. Và đó chính xác là vấn đề.


2
wow đó là một sự giải toả lớn, vì đôi khi tôi cảm thấy rằng tôi thích tìm hiểu về khía cạnh khác của lập trình nhưng công việc chỉ khiến mọi thứ cảm thấy như bị nghiền nát.
hỗn loạn

3
Thật. Một điều cần lưu ý là bất kỳ Thỏa thuận phát minh nào bạn có thể đã ký trong quá trình tiếp nhận. Chúng tôi đã không sử dụng chúng, nhưng tôi đã có một thỏa thuận bằng lời với các lập trình viên của mình: nếu ngoài giờ làm việc và không cạnh tranh trực tiếp với công ty, thì hãy có một khoảng thời gian vui vẻ. Tôi thậm chí không bận tâm nếu họ sử dụng thiết bị của công ty, mặc dù có thỏa thuận chung rằng nó "sạch" hơn để giữ nó ở nhà.
Peter Rowell

3
Nó tốt để theo dõi sự tò mò của bạn ngoài giờ. Đó có thể là cách triển khai phiên bản tiếp theo của cửa sổ một cách tự động trong toàn bộ công ty của bạn qua đêm (Mwah hah hah). Hoặc có thể là chụp ảnh, hoặc bia, hoặc chèo thuyền. Những sở thích bên ngoài làm cho bạn trở thành một người tròn trịa hơn. Nó không liên quan đến công việc hàng ngày của bạn.
quick_now

5
-1 Như những người khác đã lưu ý trong các câu trả lời và nhận xét khác, điều này ngụ ý rằng bạn thực sự không thể có được một công việc tốt, vui vẻ và đầy thử thách. Theo kinh nghiệm cá nhân của tôi thì điều này không đúng. Tôi đã học được rất nhiều điều mới trong hầu hết các công việc của tôi cho đến nay. IMHO đó là một câu hỏi về thái độ cá nhân ít nhất là nhiều như văn hóa công ty.
Péter Török

26
Nếu bạn thích lập trình và không thích công việc của mình, bạn nên dành thời gian rảnh để tìm kiếm một công việc tốt hơn.
nikie

70

Nó không làm cho bạn trở thành một nhà phát triển tồi, nhưng thật không may, bạn vẫn phải cạnh tranh với những người làm.

Đọc này, từ Blog của Seth Godin :


Không hợp lý

Thật vô lý khi ra khỏi giường vào một ngày tuyết rơi, khi trường học đã bị hủy bỏ, và biến thời gian chết thành sáu giờ làm việc trong một phòng thí nghiệm vật lý tín dụng bổ sung.

Thật không hợp lý khi tung ra một sản phẩm công nghệ giúp tăng tốc độ phát triển trong chín tháng, đưa thế hệ tiếp theo ra sớm hơn nhiều so với các đối thủ hợp lý hơn.

Thật vô lý khi một công ty vận tải trả lời điện thoại ở vòng đầu tiên.

Thật vô lý khi bắt đầu một công ty mới mà không có tiền liên doanh đảm bảo có thể mang lại.

Thật vô lý khi hy vọng văn phòng bác sĩ sẽ có một nhân viên lễ tân dễ chịu và hữu ích.

Thật vô lý khi bỏ đi một hợp đồng tốt trong nền kinh tế ngày nay, ngay cả khi bạn muốn làm điều gì đó dũng cảm và độc đáo.

Thật vô lý khi giáo viên hy vọng rằng chúng ta có thể cho phép những đứa trẻ nội thành có hoàn cảnh khó khăn học giỏi ở trường trung học.

Thật không hợp lý khi đối xử với đồng nghiệp và đối thủ của bạn bằng sự tôn trọng với áp lực mà bạn phải chịu.

Thật vô lý khi hy vọng rằng bất cứ ai, ngoại trừ một người phụ nữ tuyệt vời, một người có cả hai động lực và lợi thế, có thể làm bất cứ điều gì quan trọng trong một thế giới nơi bộ bài được xếp chồng lên nhau chống lại những người bình thường.

Thật vô lý khi cống hiến nhiều năm trong cuộc đời bạn để tạo ra một sản phẩm mà hầu hết mọi người sẽ không bao giờ đánh giá cao.

May mắn thay, thế giới đầy những người vô lý. Thật không may, bạn cần phải cạnh tranh với họ.


13
Vâng, nó cũng không hợp lý để làm việc 8 giờ một ngày và sau đó về nhà để làm việc thêm. Bạn đang làm việc cho ai Và tại sao? Bạn cần trả lời những câu hỏi đó (ai trả tiền? Tại sao? Để có được những gì?) Nếu bạn mệt mỏi về tinh thần vào cuối ngày, điều tốt nhất bạn có thể làm cho chính mình là - một điều khác!
quick_now

37
Bạn đưa ra giả định rằng các nhà phát triển không bị thách thức trong công việc và không thích công việc của họ. Nó không đúng. Những người chỉ lập trình tại nơi làm việc không lập trình tại nhà vì họ đã hoàn toàn hài lòng
Không ai là

8
-1 vì a) các trích dẫn không liên quan trực tiếp đến câu hỏi này, b) IMO (hầu hết) những điều này không hợp lý chút nào. Rất nhiều người hợp lý có thể nghĩ dài hạn cũng như ngắn hạn. OTOH hầu hết chúng ta đều có kinh nghiệm trong việc phát minh ra những lời giải thích hợp lý (và giả) cho sự lười biếng / bất tài / bất cẩn của chúng ta :-(
Péter Török

13
-1 Thật vô lý khi gọi rất nhiều điều hợp lý là không hợp lý. Nó không thêm gì vào câu hỏi và nghe có vẻ ổn, chủ yếu giống như rất nhiều điều Seth Godin viết.
Vitor Py

5
"Thật vô lý khi mong đợi một văn phòng bác sĩ sẽ có một nhân viên lễ tân dễ chịu và hữu ích." Không, không phải vậy. Điều không hợp lý là các bác sĩ tính phí những gì họ làm và sau đó khiến chúng tôi phải đối mặt với nhân viên văn phòng thô lỗ, chờ đợi lâu trong phòng chờ văn phòng của họ và cá nhân thiếu tôn trọng.
GreenMatt

57

Để trả lời câu hỏi được đặt ra: Không lập trình trong thời gian rảnh rỗi không khiến bạn trở thành một nhà phát triển tồi, tuy nhiên, lập trình trong thời gian rảnh rỗi có thể giúp bạn trở thành một nhà phát triển tốt hơn.

Lập trình trong thời gian rảnh rỗi chắc chắn sẽ không làm tổn hại đến kỹ năng của bạn, nhưng bạn không nên bắt buộc phải làm điều đó. Lập trình dường như là một lĩnh vực tương đối độc đáo bởi vì đối với nhiều người, đó là cả công việc và sở thích của họ, vì vậy họ thích lập trình trong thời gian rảnh rỗi.


8
Lập trình không phải là duy nhất trong việc có cả sự nghiệp và sở thích. Một vài ví dụ: Tôi từng biết một số phi công của hãng hàng không có những chiếc máy bay nhỏ của riêng họ mà họ bay để giải trí. Tôi đã biết các nhà thiên văn học chuyên nghiệp, những người nhìn chằm chằm vào một bên.
GreenMatt

4
Bởi " tương đối độc đáo" tôi có nghĩa là nó là một trong số ít, nhưng chắc chắn không phải là duy nhất. Tôi biết nhiều người hơn, trong khi họ có thể thích công việc của họ, sẽ không dành thời gian làm khi không được trả tiền. Thường rất khó để có được một công việc làm những gì bạn đam mê.
shortkaik

1: Công nghệ, ngôn ngữ và kỹ thuật thay đổi thường xuyên và nhanh chóng. Các lập trình viên phải dành một chút thời gian để mài giũa thủ công của họ. // Câu hỏi liên quan: Bạn có cảm thấy thoải mái với một PCP không đọc các tạp chí y khoa không?
Jim G.

Tôi nghĩ rằng câu trả lời này tổng hợp tình huống tốt nhất. Nhưng nó hoàn toàn phụ thuộc vào tình huống của một người. Nếu công việc của bạn đáp ứng tất cả các nhu cầu lập trình của bạn, về mặt thúc đẩy bản thân, cập nhật công nghệ, v.v., bạn sẽ không cần phải làm việc trong thời gian của mình. Tuy nhiên, nếu công việc của bạn khá dễ dàng, sử dụng công nghệ cũ hơn, thì nên dành thời gian để cải thiện kỹ năng và kiến ​​thức của bạn trong thời gian của bạn.
Nellius

@shortkaik "lập trình trong thời gian rảnh rỗi có thể giúp bạn trở thành nhà phát triển tốt hơn" - Điều đó không phải lúc nào cũng đúng. Nếu bạn bị thách thức trong công việc, thì nếu bạn cũng lập trình ở nhà, điều đó sẽ góp phần vào sự kiệt sức và kiệt sức của bạn hơn là kỹ năng của bạn, điều này cũng có thể gây hại cho năng suất làm việc của bạn. Mặt khác, nếu bạn không hài lòng với những gì công việc của bạn mang lại cho bạn (và lấy từ bạn), mã hóa bổ sung sau đó có thể là một quyết định tốt.

23

Không, nó không làm cho bạn trở thành một lập trình viên tồi. Tùy thuộc vào những gì bạn làm nó có thể làm cho bạn trở thành một lập trình viên tốt hơn trong thời gian dài. Đầu sự nghiệp của bạn, nó có thể ảnh hưởng đến việc bạn học nhanh các kỹ năng cần thiết. Tuy nhiên, bạn có thể chọn các kỹ năng và thông tin sẽ giúp ích lâu dài. Tập thể dục cũng không đau.

Có một số lượng lớn các nghiên cứu cho thấy hiệu suất nhìn trộm trong khoảng 40 tuần làm việc. Mặc dù chúng tôi có thể sản xuất trong một khoảng thời gian làm việc nhiều giờ hơn, nhưng về lâu dài, chúng tôi mất hiệu quả. Nghiên cứu mà tôi đã thấy cho thấy những người làm việc 80 tuần có năng suất cao như những người làm việc 40 giờ một tuần.

Có một vài điều bạn có thể phản ánh vào (hoặc bật) giờ có thể giúp bạn thực hiện tốt hơn:

  • Bạn đang làm gì đấy? Bạn có thể làm điều đó tốt hơn? Bạn có cần phải làm điều đó?
  • Bạn đang học gì thế? Bạn cần học gì?
  • Những vấn đề bạn đang chạy vào? Ai là tốt nhất để giải quyết chúng? Bạn có thể làm gì?

Lập trình như một sở thích không có nghĩa là làm việc sau nhiều giờ với công việc biz - điều này chắc chắn không có quy mô. Nhưng lập trình một trò chơi trên iPhone trong ObjC vì sở thích có thể cải thiện kỹ năng và tổng năng suất trong công việc (nếu công việc đó là viết các ứng dụng tài chính trong Java EE).
Heiko Rupp

@Heiko Đúng, nhưng có rất nhiều kỹ năng khác ngoài lập trình có thể giúp bạn trở thành một lập trình viên giỏi hơn. Một nhà phát triển giỏi có nhiều kỹ năng bên cạnh lập trình.
BillThor

Tất nhiên :) Tôi đặc biệt đề cập đến "năng suất tối đa ở 40h" - nghe có vẻ như nếu bạn lập trình sở thích 5h, bạn chỉ có thể làm 35h tại nơi làm việc. Điều mà tôi không nghĩ là đúng
Heiko Rupp

1
@Heiko Nó là công việc đủ khác nhau sau đó bạn có thể làm cả hai. Vài năm đầu tiên của tôi sau khi tốt nghiệp, tôi thường xuyên vượt quá 40 giờ một tuần, nhưng áp dụng rất nhiều kỹ năng. Đã học được rất nhiều, và dường như không đạt được thành tích. Rất may, đôi khi tôi có một người bạn sẽ kéo tôi ra khỏi văn phòng vào buổi tối. Trong một dự án khác, tôi về nhà lúc 2 giờ chiều khi tôi nhận ra mình đã không hoàn thành bất cứ điều gì kể từ 10 giờ sáng. Vẫn lập hóa đơn trong 4 giờ.
BillThor

15

Có thể trở thành một nhà phát triển phần mềm tốt mà không cần làm thêm ngoài công việc của bạn không?

Chắc chắn rồi.

Có thể mất nhiều thời gian hơn nếu bạn dành thêm giờ để mài giũa kỹ năng của mình. Tôi cũng thấy khó có thể dành đủ thời gian để tự cải thiện nếu tôi làm việc toàn thời gian và làm ít lập trình ngoài giờ làm việc.

Khi tôi còn trẻ, tôi dành nhiều thời gian hơn cho việc học so với bây giờ. Các khái niệm tôi sử dụng hàng ngày đã ăn sâu vào thời điểm này, và có vẻ dễ dàng hơn để có được kiến ​​thức bổ sung với kinh nghiệm này trong vành đai của tôi.

Các lập trình viên "tốt" dường như bỏ thêm nhiều giờ vì bản chất họ bị ám ảnh, có xu hướng chống lại sự kết thúc chống xã hội của quang phổ, và thực sự thích lập trình và toàn bộ chu trình giải quyết vấn đề.


13

Trong kế hoạch lớn của mọi thứ, đó là tất cả về việc tìm kiếm sự cân bằng phù hợp trong cuộc sống.

Điều quan trọng là bạn có thích lập trình hay không và liệu bạn có tiếp tục học dù bạn ở cấp độ nào. Việc bạn lập trình ngoài công việc hay không không tự động biến bạn thành một lập trình viên "tốt" hay "xấu".

Để đưa ra một quan điểm cá nhân, tôi đã lập trình được khoảng 25 năm (đầu tiên là một đứa trẻ, sau đó là chuyên nghiệp). Tôi hoàn toàn thích nó.

Tuy nhiên, tôi gần như không bao giờ lập trình ngoài công việc. Điều này phải làm với một số điều:

  • Tôi rất may mắn khi trong công việc tôi có thể làm những gì tôi yêu thích, mỗi ngày, cả ngày.
  • Rất đơn giản, có những thứ khác trong cuộc sống và chỉ có rất nhiều giờ trong ngày.

-1: Vâng, có những thứ khác trong cuộc sống, nhưng điều đó không trả lời câu hỏi; bạn chỉ đang cố gắng thuyết phục bản thân rằng bạn đang chọn con đường tốt nhất.
Jim G.

9

Bạn có thể trở thành một lập trình viên giỏi chỉ cần viết mã trong quá trình làm việc, đặc biệt nếu bạn quản lý tốt sự nghiệp của mình. Tuy nhiên, các lập trình viên vĩ đại nhất cũng viết mã trong giờ làm việc của họ. Phải nói rằng, một người chọn công việc tốt với nhiều cơ hội học tập, sử dụng thời gian trong công việc tốt, và sẽ trở thành một lập trình viên tốt hơn so với người làm việc tại nhà vì anh ta không thể tìm được công việc mang lại những thách thức thú vị trong ngày làm việc

Mặc dù mã hóa tại nhà rất có giá trị, tôi sẽ nói rằng tối đa hóa giá trị của môi trường làm việc của bạn (bằng cách học hỏi từ đồng nghiệp, chọn công việc tốt, quản lý sự nghiệp của bạn một cách tích cực) thường thậm chí còn có giá trị hơn. Các lập trình viên vĩ đại nhất làm cả hai, cộng với có thái độ tuyệt vời đối với việc học và tư vấn cho người khác.


"Tuy nhiên, các lập trình viên vĩ đại nhất cũng viết mã trong giờ làm việc của họ." Bạn không có bằng chứng cho điều này.
djechlin

7

Vấn đề thực sự là liệu một nhà phát triển mới có đủ mã hóa (về các vấn đề đủ thách thức) để vượt qua vài trăm nghìn dòng mã thực hành và trở thành một lập trình viên giỏi.

Về lý thuyết, điều này có thể được thực hiện tại nơi làm việc, hoặc vào thời gian của bạn, hoặc cả hai. Thực hành phải có một chút tự định hướng, vì vậy bạn có thể học những gì bạn cần học. Điều đó có nghĩa là công việc đó là một chút linh hoạt.

Rất nhiều lần các công việc ở cấp nhập cảnh là một loạt các sửa lỗi hoặc công việc khác sẽ không dạy bạn trở nên tốt. Những gì bạn cần làm là viết rất nhiều mã từ đầu, và mã đó có thể sẽ xấu. Nhà tuyển dụng rất khó trả tiền cho việc này. Đó là lý do tại sao mọi người cuối cùng thực hiện một dự án nguồn mở ở bên cạnh hoặc khởi động một công ty khởi nghiệp hoặc bất cứ điều gì.

Khi mọi người nói rằng bạn phải lập trình trong thời gian rảnh rỗi, tôi nghĩ điều đó thực sự có nghĩa là bạn phải tiếp sức từ nhiều năm thực hành có ý nghĩa từ rất sớm. Bạn phải làm bất cứ điều gì cần thiết để có được thực hành và học cách viết và duy trì một cơ sở mã lớn từ đầu. Nếu không ai trả tiền cho bạn để viết một loạt dự án có thể là thảm họa từ đầu, thì thời gian rảnh rỗi là lựa chọn duy nhất.

Nếu bạn đã thực hành khi còn trẻ và trở thành một lập trình viên giỏi, tôi không nghĩ bạn sẽ mất các kỹ năng cơ bản nếu bạn giữ nó từ 9 đến 5 sau này. Sau đó, vấn đề là theo kịp công nghệ mới, việc này không tốn nhiều thời gian.

Tuy nhiên, đó là một công việc cấp độ hiếm hoi sẽ cung cấp cho bạn số lượng và chất lượng thực hành để trở thành một lập trình viên giỏi ngay từ đầu. Một nhà phát triển mới cần chủ động tìm hiểu, không chỉ đi chơi trong một công việc cấp đầu vào làm các nhiệm vụ cấp nhập cảnh.

Sẽ rất khó để trở thành một lập trình viên giỏi từ đầu nếu bạn đã có gia đình và rất chú trọng đến sự cân bằng giữa công việc và cuộc sống. Cũng như thật khó khăn để trở thành một bác sĩ hoặc trở thành một nhạc sĩ tài năng hoặc bất cứ điều gì khác trong tình huống đó. Có một lý do khiến mọi người có xu hướng vượt qua hàng ngàn giờ luyện tập khi họ trẻ hơn là khi họ già hơn.


5

Nếu tôi dành thời gian trong sáu tháng tới để phát triển một trò chơi cơ bản trong thời gian rảnh rỗi và bạn thì không, và giả sử tất cả những thứ khác đều bằng nhau (chúng không bao giờ như vậy), chúng ta sẽ biết nhiều hơn? Ai trong chúng ta sẽ có nhiều kỹ năng và kinh nghiệm?

Hiệu ứng này sẽ được tích lũy, vì kiến ​​thức ngoài giờ sớm sẽ cung cấp cho công việc mới và kiến ​​thức ngoài giờ mới.

Và đó là lý do tại sao mọi người khuyên nên lập trình trong thời gian rảnh rỗi, trong chừng mực mà tôi có thể nói.


5

Giữa lớn và xấu có nhiều cấp độ ở giữa. Bạn không thể trở thành một nhà phát triển tuyệt vời bằng cách chỉ làm 8 giờ hoặc hơn mỗi ngày, có thể làm việc với các vấn đề từ một lĩnh vực rất hạn chế.

Nếu công việc của bạn đủ đa dạng, bạn có thể trở nên "đàng hoàng" hoặc "hoàn thành" hoặc bất kỳ tính từ nào bạn thích, nhưng để trở thành một nhà phát triển tuyệt vời, bạn phải có một chút tinh thần, tôi sợ.

Một lý do khác để thực hiện lập trình sở thích là trong công việc bạn thường phải tuân thủ các tiêu chuẩn dưới mức tối ưu và thỏa hiệp nói chung và ngay cả khi bạn học một điều mới, bạn có thể không được phép sử dụng nó.

Và một điều nữa, thậm chí còn bình thường hơn là bất kỳ mã nào bạn viết tại nơi làm việc đều thuộc sở hữu của chủ nhân. Bạn không thể quay lại và học hỏi từ những sai lầm cũ của bạn nhiều năm sau, khi bạn làm việc cho người khác.


5

Phải mất 10.000 giờ nỗ lực để trở thành một Chuyên gia trong bất cứ điều gì. [Michael Gladwell, "Người ngoài cuộc"]

Vì vậy, làm thêm việc trước khi bạn đạt đến cấp độ đó sẽ giúp bạn tăng tốc trên con đường đến trạng thái Chuyên gia thực sự.

Một khi bạn đã vượt qua mức đó, sau đó dành nhiều thời gian hơn sẽ có lợi nhuận nhỏ / giảm dần.


3
Nhưng "một thứ" trong bất cứ thứ gì là gì? Là "lập trình" là một "thứ" duy nhất, hay là những thứ "haskell", "lisp", "java", "python", v.v? Hoặc "lập trình chức năng", "lập trình GUI", "lập trình cấp thấp", v.v? Chính nó, điều đó cho chúng ta không có gì.
André Paramés

4

Bạn không nên xem nó là "Nó có làm tôi trở thành một lập trình viên tồi không" bởi vì giống như mọi kỹ năng thực hành nhiều hơn chỉ làm cho một người giỏi hơn.

Vì vậy, nếu bạn muốn trở nên tốt hơn bạn hiện tại và tìm hiểu các công nghệ và lĩnh vực mới mà công việc của bạn không cho phép, đó là nơi mà nỗ lực và thời gian thêm có ích.

Nhưng dành thêm thời gian để viết mã (chỉ để chứng minh với ai đó rằng bạn viết thêm mã) không nhất thiết có nghĩa là bạn trở thành một lập trình viên giỏi trừ khi bạn học những gì bạn làm và làm điều gì đó khác biệt hoặc cải thiện những gì bạn đã biết, thay vì cắt / sao chép / dán một cách mù quáng và cùng nhau hack. Đặt thêm giờ và làm điều tương tự lặp đi lặp lại không có cách nào tôi nghĩ sẽ giúp bạn cải thiện.


Tôi nghĩ rằng quan điểm của OP là một số lập trình viên truyền bá ý tưởng rằng nếu bạn không lập trình ngoài công việc thì bạn là một lập trình viên tồi. Tôi đã mất số lần tôi đã xem các bài đăng trên SO, ở đây, và ở nơi khác mà ai đó nói rằng khi phỏng vấn một người thuê mới tiềm năng, họ hỏi những người dự án sẽ phỏng vấn bên nào, và nếu câu trả lời là "Không ", Sau đó, người được phỏng vấn không đủ đam mê lập trình vì không được xem xét cho công việc.
GreenMatt

+1 - Sẽ không tốt lắm nếu tất cả những gì bạn làm là những gì bạn đang làm trong công việc.
Dunk

Chỉ cần thực hành một mình sẽ không làm cho bạn tốt hơn, bạn phải đánh giá lại những điều đúng đắn mà bạn thực sự có thể mắc phải những thói quen xấu thậm chí còn ăn sâu hơn và trở nên tồi tệ hơn.
HLGEM

4

Trong ngày lập trình của bạn là cược ngắn. Có tiền để kiếm được, bạn biết chính xác bao nhiêu và để làm gì, và bạn không có nhiều thứ để kiếm được hơn là một khoản tiền lương.

Vào ban đêm, bạn đang làm việc với những vụ cá cược dài - những ý tưởng điên rồ chủ yếu sẽ không hiệu quả. Đây là những dự án sẽ đưa bạn ra khỏi thứ hạng và tập tin. Đây là cách bạn trở thành người phát minh ra PHP chứ không phải là con khỉ mã sử dụng nó.

Tôi phỏng vấn rất nhiều lập trình viên, và liệu họ có thực hiện những điều kỳ quặc thú vị ngoài giờ làm việc hay không là một ánh sáng xanh. Thật đáng ngạc nhiên hiếm.

Mặc dù tôi sẽ nói điều này: có một lần, một anh chàng đã làm rất nhiều thứ hay ho ngoài giờ làm việc hóa ra lại là một mớ hỗn độn của việc thuê mướn. Tôi vẫn còn bối rối bởi anh chàng đó.


3

Là một nhà phát triển phần mềm tốt trong tim, thực sự phụ thuộc vào trái tim của bạn. Bạn có thể cố gắng trở thành một nhạc sĩ tuyệt vời và dành nhiều thời gian cho âm nhạc, nhưng điều đó vẫn không giúp bạn trở thành một nhạc sĩ giỏi. Bạn cần tận hưởng những gì bạn làm để trở nên giỏi trong đó. Đặc biệt tôi cũng có những câu hỏi tương tự với bạn đã có, nhưng bây giờ vì sở thích của tôi, tôi đã bắt đầu làm thêm những thứ khác trên phần mềm ngoài công việc bình thường. Nó đã cải thiện hiệu suất của tôi trong công việc bình thường và cũng chứng tỏ tôi có nhiều thời gian để tham gia vào các hoạt động khác không liên quan đến phần mềm. Vì vậy, đường cơ sở là tận hưởng những gì bạn làm và cuối cùng bạn sẽ làm những gì được yêu cầu.


3

Câu hỏi thực sự là những gì bạn đang làm cả ngày. Sự tương tự với các vận động viên và nhạc sĩ thường không được áp dụng chính xác. Công việc hàng ngày của bạn không phải là thực hành, đó là hiệu suất, trừ khi bạn có khả năng rõ ràng để dành một phần ngày làm việc của bạn vào "thực hành" thực sự. Làm sao bạn biết? Nếu bạn không bao giờ có thời gian để làm bất cứ điều gì "đúng" hoặc học một ngôn ngữ / công nghệ / khung / v.v mới kỹ lưỡng, thì bạn không thực hành, bạn đang biểu diễn. Các vận động viên và nhạc sĩ chuyên nghiệp không trở nên tốt hơn trong trò chơi hoặc buổi hòa nhạc, họ trở nên tốt hơn trong quá trình luyện tập tập trung. Vì vậy, nếu bạn thích nhất, lần duy nhất bạn có cho "thực hành" mã hóa chính hãng là ở ngoài công việc. Điều đó đang được nói, nó chỉ đáng giá nếu nó tập trung. Nếu bạn hack cả ngày và sau đó hack cả đêm, bạn chỉ thấy mệt, không khá hơn.

Ví dụ, bạn cần tối ưu hóa một đoạn mã tại nơi làm việc và bạn ném các công cụ định hình thông thường vào nó và tăng tốc nó có thể lên 50% và chuyển sang nhiệm vụ tiếp theo nhưng bạn nghĩ có những việc khác bạn có thể làm sẽ giúp nhiều hơn nhưng bạn không có thời gian cho phép thử chúng. Nếu bạn mang đoạn mã đó về nhà và dành thêm một vài giờ thực sự vắt nó ra, bạn đang học các kỹ thuật giúp bạn trở nên tốt hơn vào lần tới khi bạn tối ưu hóa thứ gì đó. Bạn không làm điều tương tự ở nhà như tại nơi làm việc.

Thực hành là về việc thêm các kỹ năng và rèn luyện các kỹ năng và những hoạt động đó nhất thiết phải được thực hiện theo cách nhân tạo (nó giống như cách ly một nhóm cơ trong phòng tập thể dục, không ai làm điều đó trong hoạt động thể chất bình thường). Xây dựng ứng dụng tại nhà không tự động thực hành. Công việc tại nhà nên tập trung vào các kỹ thuật và quy trình, chứ không phải sản phẩm cuối cùng. Nếu một sản phẩm cuối cùng là những gì bạn cần phải có động lực, tuyệt vời. Đừng rơi vào cái bẫy phát triển nó giống như cách bạn làm trong công việc.

Phong trào kata mã hóa là một ví dụ về những gì thực hành là tất cả về.


3

Để trả lời câu hỏi của bạn: Không, nó không khiến bạn trở thành một nhà phát triển tồi.

Tuy nhiên , nó có thể làm cho cuộc sống chuyên nghiệp của bạn xuống đường khó khăn hơn một chút. Nếu bạn có một công việc mà bạn không ngừng học hỏi các công nghệ mới sẽ giúp bạn tiến xa hơn trên con đường sự nghiệp của mình (cho dù đó là sự thăng tiến trong công việc hiện tại hay công việc mới ở các công ty khác nhau), thì bạn đã sẵn sàng.

Nhưng nếu bạn hiện đang làm việc tại một công ty nơi công nghệ được sử dụng hiếm khi thay đổi, thì trong 2 hoặc 5 năm 10 năm, bạn có thể khó có được công việc tiếp theo. Nếu bạn đang mã hóa tại nhà với các công nghệ mới và có thứ gì đó để hiển thị cho nó (ứng dụng, trang web, dự án nguồn mở, v.v.), thì bạn sẽ thấy công việc tiếp theo dễ dàng hơn nhiều.

Tất nhiên, bạn có thể hoàn toàn hạnh phúc khi làm điều tương tự chính xác trong 40 năm tới, và miễn là công ty của bạn và các công nghệ tiếp tục tồn tại, thì bạn đã sẵn sàng!


1

Đã có những lúc trong đời tôi làm rất nhiều việc viết mã ngoài công việc, và có những lúc tôi không làm gì vì tôi đang làm việc khác. Bạn nên luôn luôn học hỏi, nhưng điều đó không có nghĩa là bạn luôn phải học về lập trình trong thời gian rảnh rỗi. Nếu bạn muốn làm việc với một số kỹ năng khác, có thể là nghề mộc, mũi kim, làm vườn, vv trong thời gian rảnh rỗi, nó sẽ giúp bạn phát triển như một người.

Đừng rơi vào cái bẫy nghĩ rằng bạn biết tất cả những gì bạn cần biết về lập trình để bạn có thể ngừng học hỏi.


1

Đây thực sự là một bài viết thú vị. Tôi đã phát triển phần mềm trong suốt 10 năm và yêu thích công việc của mình! Tôi cũng có rất nhiều sở thích và cố gắng quản lý chúng đúng cách. Nhưng tôi thực sự muốn thử những thứ mới dành một hoặc hai giờ trước máy tính trước khi đi ngủ. Trong trường hợp của tôi, tôi nghiện nghiên cứu và viết mã trò chơi. Tôi không luôn có thời gian chơi game, nhưng tôi thích đọc mã về game. Thành thật mà nói, tôi nghĩ rằng mã tốt nhất tôi từng thấy đến từ các trò chơi và tôi áp dụng các kỹ năng này vào mã của mình trong công việc. Tôi liên tục học hỏi MERYI NGÀY MỘT LẦN, vì vậy IMO, nếu bạn là nhà phát triển, bạn sẽ không bao giờ đạt đến đỉnh cao, luôn luôn có cách tốt hơn để làm gì đó ....


1

Đây là một bài viết tuyệt vời.

Tôi sẽ nói, không, nó không làm cho bạn trở thành một lập trình viên tồi. Nếu đánh giá của bạn tốt và bạn hoàn thành tốt nhiệm vụ của mình và đúng hạn thì bạn hoàn toàn ngược lại. Thành thật mà nói, tôi ghen tị với bạn rằng bạn nhận được mã điền của bạn trong khi làm việc.

Lý do chính khiến tôi lập trình trong thời gian rảnh là vì tôi không thực sự quan tâm đến những gì tôi làm trong công việc và tôi sử dụng thời gian rảnh rỗi của mình để làm những gì tôi thích. Những gì tôi thích làm là lập trình trò chơi video. Không có một công ty trò chơi hợp lệ nào để làm việc cho nơi tôi sống (hiện tại tôi có một gia đình) vì vậy tôi giúp đỡ các trò chơi độc lập ở bên khi tôi có thể. Đó là cách duy nhất để chữa ngứa. Nếu tôi làm những gì tôi yêu thích cả ngày thì rất có thể tôi sẽ không làm điều đó trong thời gian rảnh rỗi.


1

Lời khuyên của tôi sẽ là: Sử dụng thời gian đi làm của bạn để tìm hiểu nội dung, để thông báo cho bạn: đọc sách CNTT, nghe podcast Dev, v.v ... Về các hoạt động sau công việc của bạn: không thay đổi gì cả. Nếu không, bạn sẽ trở thành một người nhàm chán.


1

Nó không làm cho bạn trở thành một nhà phát triển tồi, thậm chí nó có thể không biến bạn thành một nhà phát triển "ok", nó chỉ làm cho bạn trở thành bạn. Mặc dù vậy, tôi nghĩ rằng bạn sẽ thấy hầu hết những người thực sự là những hacker xuất sắc có xu hướng thích thử những điều mới. Bất cứ lúc nào tôi cũng sẽ điều tra nhiều ngôn ngữ, cơ sở dữ liệu, khung web, robot, v.v. Tôi có hai đứa con nhỏ và một người vợ, thế chấp, tất cả những thứ đó - nhưng tôi mong đợi những lần tôi có thể nhận được 2 hoặc 3 hàng giờ để hack xung quanh với công cụ. Chắc chắn, C # và .NET đều ổn và tốt để kiếm được một khoản tiền lương và tôi thực sự rất thích công việc của mình, nhưng việc loay hoay với Scala và Lift đã là một vụ nổ thực sự đối với tôi trong vài tháng qua. Có những nhà phát triển sẽ tự phân loại mình là "đam mê" và những người chỉ "nhận được".


1

Điều này có nghĩa là tôi không phải là nhà phát triển phần mềm "thực sự"?

Tuyệt đối không. Nó chỉ có nghĩa là bạn thích làm những việc khác ngoài mã hóa. Không có gì sai với điều đó, và nó không làm cho bạn tốt hơn hay kém hơn bất kỳ ai khác, nhà phát triển hay không.

Có thể trở thành một nhà phát triển phần mềm tốt mà không cần làm thêm ngoài công việc của bạn không?

Tất nhiên. Một số trong đó phụ thuộc vào môi trường làm việc của bạn là như thế nào. Nếu bạn có một công việc nhàm chán, hút hồn, công việc hút hết thời gian của bạn và sau đó một số công việc bảo trì nhàm chán, thì việc có thể sử dụng thời gian làm việc để phát triển kỹ năng của bạn sẽ rất hạn chế. Nếu bạn có loại môi trường mà bạn có một chút vĩ độ để làm những gì bạn muốn khám phá và học hỏi, thì hãy tận dụng cơ hội đó để phát triển các kỹ năng mới cũng giúp chủ nhân hoặc đồng nghiệp của bạn thoát ra.

Nếu bạn tìm thấy thứ gì đó thú vị mà bạn muốn tìm hiểu thêm và không có thời gian hoặc khả năng sử dụng nó trong công việc, thì bạn phải cân nhắc điều đó với những yêu cầu khác về thời gian của bạn, có thể là gia đình, bạn bè hoặc sở thích.


+1. Vâng, nó thực sự phụ thuộc vào môi trường làm việc. Ở một nơi có thông minh ( tốt nhất là thông minh hơn chính mình ), những người, trong nhóm, quan tâm đến những gì họ làm và không ngừng nỗ lực để cải thiện mọi thứ (sản phẩm cuối cùng, mã cơ bản, công cụ, điều kiện nơi làm việc, v.v.) bạn có cơ hội tốt trở thành một nhà phát triển tuyệt vời , ngay cả khi bạn thích dành thời gian rảnh của mình ở một nơi khác hơn là trước máy tính.
Jonik

1

Gần đây tôi đã tham gia một số cuộc phỏng vấn để thuê các lập trình viên. Tôi đã thấy rằng những ứng cử viên gây ấn tượng nhất với tôi, cả về lập trình viên và những người tôi không bận tâm khi làm việc cùng, là những người dành nhiều thời gian cho các hoạt động lập trình NON (đặc biệt là âm nhạc, nhưng cũng là toán học thuần túy, triết học và văn học). Để chắc chắn, hầu hết cũng làm một số chương trình sở thích, nhưng họ cũng có sự cân bằng lợi ích.


Bây giờ nếu tôi chỉ có thể thuyết phục các nhạc sĩ về điều đó ... họ dường như nghĩ rằng bạn không thể giỏi hơn một thứ. Âm nhạc và lập trình rất giống nhau.
Michael K

Bạn đã trả lời một câu hỏi hoàn toàn khác. Kiểu người mà bạn muốn làm việc cùng có lẽ sẽ khác hoàn toàn so với kiểu người làm cho một lập trình viên tuyệt vời. Nếu bạn muốn tận hưởng những người bạn làm việc cùng và có một thời gian vui vẻ với xã hội thì có lẽ lập trình viên uber không phải là người phù hợp nhất. Tuy nhiên, nếu khối lượng công việc thông thường của bạn là 2-3 tháng để hoàn thành các dự án 12 tháng thì tính cách sẽ không còn quan trọng khi bạn phát hiện ra rằng lập trình viên uber sẽ cho phép bạn có một cuộc sống ngoài công việc, ngay cả khi cuộc sống đó là làm thêm chương trình.
Dunk

Cũng như một ghi chú bên lề: Tôi đã thấy rằng những người gây ấn tượng nhất với tôi khi mọi người tham gia một cuộc phỏng vấn là những người mà tôi phải quan tâm nhất. Trong sự nghiệp ban đầu của tôi, những người duy nhất mà tôi đề nghị tuyển dụng hóa ra là ít có khả năng kỹ thuật cũng tình cờ là người có khả năng xã hội và thuyết phục nhất trong cuộc phỏng vấn.
Dunk

1

Nếu có một công việc cung cấp cho bạn trải nghiệm trí tuệ hoàn toàn hấp dẫn, rất có thể đó sẽ là cuộc sống tinh thần của bạn - công việc bên ngoài là để xả hơi. Nếu công việc của bạn không thu hút bạn, bạn sẽ có nhiều khả năng tìm thấy sự hài lòng về trí tuệ sau giờ làm việc. Điều đó đúng trong bất kỳ doanh nghiệp nào, không chỉ mã hóa.

Viết mã trong một văn phòng làm mất đi sự sáng tạo, thời gian của bạn. Ít nhất 8 giờ mỗi ngày, tâm trí của bạn đang chạy nước rút liên tục thay cho người khác. Việc ra khỏi đó là bình thường và không muốn quay lại máy tính. Khi tôi làm việc từ một văn phòng, tôi cũng vậy - tôi về nhà và chỉ muốn nấu ăn, hoặc đi xem phim, đi chơi với bạn bè hoặc chỉ ngồi trước TV. Sau đó, từ năm 2001-2004 trở đi, sau khi công ty tôi làm việc bị giật và tôi bẻ khóa, tôi bỏ học và lái taxi và chờ bàn. Đó là khi tôi thực sự bắt đầu viết mã trong giờ làm việc của mình.

Sự thật là, tôi không nghĩ có ai có thời gian mã hóa chất lượng cao hơn 8 giờ mỗi ngày trong đó. Rất nhiều lập trình viên chỉ có 2-3, nhưng họ có thể là những người làm việc hiệu quả nhất ngoài kia. Đó chỉ là cách bạn sử dụng nó, cách bạn trải rộng nó ra.


1
Bạn chưa bao giờ ở quanh các nhà phát triển OSS, phải không? Khi mã hóa trở thành niềm đam mê, đôi khi bạn muốn ở đó trong 24 giờ.
Martijn Pieters

1

Có thể trở thành một nhà phát triển phần mềm tốt mà không cần làm thêm ngoài công việc của bạn không?

Nó phụ thuộc vào ngành mà bạn đang làm việc. Một số cạnh tranh hơn so với những ngành khác.

Nếu bạn không muốn tự học những thứ mới, có khả năng bạn sẽ ở cấp độ kỹ năng hiện tại của mình. Điều đó có thể là đủ ... hoặc không.

Nó không phải là về thời gian dành riêng, mà là về sự tò mò, và khao khát kiến ​​thức và làm chủ. Rõ ràng, nó không có gì để làm cho đến nay , đó là về những thứ cơ bản - phần cứng: trình biên dịch, đơn nguyên, kiến ​​trúc bộ nhớ, v.v. Những thứ kéo dài và mở rộng bộ não của bạn.

Muốn Code ở nhà chỉ là một tác dụng phụ quan trọng. Nhưng đừng đánh giá thấp nó, không làm, học tập thường nông cạn.

Tất cả các dev tốt nhất mà tôi biết đều có những đặc điểm này.


1

Không, nó không làm cho bạn trở thành một lập trình viên ít hơn bất kỳ ai khác. Bạn chỉ là xã hội nhiều hơn. Tôi ghen tị với sự trung thực.

Bạn không cần phải sử dụng tất cả thời gian rảnh rỗi để viết mã. Công việc của tôi khá đơn giản: quản lý máy chủ. Tôi viết rất nhiều mã vì tôi không phải làm nhiều việc. Điều đó không làm cho tôi tốt hơn hoặc xấu hơn bất cứ ai. Nếu bạn đam mê lập trình, tại sao không làm một số công việc tự do? Tôi thường đăng quảng cáo Craigslist cho các dịch vụ của mình và kiếm được một khoản tiền kha khá từ đó. Đó cũng là một trải nghiệm học tập tuyệt vời vì bạn sẽ làm việc với các công ty mới khởi nghiệp và đôi khi là các trang web lớn. Hi vọng điêu nay co ich. :)


Lập trình sở thích làm cho bạn 'xã hội hơn' vốn có. Bạn có thể tự lập trình một cách hoàn toàn tốt.
Mufasa

0

Tôi đã hỏi một câu hỏi tương tự một vài ngày đi. Dường như mọi người dường như chúng ta đam mê công việc của mình hơn nếu chúng ta dành không chỉ tất cả thời gian trong ngày cho nó, mà còn tất cả thời gian chúng ta có sẵn cho cuộc sống cá nhân.

Thỉnh thoảng tôi viết một số mã vào thời gian rảnh rỗi, nhưng tôi làm nó cho vui chứ không phải vì tôi có ý định đạt được sự phát triển hoặc công nhận chuyên nghiệp. Tôi hoan nghênh những người có năng lượng cho nó, nhưng bạn muốn bùng cháy hơn bằng cách làm việc nhiều giờ hơn và trong các dự án bổ sung hơn là thực sự trở thành chuyên gia hơn trong bất cứ điều gì.

Vào cuối ngày, tất cả những gì quan trọng là khả năng học hỏi những điều mới (đặc biệt là trong công việc), khả năng giao tiếp tốt và có kỹ năng quản lý thời gian tốt. Rằng bạn biến bạn thành một chuyên gia giỏi.


1
Tôi nghĩ rằng bạn nhấn điểm quan trọng. Nếu lập trình tại nhà giống như làm thêm, thì nó sẽ không giúp được gì nhiều và thậm chí có thể gây bất lợi. Tuy nhiên, hầu hết (nếu không phải tất cả) những người tôi biết rằng chương trình tại nhà làm điều đó bởi vì đó là niềm vui cho họ. Nó chỉ xảy ra rằng đó là những người giống như tôi muốn trong các dự án của tôi bởi vì họ có nhiều kỹ năng hơn những người không. Có phải lập trình tại nhà là lý do họ giỏi hơn, có thể, có thể không, nhưng tôi sẽ có xu hướng nghĩ như vậy bởi vì họ đang làm những gì họ thích. Ngoài ra, khá khó để duy trì hiện tại trong các kỹ năng của bạn nếu bạn không đặt thời gian.
Dunk

0

Có thể trở thành một nhà phát triển phần mềm tốt mà không cần làm thêm ngoài công việc của bạn không?

Đối với tôi đó là tất cả về sự cân bằng.

Mặc dù tôi thích lập trình nó chỉ là một mặt của tôi, tôi có những sở thích khác. Như tôi thấy điều này nếu tôi hạnh phúc (làm những việc khác tôi thích làm) và tôi thấy công việc của mình thú vị và hoàn thành (điều mà tôi làm) hơn là về lâu dài, tôi đang trên đường trở thành một nhà phát triển phần mềm tốt hơn.

PS Tôi thừa nhận tôi đã không đọc tất cả các bài viết trước trên trang này.


Tại sao là -1? Đó là một câu trả lời hoàn toàn hợp lý. + 1
zzzzz
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.