Connect with us

Phỏng vấn

Peter McKee, Head of Developer Relations tại Sonar – Loạt phỏng vấn

mm

Peter McKee là Head of Developer Relations tại Sonar, một nền tảng giải quyết thách thức trị giá nghìn tỷ đô la về mã kém chất lượng. Sonar trang bị cho các nhà phát triển và tổ chức để đạt được trạng thái Mã sạch một cách hệ thống, vì vậy tất cả mã đều phù hợp cho phát triển và sản xuất. Bằng cách áp dụng phương pháp Clean as You Code của Sonar, các tổ chức giảm thiểu rủi ro, giảm nợ kỹ thuật và thu được nhiều giá trị hơn từ phần mềm của họ theo cách có thể dự đoán và bền vững.

Điều gì ban đầu thu hút bạn đến với khoa học máy tính?

Tôi luôn quan tâm đến máy tính từ khi còn nhỏ. Ngay cả khi tôi đang theo đuổi một con đường sự nghiệp khác, tôi vẫn liên tục bị thu hút trở lại máy tính và lập trình. Tại một thời điểm, bố tôi đang điều hành một công ty thép ở Virginia và họ đã mất nhóm tư vấn của mình. Vì tôi đã học cách lập trình khi còn nhỏ, ông đã mời tôi làm việc và xây dựng hệ thống cho ông. Tôi không biết, thành thật, tôi đang làm gì 100% vào thời điểm đó, nhưng tôi đã học từ sách và làm việc trên công việc, và trở thành tự học. Điều đó tiếp tục thúc đẩy sự quan tâm của tôi đến lập trình và máy tính và thực sự củng cố sự quan tâm của tôi đến khoa học máy tính.

Bạn có thể làm rõ cách bạn định nghĩa Mã sạch và tại sao nó lại quan trọng như vậy không?

Đã có nói rằng phần mềm sẽ ăn cả thế giới, và tôi sẽ nói rằng chúng ta đang ở điểm mà điều đó đã trở thành chính thức – thế giới được xây dựng trên phần mềm và mọi công ty đều cơ bản là một công ty phần mềm. Tại nền tảng của phần mềm tốt là mã chất lượng, vì mã là cốt lõi của tất cả phần mềm và quyết định hành vi và hiệu suất của nó. Đây là lý do tại sao Mã sạch — mã nhất quán, có chủ đích, có thể thích nghi và có trách nhiệm — lại quan trọng như vậy. Mã sạch dễ hiểu và thay đổi, hoạt động trơn tru tại thời gian chạy và không chứa nợ kỹ thuật, do đó, nó phù hợp với mục đích. Mã sạch là tiêu chuẩn mà các tổ chức nên áp dụng để đảm bảo rằng phần mềm của họ tiếp tục là một tài sản — không phải là một trách nhiệm — và là chìa khóa cho thành công kinh doanh ngày nay.

Mã sạch mang lại lợi ích cho các đội và tổ chức thuộc mọi quy mô và trình độ phát triển, và tăng giá trị của phần mềm như một kết quả. Một số lợi ích cụ thể là:

  • Tăng cường kỹ năng phát triển — Các nhà phát triển có thể phát hiện, hiểu và giải quyết vấn đề khi họ mã hóa đồng thời cũng học được các phương pháp hay nhất
  • Tăng hiệu suất và năng suất — Giảm thiểu việc làm lại liên tục và chu kỳ phản hồi dài, dẫn đến năng suất cao hơn
  • Giảm rủi ro danh tiếng và kinh doanh — Mã sạch đảm bảo ít rủi ro bảo mật hơn bằng cách cho phép các đội giải quyết vấn đề trước khi chúng đến sản xuất
  • Giảm nợ kỹ thuật cấp mã — Mã sạch giải quyết dần dần nợ của cơ sở mã mà không cần phải thay thế ứng dụng lớn và gián đoạn
  • Tăng tốc độ phát triển phần mềm — Tiêu chuẩn mã sạch và luồng được cải thiện giúp tăng tốc độ DevOps, thúc đẩy thời gian đưa sản phẩm ra thị trường nhanh hơn

Bạn có thể thảo luận về tầm quan trọng của tính nhất quán và cấu trúc trong mã, và một số ví dụ về mã nhất quán và sạch không?

