Pfyqku1 2
10Th8

23 lựa chọn nghề nghiệp thay thế dành cho Software Developer

Pfyqku1

 

Tôi đã có rất nhiều bài thuyết giảng tại các Coding bootcamps ở Chicago trong vòng 5 năm qua. Có một vài câu hỏi tôi thường xuyên nhận được đó là: “Nên học ngôn ngữ lập trình nào tiếp theo?“, “Nên chuẩn bị những gì cho buổi phỏng vấn về kỹ thuật?”, “Phía công ty của bạn có đang tuyển dụng vị trí nào không?”

Nhưng có một câu hỏi thực sự làm tôi bất ngờ đó là: “Sẽ ra sao nếu tôi không còn muốn trở thành một software developer?

Tôi đã suy nghĩ rất nhiều về câu hỏi này. Sau gần 10 làm việc trong vai trò quản lý một nhóm kỹ sư, tôi nhận ra bản thân mình đã sẵn sàng đón nhận một thử thách mới. Bởi vậy, mùa hè này, tôi đã bắt tay vào viết các bài về kỹ thuật. Tôi hoàn toàn không nhận ra sự thay đổi này cho tới khi nhận được đề nghị đầu tiên từ khách hàng, từ đó, tôi nhanh chóng nhận ra rằng công việc viết bài về kỹ thuật là một trong nhiều hướng phát triển sự nghiệp tiềm năng cho các kỹ sư phần mềm.

Kỹ sư phần mềm có thể làm gì khác ngoài coding?

Từ trải nghiệm bản thân, tôi băn khoăn liệu: “Kỹ sư phần mềm có thể đảm nhận những công việc nào khác ngoài việc phát triển nên những phần mềm theo yêu cầu?”

Danh sách công việc mà tôi sắp sửa nêu ra có thể sẽ khiến bạn ngạc nhiên về mức độ đa dạng. Ngoài đề cập tới các hướng phát triển nghề nghiệp tiềm năng dành cho các Kỹ sư phần mềm, tôi sẽ giải thích nhiệm vụ của từng công việc và cách để bắt đầu những công việc này dài hạn.  

Cho dù bạn đang tìm kiếm một hướng phát triển thay thế do chưa tìm được công việc phát triển phần mềm phù hợp hay bạn nhận ra phát triển phần mềm không phải là lĩnh vực dành cho mình, những thông tin dưới đây có thể sẽ giúp bạn tìm được một công việc phù hợp với kỹ năng của mình hơn.

Alternate Career Pathways

Công việc liên quan tới Khách hàng

Một số sinh viên tốt nghiệp bootcamp mà tôi từng nói chuyện mong muốn mình không phải ngồi một chỗ và code từ sáng tới chiều. Nếu bạn đang tìm kiếm một con đường sự nghiệp cho bạn nhiều cơ hội để tương tác với mọi người hơn, những công việc này có thể phù hợp với bạn.

1. Developer Relations (Tạo dựng quan hệ với Developer)

Ngày càng nhiều công ty cố gắng xây dựng mối quan hệ mật thiết hơn với các Developers, do vậy cơ hội để phát triển trong lĩnh vực Developer Relation trở nên rộng mở hơn bao giờ hết.

Các chuyên gia về tạo dựng quan hệ với Developer (một số công ty gọi họ là những người ủng hộ Developer, quản lý mạng lưới Developer…) giúp thiết lập và xây dựng một cộng đồng xung quanh sản phẩm phần mềm của công ty họ. Họ thường tạo ra các ứng dụng demo, viết blog, nói chuyện tại hội nghị và quản lý các kênh social media về công nghệ. Nhiều công ty công nghệ lớn (Facebook, Google, Amazon, v.v.) thậm chí sở hữu một nhóm chuyên gia tạo dựng quan hệ riêng. 

Nếu bạn quan tâm đến lĩnh vực này, hãy tham khảo những gì Mary ThengvallPJ Hagerty đang làm. Họ là hai trong số những người có ảnh hưởng tích cực trong cộng đồng và đã cùng nhau xây dựng Community Pulse podcast.

