Làm sao để Lập trình viên tìm được lối đi riêng cho mình?
Đi tổng quát hay đi chuyên sâu?
Tôi đã làm việc trong ngành phát triển phần mềm và công nghệ được khoảng 5 năm. Trước đây tôi theo ngành Environmental Engineering. Tôi chuyển sang học Software Developer cùng lúc chỉ cần thêm một vài môn vì tôi đã từng học GIS trước kia.
Và đó là khi tôi bước vào một chân trời mới. Vừa có kiến thức thực tiễn, lại vừa khao khát được học thêm về một ngách riêng hấp dẫn trong ngành lập trình. Công việc hiện tại của tôi là một lập trình viên GIS Web.
Liệu tôi có làm việc với GIS và web nhiều hơn không? Chắc chắn là có rồi. Tôi có biết cách xử lý front-end và back-end cho mấy cái ứng dụng của mình không? Có, và theo một cách nào đó, bạn có thể gọi tôi là một lập trình viên full-stack. Nhưng nó có nghĩa là tôi “cái gì cũng biết thật ra lại không biết cái gì” không?
Không! Tôi có thể nói rằng tôi đủ vững trong lĩnh vực công nghệ, nhưng cũng có thể thoải mái “quẩy” trong một số lĩnh vực khác. Bỏ qua cái mác công việc một bên, một cách nào đó tôi cảm thấy thoải mái hơn khi làm việc trong môi trường back-end cùng bộ dữ liệu khổng lồ. Tuy nhiên bài viết này tôi sẽ nói về một vấn đề khác.
Tôi làm lập trình web, vì đúng là tôi có kiến thức về công nghệ web, nhưng tôi cũng có kiến thức chuyên ngành nhất định về GIS. Tôi hiểu được sự khác biệt giữa hình chiếu và hệ toạ độ.
Tôi làm khá nhiều với các hệ thống xây dựng dựa trên ArcGIS cho máy chủ và Công cụ cơ sở dữ liệu không gian ArcGIS của ESRI. Tôi không chỉ đủ khả năng nhận được một công việc nào đó, mà còn có thể nhận được công việc với mức lương rất cạnh tranh.
Tôi thấy không có nhiều lập trình viên có thêm chuyên môn “ngách” này, và điều này làm tôi có giá trị hơn trong mắt những nhà tuyển dụng đang tìm kiếm ứng viên có chuyên môn khác biệt như vậy.
Hãy tìm lối đi riêng cho mình
Tôi không nói các bạn đọc bài viết này đi tìm hiểu về GIS. Điều tôi muốn nói ở đây là việc bạn nên tìm hiểu những kiến thức đặc biệt hoặc khác biệt trong ngành nghề của mình. Đơn giản như trở thành một Dotnet Core REST API, hay có thể phát triển hệ thống tích hợp nếu bạn thực sự thích, hoặc cũng có thể tìm hiểu về blockchain,…
Mấu chốt ở đây là tìm ra thứ có thể giúp bạn khác biệt với những người khác và tập trung vào nó, và học những thứ bạn cần trong khi vẫn theo lĩnh vực chính của mình. Tôi nghĩ là hầu hết các công ty đang tìm kiếm người mà khi họ đưa bảng mô tả công việc, người đó không chỉ có thể làm hết tất cả mọi thứ trong cái mô tả công việc đó. Họ đang tìm kiếm người có thể giải quyết những vấn đề cụ thể nào đó. Và đó là cách mà bạn “bán thân”.
Có thể bạn sẽ không đồng ý với tôi về việc bạn đang “bán thân”, nhưng thực tế thì bạn đang đổi phần lớn tài nguyên có giá trị của mình (ở đây là thời gian) để lấy tiền. Vậy nên bạn cũng có thể đầu tư tối đa cho quỹ thời gian của mình để chuyển thành “đô la”.
Tìm cái gì đó mà bạn đam mê, nhưng cũng phải “bán” được. Tìm những vấn đề khác biệt và cụ thể và bắt đầu tập trung vào những gì giúp bạn giải quyết các vấn đề đó. Có thể là bảo mật ứng dụng web, hoặc là chuyển ứng dụng sang công nghệ không có máy chủ trên AWS? Hoặc có thể là về React/Redux và SPA’s,… tôi không biết, nhưng đừng tìm hiểu chung chung.
Tìm hiểu chung chung cũng được, nhưng bạn nên tìm một kỹ thuật đặc biệt nào đó rồi phát triển theo. Tôi có thể yêu cầu một mức lương cao hơn nhiều ở vị trí hiện tại vì tôi có thể giải quyết một vài vấn đề đặc thù liên quan đến GIS một cách nhanh chóng mà không cần phải tìm hiểu gì nữa.
Làm lập trình theo mô hình “chữ T”
Một góc nhìn khác mà tôi muốn nói đến có liên quan đến phương pháp “chữ T”. Bạn có thể có bề rộng về kiến thức, nhưng phải có sự chuyên sâu cho một lĩnh vực đặc thù nào đó, giống cái hình tôi vẽ ở trên. Bạn phải hiểu là công việc của bạn dù là front-end hay back-end thì cũng không ảnh hưởng gì đến những lĩnh vực khác trong lập trình.
Cách để sống chuẩn chữ T
Tôi nghĩ là phương pháp này không chỉ áp dụng được rất nhiều cho ngành lập trình mà còn có thể áp dụng trong đời sống, và đây là một số cách để đạt được phương pháp “chữ T”:
- Luôn học hỏi, kiên trì và không ngừng theo đuổi kiến thức.
- Luôn chớp lấy cơ hội để phát triển, kể cả nếu bạn nghĩ là mình không đủ tiêu chuẩn.
- Tìm nguồn động lực cho mình hoặc những điều gì có thể thôi thúc bạn tập trung.
Phản trực quan để tìm trọng tâm
Nghe có vẻ khá bất bình thường lúc đầu, nhưng bạn nên suy nghĩ về nó. Có những vấn đề đặc thù nào mà bạn có thể giải quyết bằng lập trình hoặc công nghệ không? Đó cũng sẽ là cách để bạn sử dụng thời gian và năng lượng hiệu quả nhất.
Tìm hiểu tổng quát để tìm được điều mà bạn thật sự đam mê, mặc dù nghe không vui lắm, nhưng hãy tìm kiếm thứ mà bạn đam mê và đắm chìm trong nó. Tôi đã từng đọc được là nếu bạn dành 5 tiếng một ngày đọc về một môn học cụ thể nào đó, chỉ sau 2 năm bạn có thể trở thành chuyên gia ở môn đó.
Nói một cách khác, có thể ngay lúc này bạn chưa nhận được gì, nhưng nó sẽ tích luỹ dần theo thời gian và sau một giai đoạn ngắn, bạn sẽ bắt đầu nhận ra được nhiều thứ hơn bạn tưởng.
Xem ngay những tin đăng tuyển dụng IT mới nhất trên TopDev
- G Giải Quyết Bài Toán Kinh Doanh Bằng Big Data và AI
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước