paint-brush
Ý kiến không phổ biến: Trở thành một kỹ sư phần mềm giỏi khó hơn bao giờ hếttừ tác giả@jurajmalenica
8,605 lượt đọc
8,605 lượt đọc

Ý kiến không phổ biến: Trở thành một kỹ sư phần mềm giỏi khó hơn bao giờ hết

từ tác giả Juraj Malenica5m2023/10/15
Read on Terminal Reader

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

Sống sót trong làn đường nhanh chóng của công nghệ: Câu chuyện về các kỹ sư, sự cường điệu và việc tập trung vào những gì thực sự quan trọng trong một thế giới đang thay đổi
featured image - Ý kiến không phổ biến: Trở thành một kỹ sư phần mềm giỏi khó hơn bao giờ hết
Juraj Malenica HackerNoon profile picture
0-item

Làm việc trong môi trường khởi nghiệp gần một thập kỷ đã mang lại cho tôi đặc quyền tiếp cận nền văn hóa đổi mới, khám phá và cách tiếp cận thất bại nhanh chóng. Tôi đi theo thang tiến triển tiêu chuẩn: thực tập sinh, cấp dưới, cấp trung, cấp cao và cuối cùng chuyển sang vị trí quản lý kỹ thuật . Theo thời gian, nhiều người cùng làm việc với tôi sau này đã chuyển sang làm việc tại các công ty khác và trở thành những cộng tác viên được kính trọng ở đó. Công bằng mà nói thì họ là những kỹ sư giỏi.


Nhìn lại hành trình của những người đồng nghiệp, những người được cố vấn và của chính tôi, dường như việc trở thành một kỹ sư giỏi trở nên khó khăn hơn bao giờ hết.

Định nghĩa một kỹ sư giỏi

Trở thành một kỹ sư có nghĩa là gì? Là kỹ sư phần mềm, chúng tôi:

  • Chịu trách nhiệm chuyển các vấn đề phức tạp thành các giải pháp hiệu quả và có thể mở rộng
  • Được giao nhiệm vụ phân tích yêu cầu của người dùng, thiết kế kiến trúc phần mềm, viết mã, kiểm tra và gỡ lỗi phần mềm
  • Dự kiến sẽ luôn đi đầu trong các xu hướng, tìm kiếm cơ hội kinh doanh mới và cách thức cải tiến các sản phẩm hiện có

Vì vậy, không - kỹ thuật không bằng lập trình. Đôi khi, đó là phần nhỏ nhất. Nó chắc chắn xuất hiện khi một người có được nhiều kinh nghiệm hơn, như thể hiện trong hình bên dưới.

Phân công công việc theo vai trò

Trở thành một kỹ sư giỏi có nghĩa là gì? Dựa trên nhiều cuộc phỏng vấn và hỗ trợ sự tiến bộ của những người được cố vấn của tôi, tôi nhận thấy rằng những người có trình độ chuyên môn khác nhau có thể đưa ra những câu trả lời khác nhau.


Ai đó mới bắt đầu có thể nghĩ rằng đó là do số lượng ngôn ngữ và framework mà một nhà phát triển biết. Một kỹ sư giàu kinh nghiệm hơn thậm chí có thể không quan tâm đến ngôn ngữ họ đang sử dụng, thay vào đó nhấn mạnh vào chất lượng mã - tuân thủ tất cả các nguyên tắc mã hóa và tiến hành QA trong khi di chuyển nhanh chóng.


Các kỹ sư giàu kinh nghiệm đặt trọng tâm lớn vào việc mang lại giá trị. Đôi khi, chúng ta sẽ nhanh chóng viết mã dùng một lần phá vỡ mọi quy tắc để chứng minh một giả thuyết; đôi khi, chúng tôi sẽ dành nhiều ngày để viết một vài dòng mã quan trọng. Nhưng hầu hết các ngày, chúng ta đều đưa ra các quyết định về kiến trúc, thảo luận về các vấn đề quan trọng, cải tiến quy trình, v.v. Tại sao? Bởi vì thường thì điều đó mang lại giá trị cao nhất.


Mặc dù luôn có những ngoại lệ đối với quy tắc này, nhưng chúng ta có thể nói rằng một kỹ sư giỏi là người tập trung nỗ lực một cách hiệu quả để mang lại giá trị tối đa trong việc đạt được mục tiêu.