2. Developer Marketing

So với Developer Relation, Developer Marketing tập trung quảng bá ra bên ngoài nhiều hơn.

Các hoạt động marketing hướng tới developer khá khó nhằn bởi các thủ thuật marketing dồn dập được sử dụng ở các thị trường khác tỏ ra không hiệu quả đối với Developer. Là một người có nền tảng kỹ thuật từ trước, bạn sẽ phần nào hiểu được lối suy nghĩ của các Developer và có thể tạo ra sức ảnh hưởng lớn hơn một Marketer thông thường.

SlashData đưa ra rất nhiều ý tưởng hay liên quan đến hoạt động marketing hướng Developer, trong đó có một cuốn sách riêng về chủ đề này được phát hành trong năm 2018. Nếu bạn muốn trở thành một Developer Marketing, hãy học các khóa online về SEO, Social Media, Content Marketing, Influencer Marketing… Bạn có thể thực hành các kỹ năng này trên blog cá nhân của mình trước khi nộp đơn ứng tuyển một vị trí nào đó.

3. Sales Engineer

Nhiều kỹ sư cảm thấy không mặn mà với các công việc liên quan đến sales, nhưng xin hãy lưu ý, cảm xúc này xuất hiện bởi lẽ chúng ta đều gặp phải những nhân viên bán hàng có kỹ năng quá kém.

Sự thật là tất cả chúng ta đều đang bán thứ gì đó. Cho dù bạn đang “bán” kỹ năng của mình trên cương vị là một ứng viên tham gia vào buổi phỏng vấn hay đề xuất một framework mới cho nhóm của mình, bán hàng nghĩa là kết nối nhu cầu của khách hàng với những giải pháp phù hợp.

Sales Engineer là một công việc khác biệt đòi hỏi những kiến thức chuyên môn nhất định. Và sẽ thật sự phù hợp nếu bạn sở hữu một lượng kiến thức về phần mềm nhưng lại không muốn ngồi coding suốt một ngày dài. Một phần thú vị khác về công việc này là bạn không cần bất kỳ chứng chỉ chuyên môn nào để bắt đầu làm việc. Hubspot có một bài viết khá chi tiết về các kỹ năng và điều kiện cần để trở thành một sales engineer. Ngày càng có nhiều các công ty bán tools và dịch vụ phần mềm cho các kỹ sư, do vậy nhu cầu tuyển dụng các vị trí này sẽ tăng lên đáng kể trong những thập kỷ tới.

4. Technical Recruiter

Tương tự như Sales engineer, Technical Recruiter là một công việc mà các kỹ sư phần mềm thường ít có thiện cảm. 

Tôi đã gặp một số Technical Recruiter tài năng như Taylor DorsettMatt Hoffman ở Chicago, nhưng tôi cũng đã gặp một số Technical Recruiter rất tệ, không có kiến thức, chỉ tập trung môi giới ứng viên để đạt được chỉ tiêu của mình. Tin tốt là với những kiến thức nền về phát triển phần mềm, bạn sẽ trở nên đáng tin cậy và tạo được sự đồng điệu trong giao tiếp hơn so với các Technical Recruiter thông thường. Giống như sales, công việc này đòi hỏi tính hướng ngoại, khả năng tập trung phát triển mối quan hệ và cũng không yêu cầu các chứng chỉ hay khóa học chuyên ngành. 

Tuy nhiên, các vị trí Technical Recruiter ở level junior lại thường mở ở các công ty có chất lượng thấp, vì vậy kiểm tra trên Glassdoor trước khi bạn ứng tuyển.

Công việc liên quan đến sản phẩm

Nếu bạn vẫn muốn làm việc với các nhóm phát triển sản phẩm nhưng lại không muốn trở thành 1 coder, bạn có thể tham khảo những hướng đi dưới đây. Những vị trí này sẽ làm việc sâu sát với các engineers, do đó, kiến thức về coding sẽ trở thành một lợi thế. Tuy nhiên bạn cũng sẽ cần học thêm một số kiến ​​thức chuyên môn khác để hoàn thành tốt công việc này.

