Sau 17 tháng kể từ khi tôi viết chương trình "Hello world" đầu tiên bằng ngôn ngữ Python, giờ đây tôi nhận được ba lời mời vào vị trí kỹ sư phần mềm từ ba nhóm khác nhau tại Microsoft.

Tôi đã đi từ việc không biết một array là gì cho đến việc vượt qua các vòng phỏng vấn với câu hỏi về lý thuyết, lập trình hướng đối tượng, thiết kế hệ thống và câu hỏi ứng xử.

Trong suốt 13 tháng của 17 tháng đó, tôi đã tự học code trong khi vẫn đang làm việc toàn thời gian với vị trí là chuyên gia nghiên cứu thị trường và nuôi 2 con nhỏ. Khi mới bắt đầu học code, con nhỏ của tôi mới 3 tháng tuổi, con trai lớn là 4 tuổi.

Tôi viết bài này để chia sẻ cho các bạn những mẹo và thủ thuật mà tôi đã học được trong 17 tháng qua, thời gian để thay đổi nghề nghiệp từ nghiên cứu thị trường sang kỹ sư phần mềm. Mặc dù tôi tự học nhưng rất may mắn được gặp và tạo dựng các mối quan hệ tuyệt vời, rất nhiều người giúp đỡ tôi trên con đường tiến tới làm kỹ sư phần mềm.

Vào ngày 3 tháng 7 năm 2020, tôi chính thức nhận lời mời làm việc chính thức tại Microsoft với tư cách là Kỹ sư phần mềm. Tôi rất biết ơn những gì gia đình, đồng nghiệp, cố vấn và bạn bè của tôi đã làm để đưa tôi đến nơi tôi đang có ngày hôm nay. Và tôi muốn bày tỏ lòng biết ơn của mình bằng cách chia sẻ kinh nghiệm của tôi để bạn cũng có thể trở thành một kỹ sư phần mềm bất kể công việc hiện tại của bạn đang là gì.

Sự thúc đẩy

Một năm rưỡi trước, tôi đang ở giữa ngã rẽ của cuộc đời. Tôi đã chọn nghiên cứu thị trường như một nghề để tạo ra sự thay đổi và giúp đỡ người khác, tuy nhiên, trong sâu thẳm tôi cảm thấy mình đang thiếu một thứ gì đó. Mặc dù tôi biết công việc tôi đang làm là có ý nghĩa, nhưng tôi khao khát một điều gì đó hơn thế, có thể thách thức tôi theo một cách khác.

Tôi đã được training về thống kê, nhưng đã không sử dụng nó trong công việc, một trong những kỹ năng tôi giỏi nhưng lại không được sử dụng hiệu quả. Tôi đã nghĩ về việc chuyển sang làm một nhà phân tích dữ liệu hoặc một nhà phân tích nghiên cứu, nhưng ý tưởng đó cũng không đủ hấp dẫn.

Rồi một ý nghĩ xuất hiện trong tôi, có lẽ tôi có thể trở thành Chuyên viên phân tích kinh doanh.

Tôi đã gửi CV đi nhiều nơi và không có phản hồi, điều đó luôn khiến con người ta thất vọng. Tôi đã xem xét kỹ hơn các yêu cầu công việc, các công ty dường như thích một người biết về PythonSQL. Tôi nghe nói về Python và biết nó là ngôn ngữ lập trình, chỉ là không bao giờ bận tâm để tìm hiểu nó. Tôi nghĩ rằng nó là quá khó cho nữ, đặc biệt là tôi vì tôi không phải là lập trình viên.

Nhưng thời gian trôi qua, sự tuyệt vọng của tôi ngày càng lớn. Tôi quyết định đã đến lúc tôi học một kỹ năng mới nếu tôi muốn tìm một công việc mới. Tôi đã tra cứu các khóa học SQLPython miễn phí trực tuyến và tìm thấy Codecademy (bạn ở Hà Nội hãy đến Techmaster). Tôi bắt đầu với SQL trước và không nghĩ gì về nó, đó chỉ là một kỹ năng để tôi học điều gì đó mới.

Dòng lệnh code đầu tiên với Python, một cái gì đó đã nhen nhóm trong tôi gần như ngay lập tức. Tôi cảm thấy như mình tìm thấy một niềm đam mê mới trong cuộc sống, không còn chán nản, hay vô vọng. Từ thời điểm đó, tôi đã dành mọi thời gian và tự do của cuộc đời mình cho lập trình. Tôi đã nghe âm nhạc về code, đọc về code, tôi nghĩ về code ngay khi tôi thức dậy và trước khi đi ngủ. Tôi ngừng theo dõi phương tiện truyền thông xã hội, ngừng xem YouTube và phim ảnh. Và - tôi đã thu nhỏ lại việc giao tiếp xã hội của mình chỉ để tôi có thêm thời gian học lập trình. Tôi đã thức khuya và thức dậy học bài trước khi đi làm và sau khi con tôi nằm trên giường. Khi đèn ở nhà chúng tôi tắt, đó là lúc tôi bật đèn bàn để học.

Phương hướng

Khi tôi đang khám phá các lựa chọn nghề nghiệp khác nhau trong công nghệ, tôi đã gặp phải các con đường sự nghiệp khác nhau như phát triển web, phát triển front-end và phát triển back-end. Mục tiêu của tôi khi đó là có một công việc phát triển của nhà phát triển trực tuyến, ngay khi tôi có thể.

