Keep up with technology

Chuyện học công nghệ mới trong ngành CNTT

Trong lĩnh lực CNTT, kiến thức chuyên môn hết hạn rất nhanh và người làm CNTT thường xuyên phải học công nghệ mới. Lý do chính của điều này là tốc độ thay đổi công nghệ quá nhanh. Cách đây khoảng 20 năm, công nghệ còn khá là ít với chỉ một vài ngôn ngữ lập trình thường được sử dụng như C, C++ hay Visual Basic. Đến giờ thì có đến hàng loạt công nghệ khiến cho việc chỉ nhìn vào thôi cũng đủ thấy hoa mắt. Chỉ riêng về mảng lập trình web mà mình đang theo đuổi, phần back-end thì có ASP.NET, PHP, Java. Chưa kể hàng loạt công nghệ platform dựa trên các công nghệ gốc, dựa trên ASP.NET thì có Sitecore, Episerver, DotnetNuke, Umbraco, … Mảng front-end cũng vậy, một loại công nghệ mọc lên như nấm. Đó là chưa nói đến các lĩnh vực lập trình khác như lập trình mobile, embeded, cơ sở dữ liệu hay trí tuệ nhân tạo.

Bên cạnh việc các công nghệ mới liên tục xuất hiện, thì những công nghệ đã có cũng thay đổi nhanh chóng, mà đặc thù công việc của ngành này cũng là thường xuyên phải cập nhật công nghệ mới. Bạn sẽ không bao giờ có thể bắt kịp công nghệ mà luôn ở vị thế phải đuổi theo và học hỏi liên tục, do vậy cần có một cách tiếp cận đúng đắn cho vấn đề này để có thể làm tốt công việc và sống sót với nghề. Nhiều bạn sẽ nói rằng, nghề nào cũng cần phải cập nhật kiến thức trong một thế giới chuyển động không ngừng hiện nay. Nhưng ngành công nghệ có một đặc thù rất khác đó là tính lỗi thời của công nghệ, điều này khiến cho những kiến thức dùng trong công việc nhanh chóng lạc hậu và không còn sử dụng được nữa.

Nếu so sánh với ngành y, bác sĩ nha khoa cũng cần cập nhật những phương pháp chữa răng, những công nghệ hàn răng mới nhất. Tuy nhiên những phương pháp cũ vẫn có thể được sử dụng và phát huy hiệu quả. Với ngành xây dựng cũng vậy, các công nghệ mới ra đời giúp cho việc xây nhà được nhanh hơn, đẹp hơn và an toàn hơn, nhưng với những phương pháp cũ cách đây cả vài chục năm, bạn vẫn sẽ xây được ngôi nhà ưng ý. Còn với công nghệ lập trình, đôi khi chỉ vài tháng là toàn bộ kiến thức về công nghệ đó sẽ không còn được sử dụng, và bạn phải học một công nghệ mới để đáp ứng yêu cầu công việc. Nếu không bạn sẽ bị đào thải.

Xin việc

Với những người trẻ tuổi, việc cập nhật công nghệ mới cũng là một vấn đề, nhưng khi không có nhiều vướng bận thì họ có nhiều thời gian rảnh để học tập liên tục ngoài giờ làm việc, có thể là buổi tối hoặc cả cuối tuần. Với nhiều bạn trẻ đam mê công nghệ thì họ có thể học (đúng hơn là chơi) với công nghệ 24/7. Tuy nhiên, khi ngoài 30, sẽ có rất nhiều ràng buộc khiến bạn không thể làm như vậy nữa. Ví dụ một vài điều dưới đây.

  • Bạn lập gia đình và có con, bạn phải giành thời gian cho tổ ấm của mình
  • Bố mẹ bạn bắt đầu già và bạn phải lo cho bố mẹ
  • Sức khỏe bạn không còn sung sức như tuổi 20 để có thể học tập 24/7

