paint-brush
Các thuộc tính quan trọng của một lập trình viên có kinh nghiệm: Công việc và hành vitừ tác giả@ivandovhal
1,685 lượt đọc
1,685 lượt đọc

Các thuộc tính quan trọng của một lập trình viên có kinh nghiệm: Công việc và hành vi

từ tác giả Ivan Dovhal12m2022/07/13
Read on Terminal Reader
Read this story w/o Javascript

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

Có nhiều cách tiếp cận khác nhau để xác định các kỹ năng cần thiết của một lập trình viên. Các yêu cầu khác nhau tùy thuộc vào công ty, dự án và nhóm bạn làm việc. Một lập trình viên có kinh nghiệm là một người không chỉ biết lý thuyết mà làm việc với các vấn đề thực tế thực tế; biết cách tìm ra giải pháp cho những vấn đề không chuẩn. Có một số phẩm chất quan trọng khác như yêu thích lập trình và mong muốn làm việc. Phần còn lại của các đặc điểm mà tôi sẽ mô tả có thể được chia thành hai loại: kiến thức kỹ thuật và đặc điểm cá nhân. Đối với các nhà phát triển Frontend, đó là React, Angular và Vue.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Các thuộc tính quan trọng của một lập trình viên có kinh nghiệm: Công việc và hành vi
Ivan Dovhal HackerNoon profile picture


Bài viết này sẽ đặc biệt hữu ích cho các kỹ sư mới vào nghề, cũng như những người muốn trau dồi khả năng Lãnh đạo kỹ thuật, tìm kiếm sự phát triển và vươn lên tầm cao mới. Các ứng viên cũng sẽ tìm hiểu những gì họ mong đợi tại các cuộc phỏng vấn kỹ thuật và các tiêu chí lựa chọn được tuyển dụng tại các cuộc phỏng vấn này.


"Bộ não sống" của lập trình viên hoặc bộ kỹ năng cơ bản của một nhà phát triển giàu kinh nghiệm


Có nhiều cách tiếp cận khác nhau để xác định bộ kỹ năng cần thiết cho một lập trình viên. Các yêu cầu khác nhau tùy thuộc vào công ty, dự án và nhóm bạn làm việc. Thông thường nhất định nghĩa một lập trình viên "Có kinh nghiệm" là người không chỉ biết lý thuyết mà còn làm việc thành công với các vấn đề thực tế thực tế; biết cách tìm ra giải pháp cho những vấn đề không chuẩn.


Rõ ràng, tất cả các lập trình viên có kinh nghiệm đều có một điểm chung quan trọng: khả năng tìm kiếm thông tin liên quan. Có một số phẩm chất quan trọng khác như yêu thích lập trình và mong muốn làm việc. Nếu ai đó không có mong muốn làm việc, thì ngay cả kinh nghiệm và tài năng ấn tượng cũng sẽ vô dụng. Trong công việc, tôi giao du với những người thông thạo công nghệ, nhưng lại ngại làm việc.


Các kỹ năng cơ bản của lập trình viên bao gồm trí nhớ tốt, khả năng tập trung và học hỏi các công nghệ mới, và tư duy logic. Tóm lại, một lập trình viên có kinh nghiệm nên có một “bộ não sống” hoạt động tốt. Bạn không thể tiếp tục mà không có nó. Những đặc điểm quan trọng này quyết định xu hướng lập trình của bạn từ khi còn nhỏ.


Phần còn lại của các đặc điểm mà tôi sẽ mô tả có thể được chia thành hai loại: kiến ​​thức kỹ thuật và đặc điểm cá nhân. Nếu kiến ​​thức kỹ thuật có thể được thu thập trong các khóa đào tạo và khóa học khác nhau và được mài dũa trong thực tế, thì những phẩm chất cá nhân (hoặc kỹ năng mềm) không dễ dàng có được nếu chúng đi ngược lại bản chất của một người. Trong mọi trường hợp, các lập trình viên có kinh nghiệm sẽ làm theo cách riêng của họ và học hỏi được nhiều điều trong hai lĩnh vực này.


Rõ ràng là một lập trình viên có kinh nghiệm rất thành thạo một hoặc nhiều công nghệ và một vài khuôn khổ. Nhưng, trước khi làm chủ một công nghệ cụ thể, lập trình viên cần có kiến ​​thức về kiến ​​trúc cơ bản của hệ thống và mạng, cấu trúc dữ liệu và thuật toán; quản trị hệ thống và Khoa học máy tính nói chung. Cả quản trị viên hệ thống và DevOps đều đi theo con đường này. Về lập trình như vậy, điều quan trọng là phải hiểu cấu trúc dữ liệu và thuật toán, sự trừu tượng của công nghệ và các nguyên tắc OOP.