Chất lượng mã nhất quán là điều mà mọi người quản lý hoặc giám đốc kỹ thuật đều nhắm đến. Tính nhất quán rất quan trọng khi nói đến chất lượng mã vì tính nhất quán dẫn đến khả năng dự đoán. Nó được viết theo một cách đồng nhất và thông thường — tất cả mã đều có vẻ giống nhau và tuân theo một mẫu thường xuyên, ngay cả với nhiều người đóng góp tại các thời điểm khác nhau. Mã nhất quán được định dạng, thông thường và có thể nhận biết. Khi các tiêu chuẩn mã hóa nhất quán được áp dụng, các nhà phát triển trở nên hiệu quả hơn và có thể đáp ứng kỳ vọng giao hàng của họ với tốc độ và chính xác.

Bạn có thể thảo luận về tầm quan trọng của mã có thể xử lý các điều kiện không mong muốn, và tại sao điều này không nên bị bỏ qua?

Các nhà phát triển luôn cố gắng dự đoán và chuẩn bị cho các sự kiện không mong muốn trong quá trình thiết kế và phát triển, nhưng điều này không thể được ngăn chặn trong mọi trường hợp. Các trạng thái không mong muốn có thể phát sinh do sử dụng không đúng ý muốn hoặc các cuộc tấn công được kích hoạt có chủ đích. Các trạng thái không mong muốn này có thể vô tình giới thiệu các lỗ hổng bảo mật mà kẻ tấn công có thể khai thác. Đây là lý do tại sao các nhà phát triển nên luôn cố gắng cải thiện chất lượng và độ ổn định của mã của họ và kiểm tra các điều kiện không mong muốn. Bằng cách tuân theo phương pháp Clean as You Code, các đội có thể tăng tốc các tính năng mới, tránh các chi phí làm lại không cần thiết và thúc đẩy sự phát triển và giữ chân tài năng. Mã sạch thúc đẩy bảo mật, khả năng bảo trì và độ tin cậy, và có thể cho phép các nhà phát triển dự đoán và xử lý các trạng thái không mong muốn một cách hiệu quả hơn và đưa phần mềm trở lại hoạt động nhanh hơn.

Bạn có thể thảo luận về lợi ích của việc sử dụng Trí tuệ nhân tạo tạo mã?

Việc tích hợp AI vào chu kỳ phát triển phần mềm có lợi ích của nó, chẳng hạn như cho phép các nhà phát triển làm việc hiệu quả hơn. Trên thực tế, nghiên cứu của GitHub cho thấy rằng các nhà phát triển có thể hoàn thành nhiệm vụ nhanh hơn 50% khi sử dụng AI. Trí tuệ nhân tạo tạo mã có thể tạo mã nhanh hơn, và ngược lại, giảm bớt gánh nặng của các nhiệm vụ nhàm chán, thường xuyên — như tài liệu hoặc tạo mã — khỏi họ, vì vậy họ có thể tập trung vào công việc có giá trị cao hơn, thú vị hơn để giải quyết các vấn đề phức tạp hơn. Tuy nhiên, dù mã được tạo ra như thế nào, điều quan trọng là nó phải được kiểm tra theo các tiêu chuẩn Mã sạch để đảm bảo mã đó an toàn, đáng tin cậy và có thể bảo trì.

Một số rủi ro và nguy cơ tiềm ẩn của mã tạo ra là gì?

 Mặc dù AI có thể giải phóng thời gian của các nhà phát triển để làm việc trên các dự án có giá trị cao hơn và tăng năng suất, nhưng nó không đi kèm mà không có rủi ro. Đây là lý do tại sao nhu cầu về các nhà phát triển sẽ không biến mất trong thời đại AI. Bởi vì các công cụ Trí tuệ nhân tạo tạo mã có thể tạo ra nhiều mã nhanh chóng, có khả năng xảy ra lỗi. Dưới đây là một số nguy cơ cụ thể:

  • Trách nhiệm: Mã tạo ra bởi AI giảm khả năng trách nhiệm của con người đối với mã được tạo, điều này có thể làm cho việc giải quyết/vấn đề trở nên khó khăn hơn.
  • Lỗ hổng: Bởi vì nó đang lấy thông tin từ nguồn thông tin lớn, không có gì đảm bảo rằng mã được tạo ra là an toàn hoặc sạch. Có thể có lỗi hoặc vấn đề bảo mật mà có thể đặt doanh nghiệp vào rủi ro.
  • Chất lượng: AI không kiểm tra lại chất lượng, và chỉ vì nó được tạo ra bởi AI không có nghĩa là nó hiệu quả hoặc có chất lượng cao.
  • Không có ngữ cảnh: Việc mất đi yếu tố con người tự nhiên có nghĩa là bạn mất đi ngữ cảnh của một vấn đề hoặc dự án. Mã tạo ra bởi AI phải được xem xét để đảm bảo rằng nó hoàn thành công việc một cách đầy đủ.

