Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Hầu hết mọi nhà phát triển đều đặt câu hỏi về cách anh ta nên phát triển kỹ năng của mình và nên chọn hướng phát triển nào: theo chiều dọc - nghĩa là trở thành người quản lý hoặc theo chiều ngang - toàn bộ. Nhiều năm làm việc trên một sản phẩm, trái ngược với những lầm tưởng, không trở thành một hạn chế mà là một cơ hội hữu ích. Trong bài viết này, chúng tôi chia sẻ kinh nghiệm của nhà phát triển phụ trợ Alexey, người đã dành 6 năm để lấy chứng chỉ và trong thời gian này đã nỗ lực để trở thành một kiến ​​trúc sư.

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Kiến trúc sư là ai

Kiến trúc sư CNTT (trưởng nhóm công nghệ) là nhà phát triển cấp cao chuyên giải quyết các vấn đề toàn cầu trong các dự án CNTT. Anh ta đắm mình vào các quy trình kinh doanh của khách hàng và giúp giải quyết các vấn đề của mình bằng cách sử dụng công nghệ, đồng thời xác định cách cấu trúc hệ thống thông tin này hoặc hệ thống thông tin kia.

Một chuyên gia như vậy không chỉ cần hiểu từng lĩnh vực chủ đề riêng lẻ mà còn phải xem toàn bộ quá trình:

  • Đặt vấn đề kinh doanh.
  • Phát triển, bao gồm lập trình, chuẩn bị, lưu trữ và xử lý dữ liệu.
  • Triển khai và hỗ trợ cơ sở hạ tầng.
  • Kiểm tra.
  • Triển khai.
  • Dịch vụ phân tích và vận hành.

Điều này có nghĩa là khả năng đặt mình vào vị trí của bất kỳ chuyên gia hoặc nhóm nào trong vòng đời phát triển, hiểu trạng thái hiện tại của hệ thống từ bên trong, xác định những sai lầm đã mắc phải và xây dựng mục tiêu. Đôi khi bạn cần phải tự mình thực hiện phẫu thuật.

Con đường phát triển chuyên môn từ nhà phát triển đến kiến ​​trúc sư mất nhiều thời gian - thường là vài năm. Để làm được điều này, nhà phát triển cần cả kỹ năng thực tế và kiến ​​thức lý thuyết, điều này có thể được xác nhận bằng chứng chỉ quốc tế.

Hơn 5 năm cho một dự án - thói quen hay cơ hội phát triển?

Vài năm trước, chúng tôi bắt đầu làm việc trên một hệ thống CNTT y tế lớn cho một khách hàng nước ngoài. Có một số vấn đề nhất định trong dự án quy mô lớn này:

  • truy cập hạn chế;
  • sản phẩm không ổn định;
  • chạy nước rút cực kỳ dài và phê duyệt dài.

“Đã đến lúc cải thiện kỹ năng của bạn”“, - một trong những nhà phát triển hàng đầu Alexey đi đến quyết định này nhằm khắc phục những khó khăn đã liệt kê và hiểu rõ hơn về hệ thống.

Alexey đã chia sẻ kinh nghiệm của mình, nơi nào tốt hơn để bắt đầu đào tạo, những chứng chỉ nào là quan trọng để đạt được, cách thức và lý do để làm điều đó.

Bước một: cải thiện tiếng Anh của bạn

Ngôn ngữ lập trình là một phần cơ bản của quá trình phát triển, nhưng ngôn ngữ giao tiếp cũng quan trọng không kém. Đặc biệt là trong giao tiếp với khách hàng nói tiếng Anh!

Từ thực tiễn

Một ngày đẹp trời, Alexey nhận được cuộc gọi từ một nhân viên từ phía khách hàng. Vào thời điểm đó, nhà phát triển của chúng tôi vẫn chưa thể tự hào về một loạt chứng chỉ - cả về công nghệ, quản lý cũng như truyền thông. Có lẽ chúng sẽ không hữu ích - sau cùng, bạn có thể trở thành một chuyên gia có năng lực mà không cần thêm vương giả. Nhưng vấn đề vẫn nảy sinh.