Sau khi học một ngôn ngữ nhất định, một lập trình viên tiến hành nghiên cứu các khuôn khổ và thư viện. Đây là những cái trừu tượng cao hơn kết hợp những cái nhỏ hơn. Đối với các nhà phát triển Frontend, đó là React, Angular và Vue.


Những điểm sau đây phác thảo hoạt động bên trong của 'bộ não sống' của một lập trình viên lý tưởng


🔴 Hiểu biết sâu sắc về công nghệ và tìm ra cách tiếp cận tốt nhất


Một lập trình viên có kinh nghiệm nên biết một số công nghệ và áp dụng các cách tiếp cận tốt nhất. Những kiến ​​thức này không hề hời hợt mà được nắm vững trong thực tế. Một cách tiếp cận có hệ thống cho phép bạn nhìn thấy bức tranh lớn của dự án; nhận thức nó như một tổng thể thay vì một phần, và sau đó chọn cách tiếp cận tốt nhất cho sự phát triển của nó. Các khái niệm về năng suất và hiệu quả đôi khi bị nhầm lẫn. Bạn có thể hoàn thành dự án nhanh chóng, nhưng mắc nhiều lỗi và việc gỡ lỗi sẽ mất nhiều thời gian hơn so với quy trình phát triển từng bước cẩn thận.


Tốc độ không phải lúc nào cũng là dấu hiệu của trình độ Kỹ sư cao cấp. Thay vào đó, định hướng kết quả là một tính năng không thể thiếu. Hiệu quả của các hành động và di chuyển nặng hơn nhiều dòng mã và tốc độ. Việc tìm ra cách tiếp cận để phát triển dự án ở đó chất lượng và tốc độ được cân bằng nằm trong khả năng của một kỹ sư có kinh nghiệm.


🔴 Vẫn lưu tâm đến trải nghiệm người dùng


Một thói quen tốt của một lập trình viên là thường xuyên quan tâm đến trải nghiệm người dùng - suy nghĩ xem chương trình sẽ trông như thế nào từ quan điểm của người dùng và liệu nó có thuận tiện và rõ ràng hay không.


Bạn không cần phải là một nhà thiết kế để dự đoán cách một tính năng sẽ hoạt động. Nó cũng sẽ hữu ích để kiểm tra mã thành thạo để tránh lỗi trong quá trình phát triển.


🔴 Cam kết về quy trình kỹ thuật


Làm theo quy trình kỹ thuật có thể được coi là một thói quen tốt của bất kỳ lập trình viên nào, đặc biệt là những người có kinh nghiệm. Đây là một sắc thái quan trọng. Trước khi thay đổi một biến hoặc hàm, bạn cần kiểm tra xem nó đang được sử dụng ở đâu.

Bạn cần nghiên cứu kỹ tài liệu kỹ thuật; điều này sẽ giúp tránh những sai lầm ngớ ngẩn và tiết kiệm thời gian cũng như thần kinh của Trưởng nhóm kỹ thuật. Những người có kinh nghiệm biết điều này và dạy cho những người khác 🙂


🔴 Viết mã có thể đọc được để người khác dễ dàng làm việc với


Kỹ năng này bắt nguồn từ kỹ năng trước đó. Mọi người sẽ dễ dàng làm việc trong dự án vì quy trình kỹ thuật được tuân thủ kỹ lưỡng. Hãy nhớ rằng những người khác cũng có thể làm việc với mã của bạn, do đó, hãy viết như thể bạn đã làm điều đó cho chính mình. "Nạng" của bạn có thể boomerang trở lại. Tốt hơn là bạn nên kiểm tra và thường xuyên cấu trúc lại mã của mình, suy nghĩ kỹ về những gì bạn gọi là biến và hàm, cũng như nghĩ về những thứ khác.


Lựa chọn công nghệ phù hợp cho dự án là một kỹ năng quan trọng. Các lập trình viên có kinh nghiệm đôi khi nhấn mạnh vào việc sử dụng các công nghệ mà họ đã quen dùng ngay cả khi phần còn lại của nhóm sẽ gặp khó khăn với nó. Thay vào đó, bạn nên đưa ra quyết định có ảnh hưởng đến toàn đội; tham khảo ý kiến, thảo luận và phối hợp hành động của bạn với những người khác.


