Trong vòng 1 năm, Sean Smith đã học lập trình và từ một anh chàng làm việc bán thời gian trong trung tâm tập leo núi biến thành một kỹ sư phần mềm. Dưới đây là những chia sẻ cực kỳ chân thành và chi tiết của Smith, mời các bạn cùng tham khảo:
Quang cảnh San Francisco, ngôi nhà mới của tôi |
|
Một năm trước, tôi làm việc bán thời gian tại trung tâm tập leo núi ở Tennessee. Bây giờ, tôi đang làm việc tại một startup an ninh mạng ở San Francisco với tư cách một kỹ sư phần mềm.
Để đạt được điều này, tôi đã trải qua một hành trình không thể nào quên và thay đổi hoàn toàn cuộc đời tôi. Thách thức thì đâu chả có nhưng tôi nghĩ bất cứ ai có đủ động lực đều có thể đạt được thành tựu giống như tôi.
Thời đại này, ai cũng có quyền truy cập vào kho kiến thức của nhân loại. Do vậy, thời gian và sự cống hiến là tất cả nhưng gì bạn cần bỏ ra để có được vị trí trong lĩnh vực của mình. Điều này đặc biệt đúng trong lĩnh vực kỹ sư phần mềm.
Năm 2016, cuộc đời tôi sụp đổ
Khi bắt đầu học code vào năm 2016, cuộc đời tôi đang trong giai đoạn cực kỳ tệ hại. Tôi vào trường đại học như một sinh viên sơ cấp y khoa với bằng cấp trong lĩnh vực hóa sinh và nhân chủng học. Tuy nhiên, tôi mau chóng cảm thấy bất mãn với khoa học và y học. Tôi bỏ học đại học mà không hề có một kế hoạch dự phòng cụ thể nào.
Trong gần hai năm, tôi làm việc dưới vai trò người hướng dẫn tại các trung tâm tập leo núi nhưng mọi việc không được suôn sẻ cho lắm. Tôi biết mình cần một sự thay đổi lớn.
Tôi đã ngừng học code trong một thời gian dài nhưng tôi biết đây là công việc mà tôi muốn làm. Cuối cùng, vào ngày sinh nhật của tôi trong năm 2016, tôi đã tự hứa rằng sẽ học code. Tôi sẽ không hối hận, không chùn bước.
Thời điểm đó, tôi còn khá mơ hồ với các lớp, trang web dạy code (codecamp), thứ đã trở nên phổ biến trong vài năm gần đây. Rất may là tôi mau chóng tìm ra freeCodeCamp. Khi nhận ra rằng mình có thể hoàn thành khóa học của họ bằng cách viết phần mềm cho các tổ chức phi lợi nhuận, tôi đã ngay lập tức gia nhập và quyết định rằng mình sẽ hoàn thành chương trình học mã nguồn mở của freeCodeCamp. Tôi thậm chí còn chưa xem xét bất cứ codecamp nào khác.
freeCodeCamp mau chóng trở thành cốt lõi trong chương trình học của tôi, một phần vì nó hoàn toàn miễn phí. Tôi đã bổ sung cho nó bằng nhiều nguồn tài nguyên khác, chẳng hạn như các bài giảng, các tut trên mạng, các khóa học miễn phí và một liều lượng hợp lý của tài liệu và code mẫu trên Stack Overflow khi cần.
Từng ngày làm việc, vượt qua những thách thức và những dự án của freeCodeCamp giúp tôi dần nâng cao kỹ năng của mình.
Khi ngồi học và lập trình trên máy tính không hiệu quả, tôi sẽ tìm cách thu thập kiến thức qua những kênh khác: âm thanh, hình ảnh... Tôi chuyển đổi qua lại giữa các phương thức học khác nhau và điều này rất hữu ích trong việc duy trì sự tập trung và tương tác ở mức cao. Đây là quá trình học cơ bản của tôi và nó cho phép tôi dành nhiều thời gian cho việc học.
Những con số (ước tính):
- Tổng thời gian học: Dưới 12 tháng
- Tổng số giờ học: Xấp xỉ 2.500 giờ
- Tổng số dự án đã hoàn thành: Hơn 70
- Tổng số khóa học Khoa học Máy tính đã theo dõi: Xấp xỉ 10
- Tổng số commit trên GitHub: Hơn 1.500
- Tổng số dòng code JavaScript đã viết: Hơn 20.000
Hầu hết quá trình học tập của tôi diễn ra ở Knoxville, Tennessee, nơi tôi ở vào thời điểm đó. Tôi cực kỳ muốn chuyển tới ở tại một thành phố phát triển mạnh về công nghệ. Vì thế, một ngày nọ tôi thức dậy và quyết định rằng đã tới lúc tới San Francisco.
Đêm đó, tôi bắt đầu hành trình và ba tuần sau tôi mới có mặt tại Bay Area. Một chặng đường dài, quá nhiều thời gian để nghe thêm những bài học mới.
Đến San Francisco để tìm công việc thực sự đầu tiên của tôi
Sau khi tới San Francisco và hoàn thành chương trình học cốt lõi của freeCodeCamp, tôi đã đi nộp hồ sơ xin việc trong một khoảng thời gian ngắn. Tôi ứng tuyển vào 65 công ty hoặc hơn nhưng không hề nhận được phản hồi.
Bạn nhớ chứ? Tôi vừa vượt qua gần như toàn bộ chiều ngang của nước Mỹ để tới Bay Area. Tôi không hề biết mức độ cạnh tranh nghề nghiệp ở đây gay gắt như thế nào và cũng không rõ các kỹ năng của mình có đủ để gây ấn tượng với các nhà tuyển dụng hay không.
Những hồ sơ xin việc thất bại thảm hại dạy cho tôi một bài học: Tôi cần phải cố gắng nhiều hơn nữa. Ở đây, thị trường lao động cực kỳ cạnh tranh. Vì vậy, tôi mau chóng điều chỉnh kế hoạch của mình, mở rộng quỹ thời gian và vì đã đủ điều kiện nên tôi bắt đầu triển khai một dự án phi lợi nhuận trên freeCodeCamp.
Trong khi đó, tôi bắt đầu xây dựng một mạng lưới bạn bè càng đông các tốt trong thành phố. Việc này diễn ra một cách mau chóng bởi freeCodeCamp có các nhóm hoạt động ở nhiều thành phố trên thế giới.
Trong một năm ròng học code, tôi đã đặt chân tới các thành phố trải dài khắp nước Mỹ (những điểm đánh dấu sao) |
|
Tôi đã mau chóng nhận được phản hồi từ nhóm của freeCodeCamp về các dự án phi lợi nhuận của mình. Một vài dự án React của tôi đã được Quincy Larson, sáng lập freeCodeCamp, và Michael D. Johnson, COO freeCodeCamp, để ý tới. Và họ đã hỏi tôi rằng có quan tâm tới việc viết các chương trình học lập trình React cho họ hay không. Bản thân freeCodeCamp cũng là một tổ chức phi lợi nhuận. Tôi cũng đã giúp xây dựng một công cụ quản lý hội nghị cho Hội nghị về Tội phạm Chống lại Phụ nữ.
Tôi rất vui khi có thể quay lại đóng góp một phần công sức cho cộng đồng freeCodeCamp nên tôi nhanh chóng chấp nhận thử thách của Larson. Các bài học, thử thách React và Redux của tôi hiện đang được tích hợp vào chương trình học mở rộng của freeCodeCamp.
Thêm vào đó, tôi gia hạn thời gian biểu của mình tới tận năm 2017. Trước khi đi xin việc, tôi sẽ tiếp tục tự học cho tới hết năm 2016. Tôi rời San Francisco băng qua Portland và Seattle sau đó tới Bellingham, Washington.
Trong những ngày ở tây bắc Thái Bình Dương, tôi đã làm việc không ngừng nghỉ để hoàn thành các thử thách React và Redux. Hợp tác cùng với một người đóng góp cho freeCodeCamp tới từ New York mang tên Peter Weinberg, tôi đã xây dựng được khoảng 80 thử thách về lập trình.
Đây có lẽ là một bước tiến quan trọng giúp hồ sơ xin việc của tôi nổi trội giữa đám đông.
Trở lại San Francisco và xin việc thành công
Về San Francisco, tôi gần như đã sẵn sàng đi xin việc một lần nữa. Tôi quyết định tham gia Outco, một khóa học chuẩn bị cho các cuộc phỏng vấn vào vị trí kỹ sư phần mềm. Tôi luôn phản đối việc chi tiền cho các codecamp, một phần là vì tôi không có tiền, nhưng tôi đã tham gia Outco bởi dưới góc nhìn của tôi họ đang cố phục vụ một mục đích khác. Outco đặc biệt nhắm vào các cuộc phỏng vấn dành cho kỹ sư phần mềm, một quá trình có thể khiến rất nhiều người hụt hơi, kể cả các kỹ sư nhiều kỹ năng và giàu kinh nghiệm.
Mặc dù thời điểm này tôi có thể lập trình JavaScript khá tốt nhưng tôi chưa chắc mình đã sẵn sàng cho việc giải quyết các câu hỏi ngẫu nhiên về thuật toán trên một tấm bảng. Đó là một trong những lĩnh vực mà Outco cố gắng chuẩn bị cho sinh viên bởi cho tới nay phỏng vấn và trả lời phỏng vấn trên bảng vẫn là chiến thuật ưa thích của nhiều công ty công nghệ. Ngoài ra, tôi chỉ phải thanh toán cho Outco phí đào tạo khi xin được việc làm.
Code trên giấy để chuẩn bị cho các buổi phỏng vấn |
|
Tôi đã trải qua nhiều tháng dành gần như toàn bộ thời gian để lập trình và học tập. Bây giờ, tôi dồn tất cả khả năng mình có để kiếm một công việc ở thành phố đắt đỏ và cạnh tranh nhất nước Mỹ. Tôi đã từng thử và thất bại thảm hại nên giờ đây tôi rất căng thẳng và chịu nhiều áp lực.
Tôi biết hiệu suất của tôi trong vài tháng tới ảnh hưởng lớn tới tỷ lệ thành công của tôi. Tôi tham gia Outco vì muốn những sự hỗ trợ và chương trình được chuẩn bị kỹ lưỡng của họ sẽ giúp tôi hoàn thành những dặm cuối của cuộc hành trình đời mình. Tôi đã thành công.
Khi bước sang năm 2017, tôi bắt đầu học tại Outco. Thời điểm này tôi còn làm việc chăm chỉ hơn trước đây. Hàng tấn thuật toán, thực nghiệm cơ sở dữ liệu, giải thuật trên bảng, các câu hỏi về lập trình... Một lần nữa, tôi lại gửi hồ sơ xin việc và lần này còn nhiều hơn lần trước.
Và tất nhiên, sau khi nhận được phản hồi từ các công ty bạn tiếp tục bị cuốn vào những cuộc phỏng vấn dài, đầy căng thẳng.
Ngày nào cũng phải đi phỏng vấn đã khó thì việc đứng trước bảng trong một cuộc phỏng vấn khi nhà tuyển dụng hỏi về cây nhị phân thậm chí còn khó hơn.
Một lần nữa, các con số sẽ cho bạn thấy một câu chuyện hùng hồn:
- Tổng số hồ sơ đã nộp: 192 (bao gồm 65 trong năm 2016)
- Tổng số cuộc phỏng vấn qua điện thoại: 17
- Tổng số bài kiểm tra lập trình có thể hoàn thành tại nhà: 6
- Tổng số lần test kỹ năng: 5
- Tổng số lần phỏng vấn tại chỗ: 3
- Tổng số công ty đồng ý tuyển dụng: 1
- Tỷ lệ thành công: 0,52%
Công ty nhận tôi vào làm là TruSTAR Technology và tôi rất vui khi được làm việc cùng họ. TruSTAR xây dựng một nền tảng cho phép các công ty chia sẻ dữ liệu sở hữu trí tuệ qua mạng nhằm ngăn chặn và giảm thiểu các cuộc tấn công mạng.
Hiện tại, tôi làm việc ở mảng front-end của ứng dụng TrueSTAR và sử dụng các kỹ năng JavaScript đã được học từ freeCodeCamp. Tôi tích lũy được rất nhiều kinh nghiệm và thực sự ngạc nhiên trước sự chuẩn bị quá tốt của mình cho công việc này. Tôi đã bắt đầu có những đóng góp ý nghĩa vào codebase của TrueSTAR.
Những bài học mà tôi đúc kết được trong 12 tháng qua
Dưới đây là một số lời khuyên của tôi dành cho bất cứ ai muốn đi theo con đường của tôi:
- Bạn cần những kỹ năng thực tế và phải học rất nhiều. Và bạn phải đầu tư rất nhiều thời gian cho việc học. Hãy đam mê những gì bạn muốn học để có thêm động lực.
- Xây dựng các dự án là cách tuyệt vời để học và không khó để tìm một dự án mã nguồn mở hoặc các dự án có tác động cao để tham gia một khi bạn có đủ kiến thức.
- JavaScript và React là những ngôn ngữ lập trình rất tuyệt vời để học và nhu cầu cũng cao. Tuy nhiên, hãy cứ mạnh dạn tìm hiểu các ngôn ngữ mà bạn quan tâm.
- Quan trọng hơn cả, hãy tạo hoặc tham gia một mạng lưới bạn bè, những người cũng đang học code hoặc đang là những lập trình viên . Mạng lưới bạn bè trong thành phố, trên Facebook... Mạng lưới bạn bè sẽ giúp bạn dễ dàng tìm ra các dự án để tham gia hoặc mau chóng tìm được sự giúp đỡ khi cần.
- Hãy kiên nhẫn.
Đó là tất cả những gì tôi đúc kết được sau chuyến hành trình băng qua nước Mỹ để khởi đầu sự nghiệp như một kỹ sư phần mềm. Chắc chắn rằng mỗi người sẽ có một con đường riêng, tôi nghĩ thế.
Hãy tìm con đường của riêng bạn và nếu bạn tin tưởng vào bản thân thì đừng ngại bỏ ngoài tai những quan điểm của người khác. Bạn có thể bỏ qua cả quan điểm của tôi, nếu cảm thấy không phù hợp.
Cơ hội dành cho bạn luôn hiện hữu trong ngành công nghiệp công nghệ. Bạn sẽ giành được nó nếu đủ quyết tâm.
Là một kỹ sư, công việc của bạn có thể là giải quyết các vấn đề và nếu bạn muốn tự dạy, tự học thì vấn đề đầu tiên bạn cần quan tâm đó là bạn sẽ tự dạy cho bản thân mình như thế nào.
Happy Coding!
(theo GenK)
Khối Giáo dục FPT – fpt.edu.vn
Trường Đào Tạo Lập Trình Viên Quốc Tế – aptech.fpt.edu.vn
Tin liên quan:
|