Càng lớn tuổi bạn sẽ càng hụt hơi với những kỹ sư trẻ tuổi trong cuộc đua cập nhật công nghệ. Ai rồi cũng sẽ già, vậy đâu là giải pháp cho vấn đề này. Bài viết này sẽ đề cập tới một số chiến lược trong việc cập nhật kiến thức chuyên môn cho những người làm công nghệ.

Trước tiên, nói về chuyện thời gian, ai cũng biết thời gian là vàng bạc, ai có gia đình rồi sẽ càng thấy điều này, bạn hầu như sẽ không thể làm gì khi về nhà. Ở công ty thì cần làm việc của công ty, vậy bạn sẽ phải dành thời gian thế nào khi cần phải học một công nghệ mới. Nếu may mắn, bạn ở một công ty có định hướng lâu dài và chịu chi trong việc đầu tư cho nhân viên, có thể công ty sẽ khuyến khích bạn dành vài tiếng giờ làm việc trong tuần để học tập. Có lẽ không phải là hàng tuần, mà tùy vào từng thời điểm, có công ty dành ít, có công ty cho phép nhiều thời gian hơn.

Đây chính là khoảng thời gian vô cùng quý báu mà bạn nên tận dụng, học những gì có ích chứ đừng để thời gian chết, điều này cũng giúp bạn làm việc tốt hơn và năng suất hơn, tương lai biết đâu nhờ những kiến thức học được lúc này mà bạn tránh phải mang viêc về nhà. Vì bạn là người làm công ăn lương, bạn đang bán thời gian của mình để lấy tiền, nếu phải học tập hay làm ngoài giờ, thực tế bạn đang phải làm thêm giờ hay còn gọi là OT. Không phải công ty nào cũng tạo điều kiện như vậy, lúc đó bạn sẽ phải cập nhật kiến thức ngoài giờ, lúc đó bạn sẽ phải sắp xếp thời gian học cho hiệu quả. Dù thế nào thì thời gian cũng vô cùng quý giá và bạn phải tận dụng, việc xác định học cái gì là cần thiết là vô cùng quan trọng khi có hàng vô số công nghệ như hiện nay. Việc dành công sức học một thứ không hữu ích hoặc một công nghệ thời thượng nhưng nhanh chóng lỗi thời và bị vứt xó là cả một sự lãng phí, đặc biệt là khi bạn không còn trẻ, không còn làm vì đam mê.

Hãy học những kiến thức nền tảng (fundamentals)

Trên thực tế, sẽ rất khó chọn vì bạn không thể biết công nghệ nào sẽ phát triển hay công nghệ nào sẽ chết yểu trong bối cảnh tốc độ thay đổi công nghệ vô cùng chóng mặt hiện nay. Tuy nhiên, mình vô cùng ấn tượng với một câu nói trong truyện kiếm hiệp Kim Dung đó là “lấy cái bất biến ứng với cái vạn biến”. Đại ý của câu nói trên là sẽ không cần quan tâm các chiêu thức của các môn phái khác biến ảo ra sao, cao tăng phái thiếu lâm chỉ sử dụng những chiêu thức cơ bản nhưng hiệu quả để đối phó lại. Trên thực tế, các chiêu thức đa dạng và biến ảo của các môn phái đều có chung nguồn gốc từ những chiêu thức cơ bản mà thành. Vậy nên mới có câu: “Võ công thiên hạ xuất Thiếu Lâm”.

Dĩ bất biến ứng vạn biến (以不变应万变) là câu triết lý sâu xa bắt nguồn từ khái niệm thuộc về binh pháp “lấy tĩnh chế động” và được áp dụng rất nhiều trong cuộc sống.
Ảnh nguồn: Tuổi trẻ cười