🔴 Phân tích định tính và phát triển kiến ​​trúc


Để phân tích và hiểu kiến ​​trúc một cách định tính, bạn cần phải biết lý thuyết và có đủ kinh nghiệm thực tế. Kỹ sư cao cấp có thể thực hiện phân tích yêu cầu toàn diện và phát triển kiến ​​trúc phần mềm với việc triển khai hiệu quả ở nhiều cấp độ khác nhau.


Đồng thời, điều cần thiết là phải đạt được sự cân bằng giữa khả năng đọc chương trình và hiệu quả phát triển. Để tránh các vấn đề ở giai đoạn lập kế hoạch, một lập trình viên có kinh nghiệm biết các công nghệ khác nhau và có thể chọn đúng.


🔴 Khả năng giải thích sơ đồ


Đối với các lập trình viên có kinh nghiệm, và đặc biệt là các Tech Leads, khả năng giải thích thông tin về các nguyên tắc của công nghệ bằng đồ thị và sử dụng các sơ đồ đơn giản là một kỹ năng rất hữu ích.

Biểu đồ, đồ thị và sơ đồ cung cấp cái nhìn tổng thể về cả công nghệ và dự án. Phương pháp tiếp cận hệ thống trực quan hóa đơn giản hóa công việc của cả nhóm. Bằng cách này, Tech Leads có thể truyền tải bức tranh đầy đủ đến những người khác.


🔴 Tạo quy trình làm việc hiệu quả


Các kỹ sư có kinh nghiệm phân biệt giữa hiệu suất của nhóm và hiệu suất của chính họ. Để tăng hiệu quả của nhóm, họ xây dựng quy trình làm việc hoặc chọn công nghệ mới, chẳng hạn như triển khai tự động.

Ngoài ra, họ cố gắng khuyến khích các lập trình viên khác trong nhóm tìm hiểu thêm và phân tích những sai lầm của họ trong quá trình xem xét mã.


Chủ nghĩa hoàn hảo lành mạnh hoặc cách viết mã chất lượng và không chết trong công việc


Một lập trình viên có kinh nghiệm nhận thức rõ tầm quan trọng của việc đạt được các mục tiêu kinh doanh và có khả năng cân bằng giữa việc thực hiện và chất lượng mã. Rốt cuộc, nếu bạn nghiên cứu kỹ chất lượng mã, một nhiệm vụ có thể mất một tháng và bạn có thể tiếp tục làm lại mọi thứ cho đến những ngày cuối cùng, đưa toàn bộ dự án trở nên hoàn hảo. Nhưng để việc kinh doanh phát triển, bạn cần tìm ra sự cân bằng giữa chất lượng và yêu cầu của khách hàng.


Có những lập trình viên chỉ tập trung vào các nhiệm vụ kinh doanh và điền vào mã của họ bằng 'nạng'. Tôi đã từng làm việc trong một dự án, dự án này đã phải đóng cửa hoàn toàn sau 2 năm phát triển vì mỗi tính năng mới mất một tháng để thực hiện. Cái 'hầm' các phương pháp tiếp cận và công nghệ đó đơn giản là không thể hoạt động được. Đó là cách mong muốn làm nhanh hơn dẫn đến kết quả đáng buồn.


Tôi biết những lập trình viên đã đi sâu vào chất lượng mã và bị mắc kẹt trong một nhiệm vụ trong 2 tháng. Thành thật mà nói, tôi rất ngạc nhiên là họ vẫn giữ được công việc của mình. Cuối cùng, nhiệm vụ hóa ra là không thể vượt qua. Điều đó có nghĩa là, việc tìm kiếm sự cân bằng là rất quan trọng.


Chủ nghĩa hoàn hảo gần gũi với trái tim tôi. Tuy nhiên, phải có một cách tiếp cận lành mạnh mà không làm quá mọi thứ. Thông thường, mọi người không thay đổi. Ngay cả khi phỏng vấn, tôi cũng để ý đến những người như vậy và hiểu rằng làm việc với họ sẽ rất khó khăn.


Những điểm sau đây nêu bật những đặc quyền của chủ nghĩa hoàn hảo lành mạnh


🔴 Khả năng làm việc theo nhóm


