Nếu bạn đã tiếp xúc với coding được một thời gian, bạn chắc hẳn đã có một vài nhận định về thế giới lập trình. Nhưng trong bài viết này, bạn sẽ biết thêm được một vài điều thú vị mà không phải ai cũng có thể nhìn ra được. Cùng WorkLabs CodingSchool khám phá nhé!

Lập trình là một nghệ thuật 

Có rất nhiều ý kiến trên các diễn đàn mạng cho rằng: lập trình giống với một môn nghệ thuật, hơn là một môn kỹ thuật hay khoa học. Theo một cách nào đó, lập trình cũng có thể được nhìn nhận như một môn nghệ thuật.

Nhìn chung lập trình đặt ra những hướng dẫn chi tiết, cụ thể, theo các quy tắc chặt chẽ để máy tính có thể thực hiện những công việc theo yêu cầu của lập trình viên. Một ứng dụng lại có rất nhiều những bộ hướng dẫn như thế, tạo ra tổ hợp rất nhiều tính năng của ứng dụng đó.

Tính nghệ thuật nằm ở chỗ, tuy mọi thứ đều phải nằm trong một khuôn khổ nhất định, nhưng tựu chung đều tạo ra sự phối hợp nhịp nhàng giữa rất nhiều tính năng, rất nhiều tác vụ mà máy tính có thể thực hiện. Viết ra một chương trình máy tính, cũng giống như tạo ra một bản giao hưởng. Trong đó, mỗi loại nhạc cụ tượng trưng cho một tính năng, tác vụ. Mọi thứ giao thoa với nhau, phối hợp uyển chuyển đến từng chi tiết. Tất cả mọi thứ trong bất kỳ một ứng dụng nào đều đang vận hành, tương tác với nhau như một bản giao hưởng thính phòng.

Không chỉ thế, tuy có những quy tắc chặt chẽ nhưng công việc lập trình lại thể hiện sự sáng tạo, độc đáo của từng lập trình viên. Cùng một mục tiêu, nhưng mỗi lập trình viên lại có những cách nhìn và cách triển khai khác nhau. Viết code tuy thiên về kỹ thuật nhưng vẫn đòi hỏi rất nhiêu sự sáng tạo và đột phá để đạt hiệu quả tối ưu.

Người mới vào nghề thường thích lên mặt trăng 

Đây là một sự thật mà không nhiều người dám nhìn nhận. Những lập trình viên mới ra nghề, chưa va vấp nhiều và chưa có trải nghiệm thường có một sự tự tin nhiều hơn mức cần thiết. Họ thường có những ước muốn rất lớn lao, như tạo ra một Google thứ hai, Facebook thứ hai, v.v. Nhưng vấn đề nằm ở chỗ, họ chưa nhìn ra cái giá phải trả để có thể đạt được những ước mơ to lớn ấy.

Với những người có nhiều kinh nghiệm sẽ hơi khác một chút. Họ vẫn ước mơ, đôi khi ước mơ cũng rất lớn lao, nhưng họ luôn cố gắng dự đoán những trở ngại, những khó khăn trên con đường họ đang đi. Chính sự thận trọng và chuẩn bị này giúp họ không bị vùi dập quá mức, không bị khủng hoảng tinh thần khi hặp những chướng ngại vật trên con đường thực hiện ước mơ to lớn. Ước mơ luôn là một điều tốt, nhưng thế vẫn chưa đủ. Cần có một cách nhìn thực tế và đúng đắn hơn, và một kế hoạch để đạt được ước mơ đó.

Bạn không cần phải gõ phím thật nhanh để trở thành lập trình viên giỏi 

Gõ phím, hay goc code, là một công việc cực kỳ quen thuộc và gắn liền với sự nghiệp coding của bạn. Tuy nhiên, bạn đừng bao giờ nghĩ rằng gõ code nhanh là đủ để pháy triển trong ngành này nhé. Có một câu đùa rằng “đừng để tay nhanh hơn não”. Ở đâu cũng vậy, ngay cả trong lập trình, “tay nhanh hơn não” luôn là một thói quen cần phải loại bỏ ngay lập tức.

Những lập trình viên nhiều kinh nghiệm thường dành phần lớn thời gian làm việc của mình để phân tích, đánh giá, lựa chọn giải pháp, hình dung các khả năng, xây dựng kiến trúc và kế hoạch trước khi bắt tay vào “gõ phím”. Nói thì dễ, nhưng thực hành việc này lại rất khó. Tâm lý của các lập trình viên mới thường rất nôn nóng, muốn chứng tỏ bản thân nhanh nhất có thể. Từ đó cứ lao vào code mà không lên kế hoạch, không đánh giá các giải pháp và chọn giải pháp một cách hợp lý. Cuối cùng ta có được một sản phẩm đầy lỗi, hoạt động kém hiệu quả và không thể vận hành, bào trì dễ dàng. Đôi khi giải pháp đưa ra lại là “đập đi xây lại”, tốn rất nhiều thời gian và công sức.

Chính vì vậy, các bạn lập trình viên mới phải luôn hướng đến mục tiêu “Work Smarter, Not Harder”. Hãy dành nhiều thời gian để phân tích và lên kế hoạch trước khi bắt đầu code bạn nhé. Thuần thục được thói quen này chính là lúc bạn trở thành một lập trình viên giỏi.

Bạn nghĩ sao về những nhận định trên? Bạn có những chia sẻ nào khác về ngành lập trình không? Hãy chia sẻ tại fanpage WorkLabs nhé. Happy Coding </>