Làm thế nào các DBA có thể 'thân thiện với lập trình viên' hơn?


46

Các câu trả lời và nhận xét về phiên bản dba.sephiên bản lập trình viên của câu hỏi "Các đối số chống lại hoặc để đưa logic ứng dụng vào lớp cơ sở dữ liệu là gì?" rất tiết lộ về sự phân chia giữa các DBA và lập trình viên ở một số nơi làm việc.

Các DBA có thể làm gì khác để làm việc tốt hơn với các lập trình viên về các vấn đề như thế này?

Chúng ta có nên:

  • Nghiên cứu các công cụ và ngôn ngữ mà các lập trình viên của chúng tôi đang sử dụng để hiểu những khó khăn mà họ gặp phải, đặc biệt là khi làm việc với các cơ sở dữ liệu được thiết kế tốt?
  • Khuyến khích các lập trình viên được giáo dục tốt hơn về cơ sở dữ liệu và những lợi thế của việc có logic kinh doanh ở cấp cơ sở dữ liệu?
  • Thay đổi cách chúng tôi xác định giao diện cho dữ liệu của mình - chẳng hạn như bằng cách sử dụng API giao dịch thân thiện với lập trình viên hơn (ví dụ: đối với các vấn đề như khả năng tương thích ngược)?

Câu trả lời:


27

Từ quan điểm của Lập trình viên, tôi muốn nói rằng điều chúng ta muốn nhất là các tiêu chuẩn nhất quán, được xác định rõ ràng và được triển khai cho cách thức lớp dữ liệu sẽ được thiết kế và xây dựng. Tôi sẵn sàng chơi theo cách bạn muốn trong hộp cát của bạn, bạn chỉ cần cho tôi biết những gì bạn muốn, và không thay đổi các quy tắc mọi lúc. Nó nên được thực hiện như nhau cho tất cả mọi người, ngay cả siêu chương trình. Nếu bạn tạo ra ngoại lệ cho anh ta thì bạn muốn tôi hỗ trợ và thay đổi nó nhưng thực hiện lại nó theo cách không phù hợp với tôi.

Và xin đừng bảo tôi đừng làm theo cách đó và bỏ đi. Làm việc với tôi để cho tôi thấy những gì bạn muốn, và tại sao cách của bạn tốt hơn. Nếu tôi hiểu tôi sẽ tuân thủ mọi lúc. Khi tôi không hiểu thì khó tuân thủ hơn. Tôi không muốn trở thành một DBA. Tôi thích lập trình Tôi không muốn công việc của bạn và nếu bạn là một DBA giỏi thì tôi sẽ là người hâm mộ lớn nhất của bạn.


63

Tôi đã là một DBA MySQL trong 6,5 năm qua. Tôi cũng đã dành 16 năm làm nhà phát triển và đã tương tác với nhiều DBA. Nhiều người trong số họ thực dụng. Một số trong số họ đáng ghét. Một số ít không biết ý nghĩa của việc trở thành một DBA.

Tôi đã đi đến kết luận này:

Về mặt kỹ thuật, các DBA có một hoặc nhiều phẩm chất sau đây là tốt nhất để làm việc với:

  1. Đã dành nhiều năm làm nhà phát triển
  2. Nắm bắt lý thuyết cơ sở dữ liệu
  3. Có hiểu biết tốt về cách RDBMS hoạt động trong nội bộ
  4. Có kiến ​​thức vượt trội về hệ điều hành

Các DBA rất kỷ luật, hiểu biết có rất nhiều điều để chia sẻ và cung cấp. Họ có thể thấy hiệu suất cơ sở dữ liệu từ góc độ không được Nhà phát triển thực sự xem xét. Các nhà phát triển biết những gì họ muốn từ cơ sở dữ liệu. Các DBA biết cách "lịch sự" với cơ sở dữ liệu.

Theo như tính cách, sẽ luôn có những xung đột, nũng nịu và thậm chí có thể ghen tị. Một điều chắc chắn là: Không theo thứ tự cụ thể nào, các DBA và Nhà phát triển giống như những người chồng và người vợ (Tôi đã kết hôn hạnh phúc trong 16 năm với các dự án đang thực hiện [4 đứa con]).