Theo mặc định, rõ ràng là các cầu thủ trong nhóm được đánh giá cao trong bất kỳ dự án nào. Điều này nói lên bản chất không đối đầu và khả năng chịu trách nhiệm, giao tiếp và đáng tin cậy của họ.

Bạn có thể có ý kiến ​​của riêng mình và vẫn lắng nghe người khác.


🔴 Tự tin trong các nhiệm vụ phức tạp


Các lập trình viên có kinh nghiệm tự tin, nhưng không cứng đầu. Họ không ngại những công việc khó khăn, bởi vì họ đã đạt đến một trình độ chuyên môn nhất định và có đủ kiến ​​thức kỹ thuật, cho phép họ đối phó với những công việc phức tạp.


Các kỹ sư có kinh nghiệm có thể lập kế hoạch cho một dự án từ các khía cạnh khác nhau, đưa ra lời khuyên tốt và luôn hướng tới kết quả từ phát triển khung đến viết mã. Những người như vậy được đánh giá cao trong đội; rất vui khi được tham gia cùng họ trong các trận chiến chuyên nghiệp. Bạn luôn có thể học được điều gì đó.


🔴 Không ngừng mong muốn phát triển và tìm kiếm thông tin cần thiết


Một lần nữa, các kỹ sư có kinh nghiệm thông thạo một số khuôn khổ và có thể làm việc với nhiều công nghệ. Và đối với điều này, bạn cần phải không ngừng phát triển và tìm kiếm cơ hội để học hỏi những điều mới ngoài công việc. Những người có kinh nghiệm học hỏi nhanh, nắm bắt những xu hướng mới cần thiết cho công việc. Một số kỹ sư nghĩ rằng chỉ cần học hỏi từ những sai lầm của chính họ là đủ. Thật vậy, trong thực tế, bạn thu được rất nhiều kiến ​​thức, nhưng bạn cần phải đào sâu nó dựa trên kinh nghiệm của người khác. Hôm nay có đủ thông tin trực tuyến, bạn thực sự có thể học được rất nhiều.


Có thể, thông thạo miền của dự án sẽ là một lợi thế bổ sung. Ví dụ, nếu bạn đang tham gia một dự án Fintech, bạn phải hiểu giá trị của phần mềm từ góc độ kinh doanh và biết các quy trình chức năng nhất định trong lĩnh vực đó.


🔴 Khả năng giữ thăng bằng


Khi một dự án đang được phát triển, nhiều tình huống không lường trước có thể xảy ra và lỗi có thể xuất hiện. Họ làm bất ngờ những lập trình viên thiếu kinh nghiệm và dồn họ vào góc chết. Các kỹ sư giàu kinh nghiệm biết rằng mọi thứ phải được giải quyết bằng cái đầu lạnh vì hoảng sợ và la hét sẽ không giúp ích được gì. Mặc dù, có lẽ, lỗi hoàn toàn do con người gây ra.

Một lập trình viên có kinh nghiệm sẽ tìm ra giải pháp thay thế trong khi vẫn duy trì sự cân bằng. Dễ dàng tìm ra giải pháp không chuẩn mực cho vấn đề một cách bình tĩnh hơn là cảm xúc.


🔴 Khả năng chia sẻ kiến ​​thức và đưa ra phản hồi


Lý tưởng nhất là các lập trình viên có kinh nghiệm chia sẻ kiến ​​thức với những người khác; tham gia hội thảo trên web, hội nghị và hackathons. Chia sẻ kiến ​​thức từ một cuốn sách hoặc lý thuyết của người khác là một chuyện, và đóng góp kinh nghiệm của chính bạn - những 'nỗi đau' trong quá khứ của bạn - là một chuyện khác. Kết nối mạng thực sự hữu ích, mặc dù một số có thể không thích nó.


Một lập trình viên có kinh nghiệm biết tầm quan trọng của việc đưa ra phản hồi về công việc của người khác. Điều này mang lại cho các chuyên gia cấp dưới cơ hội để hiểu các lĩnh vực phát triển tiềm năng của họ, những gì cần sửa chữa và những sai lầm cần tránh.


Phản hồi kịp thời là về quản lý minh bạch và giao tiếp hiệu quả. Thật tốt nếu các lập trình viên ở vị trí Trưởng nhóm hiểu và thực hành được điều này.


🔴 Khả năng thừa nhận sai lầm của bạn