5. Quality Assurance or Test Engineer (Kiểm thử)

Mặc dù có những sự khác biệt nhỏ giữa Quality Assurance và Test Engineer, cả hai vị trí này đều chịu trách nhiệm kiểm thử phần mềm trước khi go live. 

Nếu bạn là một người chi tiết, thích tìm ra những cách khác nhau để tự động hóa công việc, đây sẽ là một hướng đi tiềm năng. Tất nhiên công việc này có vẻ sẽ đòi hỏi một chút kỹ năng coding và manual test. Tại một số công ty nhỏ hơn, các Kỹ sư phần mềm sẽ tự check code cho nhau, vì vậy vị trí test và QA sẽ thường xuất hiện nhiều ở các công ty có quy mô lớn. Mỗi công ty sẽ có sự khác biệt trong cách test phần mềm, vì vậy hãy hỏi rõ về tools và tỉ lệ auto test, manual test.

6. Business Analyst

Quy trình phát triển sản phẩm không thể thiếu vai trò của Business Analyst. Business Analyst là cầu nối giữa các doanh nghiệp và nhóm kỹ thuật để đảm bảo các yêu cầu, quy chuẩn, timeline được hiểu một cách rõ ràng và chính xác. BA cũng có thể tham gia kiểm thử tùy thuộc vào cơ cấu của nhóm, vì vậy họ cần có kiến ​​thức rộng về sản phẩm.

Nếu bạn có kiến thức nền tảng về business, phát triển sản phẩm, thiết kế hoặc kỹ năng coding, bạn có thể bắt đầu đảm nhận vị trí này ở level junior. Nếu không, bạn nên tham gia một số khóa học online để có những hiểu biết cơ bản về vai trò và các yêu cầu của công việc

7. Project Manager (Quản lý dự án)

Giống như các Business Analyst, Project Manager cần hiểu được các yêu cầu phát triển sản phẩm từ phía doanh nghiệp cũng như các quy chuẩn về mặt kỹ thuật. Sự khác biệt chính giữa 2 vị trí này là Project Manager thường đi sâu vào từng dự án cụ thể. Họ thường là người xác định tasks, resources cho team cũng như theo dõi tiến trình của dự án cho tới khi release.

Các công ty nhỏ hơn có thể có sự kết hợp các vị trí Business Analyst, Project Manager, Scrum Master và Product Manager theo nhiều cách khác nhau. Tuy nhiên các công ty lớn hơn sẽ tách bạch các vị trí này rạch ròi hơn.

Kỹ năng tổ chức sắp xếp xuất sắc, hiểu về business và năng lực quản lý con người là những kỹ năng quan trọng để thành công tại vị trí này. Bạn cũng cần có khả năng quản lý kỳ vọng từ phía khách hàng và thúc đẩy các thành trong nhóm làm việc hiệu quả. Sẽ có những thành viên trong nhóm dày dặn kinh nghiệm hơn bạn, do vậy hãy nhanh chóng xây dựng sự tin cậy từ phía mọi người. Đặc thù phải làm việc với nhiều đối tượng sẽ phù hợp với những người có kiến thức kỹ thuật và khả năng phân tích tốt. 

8. Scrum Master

Trong mô hình Agile, Scrum Master đảm bảo mọi người hiểu và tuân thủ theo các quy tắc và best practices.

Vị trí này trông có vẻ giống với vai trò project management nhưng Scrum Master lại tập trung hỗ trợ các team khác nhau tham gia vào phát triển sản phẩm. Thường ở các công ty lớn, vị trí này sẽ được tập trung chuyên môn sâu hơn. .

