paint-brush
Hướng dẫn cơ bản về một nền văn hóa kỹ thuật vĩ đạitừ tác giả@zevireinitz
3,163 lượt đọc
3,163 lượt đọc

Hướng dẫn cơ bản về một nền văn hóa kỹ thuật vĩ đại

từ tác giả Zevi Reinitz9m2023/04/17
Read on Terminal Reader

dài quá đọc không nổi

Hãy đối mặt với nó. Trải nghiệm của nhà phát triển là một từ thông dụng. Điều đó có nghĩa là nó được nói đến rất nhiều dưới dạng chung chung, với rất ít bản chất hoặc định nghĩa. Đó là lý do tại sao tôi được truyền cảm hứng để bắt đầu Dự án Dev-X - một sáng kiến nhằm mang lại nhiều kết cấu và định nghĩa hơn cho cuộc thảo luận về trải nghiệm của nhà phát triển. Trong mỗi “tập”, tôi hỏi một nhà lãnh đạo ngành 10 câu hỏi về trải nghiệm của nhà phát triển để thu thập thông tin chi tiết và ý kiến của họ về các chủ đề cụ thể này. Sau đó tôi xuất bản các cuộc thảo luận này và chia sẻ chúng với cộng đồng. Với gần 20 cuộc phỏng vấn, giờ đây tôi đã có đủ tài liệu để bắt đầu tổng hợp nó theo những cách hữu ích, đồng thời khám phá một số xu hướng thú vị và chủ đề lặp lại.
featured image - Hướng dẫn cơ bản về một nền văn hóa kỹ thuật vĩ đại
Zevi Reinitz HackerNoon profile picture

Hãy đối mặt với nó. Trải nghiệm của nhà phát triển là một từ thông dụng. Điều đó có nghĩa là nó được nói đến rất nhiều dưới dạng chung chung, với rất ít bản chất hoặc định nghĩa.


Đó là lý do tại sao tôi được truyền cảm hứng để bắt đầu Dự án Dev-X - một sáng kiến nhằm mang lại nhiều kết cấu và định nghĩa hơn cho cuộc thảo luận về trải nghiệm của nhà phát triển. Trong mỗi “tập”, tôi hỏi một nhà lãnh đạo ngành 10 câu hỏi về trải nghiệm của nhà phát triển để thu thập thông tin chi tiết và ý kiến của họ về các chủ đề cụ thể này. Sau đó tôi xuất bản các cuộc thảo luận này và chia sẻ chúng với cộng đồng.


Với gần 20 cuộc phỏng vấn mà tôi đã trải qua, giờ đây đã có đủ tài liệu để bắt đầu tổng hợp nó theo những cách hữu ích và khám phá một số xu hướng thú vị cũng như các chủ đề lặp lại.

Làm thế nào để tạo ra một nền văn hóa kỹ thuật tuyệt vời

Đây là hướng dẫn cuối cùng để tạo ra một nền văn hóa kỹ thuật tuyệt vời. Một trong những câu hỏi mà tôi đã hỏi trong các cuộc phỏng vấn của Dự án DevX là “các thành phần chính tạo nên một nền văn hóa kỹ thuật tuyệt vời là gì”.


Đó là một câu hỏi quan trọng bởi vì vào cuối ngày, mọi thứ trong công ty của bạn sẽ bị ảnh hưởng - theo hướng tốt hơn hoặc tồi tệ hơn - bởi văn hóa mà bạn đã tạo ra. Như Liran Haimovitch đã nói: “văn hóa ăn sáng chiến lược, bởi vì văn hóa cho phép các nhóm của bạn hành động theo những cách có thể dự đoán được trong những tình huống không thể đoán trước.”


Vậy, văn hóa chính xác là gì? Câu hỏi hay. Tôi đã cố tình để phần đó mở ra để giải thích và các câu trả lời cũng có phạm vi rộng như nhau. Một số người được phỏng vấn tập trung vào chính các nhà phát triển. Những người khác tập trung vào các công ty và chính sách của công ty. Một số đưa ra lời khuyên kỹ thuật hoặc chuyên môn trong khi những người khác đưa ra các mẹo giao tiếp và mối quan hệ giữa các cá nhân.