Một tính năng tốt khác của một lập trình viên có kinh nghiệm là thừa nhận sai lầm. Khả năng này có nghĩa là một người biết cách chịu trách nhiệm. Sai lầm là cơ hội để học một bài học và tích lũy kinh nghiệm quý báu cho tương lai. Thay vì đổ lỗi cho lỗi của người khác, Trưởng nhóm kỹ thuật có thể cung cấp thông tin chi tiết hữu ích trong quá trình xem xét mã và cho biết cách giải quyết một vấn đề cụ thể.


Các lập trình viên có kinh nghiệm chắc chắn sẽ không ném một đàn em 'dưới gầm xe buýt' và chỉ tay vào lỗi của người mới. Cả nhóm làm việc và mọi người đều có trách nhiệm riêng. Ai đó đang đánh lừa xung quanh ảnh hưởng đến toàn bộ nhóm. Ghi nhớ điều đó giúp bạn dễ dàng xây dựng lòng tin và các mối quan hệ minh bạch.


Những lỗi mà Người cao niên không thể cho phép


Thất bại có thể do cả kỹ thuật và con người. Ví dụ, nếu một nhân viên không đi làm thường xuyên thì đó là yếu tố con người.

Còn những lỗi kỹ thuật quan trọng thì tôi không gặp phải, vì tôi không thường xuyên làm việc với các lập trình viên dưới cấp Senior. Rõ ràng, những thất bại có thể xảy ra của các kỹ sư Senior và Junior nằm ở các khía cạnh khác nhau.


Tôi sẽ gọi đó là sự thất bại khi gửi mã đến kho lưu trữ mà không chạy thử nghiệm. Tốt nhất là tự động hóa quá trình này, vì nó được thực hiện trong công ty của chúng tôi. Một thất bại khác là mã 'crutching'. Đôi khi có mong muốn tạo mã một cách nhanh chóng, nhưng nếu quá trình tăng tốc này làm giảm chất lượng, nó sẽ trở nên rõ ràng trong tương lai.


Có nhiều cách tiếp cận khác nhau đối với chất lượng mã. Các nguyên tắc SOLID chắc chắn phải được xem xét. Nếu bạn thực hiện một hàm đa hình, bạn cần đảm bảo rằng nó không phá vỡ các khu vực mà nó đã được sử dụng. Khi thực hiện bất kỳ sửa đổi mã nào, bạn cần phải xem xét hậu quả sẽ là gì và chúng sẽ ảnh hưởng đến bạn như thế nào nói chung.


Không tuân theo quy trình kỹ thuật là lỗi của lập trình viên. Trong bối cảnh nhóm của tôi, nó đang tạo các yêu cầu kéo, chạy kiểm tra chất lượng mã, tiến hành kiểm tra chức năng và kiểm tra các tác vụ mà bạn tự làm. Nếu tuân thủ đúng quy trình kỹ thuật đã thiết kế trong công ty thì sẽ hạn chế được tối đa các hỏng hóc. Tuy nhiên, tôi nên thừa nhận rằng không phải tất cả các công ty đều có các quy trình được cấu hình đúng, và đây cũng có thể là điều kiện tiên quyết cho những thất bại trong tương lai.


Nói chung, tôi cho rằng những thất bại của Seniors bắt nguồn từ sự lười biếng, và những thất bại của Juniors đến từ sự thiếu kinh nghiệm và thiếu chú ý. Những sai sót của đàn anh xuất hiện ở nơi bạn ít mong đợi nhất. Công việc của một Junior, như vậy, là một thất bại liên tục trong thời gian đầu, phải liên tục sửa chữa. Nhưng đó là những gì Juniors dành cho.

Sự lười biếng của cấp cao có vẻ như đã quen với một quy trình, và tin tưởng vào nó, nghĩ rằng “Chà, vậy thì tôi sẽ sửa nó sau”. Thường thì nó không phải lúc nào cũng kết thúc tốt đẹp, nhưng vẫn kết thúc tốt hơn so với trường hợp của Junior🙂


“Fakers”, hoặc Phân biệt giữa lập trình viên có kinh nghiệm và chưa có kinh nghiệm


Lập trình viên thiếu kinh nghiệm có thể được xác định trong hai giai đoạn: thứ nhất, trong một cuộc phỏng vấn, và thứ hai, và tệ hơn hết là trong quá trình làm việc, nếu bạn lỡ “bắt chước”.


