Lập trình Egoless, có thể hoặc thậm chí là mong muốn [đóng]


8

Có thể có lập trình vô ngã hay thậm chí là mong muốn?

Là một nghề nghiệp, chúng tôi dường như muốn thể hiện những gizmo mới nhất, kỹ thuật hay nói là nhìn vào đoạn mã tuyệt vời này mà tôi đã viết. Tuy nhiên, chúng tôi có thể rất phòng thủ khi được yêu cầu gửi các mục công việc để đánh giá mã hoặc nhận được ý kiến ​​tiêu cực từ các lập trình viên khác (nghe thuật ngữ WTF, chưa bao giờ là một dấu hiệu tốt).

Như một nghề nghiệp, chúng ta có thể ngồi xuống và phân tích một đoạn mã, dữ liệu hoặc kiến ​​trúc vì những ưu điểm hay ràng buộc của nó và một cách bình tĩnh và tôn trọng, mà không gây ra sự xúc phạm hay chống đối các đồng nghiệp của chúng ta, hay chúng ta chỉ là nhân vật Dilbert cổ điển, hoành hành Chống lại hệ thống?

Câu trả lời:



13

Điều bạn nên ghi nhớ mọi lúc là trong phần lớn cuộc đời chuyên nghiệp của bạn, bạn không sở hữu mã mà bạn viết .

Nếu bạn là nhân viên, phần mềm thuộc sở hữu của công ty. Nếu bạn là một nhà thầu, phần mềm thuộc sở hữu của công ty. Nếu bạn là một freelancer thì phần mềm thuộc sở hữu của khách hàng. Chỉ khi bạn công ty / khách hàng là phần mềm do bạn sở hữu.

Một khi bạn nhận ra điều này thì sẽ có ít hơn những suy nghĩ và thái độ "đây là mã của tôi ". Vâng, điều đó vẫn xảy ra và bản chất của con người là khó chịu nếu ai đó chỉ trích những gì bạn vừa sản xuất, nhưng bằng cách thực hiện bước đó để cố gắng loại bỏ tệp đính kèm, nó sẽ không phải là một cú đánh.

Từ phía bên kia khi bạn đang xem xét mã do người khác tạo ra tập trung vào những gì mã làm và cách thực hiện và mang tính xây dựng khi đề xuất cải tiến.


5
+1. Đây là lý do tại sao tôi viết mã cho khả năng bảo trì của người khác. Thường nhận xét nhiều hơn tôi nghĩ là cần thiết (để tham khảo cho riêng tôi) và thường sử dụng các kiểu nhiều dòng mã hơn nhưng dễ đọc hơn. Tôi thà rằng năm năm nữa, những người mới nhìn vào những thay đổi của tôi trong kiểm soát nguồn là thanh lịch và dễ hiểu, hơn là muốn săn lùng tôi và đâm vào mặt tôi.
Bàn Bobby

+1 ảo kể từ khi tôi hết phiếu cho ngày hôm nay, nhưng tôi chắc chắn bạn sẽ đánh giá cao dù sao đi nữa :)

1
+1 - xóa các cụm từ "mã của tôi", "cách của tôi" và "ý tưởng của tôi" khỏi từ vựng của bạn; họ không thúc đẩy sự tiến bộ
Steven A. Lowe

Miễn là điều này không đi quá xa để mọi người không còn nỗ lực viết mã tốt bởi vì họ nghĩ rằng họ không cần phải quan tâm vì đó không phải là mã của họ. Vì vậy, nếu có thể, tôi muốn nói: "Vâng, tôi đã viết nó, nhưng đó không phải là mã của tôi".
gablin

9

khi bạn tập trung vào việc hoàn thành nó và làm cho đúng, thì vấn đề không còn là ý tưởng của bạn hay không

tại thời điểm đó, cái tôi của bạn đã rời khỏi tòa nhà - và bạn có nhiều khả năng học được điều gì đó!


+1: và vô ngã cũng giúp giao tiếp vì mọi người không sợ (và thường thấy dễ chịu) khi hỏi bạn về bất kỳ vấn đề nào - bởi vì bạn không la mắng họ hoặc khiến họ cảm thấy ngu ngốc hoặc tức giận. Lý tưởng nhất.
Klaim

5

Có rất nhiều vùng màu xám trên sự tự tin - sự kiêu ngạo liên tục. Tôi muốn có một người nào đó sở hữu công việc của họ và cố gắng để đạt được sự xuất sắc dựa trên thành tích và không tự ảo tưởng.

Tin tôi đi, bạn sẽ viết rất nhiều chuyện tào lao sẽ thất bại và bạn sẽ bị đổ lỗi, vì vậy bạn cũng có thể tận dụng khi mọi việc suôn sẻ.