Và đây là điểm đầu tiên và có lẽ là điểm quan trọng nhất. Một nền văn hóa kỹ thuật thực sự tuyệt vời cần cân bằng song song nhiều hạng mục.


Các chi tiết cụ thể có thể khác nhau tùy từng tổ chức và từng tình huống, nhưng mẫu số chung là cần có cách tiếp cận xây dựng văn hóa ba chiều.


Vì vậy, tôi hy vọng bạn thích hướng dẫn trải nghiệm dành cho nhà phát triển này để xây dựng một nền văn hóa kỹ thuật tuyệt vời, được thu thập và điều chỉnh từ các cuộc phỏng vấn của Dự án DevX.


Quyền tự chủ của nhà phát triển

Một số tính năng của Dự án DevX lặp lại tầm quan trọng của việc tạo ra văn hóa tự do và quyền tự chủ cho các nhà phát triển.


Như Seif Lotfy từ Axiom đã nói: “Tôi nghĩ nó thực sự dựa trên những gì Dan pink nói trong cuốn sách của anh ấy “Drive - Sự thật đáng ngạc nhiên về những gì thúc đẩy chúng ta”. Ông giới thiệu quyền tự chủ, quyền làm chủ và mục đích là những yếu tố thúc đẩy chính. Vì vậy, khi bạn trao cho các nhà phát triển quyền tự chủ để làm chủ công việc của họ, họ cũng phát triển mục đích tạo ra một nền văn hóa tuyệt vời… Và đừng ép buộc các công cụ đối với các kỹ sư. Tôi nghĩ bạn nên để các kỹ sư của mình chọn công cụ của riêng họ. Trao quyền cho họ quyền tự chủ và quyền sở hữu.”


Viktor Farcic nói thêm: “Điều quan trọng nhất đối với tôi là quyền tự do đưa ra quyết định. Tôi tin rằng nhiều công ty đang đối xử với các kỹ sư như thể họ là trẻ con - nắm tay họ, bảo họ phải làm gì. Bây giờ bạn có thể băng qua đường, bây giờ bạn cần dừng lại. Bây giờ bạn di chuyển trái bây giờ bạn đi bên phải. Đối với tôi, điều này có thể thực sự phá hủy mọi khả năng sáng tạo và khả năng học hỏi của các nhà phát triển. Điều này thật tàn khốc vì tôi tin rằng hầu hết công việc của chúng ta với tư cách là nhà phát triển là suy nghĩ và tìm ra mọi thứ. Viết mã là dễ dàng. Một khi bạn biết phải viết gì và giả sử rằng bạn có ít nhất một hiểu biết cơ bản về cú pháp và những thứ tương tự, thì viết mã là phần dễ nhất của quy trình. Tìm ra những gì để viết và làm thế nào để viết nó - đó là phần phức tạp. Và nếu chúng tôi không cung cấp đủ quyền tự do để mọi người tìm ra nội dung này, thì chúng tôi sẽ nhận được kết quả mà chúng tôi không mong muốn - công cụ không hoạt động vì các nhà phát triển chỉ là những người máy làm chính xác những gì bạn bảo họ mà không cần bất kỳ ý kiến nào. suy nghĩ hoặc sự sáng tạo của riêng họ.”

Tạo mối quan hệ thực sự

Lợi ích của quyền tự chủ của nhà phát triển không chỉ giới hạn trong các quyết định kỹ thuật. Nó cũng có thể giúp thúc đẩy mối quan hệ giữa các cá nhân tốt hơn giữa các thành viên trong nhóm. Seif Lotfy nhấn mạnh lợi ích của việc tạo ra các mối quan hệ xác thực và anh ấy giải thích rằng “Ngoài mối quan hệ siêu chuyên nghiệp, hãy cho nhóm tự do di chuyển và là chính mình cũng như đánh giá cao con người của nhau.”


Quyền tự chủ có nghĩa là để mọi người trở thành phiên bản đích thực, tốt nhất của chính họ. Và khi điều này xảy ra, nó thường mang lại kết quả tích cực cho nhóm và công ty.


Như Barak Schoster đã nói, nó cũng hữu ích nếu bạn có thể “thuê những người thông minh, những người vui vẻ để làm việc cùng”.