Bất kể ai được xem là chồng và ai được xem là vợ, những nguyên tắc này đều được áp dụng:

  1. người này phải hỏi ý kiến ​​người khác
  2. người ta phải coi trọng quan điểm của người khác
  3. người ta phải đưa ra quyết định vì lợi ích của cả hai bên
  4. người ta phải ủng hộ, và không sabatoge, quyết định đưa ra
  5. người ta không được chê bai người khác nếu quyết định dẫn đến hậu quả xấu
  6. người ta phải vui mừng về sự đóng góp của cả hai bên vào sự thành công của các quyết định
  7. người ta phải hỏi ý kiến ​​cơ quan có thẩm quyền cao hơn (HA) nếu quyết định không thể được hai bên đồng ý

Bảy (7) nguyên tắc này áp dụng nhiều như ở nơi làm việc, đặc biệt là trong lĩnh vực CNTT.

Bằng cách giao tiếp từng bước, tất cả nên:

  1. bố trí kỳ vọng của họ
  2. tôn trọng khả năng của bên kia để thực hiện phần của họ dựa trên hiệu suất trong quá khứ
  3. tin tưởng và tin tưởng rằng bên kia có thể hoàn thành nhiệm vụ của họ
  4. sống theo mong đợi của chúng ta
  5. mua lại theo hướng dẫn của HA (xem nguyên tắc số 7)

Không có chỗ cho quản lý vi mô trong việc này. Các DBA KHÔNG NÊN NÓI Các nhà phát triển làm thế nào để suy nghĩ như các DBA. Nhà phát triển KHÔNG NÊN NÓI DBA làm thế nào để trở thành Nhà phát triển. Các quyết định cuối cùng về hiệu suất và việc sử dụng cơ sở dữ liệu phải thuộc về các DBA . Quyết định cuối cùng về nhu cầu ứng dụng phải thuộc về Nhà phát triển . Sự cộng sinh này phải được duy trì luôn.

Ý TƯỞNG CUỐI CÙNG

Nguyên tắc số 7 đòi hỏi sự tham gia và giám sát tích cực của AUTHORITY CAO (HA), tức là người quản lý dự án, trưởng nhóm, nhà phát triển chính. HA của bạn biết rõ hơn về cách cả hai bên làm việc cá nhân và cả hai bên nên làm việc với nhau như thế nào. Nếu HA không thiết lập các quy tắc cơ bản cho cả hai bên hoặc nếu HA không hướng dẫn các bên riêng lẻ và cùng nhau, các dự án sẽ luôn dừng lại ở một thời điểm nào đó và gây nguy hiểm cho sự tồn tại (việc làm) của Nhà phát triển, DBA, hoặc thậm chí là HA.


28

Có các đội ngồi ở các phần / tầng khác nhau dường như khuyến khích tâm lý "chúng ta so với họ".

Ngồi một DBA ngay giữa nhóm phát triển là một cách tuyệt vời để phá bỏ bức tường lập trình / DBA. Cả DBA và các lập trình viên sẽ được hưởng lợi từ điều này, nếu họ vẫn cởi mở và đặt cái tôi của mình sang một bên.

Giao tiếp mặt đối mặt, đặc biệt là khi chia sẻ ý tưởng, hiệu quả hơn nhiều so với email và ít có cơ hội gây ra cảm giác khó khăn do hiểu lầm.


20

Loại điều này thay đổi rất nhiều từ nơi này đến nơi khác. Tại trang web hiện tại của tôi, ranh giới giữa nhà phát triển và DBA thực sự rất mờ nhạt - chúng tôi (DBA) cũng viết PL / SQL và họ (nhà phát triển) mổ xẻ các kế hoạch truy vấn. Tất cả chúng ta đều xem mình là đồng nghiệp, chỉ đơn thuần với các kỹ năng và trách nhiệm khác nhau. Điều này rất thú vị: gần đây công ty đã nhảy lên băng đảng DevOps . Cộng đồng cơ sở dữ liệu hoàn toàn không hiểu điều này; chúng tôi luôn làm việc như vậy Không cần phải nói rằng chúng tôi đang làm việc rất hiệu quả như thế này: tầng cơ sở dữ liệu là cho đến nayPhần đáng tin cậy nhất trong kho công nghệ của công ty, rất dễ vận hành (vì chúng tôi có các kỹ năng trong nhóm DBA để hiểu ứng dụng ở mức độ sâu và các nhà phát triển có tiếp xúc với DBA để hiểu các hoạt động 24/7/365 và cách để cấu trúc ứng dụng của họ cho nó).