Thị trường và sự cạnh tranh ngày càng tăng

Thị trường công nghệ không ngừng phát triển. Tất cả chúng ta đều đã chứng kiến những thành công vang dội trong những năm qua, từ WhatsApp đến Uber, Airbnb và TikTok. Mặc dù đây có thể là những trường hợp ngoại lệ, nhưng những ví dụ như vậy thường đặt ra Sao Bắc Đẩu cho mọi người – điều mà họ nên phấn đấu đạt được. Cách suy nghĩ này gây thêm áp lực cho các kỹ sư. Họ cảm thấy căng thẳng từ bên trong, nghĩ rằng mình đang làm sai điều gì đó và từ bên ngoài, mọi người so sánh công ty của họ với nhiều đối thủ cạnh tranh.

Tổng vốn hóa thị trường công nghệ

Để thành công trong một môi trường như vậy, các công ty cần phải “tiến nhanh và phá vỡ mọi thứ”, như phương châm nổi tiếng của Facebook đã nói. Ngày nay, điều này rõ ràng hơn bao giờ hết - hầu hết mọi công ty đều đang trở thành “ công ty AI ”. Mọi người đều tích hợp ChatGPT, thường không có lý do thực sự, không có chiến lược về cách nó sẽ mang lại giá trị.


Bằng cách rời xa nguyên tắc cốt lõi – làm cách nào chúng tôi có thể mang lại nhiều giá trị hơn cho khách hàng của mình – và hướng tới việc đánh bại đối thủ cạnh tranh trên tàu cường điệu, chúng tôi khiến các kỹ sư xây dựng các chức năng chắc chắn sẽ thất bại.

Thế giới là một nơi khó hiểu.

Một người đam mê như tôi nên làm gì để trở thành một kỹ sư giỏi hơn? Ngoài sự lựa chọn hiển nhiên là hoàn thiện kỹ năng viết mã bằng cách cải thiện triết lý kiến trúc và mã sạch, ngày nay, có rất nhiều cám dỗ đang rình rập. Học TypeScript và framework mới nhất có thể thay đổi mọi thứ, đi sâu vào thế giới blockchain và tiền điện tử, thử nghiệm vô số sản phẩm AI… Tùy chọn là vô tận.

Tất cả thư viện javascript

Thành thật mà nói, sau nhiều năm làm việc trong ngành, tôi vẫn cảm thấy bị đe dọa bởi làn sóng thay đổi mới do ChatGPT, GitHub Copilot và các công nghệ mới nổi khác mang lại. Não tôi bắt đầu tưởng tượng ra những viễn cảnh mà tôi mất liên lạc với rất nhiều thứ. Tôi có đang tập trung vào những thứ phù hợp để mang lại giá trị không? Tôi có đang sử dụng tối đa tiềm năng của mình không?


Sau một thời gian, rõ ràng là chúng tôi đang ở trạng thái cường điệu. Điều đó cũng sẽ qua đi, chỉ còn lại những công ty AI đang tạo ra giá trị lâu dài. Số lượng công ty AI trong 5 năm qua đã tăng gấp đôi ở Mỹ, với nhiều công ty khởi nghiệp chỉ bổ sung một tính năng trên GPT-3 mới phát hành. Sau đó, chúng sẽ chết khi phát hành ChatGPT hoặc GPT-4 , những thứ có thể làm được điều tương tự nhưng tốt hơn. Nhưng điều đó không ngăn được đội quân cường điệu của Twitter và các nền tảng khác tuyên bố trật tự thế giới mới.


Mặc dù đã có nhiều năm làm việc trong lĩnh vực công nghệ nhưng tôi vẫn bị cuốn hút vào sự cường điệu. Lỗi tân binh!