Chúng ta phải hiểu rằng ngôn ngữ nói hoàn toàn khác với ngôn ngữ viết. Nếu bạn thông thạo các thông số tiếng Anh nhưng không luyện nghe và nói thì chúng tôi có một tin xấu dành cho bạn. Trong trường hợp này, cuộc trò chuyện qua điện thoại với đối tác có thể dẫn đến ngõ cụt.

Alexey nghe được một số từ quen thuộc trong cuộc gọi, nhưng bài phát biểu của đồng nghiệp của anh ấy quá nhanh và không giống cách phát âm cổ điển trong các bài học ghi âm nên nội dung chính trong các câu hỏi của cô ấy đã trôi qua đâu đó. Vì lịch sự và không muốn làm phức tạp tình hình, Alexey nhanh chóng đồng ý mọi đề xuất.

Tôi có cần nói rằng những khám phá khó chịu đã được thực hiện trong quá trình làm việc không? Nhà phát triển của chúng tôi đã đăng ký một thứ mà anh ấy chắc chắn sẽ cố tình từ chối nếu lời đề nghị được đưa ra bằng ngôn ngữ dễ hiểu.

Vào thời điểm đó, rõ ràng là việc cải thiện kỹ năng nghe và nói là điều cần thiết. Cách tốt nhất để làm điều này là thông qua các chứng chỉ.

Chứng chỉ tiếng Anh

Để cải thiện khả năng liên lạc trong khuôn khổ dự án y tế của chúng tôi, Alexey đã nghiên cứu nhiều chương trình cùng một lúc. Kết quả là anh đã đậu FCE - Chứng chỉ tiếng Anh đầu tiên. Điều này giúp tôi bắt đầu lắng nghe khách hàng và truyền đạt suy nghĩ của mình cho anh ấy.

Cuộc sống hack:

Tránh các chương trình tiếng Anh cơ bản. Kỹ năng này phải được nhắm mục tiêu. Nếu bạn cần tiếng Anh để giao tiếp trong kinh doanh, bạn nên dùng nó. Đừng đi quá xa và hãy lấy CAE (Chứng chỉ tiếng Anh nâng cao). Điểm đặc biệt của nó là những từ ngữ phức tạp, những cách diễn đạt cụ thể gần như không bao giờ được sử dụng trong giao tiếp quốc tế.

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Bước hai: chứng nhận trên toàn bộ hệ thống công nghệ

Ban đầu, dự án dựa trên công nghệ ánh xạ quan hệ đối tượng ORM. Nhóm phát triển về phía khách hàng tự hào về đứa con tinh thần của họ, bởi vì mọi thứ đều được thực hiện bằng cách sử dụng các khái niệm tiên tiến, phức tạp và thú vị.

Tuy nhiên, các vấn đề trong quá trình sản xuất—đặc biệt là máy chủ SQL liên tục bị treo—không phải là hiếm. Đã đến lúc giải pháp điển hình cho vấn đề là khởi động lại dịch vụ. Khách hàng đã gọi cho trưởng nhóm và nói rằng đã đến lúc bắt đầu lại. Cuối cùng chúng tôi quyết định kết thúc nó.

Khách hàng muốn tìm hiểu hiệu suất của hệ thống - để làm được điều này, cần phải giới thiệu hồ sơ và thường xuyên thực hiện tối ưu hóa. Vào thời điểm đó, khoảng năm 2015, Ants Profiler được chọn làm công cụ lập hồ sơ nhưng nó hoạt động kém. Với độ chi tiết thấp, rất khó để có được thông tin về khối mã quan trọng. Ở chi tiết tối đa, Ants Profiler bắt đầu thay đổi mã theo cách khiến chức năng của hệ thống gặp rủi ro - khi cấu hình được định cấu hình, mọi thứ chỉ đơn giản là bị lỗi. Vì vậy, chúng tôi đã thay đổi cách tiếp cận của mình.