Nhưng tôi biết ý của bạn là gì khi bạn nói về loại nhà phát triển "sai". Anh ấy tự học, điều mà bản thân nó là một điều cao quý, nhưng trên đường đi, anh ấy đã nhận được sự không tin tưởng vào bất kỳ loại hướng dẫn chính thức nào. Anh ta không biết những gì anh ta không biết , và anh ta bực bội với bất cứ ai cố gắng khai sáng cho anh ta, anh ta coi đó là một sự xúc phạm đối với các kỹ năng tự học của mình. Anh ấy đã học được phong cách lập trình bắt buộc, bởi vì bạn có thể học nó mà không cần bất kỳ thứ lý thuyết nào mà các loại CS luôn bập bẹ (tốt, rất tệ; mọi người cần phải biết big-Ovà các bit tương tự của lý thuyết). Anh ấy cũng học được một chút về OO, chỉ vì anh ấy phải sử dụng Java. Nhưng một chuyên gia cơ sở dữ liệu tốt - nhà phát triển hoặc DBA - phải thoải mái suy nghĩ theo kiểu khai báo, suy nghĩ về lý thuyết tập hợp, các dạng thông thường, thậm chí có thể hiểu được đại số và phép tính quan hệ. Rất khó để liên lạc với những người này, vì họ rất tích cực thù địch với bất cứ điều gì có thể khiến họ rời khỏi vùng thoải mái của họ, điều này thường bị giới hạn trong cách định dạng một cái gì đó trên trang web. Nếu họ nghĩ về cơ sở dữ liệu, họ nghĩ rằng một bảng giống như một lớp và một hàng giống như một đối tượng. Những kẻ này thực sự sẽ chỉ làm SELECT * FROM TABLEvà lọc và sắp xếp kết quả theo mã của riêng họ. Họ thực sự, thực sự không hiểu tại sao một cơ sở dữ liệu tốt hơn một tệp phẳng (và họ không bí mật nghĩ rằng bất cứ ai sử dụng cơ sở dữ liệu quan hệ là một thằng ngốc).

Để tôi cho bạn một ví dụ thực tế: gần đây tôi đã nói chuyện với một trong những loại này về các vấn đề liên quan đến việc đẩy lùi việc phát hành phần mềm của chúng tôi sau khi nó được đưa vào sản xuất, nếu một vấn đề đã qua QA. Tôi đã giải thích rằng trong khi chúng tôi có thể khôi phục ứng dụng của anh ấy (một trong nhiều người truy cập cơ sở dữ liệu), thì nó sẽ cần có khả năng hoạt động với cơ sở dữ liệu vẫn được triển khai. Anh ấy hỏi tại sao, và tôi nói, trong các bảng và cột mới đó, sẽ có dữ liệu khách hàng thực sự. Sau đó anh ta nói, vì vậy chỉ cần sao chép nó vào một bảng tạm thời, có vấn đề gì. Tôi nhìn chằm chằm vào anh ta trong sự hoài nghi: khi một khách hàng gọi và nói, tiền của tôi đã biến mất khỏi tài khoản của tôi, chúng tôi nói gì với anh ta, rằng nó ổn, nó nằm trong một bảng tạm thời? Anh ta chỉ đơn giản là không nhận được rằng khi bạn giao dịch với tiền của người khác, bạn phải hành động như một người trưởng thành có trách nhiệm. Đối với tất cả tôi biết anh vẫn không; Anh ấy không còn ở bên chúng tôi nữa.

Trại MySQL đã như thế này trong một thời gian dài; họ sẽ nói rằng bạn không cần giao dịch, khóa ngoại, v.v., nếu bạn nghĩ bạn làm điều đó chỉ vì bạn không biết bạn đang làm gì, v.v. (sau đó khi họ lớn lên, họ lặng lẽ thêm chúng vào). Đây là những loại ORM như ActiveRecord hoặc Hibernate được phát triển để họ có thể viết các ứng dụng cơ sở dữ liệu mà không cần phải chạm vào SQL. Sử dụng những công nghệ này tôi coi là một lá cờ đỏ - đây không phải là một công ty coi trọng các kỹ năng DBA. Điều họ thực sự muốn là một người giữ trẻ ...


18

