Những kỹ năng quan trọng của một lập trình viên

Cho dù bạn sử dụng ngôn ngữ lập trình nào thì đây luôn những kĩ năng cực kì quan trọng cho các lập trình viên trong tương lai.

 

  1. Tập trung vào thói quen, không phải mục tiêu

Đầu tiên có vẻ bất hợp lí khi nói bạn không nên nhắm đến các mục tiêu, nhưng các thói quen sẽ là đòn bẩy giúp bạn hoàn thành chúng.

Nếu bạn tập trung vào xây dựng thói quen lập trình khoảng 20 đến 30 giờ mỗi tuần , bạn sẽ đạt được mục tiêu là trở thành nhà phát triển web. Còn nếu bạn nhắm đến việc trở thành một nhà phát triển web sau X tháng, bạn chẳng nhận được gì ngoài stress và bất an về những thứ mà bạn chưa làm được. Hãy tập trung vào thói quen, không phải mục tiêu.

 

Và đây là những điều bạn cần làm ngay bây giờ: dành 15 phút mỗi ngày để học lập trình. Đừng bỏ ra nhiều hơn, chỉ cần tập trung 15 phút mỗi ngày. Nếu bạn có thể làm điều này liên tục trong một tuần, hãy tăng lên thành 20 phút mỗi ngày. Đừng quá gắng sức mà đặt mục tiêu tới 1h mỗi ngày ngay những ngày đầu tiên, đây là một cuộc đua marathon 10.000 giờ nên chúng ta sẽ tập trung vào việc xây dựng thói quen trước. Các vận động viên marathon cũng vậy, quãng đường 42km không phải một sớm một chiều mà đạt được, phải làm quen với những quãng chạy ngắn hơn. Số phút bạn đặt ra không quan trọng bằng việc bạn thực hiện mỗi ngày.

 

  1. Học một mình rất chán

Khi tôi học phát triển web, hai thành phần quan trọng nhất là một cố vấn và một cộng đồng. lành mạnh.

Lợi ích của việc có một người hướng dẫn: Tôi làm việc ở một start-up nhỏ tên là merge.fm khi còn ở trường đại học. Cả mùa hè tôi dành thời gian để làm việc với một trong những sáng lập viên và nhận ra rằng những gì mình học được còn hơn cả một năm học ở trường. Làm việc bên cạnh một chuyên gia biết nhiều điều hơn bạn sẽ tăng tốc độ học của bạn, bạn có thể học cách tư duy của họ và biết được những gì mình chưa biết. Đó là lí do tại sao có một cố vấn là tiêu chuẩn thực tế khi bạn bắt đầu lăn lộn vào bất kì ngành nghề gì, nó thực sự rất hiệu quả.

 

Tham gia một cộng đồng nào đó: Với tôi, hai cộng đồng quan trọng nhất mà tôi tham gia là HackerNews (một cộng đồng hacker/startup lớn định hướng online) và r/programming của Reddit.

Những gì tôi học được không phải là những lớp (class) và đối tượng (object), nhưng tôi học được những thứ khác ví dụ như JavaScript bị rất nhiều người ghét. Tôi học được rằng những lập trình viên Ruby rất ngầu và Bret Taylor, Rich Hickey và John Carmack là những “thần” lập trình. Tôi học được rằng nhiều công ty phần mềm có cà phê ngon cũng như căng tin khủng. Đó là những điều quan trọng khi làm việc với những nhà phát triển khác, và cũng khiến tôi cảm thấy như một nhà phát triển thực thụ.

  1. Tự xây dựng các dự án

Trong năm đầu tiên học về phát triển web, tôi đã xây dựng một vài dự án

  • Một ứng dụng thương mại điện tử (với công ty làm thêm)
  • Một ứng dụng tương tác nhóm (dự án cá nhân)
  • Một lớp học trực tuyến thời gian thực (dự án cá nhân)
  • Một ứng dụng Flashcard học ngoại ngữ (đồ án ở lớp)

Tôi nghĩ rằng bắt tay vào làm những dự án thực tế rất quan trọng vì nhiều lí do khác nhau, nhưng lí do quan trọng nhất với tôi là nó rất vui. Đó là một trong những mất mát lớn lao nếu bạn học kiểu truyền thống. Những dự án sẽ dạy cho bạn cách xử lí sự cố cũng như tìm hướng đi cho riêng mình thay vì chỉ bắt chước những người khác. Việc thu thập tài nguyên để xây dựng dự án cũng là một việc cần nhiều công sức, http://github.com là một nơi khá tốt.

  1. Hãy trở thành con gián

Phần này được bí mật thêm vào nếu như bạn đã mất công đọc đến tận đây.

Paul Graham, người sáng lập Y Combinator đã từng nói với những người xây dựng Airbnb:

“Các bạn sẽ không chết, các bạn sống dai như con gián ấy”

Sẽ có lúc bạn muốn bỏ việc học code. Nhưng thứ gì cũng có giá của nó, lập trình khó và sẽ làm bạn cảm thấy mình ngu ngốc. Đó là lí do tại sao kĩ năng đầu tiên rất quan trọng – đừng lo lắng bạn sẽ tiến bộ đến đâu hay bao lâu nữa bạn mới có thể thành công. Những gì bạn cần làm là thật chăm chỉ, khoản 10-30 giờ mỗi tuần. Đừng để tâm vào những thứ khác và đừng “chết”.

 

Bài viết của Roshan Choxi, CEO và sáng lập viên của Bloc

 

Dịch: Vũ Vượng (Spiderum)