5 Điều nên làm để trở thành lập trình viên giỏi


Những lập trình viên giỏi xung quanh đã có những bí quyết gì để ngày càng phát triển bản thân hơn? Cùng đọc bài viết này để lên dây cót cho mình nhé.

1. Cách viết code clean và code cứng

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.

The Art of Readable Cod

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 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 backend, 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ề quy 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.

Domain Knowledge

Những thứ này người ta gọi là Domain Knowledge

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ó quy 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 backend nhưng không reproduce được, thay vì vò đầu bứt 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!

Senior hơn junior là ở chỗ tiếp cận vấn đề có qui trình hơn!

Senior hơn junior là ở chỗ tiếp cận vấn đề có qui trình 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 review, đò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”.

 

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.

Bạn có thể đọc thêm sách để cải thiện vấn đề này.

 

Tạm kết

Trong ngành CNTT, 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.

Theo toidicodedao.com

Japan IT Works 





Việc làm theo chuyên ngành

Việc làm theo ngành

Việc làm theo tỉnh thành