Kỹ năng quản lý kỳ vọng của khách hàng và các quy chuẩn rất quan trọng để thành công tại vị trí này. Bạn cũng cần biết các best practices của Agile, vậy nên hãy tìm một khóa học hoặc cuốn sách phù hợp về chủ đề này. Agile đã và đang được áp dụng rộng rãi tại các công ty thuộc mọi quy mô, vì vậy hướng phát triển này sẽ rất tiềm năng trong thập kỷ tới.  

9. Product Manager

 

3

 

Năm 2019, tôi đã dành rất nhiều thời gian để tìm hiểu về quản lý sản phẩm – product management để cải thiện quá trình deliver sản phẩm của chúng tôi tại The Graide Network. 

Product Managers là người có khả năng đánh giá toàn diện về sản phẩm của công ty để đảm bảo sản phẩm đúng với mong muốn của khách hàng, tạo ra sức ảnh hưởng tốt lên hoạt động kinh doanh và khả thi để xây dựng. Người đạt tới khả năng tư duy ở level này rất hiếm, vậy nên nếu bạn sở hữu điều này và có nền tảng kỹ thuật, bạn có thể sẽ làm tốt công việc của một Product Manager.

Người mới bắt đầu đảm nhận vai trò Product Manager sẽ tham gia quản lý một phần sản phẩm hoặc làm việc tại vai trò Project Manager. Bằng cách này bạn sẽ hiểu hơn về quy trì phát triển sản phẩm và xây dựng mối quan hệ với các bên liên quan trước khi được giao quản lý một sản phẩm riêng.

10. Designer

Nếu bạn có nền tảng về thiết kế hoặc nghệ thuật, trở thành UI/UX designer là một lựa chọn giúp bạn trở nên nổi bật hơn. Kết hợp những kỹ năng này sẽ giúp bạn trao đổi hiệu quả hơn với các engineers, tạo ra các mock up bằng HTML/CSS có tính tương tác cao hơn các tệp hình ảnh tĩnh đơn thuần.

Nếu bạn không có nhiều kinh nghiệm thiết kế, hãy tham gia một khóa học và xây dựng portfolio riêng cho bản thân. Nhiều công ty tuyển dụng những người không có bằng cấp nếu họ có thể chứng minh được kiến thức và kỹ năng của mình qua các dự án. Dribbble là nền tảng cho phép bạn tạo portfolio thiết kế. Ngoài ra bạn hoàn toàn có thể xây một website cho riêng mình.

11. No or low-code Developer

Sự bùng nổ của các công cụ phát triển no-code và low-code 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 tuyển dụng kỹ sư phát triển phần mềm. Các công cụ này không chỉ cho phép bạn build một ứng dụng di động hoặc web trong vài giờ thay vì hàng tuần mà chúng còn được cải tiến liên tục, do vậy ngày càng có nhiều công ty ưa chuộng cách phát triển này. 

MakerpadNo Code Jobs là các kênh bạn có thể tìm những công việc low code. Do đây là lĩnh vực mới, bạn sẽ được yêu cầu các kỹ năng khác nhau mà một trong số đó là kỹ năng viết code. 

Công việc hỗ trợ

Có rất nhiều kỹ sư phần mềm đóng vai trò quan trọng phía sau sự hoạt động trơn tru của sản phẩm như người bảo trì servers, websites, người làm công việc vận hành…Các vị trí này thường yêu cầu bạn có khả năng viết automation scripts hoặc có kiến thức chuyên sâu về quản trị server. Tuy nhiên nếu bạn đang tìm kiếm một công việc mới lạ hơn việc viết code, những vị trí dưới đây có thể phù hợp với bạn. 

12. Sysadmin hoặc DevOps

Các công ty phần mềm lớn có hàng trăm ngàn server cần được bảo trì và nâng cấp liên tục. Mặc dù việc áp dụng rộng rãi điện toán đám mây đã góp phần thay thế server vật lý bằng TerraformKubernetes, các công việc liên quan đến server vẫn có sẵn trên thị trường. 

