it-swarm-vi.com

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?

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 đ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 đ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!

387
not-my-real-name

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 kém. 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.

Đây là điều. Một nhạc sĩ hòa nhạc (cellist/nghệ sĩ piano/bất cứ điều gì), sẽ luyện tập tối đa 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 trình là [~ # ~] không phải [~ # ~] tuyến tính. Đó là logarit:

enter image description here

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.

Tôi đã từng làm việc trong các công ty nồi áp suất trước đây 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/posts/996-why-i-love-usiness-with-family-people

Đ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 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 nhiều hơn nữa 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ẻ, 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 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ì mà Ericsson gọi 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ẽ phải chịu đựng quá nhiều hoặc kiệt sức. Một lần nữa, anh ta nhận ra rằng có lợi nhuận giảm dần để thực hành có chủ ý, tối đa 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 thứ gì đó chứ 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ề 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 làm những công việc cần phải hoàn thành.

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 thực hiệ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ờ.

446
red-dirt

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 đề.

150
user8685

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 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.

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ọ.

70
Ryan Hayes

Để 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 làm cho 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 của bạn có thể làm cho 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.

57
shortkaik

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 trong (hoặc) 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ì?
23
BillThor

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 đã đưa vào nhiều hơn nữa thời gian học tập hơn 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 đề.

15
quentin-starin

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à một cách 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 dài.
  • 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.
13
NPE

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.

9
Ethel Evans

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 đàng hoàng hay không.

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 mọi người có xu hướng vượt qua hàng ngàn giờ luyện tập của họ khi họ trẻ hơn là khi họ già hơn.

7
Havoc P

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.

5
Jorgen Thelin

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ờ), 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
Paul Nathan

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
biziclop

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.

4
Simon

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 đó.

4
lucas

Để 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ể khiến cuộc sống chuyên nghiệp của bạn 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!

3
taggartgorman

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 khi tập luyện 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 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
wai

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
Siva

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à để thổi bay Steam. 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 mặt 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
strike

Đâ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
Corv1nus

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 liên quan gì đến việc ở lại cập nhật, đó là về những thứ cứng cơ bản: 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 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
Lionel Barret

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
Pierre Watelet

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 lại loay hoay với Scala và Lift đã là một vụ nổ thực sự đối với tôi trong vài năm qua Có những nhà phát triển sẽ tự phân loại mình là "đam mê" và những nhà phát triển chỉ "nhận được". Tôi có xu hướng thấy rằng các nhà phát triển liên tục thử thách bản thân có xu hướng tiến bộ nhanh hơn những người không.

1
Nodey The Node Guy

Đ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
afrazier

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. :)

1
iamandrus

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.

1
PSU

Đã 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
Zachary K

Đâ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 học 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ề các trò chơi. 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 của mình, LUÔN LUÔN là cách tốt hơn để làm gì đó ....

1
user17544

Tôi đã hỏi một câu tương tự câu hỏi 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.

0
Pablo

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.

P.S. 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.

0
Ilan Huberman