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.
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 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.
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ụ:
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!
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:
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”.
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.
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é.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE