[Sách] Hàng Trang Lập Trình – Những kĩ năng LTV cần có

Đâ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 đó!

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

Với vai trò lập trình viên có kinh nghiệm và một người từ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.

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.

Một số nhận xét của cuốn sách

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 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. Đối tượng hướng tới của sách là các bạn sinh viên và mới ra trường mà, đương nhiên là các bạn có nhiều kinh nghiệm cũng có thể đọc để tham khảo cũng được nhé.

Sách đã phát hành trên các hệ thống bán lẻ (Tiki, Fahasa, …), các bạn có thể mua sách tham khảo trên đó nhé.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s