Quyền sở hữu chủ động và trách nhiệm giải trình

Trao quyền tự chủ cho các nhà phát triển phù hợp với nhu cầu để các nhà phát triển chủ động nắm quyền sở hữu và chịu trách nhiệm về công việc của họ.


Theo Liran Haimovitch, quyền sở hữu và trách nhiệm giải trình là hai trong số những yếu tố quan trọng nhất trong bất kỳ nền văn hóa lớn nào.


Shawn “Swyx” Wang nhấn mạnh rằng quyền sở hữu này phải là “quyền sở hữu chủ động”: “Mục số 9 trong danh sách 16 nguyên tắc lãnh đạo của Amazon - “thiên về hành động”. Tôi cảm thấy điều đó quan trọng trong bối cảnh này, bởi vì rất nhiều thứ sẽ không được hoàn thành nếu bạn không chủ động làm chủ chúng. Vì vậy, điều này thực sự quan trọng đối với một nền văn hóa kỹ thuật lành mạnh.”

Giao tiếp và giải thích “tại sao?”

Seif Lotfy phản ánh rằng điều quan trọng đối với các nhà phát triển là giao tiếp và đặt câu hỏi tại sao: “Hãy đảm bảo rằng bạn hiểu suy nghĩ trong các cách tiếp cận và quyết định của người khác. Bằng cách đó, ngay cả khi bạn không đồng ý, bạn có thể cân nhắc mọi thứ và cố gắng tìm ra con đường tốt nhất có thể về phía trước.


Amir Shevat nói thêm rằng điều này không nên phụ thuộc vào việc ai đó yêu cầu giải thích. Bạn nên xây dựng một nền văn hóa đưa ra câu hỏi “tại sao” ngay từ đầu:


“Hãy chia sẻ kiến thức của bạn và giải thích lý do tại sao bạn chọn x chứ không phải y. Bằng cách đó, mọi người có thể học hỏi từ bạn và áp dụng các phương pháp hay nhất cũng như lối suy nghĩ độc đáo của bạn trong công việc hàng ngày của họ.”

minh bạch

Một giá trị tương tự và không kém phần quan trọng là tính minh bạch.


Amir Shevat giải thích: “Tính minh bạch là rất quan trọng. Điều này có nghĩa là tạo ra một môi trường trong đó các kỹ sư có thể nhìn thấy bức tranh toàn cảnh hơn - chúng ta sẽ đi đâu, tại sao chúng ta lại làm những gì chúng ta đang làm. Tạo loại môi trường này cho các nhà phát triển sẽ cho phép họ tạo mã tốt hơn.”

Chính trực

Khi thông tin liên lạc và tính minh bạch được duy trì đúng cách, bạn cũng có được một thành phần văn hóa quan trọng khác trong “Chính trực”. Như Amir đã nói: “Nếu bạn nghĩ điều gì đó không đúng - hãy lên tiếng. Các quy trình có thể và nên thay đổi và phát triển để tốt hơn.”


Shem Magnezi từ Wilco đưa ra quan điểm tương tự: “Điều quan trọng là luôn nghĩ về những gì chúng ta có thể cải thiện: trong hệ thống, quy trình, sản phẩm, kiểu mã, công cụ giám sát và những thứ không. Có vô số khía cạnh để xây dựng một hệ thống và nó sẽ không bao giờ hoàn hảo—nhưng chúng ta nên luôn tìm cách cải thiện.” Đây là cách mà giao tiếp, tính minh bạch và tính toàn vẹn thể hiện trong một nền văn hóa kỹ thuật tốt.

Không đổ lỗi

Swyx Và Jason Bosco đều cho rằng phản hồi vô tội vạ và văn hóa sau khi chết là rất quan trọng.


Theo cách nói của Swyx: “Khi bạn vận chuyển đồ đạc và bạn đang bảo trì đồ đạc trong quá trình sản xuất, hãy nhớ rằng mọi thứ sẽ luôn bị hỏng. Vì vậy, có một nền văn hóa khám nghiệm tử thi không tì vết cũng rất quan trọng.”


