Hành trình trở thành lập trình viên cho người mới

Trở thành lập trình viên – một nghề siêu hot vô cùng được săn đón trong thế kỷ 21 và đem lại mức thu nhập hàng nghìn đô mỗi tháng là mơ ước của nhiều anh em yêu thích công nghệ. Để chinh phục hành trình này, bạn cần tự xây dựng cho mình một con đường rõ ràng.

1. Học những kiến thức cơ bản

Bất kể theo đuổi công việc nào thì bạn cũng cần có sự khởi đầu từ những điều cơ bản.

Trở thành lập trình viên với những kiến thức căn bản

1.1 Kỹ thuật lập trình

Đầu tiên, muốn trở thành lập trình bạn phải phân biệt được những thuật toán cơ bản về sắp xếp, tìm kiếm, hiểu rõ các mảng một chiều và hai chiều làm việc như thế nào? Đóng mở và thao tác trên file ra sao? Tại sao người ta cần dùng Struct thay vì việc phải dùng cả trăm mảng cho một bài toán có nhiều thành phần phức tạp?…

Tất nhiên, không nhất thiết phải học những điều này ở trường đại học. Ai cũng có thể lên cho mình một kế hoạch với lộ trình học rõ ràng. Bạn thậm chí có thể “tự học” với sự nghiêm túc hơn cả học ở trường lớp nào đó. Bởi công nghệ thông tin (CNTT) là ngành thay đổi liên tục nên không ai có thể tự tin mình am hiểu một công nghệ, một kiến thức đã được học mãi mãi. Điều quan trọng giúp lập trình viên thành công là ở khả năng tự học và tư duy logic.

Và một sự thật là “56% lập trình viên không có bằng đại học về khoa học máy tính hoặc lĩnh vực liên quan” theo khảo sát được thực hiện dành cho các nhà phát triển năm 2016 bởi Stack Overflow.

1.2 Cơ sở dữ liệu

Bên cạnh tư duy lập tình – tư duy logic thì cơ sở dữ liệu là môn học chuyên ngành quan trọng bậc nhất. Một lập trình viên cần phải nắm rõ và vận dụng thành thạo những thao tác tối thiểu như: tạo Database, tạo Table, chèn dữ liệu vào Table, tạo ra các “bẫy lỗi” trigger, viết các function, store procedure… Hoặc nâng cao hơn bằng ứng dụng deadlock trong việc giải quyết “tranh chấp khóa”… Ở những giai đoạn đầu này, hãy nâng cấp bản thân bằng một tầm nhìn đủ để tự thiết kế ra một Database với mức vừa phải.

1.3 Lập trình hướng đối tượng

Điều cơ bản thứ 3 trên hành trình trở thành lập trình viên cho người mới là bạn cần:

+ Hiểu rõ cũng như vận dụng được đặc điểm của OOP bao gồm: tính trừu tượng, tính đóng gói, tính đa hình, tính kế thừa.