Các câu hỏi giúp tôi đánh giá kinh nghiệm của một lập trình viên:


  • Số năm kinh nghiệm
  • Bao nhiêu người trong số họ đã tận tâm làm việc với công nghệ cụ thể;
  • Một loạt các câu hỏi chuyên môn cao nhằm xác định độ sâu của kiến ​​thức về công nghệ và khuôn khổ;
  • Câu hỏi về những điều cơ bản của kỹ năng ngôn ngữ.


Đây là phần đầu tiên của các câu hỏi giúp xác định mức độ hiểu biết của một người và triển vọng làm việc cùng nhau. Nếu một ứng viên bối rối trong giai đoạn này, mọi thứ sẽ chỉ trở nên tồi tệ hơn.

Điều xảy ra là một lập trình viên có 5 năm kinh nghiệm và thông thạo 10 công nghệ, nhưng khi bạn hỏi những câu hỏi cơ bản từ danh sách này, có thể không có câu trả lời. Điều tương tự cũng có khả năng xảy ra với một bộ câu hỏi từ khối tiếp theo.


Trong các cuộc phỏng vấn về công nghệ, tôi không đưa ra các nhiệm vụ thuật toán phức tạp, bởi vì cuộc phỏng vấn luôn căng thẳng và tôi không muốn làm trầm trọng thêm nó. Ngay cả khi một nhà phát triển đã quen làm việc với một số công nghệ nhất định, thì việc quên cách thực hiện các tác vụ nhất định là điều bình thường; không ai là hoàn hảo cả. Kiến thức chuyên sâu và khả năng giải quyết vấn đề nhanh chóng là những điều cần tập trung.

Nhìn chung, chúng tôi đánh giá cả kỹ năng mềm và kỹ năng cứng khi phỏng vấn. Khối kỹ thuật của các câu hỏi khác nhau tùy thuộc vào công nghệ và dự án.


Tiến hóa từ Junior lên Senior: Mẹo phát triển


Một số lập trình viên có người cố vấn cung cấp lời khuyên và hướng dẫn. Tôi đã không có tất cả những điều đó. Tôi đã tự nghiên cứu và tự tìm kiếm những thông tin cần thiết. Mặc dù tôi đã nhận được bằng điều khiển học kinh tế và đã biết những điều cơ bản, nhưng trong khi đọc triết lý của Java, thật khó để hiểu được những điều trừu tượng mới.


Có một thời, các khóa học Java Rush đã giúp tôi rất nhiều; mọi thứ đã được giải thích dễ dàng, và tôi có thể thực hành ngay lập tức. Nhưng nó không phải về giao diện người dùng.


Đây là điều đã giúp tôi trở thành một lập trình viên. Tôi đã nghiên cứu phần còn lại từ tài liệu kỹ thuật chính thức, cũng như tìm kiếm thông tin trong các khóa học video miễn phí. Chừng đó cũng đủ cho tôi.

Đồng thời, thật sai lầm khi nghĩ rằng nhận được bằng cấp trong một khóa học sẽ mở ra cánh cửa cho một công ty CNTT. Nếu không có kiến ​​thức, mảnh giấy này là vô nghĩa. Tham dự các khóa học vì lợi ích của bằng tốt nghiệp không có ý nghĩa gì.


Ở một mức độ nào đó, bạn có thể nhận được thông tin có cấu trúc, nhưng bạn phải nhớ nó và nó phải là cơ sở và khởi đầu cho sự phát triển trong tương lai của bạn. Một trong những đặc điểm của một lập trình viên giỏi là khả năng tìm kiếm thông tin chất lượng.


Nếu bạn có thể làm được, mọi thứ sẽ ổn thôi. Nhưng nếu bạn mong đợi ai đó đánh vần nó cho bạn, thì bạn đã rất sai lầm. Tôi khuyên bạn nên tự phát triển và duyệt qua các khóa học trực tuyến có sẵn. Và nếu bạn đã làm việc như một lập trình viên, bạn có thể tham gia các khóa học của Udemy, những khóa học bạn cần cho công việc của mình.


Nhà phát triển càng thu được nhiều kinh nghiệm, thì người đó càng nhận ra tầm quan trọng của việc phát triển trong lĩnh vực Kỹ thuật lãnh đạo. Và đây không chỉ là về những kỹ sư đã quản lý đội; mà còn về những người luôn bắt kịp xu hướng, học hỏi những điều mới, phát triển toàn diện các kỹ năng cứng và mềm để chia sẻ kiến ​​thức và năng lực của mình với người khác.