Ngôn ngữ lập trình và việc liên tục phát hành các framework mới cũng làm tăng thêm sự nhầm lẫn. Tailwind, TypeScript, Haskell và Rust đều tuyệt vời; mỗi người đều có một góc mang lại lợi thế cho họ. Tuy nhiên, mọi người thường nhầm việc học chúng với điều gì đó sẽ mang lại lợi thế cho họ. Nó sẽ không, hoặc ít nhất là không nên. Chúng chỉ là những công cụ hữu ích để biết nhưng không thể thay thế được trải nghiệm. Đó là lý do tại sao chúng tôi không bao giờ đưa các yêu cầu về ngôn ngữ/khuôn khổ vào mô tả công việc của mình. Tôi sẽ thật ngu ngốc nếu bỏ lỡ một kỹ sư tài năng vì họ không biết TypeScript, kỹ thuật nhanh chóng hoặc microservice.


Lời khuyên của tôi là - đừng để bị cuốn vào những xu hướng mới và sự cường điệu đến mức mất tập trung vào việc mang lại giá trị.

Tốc độ nhanh và kỳ vọng cao

Khi tìm kiếm những thử thách mới, việc cố gắng đạt được căng thẳng tích cực đồng thời tránh căng thẳng tiêu cực có thể khó khăn. Căng thẳng tích cực là căng thẳng mà chúng ta coi một tình huống căng thẳng là cơ hội dẫn đến kết quả tốt, trong khi căng thẳng tiêu cực là căng thẳng có thể gây bất lợi cho sức khỏe thể chất và tinh thần, như trong hình bên dưới. Việc liên tục cung cấp kết quả theo một lịch trình chặt chẽ là điều rất căng thẳng và việc xây dựng các tính năng vì những lý do sai lầm sẽ nghiêng về phía sau.

Căng thẳng tích cực và căng thẳng tiêu cực

Với tư cách là một người cố vấn và một người làm việc chăm chỉ, tôi đã thấy căng thẳng dẫn đến kiệt sức. Không có ngoại lệ, việc để ai đó trải qua tình trạng kiệt sức sẽ tạo ra sản lượng ít hơn so với việc giảm khối lượng công việc, nghỉ ngơi và tối ưu hóa trong thời gian dài. Đó là lý do tại sao chúng tôi luôn cố gắng khiến việc treo cờ đỏ trở nên đơn giản nhất có thể, với thông tin cập nhật định kỳ của nhóm, trực tiếp và văn hóa nuôi dưỡng.


Tuy nhiên, mọi thứ sẽ đi sai hướng. Khi họ làm như vậy, chúng tôi sẽ cắt giảm phạm vi, thu hút những người có thể trợ giúp hoặc liên lạc với khách hàng của chúng tôi để trì hoãn việc ra mắt.


Áp lực cao hơn bao giờ hết, đến từ cả bên trong lẫn bên ngoài. Hãy tập trung và bao quanh mình với một nhóm hỗ trợ tối ưu hóa lâu dài.

Làm thế nào chúng ta có thể làm tốt hơn?

Tất cả chúng ta đều có những lúc suy sụp - cảm thấy mình là những kỹ sư, người cố vấn hoặc đồng nghiệp không đủ năng lực. Mọi thứ sẽ không bao giờ hoàn hảo hay dễ dàng, và chúng không nên như vậy. Nếu không phạm sai lầm và gặp khó khăn, chúng ta sẽ không học được. Nhưng có một số điều tôi thấy có thể tăng hiệu quả.

Mức độ ảnh hưởng

Cá nhân, hãy trung thực với những gì thực sự quan trọng. Công nghệ sẽ đến và đi, nhưng giá trị bạn mang lại cho thế giới mới là điều quan trọng. Thật khó để giả vờ làm việc chăm chỉ và kinh nghiệm.


Với tư cách là một công ty, hãy bắt đầu với lý do tại sao khi đưa ra quyết định. Đây là cách tốt nhất để cung cấp các chức năng mang lại giá trị. Ngoài ra, hãy chắc chắn rằng nhân viên biết lý do tại sao . Theo kinh nghiệm của tôi, họ sẽ đưa ra những quyết định tốt hơn, đưa ra những phản hồi có giá trị và hạnh phúc hơn.


Về mặt văn hóa, hãy thiết lập các quy trình sẽ hỗ trợ nhân viên, tối ưu hóa lâu dài. Cùng với đồng nghiệp của bạn, hãy thiết lập văn hóa tin cậy, hỗ trợ và quan tâm. Bằng cách đó, tất cả các bạn sẽ có được điều tốt nhất cho nhau.