Trước đây, System Administrators chịu trách nhiệm bảo trì và quản trị server. Khi các công ty phát triển và chuyển sang sử dụng cloud, nhiều nơi đã áp dụng title DevOps để thể hiện sự tự động hóa nhưng trong thực tế, 2 vị trí này có rất nhiều điểm tương đồng. Dù được gọi bằng title như thế nào, bạn đều cần có những hiểu biết cơ bản về hệ điều hành, hosting, công cụ automation, bash scripting và kiến ​​trúc hệ thống. Có thể bạn sẽ gặp khó khăn để tìm được một công việc ở level junior do đặc thù đòi hỏi nhiều kiến ​​thức kỹ thuật, nhưng đây hẳn là một vị trí thú vị để bạn đảm nhận nếu bạn thích tham gia giải quyết vấn đề mà không cần để ý tới các yêu cầu về UI/UX. 

13. Database Administrator

Một số công ty gộp Database Administrators với vị trí System Administrators, nhưng thực chất đây là 2 vị trí riêng biệt.

Database Administrator giải quyết các công việc liên quan tới bảo mật, provisioning, scaling và tối ưu hóa hệ thống lưu trữ dữ liệu ở tầng thấp. Bạn cần có kiến ​​thức về cơ sở dữ liệu SQL và NoSQL, bảo mật và một số kỹ năng viết script cơ bản. Ở vị trí này, bạn cũng sẽ cần quan tâm tới các vấn đề về tối ưu hóa như fix index và caches.

Nếu bạn là “lính mới” trong lĩnh vực phát triển phần mềm, hãy học tất cả những gì bạn có thể về cơ sở dữ liệu. Bạn cần biết chọn loại cơ sở dữ liệu cho từng ứng dụng và cách tối ưu hóa cơ sở dữ liệu theo quy mô tương ứng. Điều này có thể hơi khó khăn nếu bạn tự mò mẫm, nhưng thật may, bạn có thể tìm kiếm dataset dạng lớn trên Kaggle để thử sức nhé.

14. Site Reliability Engineer

Site Reliability Engineer có trách nhiệm xử lý và khắc phục các sự cố quan trọng xuất hiện trên production. Nhờ đó kỹ năng giải quyết các vấn đề phát sinh mới, tạo các cảnh báo tự động hay đọc server logs sẽ được cải thiện hơn.

Do công việc này chỉ tập trung đối ứng với những tình huống phát sinh ngoài dự kiến,vậy nên sẽ khó khăn để giữ các kỹ sư ở high level làm việc trong vai trò Site Reliability trong một thời gian dài.  Điều này hoàn toàn là cơ hội cho bạn nếu bạn đang gặp khó khăn trong việc tìm kiếm vị trí lập trình đầu tiên cho mình.Tôi từng biết hai sinh viên tốt nghiệp bootcamp đã thử sức với vai trò SRE trước khi chuyển sang phát triển phần mềm. Bạn sẽ nhận ra bản thân thích thử thách và hứng thú với các vấn đề cần giải quyết nhanh như thế nào.

15. Technical hoặc Customer Support

Có một số kỹ sư phần mềm không thích tương tác với khách hàng, một số khác lại yêu thích giúp đỡ khách hàng của mình giải quyết những vấn đề mà họ đang gặp phải. Kinh nghiệm về coding sẽ giúp bạn trở thành một ứng cử viên nặng ký cho vị trí Customer Support tại các công ty sản xuất phần mềm bởi những công ty này cần một người có nền tảng kỹ thuật để trả lời các câu hỏi từ phía khách hàng cũng như đề xuất cách giải quyết.

Điểm kém hay ho của vị trí này là bạn có thể sẽ phải tương tác với những khách hàng rất khó chịu. Người dùng đang không hài lòng hoặc thất vọng về sản phẩm có lẽ sẽ không mấy vui vẻ khi nói chuyện với nhóm chăm sóc khách hàng, vì vậy bạn sẽ cần rất nhiều kiên nhẫn để làm công việc này lâu dài.

Công việc liên quan đến giảng dạy và viết lách