Chúng tôi bắt đầu với việc phân tích số liệu thống kê

Khi phân tích số liệu thống kê bán hàng, có thể thấy rõ rằng 95% công việc trên máy chủ có logic nghiệp vụ nguyên thủy gồm 4 dòng. Đối với họ, một truy vấn SQL là đủ chứ không phải một bộ truy vấn hoàn chỉnh được tạo bởi khối logic nghiệp vụ có ORM.

Alexey đã đề xuất và triển khai một quy trình lưu trữ để di chuyển công việc mà không cần ORM. Ý tưởng này mâu thuẫn với mô hình dự án thông thường, trưởng nhóm chào đón nó một cách thận trọng, nhưng khách hàng đã chấp nhận mọi thứ và yêu cầu thực hiện. Điều này không có gì đáng ngạc nhiên, vì phương pháp mới giúp giảm độ trễ trong quá trình xử lý sản xuất từ ​​bốn giờ xuống còn vài phút - trung bình là 98 lần.

Tuy nhiên, chúng tôi vẫn nghi ngờ: đây có phải là quyết định đúng đắn hay là vấn đề sở thích cá nhân? Niềm tin vào C# và ORM toàn năng đã bị lung lay bởi một tai nạn cho thấy toàn bộ sức mạnh của những giải pháp đơn giản.

Trường hợp hai

Nhóm đã viết một truy vấn để làm việc với dữ liệu trong mô hình ORM, được biên dịch theo tất cả các quy tắc, không có lỗi. Quá trình xử lý của nó mất 2-3 phút và các thông số này có vẻ chấp nhận được. Tuy nhiên, cách triển khai thay thế bằng cách sử dụng các bộ chọn và chế độ xem đơn giản đã mang lại kết quả nhanh hơn - trong 2 giây.

Rõ ràng là đã đến lúc phải chọn một chuyên gia sẽ trải qua chứng nhận trên toàn bộ dự án để hiểu tất cả các sắc thái và chọn phương pháp tối ưu. Alexey đảm nhận nhiệm vụ này.

Chứng chỉ đầu tiên

Để hiểu bản chất, Alexey đã trải qua một số chứng chỉ của Microsoft, bao gồm toàn bộ công nghệ của dự án:

  • TS: Phát triển ứng dụng Windows với Microsoft .NET Framework 4
  • TS: Truy cập dữ liệu bằng lập trình Microsoft .NET Framework 4 trong C#
  • TS: Phát triển ứng dụng Microsoft .NET Framework 3.5 Windows Forms
  • PRO: Thiết kế và phát triển ứng dụng Windows bằng Microsoft .NET Framework 3.5
  • CHUYÊN NGHIỆP: Thiết kế và phát triển ứng dụng dựa trên Windows bằng cách sử dụng Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Phát triển ứng dụng khách dựa trên Windows

Cố gắng tối ưu hóa công việc trong dự án mới, nhóm đã đi đến kết luận sau:

  • Để hệ thống hoạt động, cần phải tuân theo các quy tắc viết mã: không phải thụt lề và nhận xét, mà là các đặc tính kỹ thuật - số lượng lệnh gọi đến cơ sở dữ liệu, tải trên máy chủ, v.v.
  • Áp dụng các khái niệm xung đột có thể dẫn đến rắc rối. Khái niệm cơ sở dữ liệu là lý thuyết tập hợp, trong khi ORM là khái niệm hoạt động.
  • Những ý tưởng phá vỡ trật tự thông thường của mọi việc có thể gặp phải sự phản đối trong nhóm. Sự phát triển còn liên quan đến các mối quan hệ và khả năng tranh luận về quan điểm của bạn.
  • Chứng nhận mở rộng tầm nhìn của bạn và cho phép bạn hiểu những gì có thể được sử dụng và những gì không thể được sử dụng.

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Bước ba: Tìm hiểu thêm về mã