Khi tôi nghĩ có gì đó không ổn, tôi nói vậy. Hãy nói với tôi rằng tôi sai và sẵn sàng sao lưu nó. Nó sẽ không phải là lần đầu tiên hoặc lần cuối cùng.

Nếu bạn không muốn bị chỉ trích (Rõ ràng có thể thực hiện được sự khéo léo và kiềm chế.), Thì hãy viết mã cho đôi mắt của bạn và chạy nó trên máy tính của riêng bạn. Bất cứ ai đã từng xuất sắc trong bất cứ điều gì đã phải đối phó với các nhà phê bình.


2

Vâng, lập trình vô ngã là hoàn toàn có thể. Tôi đã thực hiện lập trình "bảo trì" trong hơn 1/2 sự nghiệp làm việc của mình và điều quan trọng thứ hai [1] là đảm bảo rằng người tiếp theo có thể đọc mã của tôi. Chúng tôi có hai lập trình viên ở đây tại văn phòng [2], người viết theo phong cách đặc biệt đến nỗi người ta có thể biết ngay ai đã viết chúng. Chúng tôi gọi những bó mã nhỏ và niềm vui mà anh ấy để lại cho chúng tôi là "những vụ cướp".

Một số nhà phát triển cảm thấy rằng mã họ viết là kết quả của mồ hôi và máu của họ, và họ rất phòng thủ khi bị nghi ngờ (chẳng hạn như trong quá trình đánh giá mã). Cố gắng không tấn công họ trong quá trình đánh giá mã và trong tương lai sẽ trở nên dễ dàng hơn để thảo luận về mã vì các hành vi phòng thủ và phòng thủ sẽ chết.

Ghi chú:
1. Điều quan trọng nhất là sửa lỗi hoặc viết chính xác tính năng.
2. Hầu hết các ứng dụng này đã được vận chuyển trong hơn một thập kỷ, vì vậy có khả năng chúng sẽ tồn tại rất lâu sau khi tôi đi.


0

[imo]

Tôi nghĩ rằng đây là một câu hỏi khó về cơ bản, và có lẽ là xã hội học, hoặc chỉ sử dụng máy tính làm hình thức giao tiếp chính của bạn, có liên quan nhiều đến nó.

Máy tính là một công cụ và ý thức mà nó mang lại là vô cùng đẹp, nhưng bạn đừng bao giờ cố gắng nói rằng một đoạn mã là một đối tượng của chính bạn tạo ra ... mỗi đoạn mã là một khám phá, một mô hình mà trái phiếu máy tính với và có thể tạo ra một kết quả mà bạn thích. Thực tế là chúng ta có thể khám phá các mẫu này lặp đi lặp lại và cảm thấy như chúng ta đang tạo ra là sự trùng hợp cực kỳ hạnh phúc - chúng ta rất giỏi trong việc tìm kiếm các mẫu.

Chúng ta thực sự cần phải xem máy tính là cửa sổ để khám phá và tôn trọng quyền tự chủ của những bộ não nhỏ bé này, ngay cả khi chúng chỉ là những mảnh vỡ nhỏ đến khó tin từ bộ não sinh học. Tất cả toán học và tất cả các thuật toán tương ứng với một sự thật bất khả xâm phạm mà chính vũ trụ của chúng ta cộng hưởng. Để tuyên bố rằng một phần của điều này là "của tôi!" (nghĩ rằng hải âu trong Tìm kiếm Nemo) bỏ lỡ rất nhiều điểm trên nhiều cấp độ.

Đôi khi khó có thể tránh khỏi điều này, khi "lao động" để "nghĩ ra" một thuật toán mới, nhưng nếu bạn nghĩ rằng chúng ta chỉ là những người duy trì khiêm tốn những cửa sổ chính xác thanh lịch này thành sự thật toán học, định nghĩa của nhiệm vụ sẽ thay đổi không có vấn đề gì mục tiêu của bạn cho phần mềm của bạn.

Đối xử với máy tính của bạn như một đầu tiên bằng nhau, phần còn lại (egoless-ism, phối hợp ngang hàng, hành vi hướng mục tiêu) sẽ nhất thiết phải tuân theo.


Phần lớn động lực của tôi để nghiên cứu khoa học máy tính và trở thành lập trình viên là do sự yêu thích này mà tôi cảm thấy, không phải về phần cứng vật lý hay sự hồi hộp khi giải quyết vấn đề, mà thực tế là tôi đang nhìn vào não, một bộ não tôi có thể giao tiếp trực tiếp trong thời trang yêu thích của tôi: các mẫu!