Điều này cũng được lặp lại bởi Amir Shevat, người đã nói thêm rằng mọi người trong nhóm nên sẵn sàng tiếp nhận phản hồi: “Theo nguyên tắc chung, các kỹ sư cởi mở đón nhận phản hồi từ nhau sẽ hoàn thành công việc của họ tốt hơn nhiều.


Và làm thế nào bạn có thể đạt được một nền văn hóa không đổ lỗi? Theo Seif Lotfy, nó bắt đầu bằng cách làm việc dựa trên những giả định cơ bản của bạn: “Điều quan trọng là phát triển một giả định cơ bản rằng mọi người đều có ý tốt. Điều này đặc biệt quan trọng với các nhóm phân tán ở các múi giờ và lịch trình khác nhau.”


Nếu mọi người đều cho rằng những người khác đều có ý tốt và mỗi thành viên trong nhóm sẵn sàng tiếp nhận phản hồi mà không đổ lỗi - nhóm sẽ có vị trí thuận lợi để hoàn thành công việc một cách hiệu quả.


Adam Gordon Bell từ Earthly.dev đã diễn đạt như sau: “Một nền văn hóa tuyệt vời dựa trên sự tin tưởng và thấu hiểu. Cả hai đều được xây dựng theo thời gian dựa trên kinh nghiệm được chia sẻ.”

Sự hợp tác

Không có gì ngạc nhiên khi sự hợp tác như một thành phần quan trọng đối với văn hóa kỹ thuật là một thông điệp lặp đi lặp lại trong một số cuộc phỏng vấn của chúng tôi.


Như Hila Fish từ Wix đã nói: “Bạn cần cộng tác với những người khác để đưa ra các giải pháp tốt nhất và để đảm bảo đạt được mục tiêu cuối cùng.”


Và Amir Shevat giải thích: “Tôi nghĩ rằng một nhóm gồm những người hợp tác sẽ luôn hoạt động tốt hơn một nhóm ít hợp tác hơn, ngay cả khi nhóm ít cộng tác đó chứa đầy những kỹ sư cá nhân “tuyệt vời”. Cá nhân tôi đã từng là thành viên của các nhóm kỹ thuật không hợp tác lắm. Họ có những kỹ sư tuyệt vời, tuyệt vời, nhưng họ không thực sự chia sẻ những gì họ đang làm. Sẽ có lợi hơn nhiều khi mọi người bắt đầu cộng tác, chia sẻ, cung cấp phản hồi và nói về giao diện giữa những gì mỗi người đang làm.”


Niềm đam mê với nghề thủ công và sản phẩm


Tom Snelling từ Norhflank cho biết: “Tôi nghĩ điều tốt nhất mà một nhóm có thể có là niềm đam mê thực sự đối với sản phẩm mà họ đang xây dựng. Đã từng làm việc trong các dự án mà tôi có và chưa được đầu tư, sự khác biệt về tinh thần (và theo đó là kết quả đầu ra) thật đáng kinh ngạc. Khi các kỹ sư thực sự quan tâm đến những gì họ đang làm, tôi nghĩ văn hóa sẽ cải thiện gấp mười lần. Hãy thuê những người thông minh muốn làm việc cho dự án của bạn.”

tính chuyên nghiệp

Amir Shevat nhấn mạnh tầm quan trọng của tính chuyên nghiệp trong việc tạo ra một nền văn hóa kỹ thuật tuyệt vời: “Hãy luôn nghĩ về nhu cầu của công ty. Điều này sẽ áp dụng cho mọi khía cạnh công việc của bạn… Và mặc dù kỹ thuật là điều tuyệt vời và thậm chí là cần thiết, nhưng việc rèn luyện tư duy kinh doanh của bạn sẽ thực sự giúp tạo ra một nền văn hóa nơi ưu tiên không chỉ dành cho các giải pháp kỹ thuật nhất mà còn ưu tiên cho các giải pháp giúp đạt được kết quả tốt nhất cho công ty.”


Gil Tayar từ Roundforest đồng ý: “Đối với tôi, thành phần chính của một nền văn hóa kỹ thuật tuyệt vời là: Những con người tử tế. Không có nhiều cái tôi. Tính chuyên nghiệp và niềm tự hào trong nghề. Những yếu tố này thiết lập một môi trường sáng tạo và nếu không có những thành phần này, thật khó để tạo ra một nền văn hóa tích cực, hiệu quả.”