Tôi yêu thích việc giảng dạy, vì vậy tôi nhận thấy mình luôn bị hấp dẫn đối với các vai trò kỹ thuật cho phép tôi làm điều này. Nếu bạn thích gỡ rối cho các chủ đề phức tạp và trình bày chúng với mọi người, hãy tham khảo một số hướng đi mới dưới đây:  

 

4

16. Technical Writer

Năm thứ 3 ở trường đại học, tôi đã tham gia thực tập ở vị trí technical writer tại một tập đoàn lớn. Những bài viết trông có vẻ khô khan nhưng tôi đã học được thêm rất nhiều điều mới mỗi ngày.  Kể từ đó tôi đã phát hiện ra rằng những bài viết liên quan đến kỹ thuật không đơn thuần là những tập tài liệu lưu trữ. Bạn có thể theo đuổi công việc viết blog kỹ thuật, viết các tài liệu cho công ty mình hoặc cho các đơn vị khác, bạn có thể tạo các ứng dụng và dựng demo. Đây là một trong những công việc được trả lương cao nhất trong lĩnh vực viết lách và thực sự rất đáng để xem xét.

Nếu đi theo con đường này, bạn cần có kỹ năng viết tốt, biết tổ chức các ý tưởng phức tạp và thường xuyên cập nhật những thông tin mới. Thật tuyệt nếu sau khi viết bạn có thể tự chỉnh sửa và hoàn thiện bài viết của mình. Ngoài ra bạn cũng có thể đầu tư vào các công cụ giúp bạn viết tốt và và hiệu quả hơn. Bạn có thể bắt đầu viết bài cho một số chương trình có trả phí và lấy đó làm kinh nghiệm để ứng tuyển một công việc full time. 

17. Giáo viên

Có một số cách để bạn có thể chuyển từ công việc phát triển phần mềm sang nghề giáo viên. Bạn có thể dạy tại coding bootcamp, các trường đại học hoặc trung học, hoặc có thể tham gia những nền tảng như egghead.io hoặc tạo một trang website cung cấp khóa học của riêng mình với Teachable hoặc Educative. Tùy thuộc vào background và khả năng mạo hiểm, bạn có thể lựa chọn hướng đi phù hợp.

Tuy nhiên, dù trong bất kỳ tình huống nào, giáo viên phải là người nắm bắt các thông tin mới một cách nhanh chóng và có khả năng trình bày nó ở dạng dễ hiểu. Bạn phải đặt mình vào vị trí của những học sinh và xây dựng niềm tin với họ để có được thành công. Dạy học có thể được trả lương thấp hơn phát triển phần mềm, nhưng đây sẽ là một con đường sự nghiệp rất ý nghĩa.

18. Trainer

Thực hiện đào tạo tại các công ty cũng là một hình thức giảng dạy. Trainer có thể làm việc như một chuyên gia tư vấn độc lập hoặc là nhân viên tại các công ty lớn đến văn phòng của khách hàng để trực tiếp hướng dẫn sử dụng các phần mềm do công ty phát triển.

Trainer có thể có kiến ​​thức kỹ thuật sâu sắc hoặc chỉ cần am hiểu công nghệ ở mức độ nhất định. Đào tạo tại doanh nghiệp thường được trả mức lương tốt hơn so với giảng dạy tại các trường, nhưng công việc này cũng mang tính sales nhiều hơn. Trainer cũng là người thường có các buổi nói chuyện tại các hội nghị, tổ chức hội thảo cộng đồng…

Nếu bạn thích đứng trên sân khấu và trình bày các thông tin kỹ thuật, đây hẳn là một con đường sự nghiệp lý tưởng.

Công việc có tính chất phân tích

Có rất nhiều các vị trí trong các công ty công nghệ đòi hỏi kỹ năng phân tích. Mặc dù nhiều trong số chúng yêu cầu kiến thức chuyên ngành sâu rộng, bạn cũng vẫn nên xem xét nếu muốn tiếp tục xây dựng sự nghiệp trong ngành công nghệ phần mềm. Bạn sẽ làm việc trong vai trò khác so với hầu hết các kỹ sư tập trung vào phát triển sản phẩm và giống như một số vai trò hỗ trợ ở trên, bạn có thể cần tương tác với các bộ phận khác nhau trong tổ chức.

