[Sách] Hàng Trang Lập Trình – Những thái độ & kĩ năng Lập Trình Viên cần có
book
7
clean code
18
basic skills
4
reading
4
White

Tấn Tài Vũ viết ngày 22/02/2020

Mình từng giới thiệu cuốn The art of readable code nói về việc code sao cho chuẩn (clean, dễ maintain, ...), và cũng rất lâu rồi mình mới lại có bài viết để giới thiệu 1 cuốn sách mới. Có một điểm hơi đặc biệt một chút mà mình cũng muốn nói với các bạn từ đầu rằng là: đây là một cuốn sách do mình viết và xuất bản.

Các bạn có thể nói đây là 1 bài quảng cáo trá hình, không hẳn sai. Nhưng dưới một góc nhìn khác, mình muốn giới thiệu cho các bạn một cuốn sách có thể là hữu ích với công việc của các bạn, đặc biệt là các bạn Fresher và Junior khi đang ở trong những giai đoạn đầu tiên của sự nghiệp Lập trình viên.

Những thắc mắc khi mới bắt đầu

Đâu đó có một câu nói rằng: Nếu chúng ta đi, sẽ luôn có con đường, nhưng điều quan trọng là chúng có dẫn ta đến được nơi ta muốn. Đây chính xác là điều mà mình đã gặp phải: mình yêu thích máy tính, và mình biết rằng bản thân muốn trở thành một lập trình viên giỏi, dẫu luôn sẵn sàng để học hỏi, nhưng bản thân lại không biết nên làm những gì để đạt được điều đó!

Với vai trò lập trình viên có kinh nghiệm và một người từng giảng dạy các lớp lập trình, mình nhận được nhiều câu hỏi về những kiến thức và vấn đề các bạn trẻ đang/sẽ gặp phải trên con đường trở thành một lập trình viên:

  • Học gì dễ xin việc làm anh ơi?
  • Ngành X/Y/Z đang rất hot, em không học chuyên ngành đó ra trường có dễ kiếm việc không anh ơi?
  • Dù vẫn luôn học tốt các môn ở trường, em vẫn chưa hình dung được công việc của lập trình viên là gì?
  • Em nghe nói NodeJS đang hot, liệu ở trường học C# có ổn không anh?
  • Em đã xin được việc ở một công ty phần mềm, làm thế nào để tiến bộ trên con đường làm việc?
  • Công nghệ thay đổi quá nhanh, liệu những kiến thức của mình có mau bị lỗi thời?

Dù đã cố gắng để giúp các bạn giải quyết những thắc mắc, nhưng mình nhận ra một điều, các bạn sinh viên hoặc các bạn trẻ mới đi làm luôn phải đối mặt với rất nhiều câu hỏi khó. Các bạn sẽ gặp nhiều khó khăn khi tìm kiếm câu trả lời, vì những nguồn tài liệu tham khảo đáng tin cậy bằng tiếng Việt không nhiều, lại nằm rải rác ở nhiều nơi.

Đó là những lí do chính thôi thúc mình viết ra những hiểu biết hạn chế của bản thân để chia sẻ với các bạn.

alt text

Xác định được hướng đi là rất cần thiết

Cũng như các bạn, mình từng là một sinh viên, cũng từng là một người rải đơn xin việc ở rất nhiều công ty, cũng từng có nhiều thắc mắc tương tự trong con đường phát triển, nên mình rất thấu hiểu cho những băn khoăn của các bạn. Và mình nghĩ rằng, nên tìm một cách nào đó để chia sẻ những kiến thức và kinh nghiệm mình có được trong quá trình làm việc cho mọi người.

Không chỉ riêng mình, rất nhiều bạn cũng thắc mắc: Làm thế nào để trở thành một lập trình viên? Điều gì giúp chúng ta từ một lập trình viên bình thường trở thành một lập trình viên giỏi? Tại sao có những người có kĩ năng tốt, khả năng giải quyết vấn đề cũng rất nhanh, nhưng lại luôn mắc kẹt trong việc tiến xa hơn. Đi sai đường không những lãng phí sức lực, mà còn lấy mất đi cơ hội đi đúng của ta, vậy nên việc xác định được con đường đúng đắn là rất quan trọng.

Học nghề, vào nghề, phát triển trong nghề

Có một nguyên tắc khá đơn giản: Muốn có kinh nghiệm, muốn tiến bộ, chúng ta phải giải quyết nhiều vấn đề. Tuy vậy, một trong những điều cốt lõi ngăn cản ta tiến bộ đó là: chúng ta không biết mình đang/sẽ gặp phải những vấn đề gì liên quan tới lĩnh vực IT để có thể trang bị kĩ năng giải quyết cho tốt. Nếu gặp vấn đề, chúng ta luôn biết tìm cách trang bị kĩ năng để giải quyết, nhưng nếu không biết mình đang/sẽ gặp phải điều gì, việc chuẩn bị kiến thức sẽ khó khăn hơn nhiều.