Tạo một nền văn hóa tài liệu tuyệt vời

Từ góc độ kỹ thuật hơn, Swyx khuyên rằng các nhóm nên chú trọng đến tài liệu của họ: “Một tài liệu tốt hoặc văn hóa tài liệu thiết kế cũng khá quan trọng. Nói cách khác, trước khi bạn triển khai một thứ gì đó, rõ ràng bạn nên cố gắng thiết kế nó và suy nghĩ thông qua các đề xuất cũng như thống nhất với mọi người về những thứ cấp cao. Nhưng một nền văn hóa tốt sẽ tiến thêm một bước nữa. Nó có nghĩa là mọi người thực sự đọc tài liệu khi họ nhận được nó. Và điều đó khá hiếm. Vì vậy, một nền văn hóa tài liệu tốt có nghĩa là viết tốt và đọc tốt để bạn sớm nắm bắt được các vấn đề về thiết kế và những kỳ vọng không phù hợp.”

Nhịp giao hàng

Amir Shevat nhấn mạnh giá trị của nhịp điệu giao hàng lành mạnh: “Có nhịp điệu giao hàng lành mạnh cũng rất quan trọng đối với văn hóa kỹ thuật bởi vì khi một nhóm tiếp tục giao hàng, họ có thể thường xuyên gặt hái được những lợi ích là hạnh phúc và hài lòng từ công việc của mình.”


Barak Shoester cũng khuyến khích các đội “tối ưu hóa tốc độ lặp lại”.


Và Jason Bosco cho biết: “Một số thành phần quan trọng đối với tôi là: Giảm thời gian cần thiết giữa một kỹ sư viết mã và người dùng sử dụng nó, kết hợp với việc khôi phục dễ dàng…”

khiêm tốn

Mặc dù điều này xuất hiện dưới hình thức này hay hình thức khác trong nhiều cuộc phỏng vấn của chúng tôi, nhưng Sunil Sandhu từ CircutIn Plain English đã nói rất hay: “Đối với tôi, tính khiêm tốn rất cao và điều đó không chỉ dành cho kỹ thuật mà còn đối với văn hóa làm việc nói chung. Các thành viên trong nhóm nên sẵn sàng và sẵn sàng giúp đỡ người khác, nuôi dưỡng một môi trường mà không ai cảm thấy rằng một câu hỏi là quá ngu ngốc để hỏi.”


Tôi nghĩ rằng có rất nhiều câu trả lời sáo rỗng mà tôi có thể đưa ra ở đây và ở một mức độ nào đó, tôi cảm thấy rằng có nhiều nhà phát triển có kinh nghiệm hơn có thể trả lời câu hỏi này tốt hơn. Vì vậy, một điều cuối cùng tôi sẽ đưa ra là khi một nhóm được định hướng theo nhiệm vụ và nhóm đó đều hát từ cùng một bản thánh ca, thì những điều kỳ diệu có thể xảy ra.


Và theo lời của Gil Tayar: “Đối với tôi, thành phần chính của một nền văn hóa kỹ thuật tuyệt vời là: Những con người tử tế. Không có nhiều cái tôi. Tính chuyên nghiệp và niềm tự hào trong nghề.”

Bớt tư tưởng

Rõ ràng, một kỹ sư giỏi cần phải có một nền tảng nhất định về năng lực kỹ thuật. Nhưng khi xây dựng và quản lý một nhóm, chính những yếu tố bổ sung này sẽ đảm bảo rằng họ giữ vững tiêu chuẩn cao cho nhau, luôn tò mò, tích cực và không ngừng cố gắng cải thiện.

Và đó là tất cả những gì về một nền văn hóa kỹ thuật tuyệt vời.


Giống như những gì bạn thấy ở đây? Bạn muốn nổi bật? Hãy xem Dự án DevX của chúng tôi để biết các tính năng tuyệt vời khác và đăng ký để chia sẻ trải nghiệm khôn ngoan dành cho nhà phát triển của riêng bạn.


Cũng được xuất bản ở đây .