19. Data Scientist hoặc Engineer (Chuyên gia khoa học dữ liệu)

Hai vị trí này (một số công ty kết hợp chúng với nhau) sẽ sử dụng các bộ 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. Data Engineer thường làm việc trên đường truyền dữ liệu và tổ chức dữ liệu, trong khi các Data Scientist thiết kế các thí nghiệm và thuật toán biến những dữ liệu này thành những thông tin có ịch.

Khoa học dữ liệu (AI, Machine Learning, v.v.) là một lĩnh vực khổng lồ có nguồn gốc từ toán học, công nghệ phần mềm và thống kê. Có rất nhiều các khóa học, bootcamp và chương trình đại học về khoa học dữ liệu và kỹ thuật, tuy nhiên bạn chỉ cần học một số khóa cơ bản nếu bạn đã có nền tảng toán học vững chắc. Nếu không, hãy xem xét việc học phân tích số liệu, ma trận và thống kê trước.

Những kỹ năng này cần nhiều thời gian để học và nhu cầu tuyển dụng các Data Scientist ngày càng tăng, mức lương khá tốt và rất tiềm năng trong tương lai. 

20. Security Analyst

Người làm bảo mật thông tin luôn thường trực để chuẩn bị cho các sự cố. Mặc dù tất cả developer nên có hiểu biết về lỗ hổng bảo mật và rủi ro, nhu cầu tuyển dụng Security Analyst để tìm, phân loại và đề xuất sửa các bản lỗi, đảm bảo an toàn thông tin vẫn luôn có.

Có một số Security Analyst làm việc như các nhà tư vấn độc lập, nhưng các công ty lớn hơn thường có một nhóm kỹ sư đảm nhận công việc này. Vai trò thú vị ở chỗ nó có sự kết hợp của các kỹ năng về kỹ thuật, tuân thủ, kinh doanh và đánh giá rủi ro. Vị trí bảo mật cũng là thường là một trong những vị trí khó tuyển dụng nhất, bởi vậy hãy thử sức. Bảo mật thông tin là một lĩnh vực rộng lớn, bạn có thể tham khảo một số hướng phát triển ở đây. 

21. R&D

Làm việc trong bộ phận nghiên cứu và phát triển là một trải nghiệm tuyệt vời cho những ai có kiến thức 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ũng có khả năng thu được lợi ích lớn được thực hiện bởi các nhóm R&D. Các nhóm này có thể bao gồm các Developer, nhà khoa học dữ liệu, nhà phân tích kinh doanh và quản lý dự án.

Để được nhận vào một nhóm R&D tốt thường rất khó. Các vị trí này có tính cạnh tranh cao và đòi hỏi kiến thức chuyên môn sâu về các chủ đề mà bạn có thể sẽ không học được trong bootcamp coding. Điều đó có nghĩa là, có một số công ty sẽ thuê các ethical hackers, người sáng lập hoặc polyglot để đưa ra các ý tưởng táo bạo và sáng tạo.

Công việc có tính độc lập và linh hoạt

Mặc dù các công việc của chúng ta thường cho phép làm việc từ xa và thậm chí là nghỉ phép, nhưng bạn có thể vẫn muốn có nhiều sự linh hoạt hơn nữa trong cuộc sống của mình. Nếu bạn có động lực để bắt đầu kinh doanh riêng, bạn muốn làm việc 4 giờ mỗi tuần, dành 6 tháng trong năm để đi du lịch hoặc dành một nửa thời gian bạn có để làm việc cho các dự án mã nguồn mở. Điều đó nghe có vẻ bất khả thi, nhưng là một kỹ sư phát triển phần mềm, bạn hoàn toàn có thể

22. Freelancer hoặc Consultant