Khi làm việc trên các giải pháp CNTT quy mô lớn, nhiều yếu tố rất quan trọng. Ví dụ, không phải nhà phát triển nào cũng chú ý đến các thông số mạng mà ngay cả băng thông của nó cũng có thể ảnh hưởng đến giải pháp của một vấn đề kinh doanh.

Sự hiểu biết này được đưa ra Chứng nhận dòng 98:

Chúng cho phép bạn có cái nhìn rộng hơn về mọi thứ và thoát khỏi khái niệm “chỉ mã” hạn chế. Đây là những Nguyên tắc cơ bản, những điều cơ bản, nhưng chúng rất quan trọng để hiểu mọi thứ ở mức độ sâu hơn.

Chứng chỉ Series 98 là bài kiểm tra ngắn - 30 câu hỏi trong 45 phút.

Bước XNUMX: Quản lý quy trình

Làm việc với các phòng khám là một công việc quan trọng hơn việc tạo ra một trò chơi di động. Ở đây, bạn không thể thêm một tính năng và đưa nó vào sản xuất - điều quan trọng là phải tuân theo quy trình phê duyệt và thực hiện nhiều chỉnh sửa từ khách hàng, vì sức khỏe và tính mạng của mọi người đang bị đe dọa.

Agile điển hình không mang lại kết quả mong muốn cho dự án này và mỗi lần chạy nước rút kéo dài khá lâu. Giữa các lần triển khai phải mất từ ​​​​6 tháng đến một năm.

Ngoài ra, về mặt kỹ thuật, không thể đưa các quy trình của mười phòng khám được phục vụ về một mẫu số chung nào đó.

Để đạt được kết quả nhanh hơn trong những điều kiện này, các nhà phát triển cần có trách nhiệm cá nhân và tầm nhìn quy mô lớn về các quy trình - có nghĩa là sự tập trung liên tục và trình độ chuyên môn cao.

Khi một chuyên gia đắm mình trong quá trình này, anh ta sẽ thấy rõ kết quả, nguyên nhân và hậu quả, một bức tranh toàn cảnh. Đây đồng thời là yếu tố bổ sung động lực và nhận thức, nâng cao khả năng giải quyết vấn đề, vướng mắc.

Với cơ sở hạ tầng hoạt động tốt, kiến ​​trúc được xây dựng tốt và mã tối ưu, một người có thể đảm nhận nhiều quy trình. Tuy nhiên, điều này không có nghĩa là cần phải đào tạo những người lính phổ thông có khả năng một mình lãnh đạo dự án. Giao tiếp và làm việc nhóm là rất quan trọng.

Trong một nhóm, mỗi nhà phát triển đều hiểu rằng đồng nghiệp của mình phụ thuộc vào hành động của mình. Tiết kiệm 5 phút trong giai đoạn phát triển có nghĩa là có thể có thêm 5 giờ thử nghiệm. Để hiểu điều này, điều quan trọng là phải thiết lập thông tin liên lạc.

Trong dự án của chúng tôi, Alexey đã nhận được sự trợ giúp trong việc nắm vững các quy trình chứng chỉ từ EXIN:

  • Chứng chỉ nền tảng M_o_R về quản lý rủi ro
  • Quỹ Agile Scrum
  • Quỹ quản lý dịch vụ CNTT
  • Quỹ quản lý thông tin doanh nghiệp EXIN
  • Chứng chỉ dự bị PRINCE2 về quản lý dự án
  • Chứng chỉ kỹ sư kiểm tra
  • Nền tảng khung hoạt động của Microsoft
  • Dự án dịch vụ linh hoạt

Các khóa học được thực hiện trên edX giúp xem xét hệ thống từ quan điểm thống kê và lập trình tinh gọn và sau đó được thúc đẩy để đạt được chứng chỉ kiến ​​trúc sư:

  • Sản xuất tinh gọn
  • Six Sigma: Phân tích, Cải thiện, Kiểm soát
  • Six Sigma: Xác định và Đo lường

