Skip to content

Open by Default: Triết lý chia sẻ trong phát triển phần mềm

Tôi không thể tưởng tượng được, một thế giới sẽ như thế nào khi những người làm phần mềm không open source code của họ cho cộng đồng, khi người ta không còn share nhau thời gian, công sức và trí tuệ của mình. Không lib, không open source, không framework, không còn các khóa học miễn phí. Kiến thức không được chia sẻ sâu rộng như bây giờ, và sự học, sự tiến bộ của nhân loại có lẽ sẽ chậm đi nhiều.

Open by Default là nguyên tắc mà các tổ chức làm cho dữ liệu và thông tin của họ trở nên công khai và có thể truy cập được, trừ khi có lý do chính đáng để bảo vệ quyền lợi công cộng lớn hơn.

Trải nghiệm cá nhân về chia sẻ trong môi trường làm việc

Tôi có những đồng nghiệp luôn sẵn sàng chia sẻ mọi thứ họ có, tôi học được cách giải quyết các bài toán lớn. Nhưng tôi cũng từng làm ở các công ty mà với những đồng nghiệp luôn thích các cuộc trò chuyện riêng tư, ngăn cản sự truy cập vào các đoạn code họ cho rằng đó là tinh hoa mà họ làm ra được.

Chuyển đổi từ Individual Contributor sang Team Leader

Tôi học được những bài học quan trọng trong sự nghiệp của mình. Khi công việc của tôi trở nên khó đo lường, vì sự thành công của team mới là sự thành công của tôi. Tôi nhận ra rằng mọi người đều rất giỏi, ai cũng có năng lực và khả năng mạnh mẽ, chỉ có điều là họ còn thiếu một chút kinh nghiệm, thiếu một hướng đi, và thiếu sự thấu hiểu sản phẩm, tầm nhìn.

Tôi không thể code thay mọi người, không thể đi tìm hiểu và hướng dẫn mọi người, nó rất chậm và hạn chế. Tôi không còn làm ra các feature, không ghi dấu mình vào sản phẩm nữa. Có nhiều lúc tôi tự hỏi mình rằng, tôi làm được gì cho sản phẩm, đóng góp được gì mà ngồi đây? chán ngán và mệt mỏi, nhiều lúc nghi ngờ con đường mình đang đi.

Nhưng tôi học được rằng, công việc của tôi không phải là viết code, mà là tạo ra môi trường để mọi người có thể phát triển và đóng góp tốt nhất.

Các nguyên tắc cốt lõi của Open by Default

1. Transparency (Minh bạch)

  • Chia sẻ thông tin, quy trình và tài nguyên một cách mở
  • Tạo môi trường tin tưởng và trách nhiệm giải trình
  • Cho phép mọi người tiếp cận thông tin cần thiết để làm việc hiệu quả

2. Collaboration (Hợp tác)

  • Khuyến khích sự tham gia từ nhiều người với quan điểm khác nhau
  • Cho phép modification và enhancement từ cộng đồng
  • "Given enough eyeballs, all bugs are shallow" - Eric Raymond

3. Community-Driven Development (Phát triển dựa trên cộng đồng)

  • Tap vào kỹ năng và góc nhìn từ khắp nơi trên thế giới
  • Tạo ra software chất lượng cao hơn, an toàn hơn và đáp ứng nhu cầu đa dạng

Lợi ích của việc áp dụng Open by Default

Trong Software Development

  • Rapid Development: Release early and often, rapid prototypes dẫn đến rapid discoveries
  • Quality Improvement: Extensive peer reviews và continuous scrutiny từ experts
  • Innovation Acceleration: Developers có thể reference existing code để tạo ra solutions mới

Trong Team Management

  • Trust Building: Minh bạch tạo nên môi trường tin tưởng
  • Better Decision Making: Visibility giúp hiểu được challenges và priorities
  • Knowledge Sharing: Prevent knowledge silos, accelerate learning

Thách thức khi implement Open by Default

  • Human Nature: Con người có xu hướng muốn less transparent
  • Organizational Pressure: Áp lực nói những gì business muốn nghe
  • Vulnerability: Mở lòng để nhận external feedback là khó khăn
  • Effort Required: Documentation và communication đòi hỏi thời gian và effort

Strategies để triển khai

1. Documentation First

  • Document mọi thứ từ workflows, tools đến communication processes
  • Write down decisions, processes, proposals để ensure visibility
  • Preserve conversations cho future reflection

2. Open Communication Culture

  • Empower team members ở mọi levels để contribute
  • Encourage feedback và thoughts trên workflows
  • Model collaborative behavior từ leadership

3. Clear Visibility Systems

  • Maintain updated boards và tasks
  • Connect tasks với high-level company goals
  • Transparent về decisions impact team

Reflection

Việc áp dụng "Open by Default" không chỉ là về technology hay tools, mà là về mindset và culture. Nó đòi hỏi sự can đảm để vulnerable, sự commitment để document và share, và sự kiên nhẫn để build trust dần dần.

Như tôi đã học được trong journey từ individual contributor sang team leader, success không còn measured bằng lines of code mà bằng khả năng tạo ra environment để cả team thành công cùng nhau.


Bài viết này được phát triển từ ghi chú cá nhân về triết lý "Open by Default" trong software development và team leadership, kết hợp với research về các best practices trong industry.

Last updated:

MIT License.