Khi các nhà phát triển áp dụng phương pháp Clean as You Code với mã của họ – mã được tạo ra bởi con người hoặc AI – họ có thể đảm bảo rằng mã đó phù hợp cho phát triển và sản xuất và đáp ứng các tiêu chuẩn chất lượng của tổ chức.

Có những biến số nào khác nên được xem xét trong mã phù hợp cho sản xuất?

 Các nhà phát triển viết mã tuân theo các nguyên tắc Mã sạch có thể tự tin rằng mã của họ phù hợp cho phát triển và sản xuất, điều này có nghĩa là mã đó tuân theo các đặc điểm nhất định:

  • Đồng nhất: Mã nên đồng nhất và tuân theo một phong cách chung. Ngay cả khi mã được thực hiện bởi nhiều nhà phát triển khác nhau theo thời gian, nó nên có vẻ ngoài tương tự và tuân theo các mẫu đã được thiết lập trước đó.
  • Có chủ đích: Mã có chủ đích nên đọc như nó được viết với sự chú ý và chăm sóc để truyền đạt mục đích của nó; nó nên chỉ có một cách giải thích có sẵn.
  • Linhs hoạt: Mã linh hoạt được chia thành nhiều phần và tổ chức theo cách làm cho nó dễ dàng quản lý và xem mối quan hệ giữa từng dòng mã. Điều này làm cho mã được cấu trúc để dễ dàng và tự tin phát triển.
  • Trách nhiệm: Mã, và các nhà phát triển của nó, nên chú ý đến các nghĩa vụ đạo đức liên quan đến dữ liệu và ảnh hưởng tiềm tàng của nó đối với các chuẩn mực xã hội. Mã cuối cùng không nên đặt ra rủi ro không cố ý gây hại cho các bên thứ ba.

Bạn có thể thảo luận về một số dịch vụ khác nhau của Sonar, và cách nó giúp các nhà phát triển xây dựng mã có trách nhiệm, bảo mật, chất lượng cao và nhanh chóng?

 Thông qua các công cụ phân tích hàng đầu trong ngành, Sonar xác định các vấn đề mã hóa một cách toàn diện và đề xuất các bản sửa lỗi với các vòng phản hồi ngắn trong khi giáo dục nhà phát triển trong ngữ cảnh, cuối cùng cho phép các tổ chức xây dựng mã có trách nhiệm, bảo mật, chất lượng cao và nhanh chóng. Các yếu tố cốt lõi của giải pháp Sonar là SonarLint, SonarQube (tự quản lý; mã nguồn mở), và SonarCloud (SaaS), với phạm vi rộng lớn hỗ trợ hơn 30 ngôn ngữ lập trình, khuôn khổ và cơ sở hạ tầng, 11 IDE và hơn 5.000 quy tắc mã hóa và ngôn ngữ cụ thể.

SonarLint, một tiện ích mở rộng IDE, cung cấp dòng kiểm tra đầu tiên để tìm vấn đề trong thời gian thực từ khi mã được viết. Nó bắt một lượng lớn vấn đề ngay từ đầu và giúp các nhà phát triển phát hiện và sửa lỗi như một công cụ kiểm tra chính tả cho mã. SonarQube và SonarCloud, các công cụ xem xét mã tĩnh của Sonar, liên tục kiểm tra và phân tích cơ sở mã, với tích hợp SonarLint. Sử dụng các cổng chất lượng để xác định xem mã có đáp ứng các tiêu chuẩn chất lượng, bảo mật và độ tin cậy đã định cho sản xuất hay không, SonarQube và SonarCloud kiểm tra mã về lỗi, lỗ hổng, điểm nóng bảo mật và mùi mã.