Theo nguyên tắc Six Sigma, kiểm soát thống kê đảm bảo kết quả chất lượng cao với xác suất cực cao.

Khi nâng cao trình độ của mình, nhà phát triển, theo quy luật, đưa ra các kết luận sau:

  • Đừng làm việc chăm chỉ mà hãy làm việc hiệu quả.
  • Đừng làm phức tạp cuộc sống của bạn bằng cách chạy theo những thứ bên ngoài: công nghệ tân tiến không nhất thiết giải quyết vấn đề tốt hơn.
  • Kết bạn với các chuyên gia ở tất cả các giai đoạn của chu kỳ và tìm ra điểm yếu của họ. Một kiến ​​trúc sư phải nắm vững các quy trình: xác định vấn đề, đặt vấn đề, thiết kế cấu trúc liên kết mạng, phát triển, thử nghiệm, hỗ trợ, vận hành.
  • Kiểm tra mọi tính năng từ trong ra ngoài.
  • Điều này xảy ra là các quy trình CNTT không tương ứng với quy trình kinh doanh và điều này phải được giải quyết.

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Bước năm: hiểu kiến ​​trúc qua lăng kính Dữ liệu lớn

Trong dự án, chúng tôi đã xử lý cơ sở dữ liệu khá lớn. Ít nhất là có vẻ như vậy cho đến một thời điểm nào đó. Khi Alexey bắt đầu nghiên cứu dữ liệu lớn trên edX, hóa ra 1,5 Tb trong dự án chỉ là một cơ sở dữ liệu nhỏ. Thang đo nghiêm trọng - từ 10 Tb và các phương pháp khác được yêu cầu ở đó.

Bước tiếp theo hướng tới chứng chỉ là một khóa học về dữ liệu lớn. Ông đã giúp hiểu rõ cách tổ chức luồng dữ liệu và tăng tốc hoạt động sản xuất. Và cũng hãy chú ý đến các công cụ nhỏ, chẳng hạn như bắt đầu sử dụng Excel để giải quyết các tác vụ vi mô riêng lẻ.

Giấy chứng nhận:
Chương trình chuyên nghiệp của Microsoft: Chứng chỉ dữ liệu lớn

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Bước sáu: từ nhà phát triển đến kiến ​​trúc sư

Sau khi nhận được tất cả các chứng chỉ được liệt kê, khi vẫn còn là nhà phát triển, Alexey bắt đầu hiểu rằng thông tin nhận được có mức độ trừu tượng cao và điều này không hề tệ.

Tầm nhìn quy mô lớn về các quy trình sẽ nâng cao trình độ của một kiến ​​trúc sư, một trong những cấp độ chứng nhận cao nhất.

Để tìm kiếm chứng chỉ kiến ​​trúc sư, Alexey đã đến Kiến trúc sư phần mềm được chứng nhận - Microsoft Platform của Sundblad & Sundblad. Đây là chương trình được Microsoft công nhận, quá trình phát triển của nó bắt đầu từ 14 năm trước với sự hợp tác của người đứng đầu công ty và các văn phòng Thụy Điển. Nó bao gồm .NET Framework, thu thập yêu cầu, quản lý luồng thông tin và nhiều chủ đề cấp cao khác và được coi là minh chứng mạnh mẽ cho kỹ năng của một kiến ​​trúc sư.

Có các khóa học để học trong chương trình. Chứng chỉ đã hệ thống hóa kiến ​​​​thức và cho phép chúng tôi bước vào một giai đoạn phát triển mới - từ nhà phát triển đến kiến ​​​​trúc sư.

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Tổng kết

Như Alexey lưu ý, khi làm việc với một hệ thống CNTT quy mô lớn, điều quan trọng cần nhớ là lập trình không phải là một trò giải trí đắt tiền mà là một công cụ để giải quyết các vấn đề kinh doanh. Khi đối mặt với thử thách này hay thử thách kia, bạn nhất định cần phải ghi lại giá trị doanh nghiệp để dự án không đi vào ngõ cụt.