Có một cách để có được nhiều tự do hơn là rời bỏ công việc lặp đi lặp lại mỗi ngày của bạn và trở thành một freelancer. Là một người làm việc tự do, bạn có thể làm việc cho một hoặc nhiều khách hàng nếu họ sẵn sàng trả tiền theo giờ để bạn viết code cho họ. Các công ty thường thuê freelancer để làm việc trong các dự án ngắn hạn, giải quyết các vấn đề kỹ thuật tồn đọng hoặc làm việc thay cho các nhân viên trong thời gian nghỉ phép. 

Consultant là những người làm việc tự do cao cấp hơn, đây là những người giải quyết các vấn đề cụ thể cho khách hàng của họ. Mặc dù những consultant này vẫn cần viết code, song họ được thuê vì chuyên môn hoặc background rất riêng của mình. Ranh giới giữa freelancer và consultant khá mờ nhạt, vì vậy bạn đừng để ý quá nhiều về ngữ nghĩa.

Thời gian đầu làm freelancer hay consultant bao giờ cũng là giai đoạn khó khăn nhất. Nếu không nhiều mối quan hệ, có lẽ bạn nên tận dụng các nền tảng như Upwork hoặc Toptal để tìm kiếm khách hàng mặc dù các nền tảng này sẽ trừ đi một phần đáng kể doanh thu và buộc bạn phải cạnh tranh trực tiếp với nhiều freelancer khác trên khắp thế giới.

Khi bạn đã có một danh sách khách hàng và danh tiếng nhất định, bạn sẽ có thể nhận được nhiều công việc hơn qua sự giới thiệu và khách hàng sẽ đến với bạn dựa trên sự tin cậy hơn là lựa chọn một người ẩn danh trên internet. Nếu bạn thực sự giỏi sắp xếp công việc, bạn có thể làm việc tăng tốc để có thời gian nghỉ giữa chừng.

23. Khởi nghiệp

Có nhiều câu chuyện về những kỹ sư phần mềm khởi nghiệp (1, 2, 3) và bạn có thể nghĩ rằng hướng đi này khá dễ dàng nhưng sự thật là nó phụ thuộc vào nhiều yếu tố khác nhau. Các công ty khởi nghiệp thường mất nhiều thời gian để 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. Hướng đi này thực sự rất khó khăn.

Bạn cũng có thể thành lập 1 công ty và làm ngoài giờ làm việc bình thường. Mặc dù điều này rất khó thực hiện (và có thể có liên quan đến các quy định pháp luật), nhưng nó không phải là hiếm. Nếu bạn có thể tìm thấy một hoặc hai người cùng chia sẻ công việc thì tỉ lệ thành công sẽ cao hơn.  

Lời kết

Công nghệ phần mềm là một lĩnh vực thú vị, nhưng nó không dành cho tất cả mọi người. Ngay cả khi bạn quyết định rời bỏ lĩnh vực này, các kỹ năng bạn đạt được sẽ không bị lãng phí nếu bạn quyết định ứng dụng nó sang một công việc khác.

Nhiều sinh viên tốt nghiệp bootcamp lo sợ không dám tìm kiếm việc làm ngoài lĩnh vực phát triển phần mềm, nhưng tôi khuyến khích bạn đi theo con đường của riêng bạn. Cân bằng giữa thực tế (kiếm đủ tiền để sống) với sở thích và tôi hi vọng bạn có thể tìm thấy một con đường sự nghiệp nơi công việc không chỉ là một “công việc” nữa.

Tôi rất muốn lắng nghe những suy nghĩ của bạn. Nếu bạn đang có một hướng phát triển tốt hoặc muốnchuyển đổi nghề nghiệp, bạn có thể liên hệ với tôi qua Twitter.

 

(Bài viết đã được cho phép dịch bởi tác giả)

Tác giả: Karl Hughes

Bài viết gốc: Link

Người dịch: Vân Phạm

Like và follow fanpage của Pixta Việt Nam để cập nhật các thông tin công nghệ hữu ích nhé!