Điều này cũng đúng với kiến thức công nghệ, bạn không thể học hết các công nghệ, nhưng có thể nắm chắc những kiến thức nền tảng (fundamentals). Các công nghệ mới đều cần phải dựa trên những kiến thức nền tảng này. Khi nắm vững các kiến thức nền tảng, bạn sẽ dễ dàng tiếp cận các công nghệ mới thay đổi từng ngày.

Fundamentals
Fundamentals là những kiến thức nền tảng cho các công nghệ

Tuy nhiên việc xác định đâu là kiến thức nền tảng cũng tùy thuộc vào tính chất công việc và định hướng phát triển của mỗi người. Ví dụ những bạn là front-end developer, thì lượng kiến thức CSS được coi là fundamentals sẽ nhiều hơn so với back-end developer. Điều này hoàn toàn là do bạn xác định. Mình làm full-stack web và có thiên hướng về back-end và hạ tầng, thì fundamentals đối với mình chỉ là Javascript và mình luôn dành thời gian để học sâu và nắm vững cái này. Gần đây, do nhu cầu công việc mình mới xem đến React JS, rồi Redux. Việc xem trước Angular với mình hoàn toàn là sự lãng phí thời gian khi mình không chắc tương lai gần mình có dùng đến nó không, thậm chí nếu học xong mà không dùng cũng sẽ sớm quên, đó còn chưa nói đến Angular liệu có phát triển hay sẽ lụi tàn như nhiều framework khác. Chỉ khi mình có nhu cầu công việc hoặc có ý định chuyển việc mà công ty mới cần thì mình mới bắt đầu học. Với việc nắm chắc Javascript thì mình hoàn toàn tự tin trong việc tiếp cận Angular giống như mình đã làm với React.

Hãy học khi mình cần dùng tới công nghệ đó

Với kiến thức nền tảng thì bạn có thể dành thời gian đầu tư bất cứ lúc nào vì nó sẽ rất lâu hoặc có thể không bao giờ hết hạn. Còn với những công nghệ mới, framework mới hay những library mới bạn cần cân nhắc trước khi bắt đầu học. Nhưng trước hết bạn hãy luôn nhớ rằng sự thành công và phát triển của công nghệ phụ thuộc vào yếu tố kinh tế chi phối hơn là công nghệ đó tuyệt vời ra sao. Vì vậy đừng tin vào quảng cáo. Khi một công nghệ mới ra, các hãng công nghệ thường quảng cáo nhiều về những tính năng đột phá của nó. Điều này nhằm thu hút một lượng người làm công nghệ học tập và sử dụng công nghệ đó. Tuy nhiên để công nghệ thực sự cất cánh còn phụ thuộc rất nhiều vào yếu tố khác.

Microsoft tung ra hệ điều hành Windows Phone vào năm 2010 và tốn khống ít tiền quảng cáo, thậm chí trả tiền để thu hút lập trình viên phát triển ứng dụng trên kho ứng dụng của nó. Tuy nhiên, Microsoft dường như đã chậm chân khi thị trường đã định hình với 2 hệ điều hành là Android và iOS. Sau một thời gian hoạt động không hiệu quả, Microsoft đã chính thức khai tử nền tảng này vào năm 2015. Trên thực tế, còn nhiều công nghệ cũng được quảng cáo rầm rộ cũng đã sớm bị Microsoft khai tử như VB6, Silverlight. Rõ ràng ngày đó nếu nhu cầu công việc của bạn hiện tại không dùng gì đến Windows Phone mà bạn đầu tư vào học thì dẫn đến sự lãng phí. Đặc biệt trong bối cảnh bạn không dư dả gì về mặt thời gian. Mình không tính những thanh niên còn trẻ, chưa có gì vướng bận, lại có thừa nhiệt huyết và đam mê khám phá công nghệ.