Kiến trúc sư có cái nhìn đặc biệt về lập trình và các thành phần cơ bản của nó:

  • Tạo và/hoặc duy trì luồng dữ liệu
  • Trích xuất luồng thông tin từ luồng dữ liệu
  • Trích xuất luồng giá trị từ luồng thông tin
  • Kiếm tiền từ dòng giá trị

Nếu bạn nhìn một dự án dưới con mắt của một kiến ​​trúc sư, bạn cần phải bắt đầu từ cuối: hình thành giá trị và sau đó đi đến nó thông qua luồng dữ liệu.

Kiến trúc sư tuân theo các quy tắc phát triển, có tầm nhìn toàn cầu về dự án. Hầu như không thể đạt được nó thông qua thực hành và những sai lầm của chính bạn - hay nói đúng hơn là có thể, nhưng sẽ mất một thời gian rất dài. Chứng chỉ cho phép bạn mở rộng tầm nhìn của mình và xem xét bối cảnh đầy đủ của từng vấn đề, làm quen với kinh nghiệm của hàng nghìn chuyên gia và phát triển kỹ năng giải quyết vấn đề hiệu quả.

Cho đến nay, chúng tôi đã làm việc với hệ thống y tế nêu trên được hơn 20 năm và đã đạt được những cải thiện đáng kể. Trong thời gian này, Alexey đã vượt qua hơn XNUMX kỳ thi lấy chứng chỉ:

  1. TS: Phát triển ứng dụng Windows với Microsoft .NET Framework 4
  2. TS: Truy cập dữ liệu bằng lập trình Microsoft .NET Framework 4 trong C#
  3. TS: Phát triển ứng dụng Microsoft .NET Framework 3.5 Windows Forms
  4. PRO: Thiết kế và phát triển ứng dụng Windows bằng Microsoft .NET Framework 3.5
  5. CHUYÊN NGHIỆP: Thiết kế và phát triển ứng dụng dựa trên Windows bằng cách sử dụng Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Phát triển ứng dụng khách dựa trên Windows
  7. 98-361: Nguyên tắc cơ bản về phát triển phần mềm
  8. 98-364: Cơ sở dữ liệu cơ bản
  9. Chứng chỉ nền tảng M_o_R về quản lý rủi ro
  10. Quỹ Agile Scrum
  11. Quỹ quản lý dịch vụ CNTT
  12. Quỹ quản lý thông tin doanh nghiệp EXIN
  13. Chứng chỉ dự bị PRINCE2 về quản lý dự án
  14. Chứng chỉ kỹ sư kiểm tra
  15. Nền tảng khung hoạt động của Microsoft
  16. Dự án dịch vụ linh hoạt
  17. Sản xuất tinh gọn
  18. Six Sigma: Phân tích, Cải thiện, Kiểm soát
  19. Six Sigma: Xác định và Đo lường
  20. Chương trình chuyên nghiệp của Microsoft: Chứng chỉ dữ liệu lớn
  21. Kiến trúc sư phần mềm được chứng nhận - Microsoft Platform

Con đường của kiến ​​trúc sư: Chứng nhận và sự hòa nhập sản phẩm

Vượt qua tất cả các kỳ thi, Alexey đã thăng tiến từ nhà phát triển chính lên kiến ​​trúc sư dự án. Đồng thời, chứng nhận đã trở thành công cụ đắc lực để vừa phát triển chuyên môn vừa tạo dựng danh tiếng trong mắt khách hàng.

“Ram chứng nhận” đã giúp có được quyền truy cập vào các quy trình quan trọng riêng lẻ cần được kiểm soát và xây dựng. Theo quy định, các khách hàng châu Âu về giải pháp CNTT đánh giá cao các chuyên gia được chứng nhận và sẵn sàng trao cho họ nhiều quyền tự do hành động hơn.

Cám ơn vì sự quan tâm của bạn! Chúng tôi hy vọng rằng bài viết này hữu ích cho bạn.

Nguồn: www.habr.com

Thêm một lời nhận xét