Lập trình viên có cần bằng đại học ?
Câu trả lời ngắn gọn: nên có ! Bài viết này mình cũng chia sẻ một chút hiểu biết của mình về ngành công nghệ thông tin với các em...
Câu trả lời ngắn gọn: nên có !
Bài viết này mình cũng chia sẻ một chút hiểu biết của mình về ngành công nghệ thông tin với các em đi sau và cũng như với bạn bè cùng tuổi. Âu cũng vì năm nay báo đài đưa tin tuyển sinh CNTT nhiều hơn mọi năm, nên với góc nhìn của người tay ngang theo ngành, hy vọng phần nào sẽ giúp cho các bạn có cái nhìn sâu sắc hơn và đôi khi là động lực để bắt đầu con đường.
" Hành trình vạn dặm bắt đầu từ một bước chân ."
1. Nghề chọn người.
Hồi thi đại học xong, mình không chọn học CNTT ( FPT ) mà chọn học ngành vũ trang nhà nước, một phần vì nghe cũng ngầu, một phần cũng đỡ đần cha mẹ còng lưng nuôi gần hai chục năm trời. Nhưng thật sự thì đây là cách báo hiếu hơi tệ - với mình. Sự nghiệp là chuyện cả đời, lúc tuổi trẻ nông nổi là không thể tránh khỏi, thế nên mình cũng muốn góp ý cho các em đi sau là chọn nghành nào cũng nên nghiên cứu kỹ càng một chút, tốt hơn cả là hỏi ý kiến của người thực sự làm trong ngành. Một lý do cá nhân của mình không đến với IT từ sớm đó chính là nỗi sợ môn Toán !! Nghe có tức không các bạn, mình học toán không giỏi nhưng cũng không phải dở, ít nhiều cũng từng học chuyên. Vì việc gia đình so sánh và đôi chút định kiến xã hội khiến cho mình luôn tự kỷ bản thân là người không thông minh sáng dạ, nên chắc chắn chẳng thể nào thành công được với những ngành khoa học kỹ thuật. Đây là sai lầm tương đối lớn, và mình cũng thấy là cách dạy môn toán hiện tại cũng hơi bất cập, ngành lập trình đòi hỏi chúng ta về tư duy giải quyết vấn đề, và tư duy logic mới là điều quan trọng chứ không hoàn toàn là điểm số. Rèn luyện được tư duy để có thể đương đầu với mọi bài toán - mình nghĩ mới là giá trị cao quý của nền giáo dục Xã hội chủ nghĩa chúng ta, thế nên, đừng vì chút điểm số mà hiểu sai về con người mình, hãy luôn tự học và bồi dưỡng bản thân.
2. Môi trường
Tự học không bao giờ là dễ, ngay cả khi bạn yêu thích nó.
Điểm khác biệt lớn nhất mình thấy giữa một sinh viên đại học và một người tay ngang đó là điều kiện học. Thời buổi bùng nổ về công nghệ bây giờ, ai cũng có thể học online được, bản thân mình cũng học online rất nhiều. Nhưng, mình luôn tiếc về những cơ hội của sinh viên đại học ngồi trên giảng đường mới có. Đó là một môi trường học thuật, từ giáo viên đến học sinh, những project nho nhỏ giúp bạn hiểu sâu hơn về kiến thức, và những mối quan hệ lẫn cơ hội để bạn trở thành một lập trình viên giỏi trong tương lai. Bản thân mình từ ngày tự học code cho đến khi được đi intern có tiền là gần như chỉ có 1, 2 người giúp đỡ mà mình đã thấy cuộc sống dễ thở hơn rất nhiều rồi.
Cái thứ hai, đó là thời gian biểu, sinh hoạt. Nếu bạn là một sinh viên chuyên ngành, đúng tuổi đi học thì bạn sẽ có nhiều thời gian và sự tập trung vào quá trình học hơn. Thay vì đi làm cả ngày về chỉ muốn lăn vào giường thì các bạn sẽ được ngâm cứu bài giảng cả ngày và làm thêm đôi chút. Đi học là đi học, ít ra cũng sẽ đỡ áp lực cuộc sống hơn những người nhảy ngang luôn phải lo cơm áo gạo tiền. Và lời khuyên, hãy cố gắng tập trung học khi có cơ hội nhé, đừng để cho việc làm thêm ảnh hưởng đến thời gian biểu. Đợt mới nhảy ra bơ vơ ở Sài Gòn, mình từng đi làm quán ăn, cà phê, ....có ngày rửa bát gần 5 tiếng liên tục muốn gãy lưng thì mình hiểu ra được rằng học đã khổ nhưng không học còn khổ hơn nhiều. Chưa kể việc đi làm về thì chả còn sức để nghiên cứu bài vở, tính ra thì đó là khoản đầu tư thua thiệt cho bản thân.
3. Đi làm
Sau đâu đó 3 tháng tự mày mò thì mình cũng làm được cái web app chạy bằng ReactJS (một thư viện cho phát triển Front-end). Trông cũng rất gì và này nọ, có cả animation, chức năng các thứ. Xong rồi mình cũng viết CV để xin thực tập. Thứ thật là mọi thứ khó khăn hơn mình nghĩ, tuy có project con con rồi nhưng gửi gần ba mươi chỗ thì được đúng ba chỗ hồi âm.
Phỏng vấn xong thì mình được vào làm Mobile, mặc dù trước đó mình tự học Web. Dĩ nhiên điều đó rất thú vị nhưng cũng làm mình lo kinh. Nhưng tính tới thời điểm mình gõ những dòng này thì, thật sự, công ty nơi mình intern là một nơi quá ổn, đặc biệt là con người.
Có một kỷ niệm như này, hồi mới vào làm, mình phải trao đổi với Product Owner người Singapore nhưng do quá rụt rè và ngại nên mình không chịu nhắn tin để hỏi về yêu cầu về các chức năng mới của app, thành ra cứ tự ngồi code theo trí tưởng tượng và cuối cùng là bug và failed. Họp team xong về vụ sai trái này thì mình cũng tự ái và ra ngồi hít thở không khí một mình. Đúng lúc này thì thím Q (một người hay cực mà mình sẽ kể sau) ra nói với mình nhỏ nhẹ rằng là lập trình viên không phải chỉ cắm mặt vào code và code, lập trình viên là những người làm cho cuộc sống này dễ dàng hơn bằng những cách thông minh và sáng tạo, và rằng, lần sau chú phải máu lên, đừng sợ ai, hãy tự xây dựng cho mình một tinh thần chất vấn người khác nhưng đồng thời là chính bản thân mình.
Thế nên, ngành nghề nào cũng vậy, luôn có những con người thú vị, không phải chỉ mà mấy tay cặm cụi gõ phím khô khan.
4. Front-end hay Back-end
Với nhiều người tay ngang như mình thì mình bước đầu tiếp cận lập trình có lẽ là Front-end, khi mà nhiều khoá học hay quảng cáo đều hướng đến. Nhưng sau một thời gian đi làm thì mình hiểu được rằng làm Front-end không phải là chỉ cần biết Javascript, Angular hay React, và ngược lại với Back-end - không phải chỉ cần biết về Database, PhP hay Golang,.. Nói đúng hơn, lập trình viên phải có kiến thức tổng quát, phải hiểu về khoa học máy tính, về binary, cấu trúc dữ liệu và thuật toán nói chung,..Đó thực sự là nền tảng quan trọng nhất để làm nên những phần mềm lợi hại đầy hay ho. Thế nên, ông nào tay ngang như mình thì sau khi hiểu đôi chút về Front-end hãy cố gắng học và đào sâu hơn về kiến thức nền tảng. Một số nguồn tham khảo như là khoá học CS50 của Edx và series sách Head First về lập trình - đọc rất cuốn.
Nhân tiện nói về đọc sách thì chắc chắn là ít người có thể hiểu được một khái niệm ngay từ lần đầu tiên đọc. Có những thứ rất cơ bản thôi nhưng khi đi làm rồi mình đọc lại mới vỡ lẽ. Do đó, đọc sách là tốt, nhưng cũng không nên vì đọc không hiểu mà từ bỏ nhé. Cả quá trình đó giống như một bức tranh vậy, mỗi bài học bạn đọc được là một nét vẽ, và phải vẽ nhiều, kết hợp lại mới ra kết quả.
Có lần đi làm, sau khi code xong thì mình tạo Pull request (nôm na giống như việc các bạn nộp sản phẩm của mình vậy), và thým Q review code của mình. Mấy lần người khác review code, cảm giác căng như kiểm tra miệng vậy. Sau này thì mình thấy may mắn khi được review một cách tận tình đến thế: chỗ này tại sao code thế này, code thế này nhìn khó hiểu, đặt tên như vầy chưa hay,... đặc biệt có những lần rảnh rỗi review xong, thým Q hay hỏi mình hiểu về cái này cái kia hay không. Nếu không, sẽ chỉ cho mình, ví dụ đơn giản như việc khi code thì code làm sao, partten thế nào để người sau khi vô project có thể nắm bắt được vấn đề, làm cho máy móc chạy mượt mà, không bị tràn bộ nhớ, logic chặt chẽ, chuẩn chỉ file code đẹp như văn thơ, hê hê. Thật sự mình rất ấn tượng với thým Q khi giảng cho mình, thým hay kể ngày trước muốn làm giáo viên, oke, bây giờ thým có học trò rồi. Nhân tiện, thým có một tài khoản chuyên viết bài chuyên sâu về React trên Medium, nếu có cơ hội và được cho phép thì mình sẽ giới thiệu vào bài sau.
5. Tinh thần và sức khoẻ
Gỗ tốt chả sợ mối mọt là thế. Có bằng đại học thì dĩ nhiên các bạn đỡ chật vật hơn khi xin việc và vì vậy mà tinh thần cũng như sức khoẻ của bạn luôn sẵn sàng chiến đấu. Mình bị lo âu nặng và đau dạ dày chỉ vì lúc nào cũng lo nghĩ về thời hạn kết thúc hợp đồng intern, không biết xin việc tiếp ở đâu, mỗi lần làm chưa được, chưa đúng là lại lo.
Ngành lập trình có một process làm việc khá chặt chẽ (tuỳ công ty) nên guồng quay công việc rất đều, rất stress, rất deadline, dễ làm cho người lao động rơi vào trạng thái mất cân bằng. Do đó, hãy luôn chuẩn bị sức khoẻ, có khoẻ thì mới tính chuyện dài hơi được.
Tuy căng thẳng vậy mà nhìn mọi người trong team khá yêu đời (chắc lương to), mỗi khi release (tung bản cập nhật) là anh em lại chín mười giờ đêm mới về, đợt nào gắt quá là xuyên cả thứ 7 chủ nhật, nhưng sau cùng thì ai cũng thở phào nhẹ nhõm và tự hào đôi chút về thành quả lao động của mình. Và nhìn ngầu nữa. Hihi
Trên đây là đôi chút tấm lòng của mình cho các bạn trẻ và bạn trẻ tay ngang vào lập trình. Hy vọng sau bài này, mình sẽ tiếp tục được series tự học lập trình, cung cấp cho các bạn các nguồn để học và chia sẻ kinh nghiệm xin việc cũng như tất cả những gì mình biết. Cảm ơn các bạn đã đọc tới đây, ai có câu hỏi gì thì để dưới bình luận nhé :3
Truyền cảm hứng
/truyen-cam-hung
Bài viết nổi bật khác
- Hot nhất
- Mới nhất