Là một lập trình viên hiểu cơ sở dữ liệu tốt hơn làm cho tôi trở thành một lập trình viên tốt hơn. Khi tôi trở thành một quản trị viên cơ sở dữ liệu, điều này càng trở nên quan trọng hơn, do đó tôi tin rằng giáo dục là chìa khóa.

Các DBA nên kiên nhẫn hướng dẫn các nhà phát triển coi họ như những chuyên gia có thẩm quyền. Rất ít lập trình viên khi thể hiện sự khác biệt giữa thao tác đã đặt và thao tác theo hàng ở phía máy khách sẽ chùn bước trước ý tưởng. Chúng tôi chia sẻ một số mục tiêu giống nhau - tốc độ ứng dụng, bảo mật dữ liệu, khả năng bảo trì, v.v. Điều này không chỉ áp dụng cho câu hỏi logic ứng dụng mà còn cho tất cả các khía cạnh của tương tác cơ sở dữ liệu. Các lập trình viên muốn sử dụng các công cụ của họ tốt hơn và DBA càng có thể chỉ cho họ cách sử dụng công cụ cơ sở dữ liệu tốt hơn thì cả hai sẽ càng có lợi.


12

Bất kể cơ sở hạ tầng nào chúng tôi hỗ trợ, chúng tôi phải hỗ trợ người dùng của nó. Rất nhiều người dùng là nhà phát triển, vì vậy chúng tôi hỗ trợ các nhà phát triển cho phép họ sử dụng cơ sở hạ tầng đó tốt nhất có thể. Để có thể làm điều này, chúng ta cần phải hiểu nhau, với những ý tưởng và quan điểm khác nhau trong đầu. Có cái nhìn sâu sắc về quan điểm từ cả hai phía giúp làm cho mọi thứ tốt hơn cho doanh nghiệp và đó là mục tiêu kết hợp của chúng tôi. Làm cho CNTT hỗ trợ doanh nghiệp hiệu quả nhất có thể.

Trong nhiều tổ chức, chúng tôi thấy một số loại dba chạy trong chế độ thần. Hầu hết những lần này không phải là những người đạt điểm rất cao nếu năng lực được đo ..... Thường thì họ chỉ che giấu - thiếu - kiến ​​thức đằng sau một bức tường ngôn từ.

Theo ý kiến ​​của tôi, nó không liên quan gì đến việc 'thân thiện với lập trình viên' hơn với sự chuyên nghiệp. Đối với một dba, điều đó có nghĩa là chúng ta cần phải giải thích lý do tại sao chúng ta làm những việc chúng ta làm và sẵn sàng cho thuê xem xét lại quyết định nếu điều đó giúp, mà không mất các mục tiêu bình thường như tính khả dụng, khả năng mở rộng, khả năng phục hồi và hiệu suất. Đối với lập trình viên, điều đó có nghĩa là anh ta phải giao tiếp với dba, đôi khi để dạy dba, đôi khi phải học từ dba. Phương châm của tôi về điều này là: hãy để ngày đầu tiên tôi không học được một điều là ngày mà chiếc quan tài đóng lại trên đầu tôi. Hợp tác bình thường, có các nhóm kết hợp với các nhà phát triển và dba chắc chắn sẽ giúp mọi việc dễ dàng hơn.


9

Tôi nghĩ một phần của vấn đề là quan điểm. Dbas và các nhà phân tích dữ liệu và nhà phát triển cơ sở dữ liệu phải đối phó với dữ liệu theo thời gian. Các nhà phát triển ứng dụng quan tâm đến cách làm cho mọi thứ hoạt động khi họ gửi nó đến sản xuất. Họ không lo lắng quá nhiều về việc dữ liệu sẽ trông như thế nào trong sáu tháng miễn là không có lỗi khi triển khai.

Nhưng mọi người dữ liệu phải sống với kết quả của các quyết định thiển cận khiến dữ liệu bị mất tính toàn vẹn hoặc khiến các bản ghi trùng lặp được chèn vào và sau đó cố gắng giải thích tại sao dữ liệu xấu. Các DBA là những người phải giải quyết vấn đề hiệu năng từ quy trình hoạt động tốt khi chỉ có một nghìn hồ sơ, nhưng giờ phải mất hàng giờ với 100.000.000 hồ sơ.