Kết hợp bộ giải pháp của chúng tôi với phương pháp Clean as You Code — một phương pháp tuân theo các tiêu chuẩn đã đặt để giữ mã mới, thêm hoặc chỉnh sửa sạch — các nhà phát triển và tổ chức được phép cung cấp Mã sạch và giải quyết mã hiện có một cách hữu cơ, vì vậy họ có thể tập trung vào các dự án mới, sáng tạo thúc đẩy giá trị kinh doanh

Làm thế nào Sonar giúp đảm bảo rằng mã tuân thủ và đáp ứng các tiêu chuẩn của ngành?

Sonar giúp các nhà phát triển có được phản hồi ngay lập tức và được ngữ cảnh hóa, nhấn mạnh các vấn đề nơi chúng nằm trong cơ sở mã, trong dòng chảy phát triển dựa trên kinh nghiệm phân tích ngôn ngữ nhiều năm. Các nhà phát triển có được lời giải thích rõ ràng về lý do tại sao một vấn đề xảy ra và cách nhanh chóng giải quyết nó, cũng như các tài nguyên bổ sung để học sâu hơn. Chúng tôi có giáo dục được xây dựng trong toàn bộ dòng chảy, từ IDE đến CI/CD. Ví dụ, Sonar có các quy tắc MISRA C++ 2023 cụ thể có sẵn trong SonarLint để giúp các đội tạo mã được chuẩn bị tốt nhất cho chứng nhận cuối cùng. Nó cung cấp hướng dẫn mã hóa, giải thích lý do tại sao một vấn đề được đánh dấu và cách sửa nó, để đảm bảo rằng mã được viết là tuân thủ MISRA.

Visions của bạn cho cách AI sẽ biến đổi việc mã hóa trong tương lai là gì?

 Tôi nghĩ AI sẽ tiếp tục mang lại giá trị lớn trong việc giải quyết kiệt sức của nhà phát triển. Mặc dù tôi không nghĩ AI sẽ bao giờ có thể chuyển giao suy nghĩ và chạm của con người, nhưng tôi nghĩ rằng ngay cả trong vài tháng tới, chúng ta sẽ thấy một bộ hoàn toàn mới của GPT — không kể đến những gì vài năm từ bây giờ sẽ trông như thế nào. Tôi không tin rằng các chuyên gia công nghệ hoặc nhà phát triển sẽ biến mất, nhưng bản chất công việc hàng ngày của họ chắc chắn sẽ thay đổi. Cách các nhà phát triển sử dụng AI sẽ đơn giản và phổ biến như tìm kiếm trên Google để tìm kiếm một giải pháp thay thế. Có rất nhiều điều để khám phá về việc sử dụng AI, nhưng chúng ta phải xem xét yếu tố con người ở phía trước để kiểm tra các hạn chế của AI. Có tiềm năng chuyển đổi cho phát triển phần mềm, nhưng chúng ta không được để nó chạy mà không có kiểm tra — đặc biệt là khi các doanh nghiệp kỹ thuật số ngày nay phụ thuộc vào phần mềm hỗ trợ nó.

Cảm ơn vì cuộc phỏng vấn tuyệt vời, những người đọc muốn tìm hiểu thêm nên truy cập Sonar.

Antoine là một nhà lãnh đạo có tầm nhìn và là đối tác sáng lập của Unite.AI, được thúc đẩy bởi một niềm đam mê không ngừng nghỉ để định hình và thúc đẩy tương lai của AI và robot. Là một doanh nhân liên tục, ông tin rằng AI sẽ gây ra sự gián đoạn cho xã hội giống như điện, và thường bị bắt gặp nói về tiềm năng của các công nghệ gây gián đoạn và AGI.
Như một futurist, ông dành để khám phá cách những đổi mới này sẽ định hình thế giới của chúng ta. Ngoài ra, ông là người sáng lập của Securities.io, một nền tảng tập trung vào đầu tư vào các công nghệ tiên tiến đang định nghĩa lại tương lai và thay đổi toàn bộ lĩnh vực.