Từng là một cựu sinh viên ngành Kỹ thuật phần mềm của trường Đại học FPT TP.HCM nhưng Phạm Huy Hoàng không chỉ có code, anh còn là một hot blogger, một youtuber, một tác giả sách. Trang blog với tên gọi Toidicodedao.com của anh Phạm Huy Hoàng thu hút 300.000 lượt view mỗi tháng. Tính tới nay đã có khoảng 8 triệu lượt view.
Chuyện coding, chuyện nghề nghiệp, chuyện linh tinh… trang blog giúp nhiều bạn “crush” công nghệ thông tin hiểu hơn về nghề nghiệp. Với những ai theo đuổi ngành này không đơn thuần là khô khan, cứng nhắc, chỉ code và code hay suốt ngày dán mắt vào “người tình mặt vuông”.
“Blog này sẽ là nơi chứa những bài viết mà, developer nào đọc xong cũng sẽ vỗ đùi 1 phát : *** giá hồi xưa đi code mình biết cái này 🙂 ” – anh Huy Hoàng chia sẻ.
ĐH FPT TP.HCM xin phép trích đăng 1 trong rất nhiều bài viết triệu view trong blog Toidicodedao.com của tác giả Phạm Huy Hoàng.
5 ĐIỀU NÊN LÀM ĐỂ TRỞ THÀNH LẬP TRÌNH VIÊN GIỎI
1. Cách viết code clean và code cứng
Phương châm của blog là: Lập trình viên không phải chỉ biết code. Tuy nhiên, phần lớn thời gian chúng ta bỏ ra khi đi làm là để … viết code.
Chúng ta viết code để hiện thực 1 features nào đó, để tạo ra sản phẩm. Code ít lỗi thì sản phẩm chúng ta làm ra mới tốt, code clean thì người khác mới dễ đọc, dễ bảo trì.
Chưa kể, đồng nghiệp, cấp trên sẽ đánh giá khả năng, trình độ của bạn dựa trên những dòng code mà bạn viết ra. Viết code tởm, code tạm bợ sẽ khiến bạn bị … người đời phỉ nhổ.
Do vậy, muốn thành 1 lập trình viên giỏi, trước tiên bạn phải học cách viết code clean và code cứng. Chi tiết thì dài lắm, mình đi làm 4-5 năm rồi nhưng vẫn phải học mỗi ngày nên khó chia sẻ hết trong bài này được.
Cuốn Clean Code ai cũng biết rồi nên nay mình giới thiệu cuốn The Art of Readable Code nha!
2. Hiểu biết sâu về 1 công nghệ/lĩnh vực nào đó
Tất nhiên, code giỏi là điều kiện cần chứ chưa phải là đủ. Để nâng cao giá trị bản thân, bạn cũng nên tập trung master (nôm na là làm trùn, lộn, làm “trùm”) một công nghệ, lĩnh vực nào đó.
Ví dụ, bạn thấy thích front-end. Đừng chỉ tập trung vào code, mà hãy nghĩ tới cách làm giao diện, cách thiết kế UI/UX, flow hợp với người dùng. Hoặc bạn có thể tìm hiểu cách optimize code, optimize performance của React/Angular.
Hoặc nếu bạn thích back-end, bạn có thể tập trung thêm vào thiết kế hệ thống, tìm hiểu sâu về database optimize, caching, infrastructure v…v.
Bên cạnh công nghệ, kiến thức về 1 lĩnh vực nào đó, kiến thức về qui trình cũng khá quan trọng!
Ví dụ, bạn từng làm dev cho các công ty liên quan tới trading, kiến thức trading đó sẽ rất có giá trị khi bạn nhảy qua các công ty liên quan đến tài chính, stock.
Những kiến thức này giúp bạn hiểu rõ hơn những về cách hệ thống hoạt động, cover được nhiều trường hợp hơn, tiếp nhận requirement từ user nhanh chóng hơn.
3. Tiếp cận vấn đề một cách có hệ thống
Làm một thời gian rồi, bạn sẽ luyện được cách tiếp cận vấn đề một cách bài bản, có hệ thống, có qui trình chứ không … mò mẫm nữa. Ví dụ:
• Khi nghe thấy có bug front-end, thay vì mò mẫm thì ta có thể check bug đó ở browser nào, trang nào, sau đó thử reproduce. Sau khi reproduce ta mở Developer Tool lên để xem có lỗi gì không, sau đó mới check code xem đoạn nào gây lỗi.
• Khi có lỗi back-end nhưng không reproduce được, thay vì vò đầu bức tai thì ta kiểm tra log, kiểm tra monitoring xem có alert hay notify gì không.
• Khi làm 1 chức năng mới, thay vì cắm đầu code ngay thì ta thiết kế trước flow, UI, những module cần thiết; sau đó check lại xem cách nào có đáp ứng đủ yêu cầu hay không. Sau đó mới bắt đầu code.
Tiếp cận vấn đề có hệ thống sẽ giúp bạn tiết kiệm khá nhiều thời gian, công việc trơn tru hơn, chuyên nghiệp hơn!
4. Tiếp cận phần mềm dưới góc nhìn của user/business
Nếu chỉ biết cắm đầu vào code, giao task gì làm nấy, giá trị của bạn mang lại chỉ có hạn. Công việc của lập trình viên chúng ta không phải là code, mà là dùng khả năng code để đem lại giá trị cho sản phẩm, cho người dùng.
Thật vậy, khi code, bạn hãy thử đặt mình vào vị trí người dùng, vị trí của CEO hoặc team lead, tự hỏi mình những câu hỏi sau:
• Chức năng này code ra cho ai dùng? UI/UX thế này đã thân thiện với người dùng chưa?
• Chức năng này code ra có đem lại giá trị gì không? Có giúp người dùng vui hơn không? Có mang lại doanh thu/lợi nhuận thêm cho công ty không?
• Task này mình làm tiết kiệm được thời gian cho anh em trong nhóm, cho các bạn operator và customer support hay không?
Khi làm vậy, bạn sẽ thấy được những task nào nên làm, không nên làm, công sức mình bỏ ra đã giúp được những ai.
Khi có performance reveiw, đòi tăng lương, bạn cũng có cơ sở mà đòi vì “Em đã làm cái A cái B này đem lại quá trời tiền cho công ty”.
Trước khi làm cái gì cũng nên hỏi “Code cái này có ra tiền không” nha :))
5. Kĩ năng mềm/thuyết trình/chém gió
Dù bạn có giỏi thế nào, thiết kế hệ thống xịn tới mấy, mà không giải thích được cái hay, cái giỏi đó cho đồng nghiệp, cho cấp trên; thì cái sự giỏi ấy cũng không có tác dụng nhiều.
Chưa kể, khi bạn lên những vị trí cao hơn như team lead, manager, thời gian dành cho việc code sẽ ít lại; thay vào, bạn sẽ phải bỏ ra thêm thời gian để thuyết phục member, trình bày cho cấp trên, chém gió cho các team khác.
Do vậy, muốn thành lập trình viên giỏi, có sức ảnh hưởng, bạn phải có chút kĩ năng mềm để thuyết phục người khác làm theo ý mình; có kĩ năng thuyết trình/chém gió để trình bày vấn đề với cấp trên.
Phần này thì mình cũng không biết rèn luyện ra sao! Bản thân mình chỉ quan sát mấy bác manager/team lead/CEO xung quanh, sau đó kiếm thêm sách về đọc thôi.
Tạm kết
Trong ngành mình, khả năng quyết định tất cả, tiếp tới là may mắn. Nếu bạn có khả năng, nếu bạn đủ giỏi, bạn có rất nhiều cơ hội, thể dễ dàng nhảy việc, dễ dàng deal lương!
Do vậy, đừng quá tập trung vào vài đồng lương vụn vặt, mà hãy cố gắng biến mình giỏi hơn hàng ngày Nâng cao trình độ của mình, tiền bạc sẽ tự theo đuổi bạn nha.
Nếu bạn nào có kinh nghiệm, cách rèn luyện để trở thành lập trình viên giỏi thì cứ comment chia sẻ với mọi người nhé.
Tác giả: Phạm Huy Hoàng – Hot Blogger Toidicodedao.com
Anh Hoàng là 1 trong 3 diễn giả của talkshow: Nghề IT có như lời đồn? phát sóng trực tiếp trên fanpage: FPT University HCM vào lúc 19h00-20h00. Sự xuất hiện của anh Hoàng được nhiều người đón đợi. Với kinh nghiệm học tập ở Đại học FPT, học Thạc sỹ ở Anh Quốc, phỏng vấn làm việc trời Tây, làm việc ở một start-up tại Singapore, anh Hoàng sẽ giúp nhiều bạn hiểu thêm về nghề IT.
Năm 2020, ĐH FPT tuyển sinh các ngành Quản trị Kinh doanh (Digital Marketing, Kinh doanh Quốc tế, Quản trị Khách sạn, Quản trị Dịch vụ Du lịch và Lữ hành, Quản trị Truyền thông Đa phương tiện); Ngôn ngữ Anh; Ngôn ngữ Nhật; Ngôn ngữ Hàn Quốc; Công nghệ thông tin (Kỹ thuật Phần mềm, Hệ thống thông tin, Trí tuệ nhân tạo, An toàn thông tin, IoT, Phần mềm ô tô (dự kiến), Xử lý dịch vụ số (dự kiến), Thiết kế Mỹ thuật số). Dựa trên công cụ tra cứu xếp hạng học tập SchoolRank, trường ĐH FPT sẽ chỉ tuyển TOP50 học sinh trên cả nước theo hình thức học bạ và điểm thi THPT Quốc gia. Ngoài ra, TOP30 có cơ hội tham gia chinh phục học bổng của trường vào ngày 28/6. Thí sinh quan tâm, vui lòng gọi điện 028 73005588 hoặc xem thêm thông tin TẠI ĐÂY.
Ngay từ bây giờ, thí sinh có thể đăng ký để được tư vấn và giành cơ hội trở thành sinh viên Đại học FPT.