Joel Spolsky, một lập trình viên kỳ cựu, đã dành thời gian chia sẻ những lời khuyên quý giá dành cho sinh viên ngành Khoa học Máy tính. Ông không ngại thừa nhận rằng thế giới công nghệ thay đổi nhanh chóng đến mức ngay cả những người có kinh nghiệm cũng có thể trở nên lạc hậu. Tuy nhiên, những nguyên tắc nền tảng mà ông đưa ra lại vượt thời gian, giúp sinh viên có thể định hướng sự nghiệp một cách vững chắc.

Viết giỏi – Kỹ năng sống còn của lập trình viên

Không ai có thể phủ nhận rằng Linus Torvalds đã đóng góp rất lớn trong việc tạo ra Linux, nhưng chính khả năng diễn đạt ý tưởng của ông qua email và mailing list đã giúp Linux thu hút sự đóng góp từ khắp nơi trên thế giới. Điều tương tự cũng đúng với những phong trào công nghệ như Extreme Programming. Nếu không có những người có tài năng viết lách và thuyết phục, những ý tưởng này có thể sẽ không bao giờ được biết đến rộng rãi.

Spolsky nhấn mạnh rằng lập trình viên giỏi không chỉ biết nhiều ngôn ngữ lập trình mà còn phải có khả năng truyền đạt suy nghĩ một cách rõ ràng. Viết tài liệu tốt giúp người khác hiểu và sử dụng mã nguồn của bạn, thay vì phải viết lại từ đầu. Không có kỹ năng viết, dù bạn có giỏi đến đâu, phần mềm của bạn cũng có thể bị lãng quên. Ông thậm chí còn tuyên bố rằng mình sẽ không thuê ai nếu người đó không thể viết tốt bằng tiếng Anh.

Hiểu C – Tiếp cận gốc rễ của lập trình

Spolsky không ngần ngại khuyên sinh viên nên học C trước khi tốt nghiệp, bởi đây là ngôn ngữ giúp bạn hiểu sâu về cách máy tính thực sự hoạt động. Dù C++ và các ngôn ngữ hiện đại có nhiều tính năng mạnh mẽ, nhưng việc hiểu C giúp bạn có tư duy tối ưu hóa mã nguồn, làm việc với hệ điều hành, viết trình biên dịch và thiết kế kiến trúc phần mềm hiệu quả hơn.

Ông lập luận rằng một lập trình viên không thể giải thích được đoạn mã while (*s++ = *t++); sao chép một chuỗi thì giống như một bác sĩ không biết về giải phẫu cơ thể nhưng vẫn kê đơn thuốc. Việc hiểu cách hoạt động của phần cứng và bộ nhớ là vô cùng quan trọng để trở thành một lập trình viên thực thụ.

Kinh tế học vi mô – Hiểu cách thế giới vận hành

Nhiều sinh viên có thể tự hỏi: “Lập trình thì liên quan gì đến kinh tế?” Nhưng theo Spolsky, hiểu về cung và cầu, lợi thế cạnh tranh và giá trị hiện tại ròng (NPV) sẽ giúp bạn không chỉ viết phần mềm tốt hơn mà còn hiểu được những quyết định kinh doanh trong công ty. Nếu bạn muốn xây dựng một startup hoặc làm việc trong ngành công nghệ, hiểu về kinh tế học sẽ giúp bạn tránh những quyết định sai lầm.

Đừng coi nhẹ các môn học không phải Khoa học Máy tính

Không ít sinh viên bỏ bê những môn học ngoài ngành vì nghĩ chúng không quan trọng. Nhưng Spolsky cảnh báo rằng nhà tuyển dụng sẽ đánh giá điểm số tổng thể, không chỉ điểm của các môn lập trình. Ông kể lại trải nghiệm học Nhân học Văn hóa – một môn học mà ông thấy cực kỳ nhàm chán. Tuy nhiên, thay vì bỏ cuộc, ông xem đây là thử thách để rèn luyện bản thân. Điều này giúp ông hiểu rằng bất cứ công việc nào cũng có phần nhàm chán, và khả năng chịu đựng những điều không thú vị chính là một lợi thế lớn trong sự nghiệp.

Chọn các khóa học lập trình chuyên sâu

Khoa học Máy tính và Phát triển Phần mềm không hoàn toàn giống nhau. Trong khi nhiều trường đại học tập trung vào lý thuyết, sinh viên muốn trở thành lập trình viên giỏi nên chọn những môn học đòi hỏi thực hành lập trình nhiều. Những khóa học có chữ “Practical” trong tên thường là những khóa học thực tiễn, nơi bạn sẽ học cách viết phần mềm thực sự thay vì chỉ chứng minh lý thuyết.

Đừng lo lắng về việc mất việc vào tay lập trình viên ở Ấn Độ

Spolsky bác bỏ nỗi sợ hãi rằng công việc lập trình sẽ bị chuyển hết sang Ấn Độ hay Trung Quốc. Ông chỉ ra rằng những lập trình viên giỏi vẫn luôn được săn đón. Ngay cả khi thị trường thay đổi, kỹ năng lập trình cũng mang lại nhiều cơ hội nghề nghiệp khác như tư vấn quy trình kinh doanh. Hơn nữa, theo ông, phần lớn những sinh viên bỏ ngành Khoa học Máy tính chỉ đơn giản là vì họ không thực sự yêu thích lập trình ngay từ đầu.

Có một kỳ thực tập thật tốt

Theo Spolsky, một sai lầm lớn của sinh viên là làm những công việc không liên quan đến lập trình trong mùa hè, thay vì kiếm một công việc thực tập liên quan đến ngành. Ông cho rằng các nhà tuyển dụng luôn tìm kiếm những ứng viên có kinh nghiệm thực tế, ngay cả khi đó là viết phần mềm quản lý khách hàng cho phòng khám nha khoa hay lập trình website cho báo sinh viên. Những kinh nghiệm này sẽ làm cho hồ sơ của bạn nổi bật hơn hẳn so với những ứng viên chỉ có bằng cấp mà không có thực hành.

Lời kết

Spolsky không chỉ đưa ra lời khuyên lý thuyết, mà còn từ chính trải nghiệm cá nhân. Ông không nói rằng ai cũng phải làm theo những gì ông gợi ý, nhưng nếu bạn thực sự yêu thích lập trình, thì đây là những lời khuyên đáng để cân nhắc. Học cách viết, hiểu lập trình ở cấp độ thấp, nắm vững kinh tế cơ bản, chọn môn học có thực hành nhiều, và tìm một công việc thực tập tốt – tất cả những điều này sẽ giúp bạn có một sự nghiệp thành công trong lĩnh vực công nghệ.

Posted in , ,