Một điểm cần lưu ý nữa là bạn nên tránh những công nghệ còn quá mới mẻ. Khi một công nghệ mới ra lò, ngoài việc chưa rõ tương lai ra sao, thì còn vấn đề liên quan đến tài liệu học. Tại thời điểm này, tài liệu hướng dẫn thường chưa đầy đủ, cộng đồng học cũng ít khiến cho việc học tập trở nên khó khăn hơn rất nhiều. Những người học công nghệ quá mới này ngoài số ít đam mê khám phá thì phần nhiều là những người học để dạy lại người khác. Họ vất vả để học công nghệ mới, sau đó sẽ viết sách, làm ra các khóa học để kiếm tiền. Nếu bạn không phải được trả tiền để làm việc với công nghệ quá mới này, thì đừng nên tự húc đầu vào đá. Thường sau nửa năm, sẽ có nhiều bài viết hướng dẫn hay khóa học, thậm chí free trên Youtube để bạn tìm hiểu. Khi đó mọi thứ sẽ dễ thở hơn rất nhiều.

Theo quan điểm của mình, nhu cầu học công nghệ mới thường là lúc bạn thay đổi dự án, hoặc thay đổi công việc còn nếu không bạn cũng không cần quá vội vã trong việc học cái mới. Như Steve Jobs đã nói: “Focus is about saying no”, đôi khi bạn cần nói không với những công nghệ không cần thiết đối với mình. Như mình là web developer, mình sẽ đứng ngoài cuộc với những block chain, trí tuệ nhân tạo hay IoT dù báo đài liên tục nói về những thứ này như xu thế hay theo mình là trào lưu của cuộc cách mạng 4.0. Mình chỉ tập trung vào những công nghệ như ASPNET, React, hay Azure và chỉ học những công nghệ khác khi nhu cầu cần đến.

Hậu sinh khả úy, trường giang sóng sau xô sóng trước

Nếu bạn là người trong nghề, bạn sẽ sớm nhận ra nhân lực công nghệ thông tin rất trẻ, và thế hệ sau càng trẻ càng đông hơn làm tăng tính cạnh tranh trong nghề. Nhiều bài báo cũng viết về việc lập trình viên sau 30 tuổi hay 40 tuổi liệu có còn làm lập trình được nữa không. Đã có nhiều ý kiến trái chiều về việc này, nhưng có thể khẳng định, nhân lực trẻ tuổi có nhiều sức khỏe, thời gian và nhiệt huyết hơn trong việc học công nghệ, nền tảng mới. Trong bối cảnh công nghệ liên tục thay đổi như hiện nay, khi công ty yêu cầu thành thạo một công nghệ nhất định mà công nghệ đó mới xuất hiện được vài năm, một người trong nghề hơn mười năm hay một sinh viên mới ra trường đều có thể có cùng 2 hay 3 năm kinh nghiệm với công nghệ đó. Các công ty gia công phần mềm đặc biệt thích những người trẻ bởi họ có thể thuê được nhân công giá rẻ hơn với số năm kinh nghiệm bằng với người làm việc cả chục năm. Nhân lực trên 30 tuổi thường đòi hỏi nhiều về tiền lương, bảo hiểm sức khỏe, cân bằng cuộc sống với công việc, không thể máu lửa bằng những người trẻ sẵn sàng ngủ lại công ty khi cần thiết.

Kinh nghiệm lập trình

Vậy với những người đi làm lâu năm thì cần điều gì để tăng tính cạnh tranh. Đó chính là các kĩ năng mềm (soft skills), điều mà nhiều người làm thuần công nghệ hay bỏ qua. Kĩ năng mềm là những kiến thức không bao giờ hết hạn. Những kĩ năng như thuyết trình, team-work, viết mail, quản lý thời gian, quản lý con người, kỹ năng lãnh đạo dù bạn có làm leader hay không cũng đều có ích. Bạn đã đi làm nhiều năm, bạn cũng sẽ có nhiều kinh nghiệm thực tế về công việc, về công ty. Ngoài ra, bạn nên để ý cập nhất kiến thức về architect, hiểu biết về business domain, đó là những thứ những bạn trẻ chưa có được và làm càng lâu càng tăng giá trị cho bản thân. Nhiều công ty rất coi trọng điều nay. Bạn nên chọn những công ty có career path rõ ràng để những kĩ năng như vậy có thể phát huy tác dụng.