+ Hiểu rõ và tự thiết kế được một chương trình cơ bản sử dụng OOP (có thể tùy ý viết trên Java, C++, C#).

+ Đối tượng và Class khác nhau như thế nào? Làm sao để khai báo các thuộc tính và phương thức cho đối tượng?

+ Tại sao OPP lại được dùng?

Trên đây là 3 môn học cơ bản và thiết thực nhất cho nghề lập trình mà bạn không thể bỏ qua vì chúng có tính ứng dụng cao hơn hẳn so với các môn Toán, Trí tuệ nhân tạo, Phân tích thiết kế hệ thống…

Tóm lại, một lập trình viên cần phải vận dụng thành thạo những kiến thức cơ bản đã được học (ở trường lớp hoặc tự học) và hãy nhớ rằng “Mọi bài toán lớn đều chỉ là tập hợp các module nhỏ mà thôi”.

2. Học một công nghệ chuyên sâu

Khi theo học ngành nào đó, ai cũng cần xác định cho mình một chuyên ngành để có hướng đi chuyên sâu. Nhưng cũng đừng vì thế mà “hy sinh” các môn khác nhé, bạn cần cân bằng ở mức vừa phải bởi chúng đều có tác dụng nhất định phục vụ chuyên môn sau này.

Hãy đặt mục tiêu trở thành người thực sự giỏi trong môn học chuyên ngành của bạn. Đó không phải là vấn đề chinh phục điểm số mà là tích lũy, trau dồi kinh nghiệm cho chính bản thân mình để tự tin đi phỏng vấn, làm việc sau này. Đương nhiên chẳng ai trả tiền cho điểm số trừ khi bạn muốn trở thành giảng viên. Còn trên hết, năng lực cũng như kết quả thực tế sẽ quyết định mức thu nhập của bạn.

3. Lập trình viên giỏi luôn biết đặt câu hỏi

“Một người mà bắt đầu với khẳng định thì ắt sau đó sẽ nghi vấn. Nhưng một người bắt đầu bằng nghi vấn thì có thể sau đó sẽ là khẳng định”.

Sự ra đời của mỗi dự án, công trình lớn nhỏ đều bắt nguồn từ những câu hỏi trong suy nghĩ của người sáng lập: What? How?… Chính từ những câu hỏi tự đặt ra như vậy mà các nhà phát minh lý giải được vấn đề, tạo ra những ứng dụng tuyệt vời. Ví dụ có bao giờ bạn tự hỏi: “Tại sao chỗ này mình không dùng Struct thay vì dùng 100 mảng để làm nhỉ?” Khi tự hỏi và trả lời được thắc mắc của chính mình, bạn hoàn toàn có thể làm chủ vấn đề. Hãy tạo cho mình thói quen “đặt câu hỏi” nếu muốn trở thành lập trình viên sáng giá.

4. Tạo dự án của riêng mình bằng chương trình đơn giản nhất

Tạo dự án riêng là cách coder có thể chinh phục nhà tuyển dụng
Tạo dự án riêng là cách coder có thể chinh phục nhà tuyển dụng

Có thể là chương trình kinh điển “Hello World” hoặc cũng có thể là chương trình “Tư vấn tình yêu” mà bạn nghĩ ra, hay đơn giản là ứng dụng vài dòng lệnh như If, Else, Printf, Cout… nhưng nó nhất định phải được chính bạn làm ra từ đầu đến cuối. Hãy luôn dự trữ sẵn cho mình code đơn giản nhưng rõ ràng, logic… và đến lúc nào đó bạn sẽ thấy rằng nó cực kỳ hữu ích cho những bài toán lớn.

Hơn nữa, một project demo (ngay cả môn học ở lớp, báo cáo thực tập…) cũng giúp nhà tuyển dụng cảm thấy hào hứng với bạn hơn nhiều và dễ dàng “đánh gục” các ứng viên khác ở ngay bước đầu.

5. Làm việc thông minh để ít phải sửa lỗi bằng cách dành thời gian phân tích vấn đề/bài toán nhiều hơn

Bạn có biết, bài toán thường được giải quyết nhanh hơn với những người có thói quen “gõ phím” trong khi đầu nảy sinh vấn đề? Code có thể xong đời rồi nếu không được phân tích kỹ, hoặc là ngồi gỡ rối hoặc là “đập đi xây lại.”

Nếu không hình dung tổng qua và phân tích kỹ chương trình hay module đang làm thì bạn rất khó code nó thành công trôi chảy.

6. Review lại code

Đừng bỏ qua bước xem lại code vì không ai chắc chắn mình làm đúng hoàn toàn chỉ trong 1 lần. Có thể bạn sẽ gặp một vấn đề “củ chuối” mà mãi không tìm ra lời giải, đừng ngần ngại tham khảo những tiền bối có kinh nghiệm để không lãng phí quá nhiều thời gian.

Đừng quá bận tâm vào câu nói: “Việc tham khảo người khác là điều tồi tệ với coder”. Có thể nó đúng ở bề nổi, nhưng thực tế thì chẳng có ai biết hết mọi thứ trên đời. Thay vì việc ngồi mò mẫm cả ngày với một thứ mình chưa rõ, thì tham khảo ý kiến nhiều nguồn là một ý tưởng tốt, bạn có thể coi nó là kỹ năng làm việc nhóm. Bởi chúng ta đang học cách “tự học để trở thành coder”.

7. Công nghệ thường thay đổi nhưng đừng quá lo lắng

Đối với dân lập trình, việc đối mặt với công nghệ thay đổi thường xuyên là điều không thể tránh khỏi. Để phục vụ lập trình trở nên đơn giản hơn, đáp ứng tốc độ tải tốt hơn, tốn ít bộ nhớ hơn… thì các Tool, API, Frameworks và vài thứ khác có thể thay đổi hàng ngày.

Ví dụ: Các lập trình Java sẽ thường xuyên phải làm việc với nhiều Frameworks được thay đổi liên tục hàng tuần. Nhưng các khái niệm quan trọng thì vẫn giữ nguyên không đổi như Giao tiếp Client-server, MVC, Servlets/JSP, Chuyển đổi cú pháp XML…

Vì thế, đừng quá lo lắng về những thay đổi mà hãy tập trung vào việc nắm chắc kiến thức nền tảng giúp bạn tự học như Frameworks, API…

Coder cần cập nhật công nghệ thường xuyên cùng với trau dồi kiến thức nền tảng
Coder cần cập nhật công nghệ thường xuyên cùng với trau dồi kiến thức nền tảng

8. Đọc tài liệu và trau dồi tiếng Anh

Thường xuyên đọc tài liệu chuyên môn chất lượng giúp ích tới 50% sự thành công trong nghề IT bất kể là lập trình, mạng hay công nghệ gì. Đương nhiên, bạn cần tiếng Anh để đọc những tài liệu thực sự giá trị. Vì vậy, những bước đầu tiên của coder cần làm bao gồm cả học ngoại ngữ và tìm hiểu lập trình thông qua các cộng đồng, website tiếng việt khi chưa có ngoai ngữ như howkteam.com, khoapham.vn…

9. Tự tin là yếu tố quan trọng để lập trình viên thành công

Dù đi học hay đi làm, dù hoạt động trong lĩnh vực nào thì sự tự tin cũng là một phần giá trị của bạn. Nếu thiếu sự tự tin, bạn thậm chí có thể rớt ngay trong những bài báo cáo, thuyết trình khi đi học chứ chưa nói tới việc “bước vào thị trường lao động khốc liệt” đầy thử thách.

Điều đó không có nghĩa chúng ta được khuyến khích trở nên kiêu căng, ngạo mạn. Vẫn giữ phẩm chất khiêm tốn nhưng phải biết thể hiện bản thân mình đúng lúc, đúng chỗ để show cho người sử dụng lao động thấy năng lực thực sự của bạn. Đây cũng là phong cách làm việc chinh phục các công ty nước ngoài trên chính “sân nhà” của mình.

10. Lười thông minh

Chắc bạn đã từng nghe tỷ phú Bill Gates nói: “Tôi luôn chọn người lười cho những công việc khó khăn bởi họ luôn biết cách hoàn thành nó một cách dễ dàng”. Mặc dù làm việc phải có đam mê nhưng đừng để bản thân “siêng như trâu”. Đôi khi hãy để bản thân “lười thông minh” một chút, tức là “làm ít đi, nghĩ nhiều hơn” để tìm ra cách làm hiệu quả nhất.

Bài viết vừa chia sẻ 10 yếu tố quan trọng trên con đường chinh phục nghề lập trình cho người mới bắt đầu. Ngoài ra, khi bước vào môi trường làm việc thực tế, bạn cần trau dồi các kỹ năng khác như làm việc nhóm, chạy deadline, lên kế hoạch,… Chúc các bạn thành công!