Cơ sở dữ liệu khó tái cấu trúc hơn, vì vậy các DBA quan tâm đến việc làm cho đúng ngay lần đầu tiên. Các nhà phát triển thấy không có vấn đề trong việc tái cấu trúc xuống đường.

Các nhà phát triển thấy không có vấn đề gì với việc làm cho cơ sở dữ liệu hoạt động như thể nó hướng đối tượng, mọi người biết rằng đó không phải là cách hiệu quả hoặc hiệu quả nhất để lưu trữ hoặc lấy dữ liệu.

Các nhà phát triển ứng dụng thường chỉ xử lý một tập hợp nhỏ các bản ghi chứ không phải với nhập / xuất hoặc báo cáo dữ liệu lớn. Những thứ hoạt động tốt để nhập một bản ghi, không hoạt động khi bạn đang nói về việc nhập một triệu. Logic nghiệp vụ trong ứng dụng (thường không thể truy cập được vào ứng dụng báo cáo) không giúp người viết báo cáo có được kết quả tương tự cho một triệu bản ghi như những gì được hiển thị trên màn hình một bản ghi tại một thời điểm.

Một phần khác của vấn đề là thiếu tôn trọng từ cả hai phía. Tôi đã gặp nhiều hơn một vài nhà phát triển ứng dụng nghĩ rằng công việc dữ liệu không khó hoặc thú vị và họ tin rằng bạn sẽ chỉ làm công việc này nếu bạn không thể hack nó trong thế giới của họ. Mọi người có xu hướng không phản ứng tốt khi bị đối xử như thể họ ngu ngốc và vô dụng. Mặt khác, một số DBA có xu hướng đối xử với các nhà phát triển ứng dụng thiếu tôn trọng và có xu hướng đặt các nhiệm vụ của họ là xem xét những gì các nhà phát triển đang làm cho cơ sở dữ liệu là ưu tiên thấp (có thể là khi bạn có cơ sở dữ liệu sản xuất phức tạp lớn). Họ có thể từ chối nghe hoặc phản hồi. Ai muốn toàn bộ dự án của mình bị trì hoãn cho đến khi DBA xem xét nó hai tuần sau đó? Và sau đó anh ấy nói với bạn rằng nó không thể chấp nhận được và bạn phải viết lại toàn bộ?


8

Trong nhiều năm kể từ khi tôi bắt đầu với SQL Server (1998), tôi đã có nhiều nhà phát triển cho tôi biết cách thực hiện công việc của mình. Thật thú vị khi tất cả họ đều biết nhiều hơn tôi cũng là những nhà phát triển .net tuyệt vời . Trên thực tế, họ cũng là kiến trúc sư và nên làm những việc lớn hơn là viết mã.

Có lẽ đó là thái độ sai lầm của tôi: nhưng đó là một thái độ nhà phát triển khá phổ biến ở nhiều cửa hàng. Họ cũng làm điều đó với nhau, hãy nhớ rằng: hãy xem các trận đánh bắt đầu khi bạn đề xuất đánh giá ngang hàng.

Tôi sẽ để lại các bản sửa lỗi cho các câu trả lời khác (tôi đồng ý 100% với 2 cho đến nay) nhưng thêm rằng văn hóa quản lý và cửa hàng cũng phải hỗ trợ và nuôi dưỡng sự hợp tác.


8

Là một nhà phát triển, tất cả những gì tôi cần từ bạn là để biết bạn muốn tôi truyền đạt những gì tôi cần như thế nào. Nếu tôi yêu cầu một điều gì đó vô lý, tôi cần bạn nói với tôi - và nếu bạn nói với tôi như vậy, tôi sẽ tin điều đó bởi vì bạn có một hồ sơ theo dõi về tính toàn vẹn. Nếu bạn không hiểu những gì tôi đang yêu cầu, hãy dành thời gian để giải thích cho tôi những gì bạn nghĩ tôi muốn nói - và tôi sẽ dành thời gian để lắng nghe.

... Chủ đề chung, phải ... Truyền thông ... giao tiếp ... giao tiếp.

Thực sự không có cách nào tốt hơn để đặt nó. Các nhà phát triển bị đánh dấu bởi vì, "rằng DBA nói với tôi rằng điều đó không thể thực hiện được - tôi chắc chắn đã chứng minh anh ta sai lần trước." Các DBA bị đánh dấu bởi vì, "nhà phát triển đó không hiểu tôi phải làm gì mỗi khi anh ta thay đổi thông số kỹ thuật."