Nhiều công ty với mục tiêu nhân công giá rẻ (technology worker), muốn tận dụng sức trẻ và khả năng làm việc trâu bò của nhân viên, thường sẽ không phải là nơi phát triển lâu dài, trừ khi bạn đi theo con đường quản lý. Quan tâm đến những gì diễn ra xung quanh công ty ngoài những việc chuyên môn giúp bạn hiểu hơn về bản thân và vị trí của mình như một mắt xích trong công ty. Giữ quan hệ với đồng nghiệp, điều này giúp bạn phát triển mạng lưới của bạn, tin mình đi, sau này những công việc tiếp theo của bạn thường hay đến từ những người đồng nghiệp cũ của mình đấy.

Một vấn đề cuối cùng bạn cần lưu ý, đó là bạn không cần phải chạy đua với công nghệ. Thực tế trong cuộc sống bạn luôn chạy đua với những người khác. Người về nhất trong cuộc đua không phải là chạy về đích trong bao nhiêu phút mà là chạy về đích sớm hơn những người còn lại. Thủ khoa một trường đại học không nhất thiết là 30/30 điểm mà là người cao điểm nhất, bạn có thể là người duy nhất đạt 20 điểm trong khi những người còn lại là từ 19.5 trở xuống.

Khó người khó ta, dễ người dễ ta, chừng nào bạn còn trong đường đua với những người xung quanh chừng đó bạn có thể hoàn toàn yên tâm. Một công ty có thể yêu cầu ứng viên biết công nghệ A, công nghệ B, công nghệ XYZ, và bạn chỉ biết công nghệ A và Y. Bạn không cần phải cố gắng biết hết hay đáp ứng đủ mọi yêu cầu. Bạn vẫn sẽ được nhận vào công ty bởi công ty chẳng tìm được ai hơn bạn hay ai đó đã biết những công nghệ như vậy cả. Công ty sẽ phải nhận người tốt nhất và phù hợp nhất rồi bỏ thời gian để bạn học công nghệ đó.

Kết luận

Qua bài viết này mình đã đề cập đến một vấn đề được rất nhiều người quan tâm, đó là làm sao để sống sót với nghề khi đã lớn tuổi. Với việc tập trung vào những kiến thức cốt lõi nền tảng và tăng cường những kĩ năng mềm, bạn có thể tự tin hơn trong công việc. Bạn không cần phải cuốn theo sự thay đổi chóng mặt của công nghệ, bạn chỉ cập nhật những gì mình cần, dành thời gian cho cuộc sống, gia đình, người thân và bạn be. Nếu bạn có cơ hội làm quản lý, đó là điều rất tốt, tuy nhiên nếu bạn muốn phát triển theo hướng tập trung vào công nghệ, thì đây chính là giải pháp cho bạn. Chúc bạn có một sự nghiệp thành công và một cuộc sống hạnh phúc.


Bài viết được dựa trên cảm hứng từ khóa học Expand your knowledge of current and future technology của Dan Appleman – một lập trình viên lão làng. Mình ấn tượng bởi ông có những khóa học rất hay đề cập đa chiều về sự nghiệp của người làm công nghệ. Sau khi học những khóa học này thì mình đã thay đổi cái nhìn của mình về nghề nghiệp khá là nhiều. Mình không còn chỉ tập trung vào những dòng code hay chạy theo công nghệ, mà còn hiểu thêm những gì đang diễn ra xung quanh công nghệ. Thực sự đằng sau công nghệ còn là những vấn đề kinh tế, chính trị, xã hội. Nếu có thời gian các bạn có thể vào Pluralsight để học các khóa học của ông.

Leave a Reply

Your email address will not be published. Required fields are marked *