Công việc của mình, trong cuốn sách này, là chỉ ra cho các bạn thấy được những vấn đề mà chúng ta sẽ gặp phải trên con đường trở thành một lập trình viên chuyên nghiệp. Tất nhiên, các bạn sẽ không phải đơn độc trong việc tìm ra giải pháp. Những kinh nghiệm mà mình đã trải qua hoặc thu nhặt được sẽ là một “trợ tá” đắc lực trong việc giúp các bạn tìm ra hướng giải quyết phù hợp cho các vấn đề của bản thân.

Đây cũng chính là nội dung của chương I: Những suy nghĩ và kĩ năng mềm cần thiết để bạn có thể hòa nhập và tiến xa trong lĩnh vực CNTT

  • Giai đoạn 1 – Học nghề: Trình bày những thái độ và kĩ năng học tập cần thiết để có thể học tập hiệu quả ở trường, cũng như chuẩn bị hành trang cho quá trình làm việc sau này.
  • Giai đoạn 2 – Vào nghề: Cung cấp một vài thông tin hữu ích liên quan tới việc tìm kiếm và ứng tuyển vào những công ty công nghệ, phần này cũng đưa ra vài góc nhìn liên quan tới việc đánh giá và so sánh nơi làm việc để bạn tìm ra được công ty phù hợp.
  • Giai đoạn 3 – Phát triển trong nghề: Sau khi đã tìm được nơi làm việc, phần này sẽ trình bày những suy nghĩ và cách tư duy làm việc để giúp bạn có thể tiến bộ hơn trong sự nghiệp lập trình viên.

Phần kĩ năng thì sao?

Ở phần trên chủ yếu nói về các kĩ năng mềm, vậy còn các kĩ năng kĩ thuật chính yếu thì sao? Mình sẽ đề cập tới điều đó trong chương 2 của cuốn sách. Chương này gồm các nội dung chính:

  • Phần 1 – Clean Code (Mã sạch): Những dòng code được viết ra không phải chỉ dành cho máy tính, mà còn là để cho con người (bảo trì, phát triển…), đây là điều cực kì quan trọng nhưng thường ít được dạy kĩ càng khi ở trường. Phần này sẽ hướng dẫn các bạn cách để viết mã sạch.
  • Phần 2 – Những nguyên lí lập trình nâng cao (SOLID): Viết code chạy được chỉ là bước đầu tiên, để trở thành lập trình viên giỏi chúng ta cần phải biết cách viết code dễ bảo trì, dễ mở rộng và linh hoạt hơn. Phần này sẽ cùng bạn bàn luận về những nguyên lí lập trình nâng cao mà mọi lập trình viên có kinh nghiệm cần phải biết.
  • Phần 3 – Đơn giản hóa các khái niệm kĩ thuật phức tạp: Lập trình không dễ, những cũng không thật sự khó, phần này sẽ cố gắng giải thích những khái niệm và kĩ thuật phức tạp nhằm giúp bạn có thể nhanh chóng nâng cao kĩ năng của bản thân.

Các kĩ năng này tuy không mới, nhưng rất nền tảng và sẽ theo bạn trong suốt quãng đời làm nghề. Vậy nên tiếp cận sớm với nó cũng không thừa.

Cuối cùng

Đây là một cuốn sách về kĩ thuật, nhưng bạn đừng quá lo lắng nếu như chưa có nhiều kiến thức chuyên môn trong ngành. Cuốn sách này được thiết kế và trình bày đơn giản để ngay cả những bạn không có nhiều kinh nghiệm cũng có thể hiểu một cách dễ dàng.

(Các bạn có thể tìm mua trên các trang thương mại điện tử như Tiki, Fahasa, ...)

Cảm ơn các bạn.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Tấn Tài Vũ

15 bài viết.
115 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
38 7
Nguồn: (Link) Nhắc lại về các kiểu dữ liệu trong Javascript, ta có 5 kiểu dữ liệu cơ bản và 1 kiểu dữ liệu phức hợp. 5 kiểu dữ liệu cơ bản bao gồm...
Tấn Tài Vũ viết 3 năm trước
38 7
White
35 9
Note: Bài viết nguồn ở đây: (Link) Con trỏ this có lẽ là một khái niệm không mấy xa lạ trong lập trình hướng đối tượng, nó là một thể hiện cho đố...
Tấn Tài Vũ viết 3 năm trước
35 9
White
26 5
Mấy hôm nay có dịp ôn lại về HTTPS, mặc dù đã có nhiều tài liệu nói về giao thức này nhưng hầu hết chúng thường được mô tả bằng ngôn ngữ kĩ thuật t...
Tấn Tài Vũ viết hơn 2 năm trước
26 5
Bài viết liên quan
White
9 0
Tham khảo: (Link) Lời nói đầu: Code should be easy to understand – code cần phải dễ hiểu 1. The art of readable code Cái tên nói lên tất cả Có ...
Tấn Tài Vũ viết 3 năm trước
9 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
115 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!