Các nhà phát triển và DBA, như @Rolando đã nêu, phải hiểu nhau. Khi tất cả xảy ra với nó, cả hai chúng tôi đều nói "Ones & Zeros" - bạn nghĩ rằng đó sẽ là một trận đấu hay. Chúng tôi có 2 lãnh vực trách nhiệm: Các DBA có dữ liệu, Nhà phát triển có được phần còn lại của máy tính. Nhưng không có dữ liệu, các lập trình viên thực sự sẽ không có nhiều việc phải làm.

Chúng tôi không có DBA và đôi khi điều đó thật đau đớn. Mảnh ghép đó của tôi muốn trở thành một DBA một thập kỷ trước sẽ co rúm lại khi tôi thấy một số điều chúng tôi làm. Nếu chúng tôi thuê một DBA vào ngày mai, tôi nghĩ rằng tôi sẽ hôn ngay mặt đất mà anh ấy / cô ấy bước đi.


7

Ở một số công ty, có lẽ nhiều người, phát triển sản phẩm có xu hướng bỏ qua bất cứ ai không viết bằng ngôn ngữ được biên dịch. Đến thời điểm phát hành, có sự kháng cự bởi vì quản trị viên mạng, DBA, quản trị viên hệ thống, hỗ trợ người dùng, v.v ... mỗi người đều có sự tích cực để hoàn thành. Thường có những vấn đề đau đầu vì các khía cạnh chính của môi trường không được xem xét. Điều này tự nhiên gây ra căng thẳng giữa các đội.

Ai là người có lỗi ở đây? Bà Truyền thông.

Các nhà phát triển cần hiểu mã môi trường sẽ được triển khai. Mọi người cần được cảnh báo công bằng để thích nghi. Trong trường hợp môi trường không thể thích ứng vì bất kỳ lý do gì (bảo mật, thiết bị, chính sách), phần mềm cần phải thích ứng. Nếu điều này xảy ra trong quá trình thiết kế và triển khai, mọi người đều vui vẻ. Nếu nó không bắt đầu cho đến khi triển khai, đó là một thế giới bị tổn thương.

Có, các nhóm cần nói chuyện (và lắng nghe) với nhau, nhưng người quản lý dự án / sản phẩm cần tạo ra một môi trường có thể xảy ra.

Tôi đã may mắn, ở hầu hết các nơi tôi từng làm việc, sự tôn trọng và giao tiếp lẫn nhau là một phần của văn hóa.


6

Một điều mà một DBA giỏi phải hiểu là chính trị của dữ liệu. Tôi đã dạy lập trình và thiết kế cơ sở dữ liệu cho các lập trình viên dày dạn kinh nghiệm và một vài DBA được phác thảo trong vài năm. Một câu hỏi sẽ xuất hiện thường xuyên là: tại sao tất cả các cơ sở dữ liệu tại cửa hàng của tôi lại mang tính chính trị như vậy?

Đây là câu trả lời chuẩn của tôi: Nếu cơ sở dữ liệu hữu ích, thì bạn đang chia sẻ dữ liệu. Nếu bạn đang chia sẻ dữ liệu, thì bạn đang chia sẻ sức mạnh. Khi quyền lực được chia sẻ, chính trị xảy ra.

Không quan trọng bạn yêu chính trị hay ghét chính trị. Nếu bạn sẽ làm tốt công việc cơ sở dữ liệu, hãy làm quen với nó.

Ngẫu nhiên, một số bạn chỉ làm việc trong môi trường phát triển. Có những DBA hoạt động ở phía sản xuất của hàng rào và có ít sự tương tác với các nhà phát triển. Bạn có thể nghĩ rằng có ít chính trị hơn trong sản xuất. Còn nữa. Các cơ sở dữ liệu sản xuất lớn có xu hướng rộng khắp doanh nghiệp và nhiệm vụ quan trọng.


3

Một chút khiêm tốn có thể giúp ích cho một số bạn. ;)

Rõ ràng có những lý lẽ hợp lệ cho một trong hai cách tiếp cận, tôi khuyên bạn nên bắt đầu bằng cách nhận ra điều đó. Phát triển phần mềm là tất cả về việc đánh đổi đúng. Nếu đó là một con đường hai chiều, có lẽ các DBA cũng nên giữ một quan điểm cởi mở.

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.