Nếu một ngày nào đó chán viết code, mình sẽ làm gì? Mình học về lập trình nhưng khi xong lại không muốn suốt ngày vùi đầu vào những dòng code tẻ nhạt? Mình có thể làm gì ngoài chuyện viết phần mềm? Muốn từ bỏ nghề lập trình nhưng biết làm gì khác đây? Có rất nhiều câu hỏi như vậy và khá ngạc nhiên nó không phải đến từ những người mới tốt nghiệp mà cả từ những developer nhiều năm kinh nghiệm. Bài viết dưới đây của Karl Hughes, một technical writer, người sáng lập ra trang web draft.dev chuyên cung cấp dịch vụ về nội dung về kỹ thuật sẽ cho chúng ta câu trả lời cho các câu hỏi trên. Hãy xem một lập trình viên “chán viết code” có thể làm được những gì để phát triển sự nghiệp của mình. Một số vị trí có thể chưa thông dụng hoặc thậm chí chưa có ở Việt Nam nhưng thông tin cũng rất đáng cho bạn tham khảo.
Các công việc liên quan đến khách hàng
1/ Trở thành Developer Relations, Developer Advocacy hoặc Developer Evangelism
Ngày càng có nhiều công ty thúc đẩy việc xây dựng mối quan hệ với các lập trình viên là khách hàng, người dùng hoặc là những người đóng vai trò là người truyền bá về sản phẩm. Lĩnh vực phát triển quan hệ với các Developer đang phát triển mạnh mẽ.
Các chuyên gia về quan hệ lập trình viên (Developer Relation, một số công ty gọi họ là Developer Advocate, Developer Evangelists, Quản Lý Cộng Đồng hoặc “DevRels”) giúp thiết lập và xây dựng một cộng đồng xung quanh phần mềm của công ty họ.
Các Developer Relations thường tham gia vào việc tạo ra các ứng dụng demo, viết bài blog, thuyết trình tại hội nghị, hội thảo và quản lý các tài khoảng mạng xã hội cho các công ty công nghệ. Nhiều công ty công nghệ khổng lồ (Facebook, Google, Amazon, v.v…) thường có luôn các đội Developer Relations chuyên nghiệp.
Nếu bạn đang quan tâm đến lĩnh vực này, hãy tìm hiểu học hỏi từ Mary Thengvall và PJ Hagerty. Họ là hai trong số những người có sức ảnh hưởng đến nhiều người trong đó có tác giả bài viết này.
2/ Developer Marketing
Vị trí này tuy có một số chồng chéo với Developer Relations, developer marketing hướng sự tập trung ra bên ngoài nhiều hơn.
Marketing dành cho các lập trình viên đặc biệt khó khăn bởi vì lập trình viên không muốn bị bán. Rất nhiều các chiến thuật tiếp thị có hiệu quả cho các thị trường khác nhưng với các khách hàng là developer, các chiến thuật này không hiệu quả. Với vai trò là một người có một nền tảng kỹ thuật nhất định, bạn sẽ hiểu được cách thức các lập trình viên nghĩ, và bạn sẽ có nhiều ảnh hưởng hơn so với một nhà tiếp thị truyền thống có thể.
Trang web SlashData đặt ra rất nhiều nội dung hay về Developer Marketing, bao gồm một cuốn sách về chủ đề này. Nếu bạn muốn bắt đầu ở lĩnh vực này, hãy học về online marketing: SEO, social media, content marketing, influencer marketing, v.v… Bạn có thể thực hành nhiều kỹ năng trên blog của bạn để chứng tỏ kiến thức của mình trước khi áp dụng cho công việc.
3/ Sales Engineer
Có rất nhiều kỹ sư bị mắc kẹt với bất kỳ công việc nào có “sales” trong đó, nhưng đó chỉ là bởi vì chúng ta đã gặp phải nhiều saler tệ.
Sự thật là tất cả mọi người đều trong ngành sales. Cho dù bạn đang “bán ” mình với vai trò là một ứng cử viên cho một công việc nào đó trong quá trình phỏng vấn hoặc ủng hộ cho một framwork mới của đội ngũ kỹ thuật của bạn. Sales có nghĩa tìm giải pháp phù hợp với nhu cầu của khách hàng.
Sales engineer là độc nhất là bởi họ có nhiều mức độ chuyên môn kỹ thuật khác nhau. Công việc này thật sự phù hợp với các lập trình viên những người không muốn ngồi cậm cui viết code nhưng lại hiểu về kỹ thuật phần mềm.
Còn có một điều tốt đẹp khác về sales chính là bạn không cần bất kỳ chứng chỉ chuyên ngành nào để bắt đầu. Trang web HubSpot có một bài viết rất hay về một số kỹ năng và các thông tin tham khảo về nghề sales mà bạn có thể bắt đầu. Khi các công ty xây dựng các công cụ phần mềm và dịch vụ cho các kỹ sư, nhu cầu về sales engineer sẽ có khả năng tăng lên trong thập kỷ tới.
4/ Technical Recruiter
Một nghề khác bị mang tiếng xấu với các software engineer chính là technical recruiting (tuyển dụng kĩ thuật).
Có nhiều nhà tuyển dụng trong lĩnh vực công nghệ thật sự tài năng, trung thực. Nhưng bên cạnh đó có một số nhà tuyển dụng không ổn lắm. Họ là những người hoàn toàn xem các ứng viên là nguồn thu để đạt hạn ngạch của họ.
Điều tích cực khi bạn có kiến thức nền tảng trong mảng phát triển phần mềm, bạn sẽ có nhiều sự đồng cảm và uy tín hơn nhiều nhà tuyển dụng kỹ thuật khác ngoài thị trường. Giống như việc bán hàng, lĩnh vực này đòi hỏi một tính cách cởi mở, tập trung vào mối quan hệ hơn. Nó cũng không đòi hỏi các chứng chỉ hoặc khóa học chuyên ngành để có thể bắt đầu
Thật không may, rất nhiều công việc cơ bản trong mảng tuyển dụng công nghệ thường chỉ dễ tìm trong các doanh nghiệp có chất lượng thấp. Vì vậy nếu bạn muốn tìm một môi trường phù hợp cho việc này, hãy chắc chắn kiểm tra về họ trên những trang web review như Glassdoor hay Haymora.com trước khi bạn ứng tuyển.
Các công việc liên quan đến sản phẩm
Nếu bạn vẫn muốn là một thành viên trong team sản phẩm, nhưng lại không muốn theo đuổi nghề lập trình phần mềm thì cũng có rất nhiều lĩnh vực mà bạn có thể chuyển tiếp. Những vai trò này làm việc chặt chẽ với các kỹ sư, vì vậy kiến thức về lập trình sẽ giúp bạn. Bên cạnh đó các công việc này cũng yêu cầu kiến thức chuyên khác.
5/ Quality Assurance (Đảm bảo chất lượng) hoặc Test Engineer (Kỹ sư kiểm thử)
Trong khi có rất nhiều sự khác biệt tinh tế giữa đảm bảo chất lượng (Quality assurance) và kỹ sư kiểm thử (Test engineer), cả hai công việc này đều phải thực hiện việc kiểm thử phần mềm trước khi nó hoạt động chính thức.
Nếu bạn yêu thích chi tiết và bạn thích tìm tòi những cách sáng tạo để tự động hóa các nhiệm vụ lặp đi lặp lại, đây có thể là một con đường sự nghiệp rất tốt dành cho bạn. Công việc này có thể sẽ yêu cầu một số công việc cần tới coding cũng như một số công việc kiểm thử thủ công.
Việc kiểm thử chuyên dụng và vai trò của QA là rất phổ biến nhất trong các công ty, tập đoàn. Có rất nhiều khác biệt trong cách thức mà các công ty thực hiện việc kiểm thử sản phẩm của mình. Vì vậy bạn hãy đảm bảo rằng mình sẽ hỏi về các công cụ họ sử dụng, cách thức các bài kiểm thử sẽ hoạt động tự động. Và với vai trò của bạn, hãy tìm hiểu xem bạn sẽ tham gia kiểm thử thủ công hay kiểm thử tự động khi tham gia vào công việc đó.
6/ Business Analyst
Nếu Testing là giai đoạn cuối thì ở đầu kia của vòng đời phát triển sản phẩm là các nhà phân tích quy trình kinh doanh (Business analyst). Họ thường làm việc với vai trò là một cầu nối giữa các doanh nghiệp và các đội ngũ kỹ thuật nhằm đảm bảo rằng các yêu cầu, giới hạn, và thời gian được hiểu chính xác. Họ cũng có thể tham gia vào quy trình làm việc để trợ giúp trong khâu kiểm thử và đảm bảo chất lượng, tùy thuộc vào cấu trúc của nhóm, vì vậy họ cần phải có nhiều kiến thức về sản phẩm.
Nếu bạn có kiến thức nền tảng về kinh doanh, về phát triển sản phẩm, hoặc hiểu biết về thiết kế và một số kỹ năng lập trình, bạn có thể đủ điều kiện trở thành một business analyst ở mức độ sơ cấp. Nếu không, bạn nên tham gia một số khóa học trực tuyến để giúp bạn gia tăng sự hiểu biết cơ bản về vai trò và những yêu cầu cần có cho vị trí công việc này.
7/ Project Manager
Giống như các Business Analyst, Project Manager (quản lý dự án) phải am hiểu các yêu cầu về business cũng như về kỹ thuật của sản phẩm .
Sự khác biệt chính là các Project Manager thường đi sâu vào một dự án. Họ thường xác định các nhiệm vụ và nguồn lực cho các đội ngũ làm việc với dự án đó và theo dõi sự tiến bộ của dự án cho đến khi sản phẩm ra đời.
Các công ty nhỏ hơn có thể kết hợp các Business Analyst, Project Manager, Scrum Master và các vị trí product manager theo nhiều cách khác nhau. Các công ty lớn hơn có thể có thể định nghĩa những trách nhiệm cho từng vị trí riêng biệt.
Kỹ năng tổ chức xuất sắc, sự hiểu biết vể quy trình kinh doanh, kỹ năng quản lý con người là rất quan trọng để có thẻ thành công với vai trò là Project Manager. Vai trò này cơ bản chính là về khả năng kiểm soát được kỳ vọng và thúc đẩy những người giỏi hơn, nhiều kinh nghiệm hơn bạn và vì vậy bạn phải xây dựng niềm tin một cách nhanh chóng. Bản chất nhiều mặt của vai trò này làm cho nó trở nên rất phù hợp cho các nhà phân tích, những người kỹ thuật nhưng không muốn viết code nữa.
8/ Scrum Master
Trong các team Agile, Scrum Master giúp đảm bảo mọi người đều hiểu và tin tưởng vào lý thuyết, cách ứng dụng tốt nhất và các quy tắc của Scrum.
Công việc này nhìn có vẻ tương tự như việc quản lý dự án. Tuy nhiên có sự nhấn mạnh đặc biệt về việc hỗ trợ các đội ngũ khác ngoài Scrum Team tham gia vào việc xây dựng sản phẩm. Vị trí này có thể khó tìm trong các công ty nhỏ nhưng trong các tổ chức lớn vị trí này là khá phổ biến.
Khả năng kiểm soát kỳ vọng và giới hạn là rất quan trọng cho sự thành công của bạn với vai trò là một scrum master. Bạn cũng sẽ cần phải biết cách ứng dụng phương pháp Agile một cách tốt nhất. Vì vậy bạn nên tìm một khóa học phù hợp hoặc sách có liên quan đến chủ đề này. Phương pháp Agile đã được ứng dụng rộng rãi tại trong rất nhiều công ty lớn nhỏ, vì vậy nếu bạn theo hướng này thì con đường sự nghiệp này có khả năng tiếp tục phát triển rất tốt.
9/ Product Manager
Product manager có một cái nhìn toàn diện vào các sản phẩm của công ty để đảm bảo tính mong đợi của sản phẩm (khách hàng luôn muốn có được sản phẩm), khả thi (làm cho công việc kinh doanh trở nên hợp lý) và thực tế(sản phẩm có thể phát triển được). Khả năng suy nghĩ ở mức độ cao như thế này là rất hiếm, vì vậy nếu bạn có được khả năng này và một số nền tảng kỹ thuật, bạn có thể làm tốt vai trò này.
Các Product Manager có thể bắt đầu với các bộ phận nhỏ hơn của sản phẩm hoặc đảm nhiệm vai trò Project Manager trong một số tổ chức. Điều này có thể cho bạn các hiểu biết về sự phát triển sản phẩm và giúp bạn xây dựng mối quan hệ với tất cả các bên cần thiết trước khi bạn được chỉ định sản phẩm của riêng bạn để quản lý.
10/ Designer
Nếu như bạn có nền tảng về thiết kế hoặc mỹ thuật, việc trở thành một UX UI designer (Nhà thiết kế giao diện người dùng) với một số kiến thức nhất định về coding là một cách tuyệt vời để có thể trở nên nổi bật trong lĩnh vực của bạn. Sự kết hợp của các kỹ năng này sẽ cho phép bạn nói chuyện hiệu quả hơn với các kỹ sư và tạo ra các mockup tương tác trong HTML/CSS chứ không chỉ là các tập tin hình ảnh tĩnh.
Nếu bạn không có nhiều kinh nghiệm trong thiết kế, hãy tham gia một khóa học, và bắt đầu xây dựng một danh mục (porfolio) của mình. Nhiều công ty sẽ thuê nhân viên không có bằng cấp nếu như những người này có thể cho nhà tuyển dụng biết được kiến thức và kỹ năng của họ. Dribbble là nền tảng danh mục thiết kế phổ biến nhưng bạn cũng có thể sử dụng trang web của riêng bạn.
11/ Lập trình viên ít (hoặc không) yêu cầu viết code
Nghe có vẻ lạ. Tuy nhiên sự bùng nổ của các công cụ phát triển không cần (hoặc cần rất ít) sử dụng code trong vài năm qua đã mở ra cơ hội cho các công ty muốn nhanh chóng xây dựng phần mềm mà không cần thuê một nhóm các lập trình viên. Những công cụ này cho phép bạn tạo một ứng dụng di động hoặc web chỉ trong vòng vài giờ thay vì nhiều tuần và chúng đang trở nên tốt hơn qua mỗi năm. Nhiều công ty đang có các ứng dụng không sử dụng code.
Makerpad và No Code Jobs là những nơi tốt để bạn bắt đầu tìm kiếm việc làm. Bởi vì đây là một lĩnh vực mới, bạn sẽ tìm thấy các yêu cầu khác nhau về kỹ năng cũng như thu nhập tương ứng. Dù gì đi nữa khi bạn đã có một nền tảng coding thì chắc chắn bạn sẽ là một tài sản vô giá tham gia vào lĩnh vực này.
Công việc liên quan đến hỗ trợ
Có rất nhiều kỹ sư phần mềm mới không nhận thức được rằng có rất nhiều nhân viên làm việc đằng sau nhằm đảm bảo các máy chủ, trang web và quy trình hoạt động được trơn tru. Một số vai trò này yêu cầu bạn phải viết kịch bản tự động hoặc có kiến thức chuyên sâu về quản trị máy chủ. Nhưng nếu bạn đang tìm kiếm một cái gì đó nằm ngoài chu kỳ phát triển sản phẩm truyền thống, nhưng nằm trong nền tảng kỹ thuật, đây có thể là một vị trí thật sự phù hợp.
12/ Sysadmin hoặc DevOps Engineer
Các công ty phần mềm lớn (và cả các công ty ngoài ngành khác) có hàng trăm hoặc hàng ngàn máy chủ cần phải được cập nhật bản vá (patching), nâng cấp liên tục. Trong khi việc áp dụng rộng rãi của điện toán đám mây đã thay đổi tính chất công việc này, từ việc cắm thiết bị vật lý máy chủ đến làm việc với các phần mềm như Terraform và Kubernetes, thì việc làm trong lĩnh vực này không hề bị cắt giảm.
Theo truyền thống, SysAdmin chịu trách nhiệm duy trì và quản lý máy chủ. Khi các tổ chức phát triển và chuyển sang lưu trữ đám mây, nhiều người đã chuyển dần sang vị trí DevOps engineer và điều này cũng ánh việc tự động hóa ngày càng tăng trong vai trò này. Trong thực tế, có rất nhiều điều chồng chéo giữa các vai trò SysAdmin và DevOps.
Dù sao đi nữa, bạn sẽ cần một sự hiểu biết cơ bản về hệ điều hành, nền tảng lưu trữ, công cụ tự động hóa, bash scripting và cấu trúc hệ thống. Có thể rất khó khăn để tìm một công việc sơ cấp trong lĩnh vực này bởi vì nó đòi hỏi các kiến thức kỹ thuật bao quát. Tuy nhiên đó lại là một vai trò hấp dẫn để chuyển tiếp nếu bạn thích các khía cạnh giải quyết vấn đề của kỹ thuật mà không phải bận tâm về các yêu cầu về UI/UX mà thông thường khi làm với các sản phẩm bạn thường phải đối mặt.
23/ Database Administrator
Ở một số công ty, quản trị cơ sở dữ liệu (database administrator) nằm trong mảng system administrator, nhưng đây có thể là một vị trí công việc khác.
Database administrator xử lý bảo mật, cung cấp, mở rộng và tối ưu hóa hệ thống lưu trữ dữ liệu ở mức thấp. Bạn sẽ cần có kiến thức về cơ sở dữ liệu SQL và NoSQL, những kiến thức bảo mật thực tế và một số kỹ năng tập lệnh cơ bản. Tuy nhiên bạn sẽ không phải viết code cả ngày. Bạn sẽ phải chịu trách nhiệm về các vấn đề tối ưu hóa về hiệu năng của CSDL…
Nếu bạn là người mới trong mảng phát triển phần mềm, hãy bắt đầu bằng cách học mọi thứ bạn có thể học về cơ sở dữ liệu. Bạn sẽ cần phải biết cơ sở dữ liệu nào là phù hợp cho ứng dụng nào và làm thế nào để tối ưu hóa từng cái trong số chúng về mặt quy mô. Do đó, có thể rất khó khăn để bạn thực hành ở mảng này. Nếu bạn muốn tìm một số tập dữ liệu lớn để thực tập, hãy thử với Kaggle.
14/ Site Reliability Engineer
Các Site Reliability Engineer (Kỹ sư quản lý độ tin cậy hệ thống) chịu trách nhiệm phản hồi và khắc phục các sự cố quan trọng xảy ra trong khi vận hành website hay hệ thống. Làm ở vị trí này bạn có thể làm việc một số khung giờ trái với bình thường. Và bạn phải thật sự giỏi trong việc giải quyết một loạt các vấn đề khác thường, xây dựng cảnh báo tự động, và đọc cácserver logs…
Bởi vì bản chất phản ứng cao của công việc này, có thể rất khó khăn để giữ kỹ sư phần mềm có kinh nghiệm làm việc với vai trò là Site Reliability trong một thời gian dài. Và như vậy, đây có thể là một công việc tuyệt vời để bắt đầu nếu như bạn gặp rắc rối trong việc tìm kiếm vị trí công việc phát triển phần mềm đầu tiên. Đã từng có những sinh viên tốt nghiệp đã bắt đầu với vị trí SRE trước khi chuyển sang làm phát triển phần mềm. Bạn có thể thấy thích thú với những thách thức và sự phấn khích của việc giải quyết vấn đề với nhịp độ nhanh.
15/ Technical Support hoặc Customer Support
Trong khi một số kỹ sư không tự tin khi tương tác với khách hàng, số khác lại thấy tràn đầy năng lượng khi giúp mọi người giải quyết các vấn đề. Kinh nghiệm coding của bạn sẽ làm cho bạn trở thành một ứng cử viên lý tưởng cho vai trò hỗ trợ khách hàng tại các công ty phần mềm nơi họ cần một ai đó có nền tảng kỹ thuật để trả lời các câu hỏi từ khách hàng.
Nhược điểm để làm việc trong mảng này là bạn có thể phải tương tác với những người đang ở trạng thái tồi tệ nhất. Khi không hài lòng hoặc thất vọng, người dùng có thể không vui khi nói chuyện với đội ngũ hỗ trợ kỹ thuật. Vì vậy bạn sẽ cần rất nhiều kiên nhẫn và “mặt dày” để giữ vai trò này lâu dài.
Công việc giảng dạy và viết lách
Nếu bạn thích phá vỡ các chủ đề phức tạp và trình bày chúng cho các kỹ sư khác, có một vài con đường sự nghiệp mà bạn có thể theo đuổi.
16/ Technical Writer
Văn bản kỹ thuật không chỉ có nghĩa là tài liệu. Bạn có thể theo đuổi viết blog kỹ thuật hoặc copywriting. Bạn có thể phát triển tài liệu nội bộ hoặc cho các đối tượng bên ngoài. Bạn có thể xây dựng các bản demo cho dụng hoặc viết tutorials. Đây là các lĩnh vực mà thu nhập không đến nỗi xoàng và vì vậy nó đáng để cân nhắc.
Nếu bạn lựa chọn công việc này, bạn sẽ cần phải có kỹ năng viết tốt, tổ chức các ý tưởng phức tạp, và học hỏi những điều mới. Khi bạn càng có khả năng tự chỉnh sửa, công việc của bạn càng có giá trị hơn, do đó, đầu tư vào các công cụ giúp làm cho bạn tốt hơn và hiệu quả hơn.
Bạn có thể bắt đầu viết cho một số các chương trình viết cho cộng đồng được trả tiền (như viết cho Blog ITguru này) , và phát triển kinh nghiệm dựa trên một công việc toàn thời gian khi bạn xây dựng một mạng lưới và danh mục của riêng bạn.
17/ Giáo viên
Có một số cách để bạn có thể thay đổi sự nghiệp từ phát triển phần mềm thành một giáo viên. Bạn có thể có được một việc làm giảng dạy tại một Bootcamp về coding, bạn có thể giảng dạy tại một trường cao đẳng hoặc trung học, bạn có thể tham gia một nền tảng như egghead.io (và một số nền tảng dạy coding trong nước) . Hoặc bạn có thể tạo trang web khóa học của riêng bạn và ngày nay có khá nhiều công cụ hỗ trợ bạn trong việc này. Con đường bạn đi phụ thuộc vào kiến thức nền tảng của bạn cùng khả năng chịu rủi ro.
Trong mọi trường hợp, giáo viên phải học thông tin mới một cách nhanh chóng và trình bày nó trong một dạng có thể tiếp thu được cho học sinh của họ. Bạn phải làm thế nào để phù hợp với mức hiểu biết của đối tượng học viên của bạn và xây dựng niềm tin với họ để thành công. Giảng dạy có thể được trả lương ít hơn so với phát triển phần mềm, nhưng nó cũng có thể là một con đường sự nghiệp rất hoàn chỉnh.
18/ Trainer
Corporate training là một hình thức giảng dạy, và cũng đáng để xem xét. Trainer có thể làm việc như các chuyên gia tư vấn độc lập hoặc cho các công ty lớn, nơi họ thường đến văn phòng của khách hàng để cung cấp dịch vụ đào tạo thực hành về các phần mềm chuyên ngành.
Trainer có thể có kiến thức kỹ thuật sâu, nhưng một số lại là những người đam mê truyền đạt về kỹ thuật. Corporate training thường được trả lương tốt hơn so với giảng dạy, và có xu hướng thiên về sale nhiều hơn. Trainer thường xuyên nói chuyện tại hội nghị, thực hiện các hội thảo cộng đồng.
Nếu bạn thích được trên sân khấu và trình bày các khái niệm kỹ thuật, đây có thể là một con đường sự nghiệp lý tưởng.
Công việc liên quan đến phân tích
Rất nhiều vai trò trong công ty công nghệ yêu cầu kỹ năng phân tích. Trong khi nhiều lĩnh vực này yêu cầu cần phải được đào tạo chuyên ngành, nó đáng để xem xét nếu bạn đang thực hiện một hướng phát triển sự nghiệp đi từ kỹ thuật phần mềm. Bạn sẽ được làm việc với một tốc độ khác với hầu hết các kỹ sư tập trung vào sản phẩm. Và cũng giống như một số vai trò hỗ trợ ở trên, bạn có thể tương tác với các bộ phận khác của doanh nghiệp.
19/ Data Scientist hoặc Data Engineer
Hai vai trò này (một số công ty kết hợp cả hai) liên quan đến việc sử dụng các tập dữ liệu lớn để giúp doanh nghiệp hoặc khách hàng của họ đưa ra quyết định tốt hơn.
Các Data Engineer thường làm việc với data ingestion và data pipeline, trong khi các Data Scientist thiết kế các thực nghiệm (experiments) và các thuật toán để “nghiền” (crunch) dữ liệu để cho ra các kết quả hữu ích. Khoa học dữ liệu (AI, Machine Learning, vv) là một lĩnh vực lớn với nguồn gốc trong toán học, kỹ thuật phần mềm, và thống kê.
Có các khóa học, bootcamps, và bằng cấp đại học cho khoa học dữ liệu và kỹ thuật, nhưng bạn có thể có thể tìm hiểu một số vấn đề cơ bản của riêng bạn nếu bạn có một nền tảng toán học khá vững. Nếu không, hãy làm quen với việc phân tích, đại ma trận và thống kê để có thể bắt đầu.
Để có được những kỹ năng này bạn phải cần nhiều thời gian để tìm hiểu. Nhu cầu về vị trí data scientist khá cao được, công việc được trả lương tốt và dự đoán sẽ thu hút nhiều nhân lực trong tương lai.
20/ Security Analyst (Chuyên viên phân tích bảo mật)
Vai trò của bảo mật thông tin thường không có gì đáng chú ý cho đến khi có điều gì đó sai. Trong khi mọi lập trình viên nên biết về các lỗ hổng bảo mật và rủi ro liên quan, Security Analyst được thuê một để tìm, lập danh mục và đề xuất bản sửa lỗi cho các vấn đề bảo mật.
Một số vị trí công việc về bảo mật được thực hiện bởi các tư vấn độc lập. Tại các công ty lớn, có thể có các đội ngũ về bảo mật trong công ty. Vai trò này rất thú vị bởi nó đòi hỏi sự kết hợp về kỹ thuật, tính tuân thủ nguyên tắc, sự hiểu biết về kinh doanh và những kỹ năng về đánh giá rủi ro.
Tìm các ứng viên phù hợp với các công việc liên quan đến bảo mật cũng là một trong những điều khó khăn nhất cho các nhà lãnh đạo công nghệ. Vì vậy bạn sẽ dễ dàng tìm được việc làm ở mảng này nếu bạn có những kỹ năng cần thiết. Bảo mật thông tin là một lĩnh vực rộng và có nhiều hướng phát triển. Bạn hãy tìm hiểu thật kỹ để tìm một lộ trình cho riêng mình
21/ R&D
Làm việc trong mảng R&D (nghiên cứu và phát triển) có thể là một kinh nghiệm độc đáo cho những ai có kỹ năng về kỹ thuật phần mềm. Các công ty lớn như Google và Amazon dành một phần lợi nhuận của họ cho các thí nghiệm có rủi ro cao nhưng có khả năng có được những quả ngọt từ các nhóm R&D này. Các nhóm R&D này có thể tập hợp các nhà phát triển phần mềm, khoa học dữ liệu, phân tích kinh doanh và quản lý dự án.
Rất khó để được tham gia vào một đội R&D tốt. Những vai trò này có xu hướng cạnh tranh và đòi hỏi kiến thức chuyên môn cao về các chủ đề mà bạn có thể sẽ không thể tìm hiểu trong một Bootcamp về coding. Và vì vậy, một số công ty thuê hacker mũ trắng, cá nhà sáng lập, hoặc các polyglot (tức những người có thể viết code bằng nhiều ngôn ngữ lập trình) để lập ra đội ngũ có thể cho ra các ý tưởng sáng tạo.
Các công việc độc lập và linh hoạt
Nghề của chúng ta là một nghề có thể làm việc từ xa và linh hoạt nhưng đôi khi bạn vẫn có thể muốn linh hoạt hơn trong cuộc sống . Nếu bạn có định hướng để bắt đầu việc kinh doanh của riêng bạn, bạn có thể làm việc 4 giờ mỗi tuần, dành sáu tháng của năm đi du lịch, hoặc dành một nửa thời gian của bạn làm việc trên các dự án mã nguồn mở. Đó không phải là một điều gì đó dễ dàng, nhưng như là một lập trình viên phần mềm, bạn có cơ hội
22/ Freelancer hoặc Consultant
Một cách để tự do hơn là công việc 9-5 (tức những công việc nhàm chán lặp đi lặp lại) của bạn là trở thành một freelancer. Là một freelancer, bạn sẽ được khách hàng trả cho bạn theo giờ để viết code cho họ. Các công ty thường thuê freelancers để làm việc trên các dự án ngắn hạn, giải quyết các vấn đề kĩ thuật chưa thể xử lý, hoặc thay thế khi có một nhân viên nghỉ phép.
Chuyên gia tư vấn (Consultant) là những freelancer cao cấp giải quyết các vấn đề cụ thể cho khách hàng. Họ có thể viết code nhưng lý do họ được mời làm việc là vì chuyên môn hoặc kiến thức nền tảng mà họ có. Khoảng cách giữa các freelancer và các chuyên viên tư vấn là khá mờ, do đó, đừng quá quan trọng ngữ nghĩa.
Bắt đầu như là một freelancer hoặc tư vấn là một phần khó nhất. Nếu bạn không có một mối quan hệ hoặc nền tảng lớn để kết nối, bạn có thể dựa vào các nền tảng như Upwork hoặc Toptal để tìm khách hàng. Những nền tảng sẽ cắt giảm đáng kể doanh thu của bạn và buộc bạn phải cạnh tranh trực tiếp với nhiều freelancer khác trên toàn thế giới.
Khi bạn xây dựng danh tiếng và khách hàng, bạn sẽ có thể nhận được nhiều công việc hơn từ các lời giới thiệu. Giới thiệu là rất quan trọng bởi vì khách hàng đến với bạn dựa trên một mối quan hệ đáng tin cậy hơn là ẩn danh trên Internet. Nếu bạn thực sự giỏi với công việc freelance hoặc tư vấn, bạn có thể đẩy thù lao của bạn cao lên.
23/ Nhà sáng lập startup
Có rất nhiều câu chuyện đầy cảm hứng về sự khởi nghiệp thành công của các kỹ sư phần mềm. Và vì vậy bạn có thể có ấn tượng rằng nó dễ dàng và khởi nghiệp là một ý tưởng tốt.
Sự thật là, nó tùy thuộc vào rất nhiều yếu tố.
Startups thường mất một thời gian dài để tạo ra doanh thu, vì vậy bạn sẽ cần phải sống mà không có tiền lương trong vài tháng hoặc nhiều năm để thực hiện công việc này. Điều đó nói rằng, nếu bạn muốn xây dựng việc kinh doanh phần mềm của riêng bạn, thời gian đó gần như vô hạn.
Bạn cũng có thể bắt đầu một công ty bên ngoài giờ làm việc thông thường của mình. Trong khi điều này là rất khó để làm (và có thể có vấn đề pháp lý), nó không phải là không phổ biến. Nếu bạn có thể tìm thấy một hoặc hai người sáng lập khác để chia sẻ lượng công việc, điều này có thể làm tăng cơ hội thành công của bạn.
Kết luận
Lĩnh vực phần mềm là một lĩnh vực rất lý thú và hấp dẫn nhưng không dành cho tất cả. Nếu bạn đã có kiến thức về phát triển phần mềm thì khi bạn chuyển sang một công việc khác, các kiến thức bạn có không hề bị hoang phí nếu bạn làm những công việc có thể sử dụng đến nó được. Nhiều người khi đã hoàn thành các khóa học về lập trình thường hay lo rằng mình không tìm được việc nào khác ngoài chuyện coding. Hoặc có người sau một thời gian làm việc nhận ra rằng họ không còn hứng thú, hoặc không có cơ hội phát triển ở vị trí developer thì những gợi ý trong bài này có thể giúp bạn… bỏ nghề lập trình thành công.
Bạn có thể xem bài gốc của Karl Hughes tại đây
Bạn có biết?
tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất
Linkedin Page:
Facebook Group:
cơ hội việc làm IT : ITguru.vn