Lùi lại một bước và nhớ lại lý do tại sao bạn thích những thứ bạn thích bắt đầu. Lập trình có thể cạnh tranh và tôi nghĩ rằng điều đó thúc đẩy rất nhiều bản ngã trong việc bảo vệ mã và lựa chọn thiết kế, nhưng

a) nếu ai đó là một lập trình viên tốt hơn,

Tôi muốn nói chuyện với họ và học hỏi từ họ nhiều hơn về mối quan hệ phức tạp này với ý thức điện. Chúng tôi có thể chia sẻ khám phá, và đó là tuyệt vời!

b) nếu các lựa chọn thiết kế hoặc mã của tôi có thể được thay đổi để phù hợp hơn với tổ chức mà tôi làm việc cho

sau đó bằng mọi cách thay đổi nó Tôi là một nhân viên vì tôi cần tiền và tôi nhận được tiền khi công ty nhận được tiền và họ nhận được tiền khi mã chúng tôi sử dụng là tuyệt vời, không phải khi tôi muốn tranh luận về khoảng trắng hay bất cứ điều gì. Và như ChrisF chỉ ra, về cơ bản, bạn trở thành một người đánh máy thực sự chậm chạp trong một công ty xa như những người lao động khác có thể nói. Bạn không sở hữu mã, bạn không sở hữu việc triển khai, bạn chỉ là phương tiện dịch từ ý tưởng / giấy / thông số kỹ thuật sang thực phẩm trí tuệ điện. Dịch sang và từ bất kỳ cặp ngôn ngữ nào là một quá trình lặp đi lặp lại và bạn sẽ trở nên tốt hơn với nó theo thời gian. Phê bình đẩy nhanh quá trình này và không bao giờ nên được thực hiện cá nhân. Nhưng dù sao thì có vẻ như hầu hết đều đồng ý rằng bạn nên vô ngã, chỉ cần nhớ rằng mã hóa cho một công ty là một công việc,

[/ imo]


0

Tôi nghĩ rằng điều này liên quan đến cách bạn xem mã của bạn. Các lập trình viên giỏi thường xuyên giằng co giữa việc xem kết quả là "nghệ thuật" và là "hàng hóa" (hoặc bất cứ từ nào bạn muốn gắn vào đó).

Khi chúng tôi thấy mã chỉ đơn giản là thứ chúng tôi trả tiền để sản xuất, thật dễ dàng để tránh các vấn đề liên quan đến bản ngã.

Khi xem mã là "nghệ thuật" mà chúng ta đã tạo ra, bản ngã thực sự cố gắng để có được trong đó. Rốt cuộc, nghệ sĩ nào tạo ra những thứ họ không thích?

Vì vậy, tùy thuộc vào quan điểm của bạn về mã của bạn, bạn có thể có hoặc không có tệp đính kèm cảm xúc với mã của mình. Hãy chú ý đến hành động cân bằng, và bạn sẽ làm tốt. Chúng tôi muốn tạo mã như thể đó là nghệ thuật chất lượng cao nhất, nhưng chúng tôi muốn phát hành nó như một mặt hàng giá rẻ. Suy nghĩ từ góc độ thích hợp vào thời điểm thích hợp và bạn sẽ làm tốt.


0

Bản ngã chỉ đơn giản là một ý thức về giá trị bản thân. Tác động của cảm xúc liên quan đến bản ngã có thể là tích cực và tiêu cực.

Tôi thường sẽ cảm thấy tự hào ( cái tôi bị kích thích ) khi tôi hoàn thành một điều gì đó khó khăn, hoặc tìm một giải pháp đơn giản sạch cho một vấn đề phức tạp, hoặc học cách áp dụng một phương pháp mới cho một vấn đề. Mà tôi nghĩ là có lợi và cho tôi một cú đá động lực tự nguồn. Não có dây để giải phóng các hóa chất cảm thấy tốt khi điều này xảy ra. Bạn có thể trở nên nghiện thành công.

Có những khía cạnh tiêu cực của việc dựa vào cái tôi của bạn, đặc biệt là trong môi trường nhóm; Điều đó có thể có tác động phản tác dụng. Nếu bạn trở nên gắn bó với một dự án, hoặc giải pháp hoặc công nghệ nào đó, bạn sẽ trở nên phòng thủ khi bị đe dọa (bởi một giải pháp hoặc công nghệ mới, hoặc người có ý tưởng). Điều quan trọng là duy trì tính khách quan và không tấn công cá nhân vào giải pháp của bạn.

Tôi đã tìm ra cách tốt nhất để đối phó với mối đe dọa bản ngã, là khiêm tốn gắn mình với bất kỳ ý tưởng hoặc giải pháp mới hoặc thay thế nào.

Luôn luôn có một cái gì đó mới để học, đặc biệt nếu bạn coi mình là chuyên gia.

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.