Khi đọc nhiều bài viết về những người đã chuyển đổi sang ngành IT sau sáu tháng hoặc một năm tự học, tôi thấy rằng hầu hết trong số họ tập trung vào phát triển web. Tôi đã đưa ra ý tưởng đó với chồng tôi - một kỹ sư phần mềm và là người hỗ trợ lớn nhất của tôi trong hành trình này.

Anh khuyên tôi nên tập trung vào các cấu trúc dữ liệu và thuật toán (DSAs), và anh đề nghị tôi nên thực hành các kỹ năng lập trình của mình bằng cách giải quyết các vấn đề trên LeetCode. Anh ấy nói với tôi rằng anh ấy sẽ giúp tôi làm việc nhà và chăm sóc các con chỉ khi tôi học DSAs.

Lúc đó, tôi nghiêm túc nghi ngờ đề nghị của anh. Cấu trúc dữ liệu và thuật toán là một môn học khó. Chúng tôi có nhiều tranh luận về những gì tôi nên làm tiếp theo, nhưng sau khi nói chuyện với các nhà phát triển khác và thực hiện nghiên cứu trực tuyến, tôi đã phải đồng ý với anh rằng nếu tôi muốn có một sự nghiệp lâu dài trong lĩnh vực công nghệ, học DSAs là con đường sáng suốt nên đi.

Tôi đã tham gia nhiều khóa học trực tuyến hơn về DSA và bắt đầu thực hành các vấn đề trên LeetCode. Tôi thấy rằng việc đọc những giải pháp của người khác trên LeetCode để học hỏi từ các kỹ thuật của họ và xem video giải pháp trên YouTube, điều đó thực sự giúp tôi hiểu các mô hình trong việc giải quyết các vấn đề, đặc biệt là khi tôi mới bắt đầu.

Khi tôi bắt đầu thực hiện các vòng phỏng vấn tại Microsoft, tôi đã thực hiện khoảng 350 câu hỏi dễ và trung bình trên LeetCode.

Sự đột phá

Sau 9 tháng tự học, tôi đã rất muốn tìm một công việc dành cho developer. Tôi đã gửi hàng trăm ứng dụng và kết nối với developers khác để được giới thiệu. Quá trình đó mất khoảng 2 tháng. Cuối cùng tôi đã nhận được những lời đề nghị sau khi chưa đầy 1 năm tự học:

  • Một nhà phát triển web của Jr. cung cấp tại một công ty tư vấn ở Washington DC
  • Một chương trình học nghề Kỹ sư phần mềm trong Chương trình Microsoft LEAP có trụ sở tại Redmond, WA
  • Một nhà phân tích kinh doanh cung cấp tại một công ty tư vấn công nghệ ở Washington DC

Sau nhiều cân nhắc, tôi đã chấp nhận lời đề nghị tham gia Chương trình Microsoft LEAP. Thông qua chương trình, tôi có cơ hội làm việc với các kỹ sư phần mềm cao cấp tài năng và giàu kinh nghiệm tại Microsoft và học được rất nhiều về quy trình phát triển phần mềm. Tôi cũng đã kết bạn và gặp một số cố vấn tuyệt vời tại Microsoft.

Khoảng chín tuần tham gia chương trình, tôi bắt đầu kết nối với các đội khác tại Microsoft để tìm hiểu thêm về công việc của họ và bày tỏ sự quan tâm của tôi đến các đội của họ.

Cuối cùng tôi đã nhận được ba lời mời làm việc, một từ nhóm của tôi và hai từ hai đội khác tại Microsoft. Các cuộc phỏng vấn bao gồm câu hỏi về lý thuyết, lập trình hướng đối tượng, thiết kế hệ thống và câu hỏi ứng xử.

Cuối cùng

Mặc dù tôi đã chấp nhận lời mời làm việc chính thức với tư cách là một kỹ sư phần mềm ở Microsoft nhưng tôi biết đây chỉ là khởi đầu. Tôi có rất nhiều thứ để học hỏi như một nhà phát triển mới. Tuy nhiên, tôi cảm thấy nhẹ nhõm và hạnh phúc khi bản thân đã đạt được kết quả sau những nỗ lực, biết rằng cố gắng hết mình, sau bao nhiêu khó khăn cũng được đền đáp.

Và tôi cũng biết rằng tôi đã may mắn khi nhận được rất nhiều sự giúp đỡ từ những người khác trên hành trình này. Tôi mãi mãi biết ơn Microsoft vì đã có Chương trình LEAP và trao quyền cho tôi để đạt được nhiều hơn những gì tôi có thể tưởng tượng. Đó là lý do tại sao tôi muốn bắt đầu blog này để chia sẻ nhiều kinh nghiệm hơn mà tôi đã trải qua.

Tôi hy vọng và tin rằng nếu bạn đặt tâm trí vào một thứ gì đó mà bạn đam mê, cuối cùng, bạn sẽ đến gần hơn với nơi bạn muốn. Và bạn cũng có thể làm được những gì tôi đã làm, nếu không thể tốt hơn.

Blog sưu tầm

Girl Learn To Code

Chương trình Girl Learn To Code

Hướng đến một cộng đồng lập trình viên bình đẳng giới