You are on page 1of 3

Bạn muốn trở thành một lập trình viên ?

Việt Thanh
Tổng hợp từ Internet

Giới thiệu Bạn cần gì để trở thành một lập


Thế là bạn nghĩ rằng lập trình trình viên?
là một thế giới vô cùng thú vị, và Tôi không nghĩ rằng có một vài
Không bao giờ sợ phải bạn muốn tham gia vào thế giới ấy? yêu cầu khó khăn nào đó khiến bạn
bắt đầu. Trước khi bạn bắt đầu, điều duy không thể trở thành lập trình viên,
nhất mà tôi muốn khuyên là: nếu tôi chỉ đơn giản nghĩ rằng bất cứ
Tôi sẽ không viết hai lần bạn thực sự yêu thích lập trình thì ai có một ít (hay rất nhiều) mong
cùng một đoạn mã giống đó rõ ràng là công việc tốt nhất mà muốn đều có thể trở thành lập trình
nhau. bạn có thể có được. Ngược lại, nếu viên. Vấn đề chỉ là bạn dành ra bao
bạn chỉ cảm thấy thích, hay không nhiêu thời gian. Điều đó có nghĩa
Khi phát triển phần mềm, quan tâm lắm đến lập trình, thì đó là tôi nghĩ có nhiều quan niệm sai
hãy nghĩ đến tương lai. rõ ràng là công việc tồi tệ nhất của lầm về những kỹ năng cần có để
Viết mã càng ít bao nhiêu, bạn. Bởi vì bạn đang gia nhập vào trở thành lập trình viên. Trước tiên,
mắc lỗi càng ít bấy nhiêu. một thế giới mà sự cạnh tranh luôn bạn không cần phải thật xuất sắc
là nỗi ám ảnh không thể tránh khỏi. trong môn Toán, bạn chỉ cần có
Bạn sẽ không bao giờ trở Phát triển phần mềm gần như là khả năng hiểu được những điều cơ
thành một lập trình viên một cuộc đua tranh. Trong đó, cuộc bản. Dĩ nhiên là có những ngoại
giỏi nếu chỉ tập luyện 2 sống của bạn là một con đường và lệ, nếu bạn có hứng thú trong lĩnh
giờ mỗi ngày. bạn phải chạy càng nhanh càng tốt, vực đồ họa hay lập trình game thì
không cần biết dưới chân có gì, một kiến thức Toán vững vàng sẽ
Tất cả các công việc đều cho đến khi gặp đồng bằng hoặc là giúp bạn rất nhiều. Một quan niệm
có phần thú vị và phần đụng phải vách đá cheo leo. Nếu sai lầm khác là bạn cần phải là
buồn chán, không có bạn sẩy chân, mọi thứ kết thúc, và thiên tài logic. Nói chung, điều đó
ngoại lệ. đó hoàn toàn là lỗi của bạn. Nghe không phải là bắt buộc, dĩ nhiên
có vẻ hơi ghê gớm đúng không? tư duy logic càng tốt thì càng dễ
Kẻ thù số một của các Nhưng đừng để những điều đó làm dàng hơn khi tiếp cận thế giới lập
lập trình viên là gì? Kiêu bạn nản lòng. Tôi chỉ không muốn trình. Vậy thì kỹ năng nào là cần
căng. vẽ nên một viễn cảnh tươi đẹp, thiết? Bị thúc đẩy bởi những thách
nơi có những cánh đồng xanh ngút thức là yếu tố quan trọng nhất. Đơn
Lập trình viên sử dụng
ngàn và những đám mây lững lờ giản là vì bạn đang tham gia vào
hầu hết thời gian của trôi trên nền trời xanh thẳm. Thực một trò chơi trong đó thách thức
mình vào việc sửa lỗi. tế là có thể chỉ vài phút sau đó trời xuất hiện trong mọi ngõ ngách.
Chương trình càng dễ đọc sẽ mưa và bạn thì chẳng mang theo Một điều quan trọng khác là phải
bao nhiêu càng tiết kiệm dù. Thế nhưng, chính những điều không ngừng theo đuổi mục tiêu,
thời gian bấy nhiêu. không chắc chắn, những thách thức nhưng vẫn phải luôn uyển chuyển
và áp lực sẽ làm cho cuộc sống trở để không đuổi theo một cách mù
Trường học khiến các nên đầy hứng thú. quáng những mục tiêu xa vời.
bạn tin rằng chương trình Bạn vẫn còn đọc đến đây ư?
của bạn chỉ cần thỏa mãn Rất tốt, thế có nghĩa là bạn hoàn Còn trường học thì sao?
một mình bạn là đủ. Điều toàn nghiêm túc về điều này. Bây Trường học là nơi tuyệt vời để
này hoàn toàn sai lầm. giờ điều tôi sẽ nói với bạn là một học mọi thứ ngoại trừ công nghệ.
Chương trình phải thỏa bản phác thảo về những gì đang Đừng cho là tôi sai, tôi không nói
mãn khách hàng và các chờ đợi bạn trong thế giới lập trình, rằng tôi nghĩ trường học là không
lập trình viên khác. chúng ta sẽ nói một ít về kỹ thuật quan trọng. Ngược lại, tôi nghĩ
và cả những niềm vui của thế giới trường học là rất quan trọng, nhưng
ấy. không phải để học lập trình. Những
gì bạn nên tập trung thật sự ở trường là học quyển sách đó đề cập chính là ngôn ngữ
cách để làm việc với những người khác trong bạn nên học đầu tiên. Bây giờ hãy chọn
một đề án. Cũng như học cách những người thêm vài quyển sách về ngôn ngữ đó, mỗi
xung quanh giải quyết vấn đề và cách thức quyển, bạn hãy đọc một phần chương đầu
giải quyết của họ khác cách của bạn ở chỗ tiên, bạn có cảm thấy quan tâm đến nó
nào. Trường học thường bắt bạn phải làm không? Nếu không, hãy bỏ quyển sách ấy
những thứ có thể bạn không thích. Chẳng và chọn một quyển khác; nếu có, hãy lật
hạn, tôi nhớ lúc tôi học môn “Thiết kế trình đến giữa quyển sách và một phần chương
biên dịch”, tôi tự nhủ: “Thật là mất thời gian mà bạn bắt gặp, vẫn cảm thấy quan tâm
một cách vô ích, tôi chẳng bao giờ cần phải đến quyển sách ấy đúng không? Tốt, đó là
thiết kế trình biên dịch làm gì”. Nhưng, điều quyển sách có thể bạn sẽ chọn. Đừng cố
tôi đã học được là làm thế nào để giải quyết hiểu nó viết cái gì, chỉ cần tìm hiểu xem nó
những vấn đề hoàn toàn khác nhau, và kiến có mang đến cho bạn sự quan tâm về ngôn
thức này giúp tôi làm được nhiều việc khác. ngữ đó hay không. Tiếp tục phương pháp
Một trong những thuận lợi bạn có được này cho đến khi không còn quyển sách nào
từ trường học là bạn có thể gặp gỡ bạn bè có cả, bạn có thể tìm được quyển sách gây
cùng chí hướng và có thể sau này trở thành cho bạn nhiều hứng thú nhất để học ngôn
đồng nghiệp của bạn. Ngành công nghiệp ngữ đó.
phần mềm ở nhiều khía cạnh rất giống với
ngành công nghiệp điện ảnh, khi có ai đó bị Những công cụ cần thiết
lôi cuốn vào một đề án đầy tham vọng, họ Hãy nhìn thẳng vào vấn đề, chọn đúng
thường mời bạn bè cùng hợp tác. Nếu bạn công cụ sẽ làm cho công việc trở nên dễ
không biết họ từ trước, bạn sẽ không thể mời dàng hơn. Điều này càng chính xác hơn
(hay thuê), và trong nhiều trường hợp, trường trong lĩnh vực phát triển phần mềm. Có thể
học chính là nơi bạn có thể tìm được những Microsoft đã tạo ra môi trường phát triển
người có cùng sở thích. Một khía cạnh khác tốt nhất, Microsoft Developers Studio. Do
không thể bỏ qua là trường học không chỉ đó, nếu bạn dùng C/C++, Visual Basic,…
dạy về kỹ thuật mà còn dạy về lịch sử, về tâm thì có lẽ đây sẽ là thứ bạn cần. Tuy nhiên,
lý,… Và trong khi những thứ ấy có vẻ không vẫn có nhiều công cụ thay thế miễn phí
liên quan trực tiếp đến lập trình, bạn có thể sẽ khác cho những ngôn ngữ này. Bạn có thể
rất ngạc nhiên nếu biết rằng đó cũng là một kiểm tra thử nếu thích.
trong những nguồn cảm hứng mà tôi từng có. Một công cụ khác cũng rất quan
trọng, đó là trình soạn thảo mã lệnh (code
Tôi nên bắt đầu từ đâu? editor). DevStudio có một trình soạn thảo
Trước tiên, tôi khuyên là bạn nên cân mã lệnh tích hợp sẵn, và đó là một trong
nhắc cẩn thận trước khi có một quyết định những lý do khiến nhiều người dùng nó.
quan trọng. Như tôi đã nói, thế giới lập trình Cá nhân tôi không thích bị ràng buộc bởi
có thể rất lý thú, nhưng cũng đầy gian nan. một môi trường phát triển nào. Do đó, tôi
Do đó, đừng bao giờ nhảy bổ vào mà không thích dùng công cụ soạn thảo MultiEdit
suy nghĩ kỹ. Việc đầu tiên cần làm dĩ nhiên là (http://www.analogx.com/cgi-bin/cgirdir.
tìm mua một cuốn sách dạy lập trình. Nhưng exe?http://www.multiedit.com/). Tôi đã sử
có quá nhiều sách và quá nhiều ngôn ngữ. Tôi dụng nó trong nhiều năm. Và tôi rất tự hào
khuyên bạn nên chọn một trong các ngôn ngữ khuyên những ai muốn tìm một công cụ
sau: C, C++, Visual Basic, Pascal (Delphi) thay thế cho DevStudio hãy dùng nó.
hay Java. Khoan hãy nghĩ đến những ngôn
ngữ khác, bởi vì chúng hoặc là quá phức Hãy là người lạc quan
tạp cho người mới bắt đầu hoặc là quá đơn Tôi từng nghe người ta nói rằng kẻ lạc
giản để có thể đưa bạn vào thế giới lập trình. quan nhất trên thế giới chính là nhà phát
Nhưng dù thế nào thì bạn cũng nên chọn một triển phần mềm. Trong suy nghĩ của họ,
ngôn ngữ vào thời điểm này. Những ngôn không có phần mềm nào là không thể viết
ngữ này rất giống nhau, và vô cùng mạnh mẽ. được. Một ví dụ nhỏ, bạn hãy vào thử một
Hầu như mọi ứng dụng thương mại đều có site download phần mềm nào đó mà xem.
thể được viết bởi một trong những ngôn ngữ Có hàng trăm hàng ngàn phần mềm bao
trên. Phương pháp của tôi là chọn 2 quyển gồm mọi lĩnh vực. Làm thế nào mà người
sách cho mỗi ngôn ngữ đã nêu ở trên. Đọc sơ ta có thể sáng tạo ra từng ấy phần mềm.
qua trước, và chú ý các ví dụ, mã nguồn trong Chúng nhiều và tốt đến nỗi bạn không thể
đó. Sau khi đã đọc sơ qua tất cả các quyển nghĩ ra nên sáng tạo thêm phần mềm nào.
sách đã chọn, hãy chọn quyển sách gây cho Thế nhưng từng ngày từng giờ, các nhà
bạn nhiều hứng thú nhất. Và ngôn ngữ mà
phát triển phần mềm luôn sáng tạo và cho ra nhiều Rapid Development
phần mềm mới hơn nữa, những phần mềm mà đã có Quyển sách này hướng đến việc lập kế hoạch cho
thời người ta cho là không thể tạo ra được. Dù sao thì một dự án, tập trung vào những lỗi tiềm ẩn có thể mắc
lạc quan mấy cũng phải có giới hạn. Mấu chốt của vấn phải,… Đây là quyển sách cho bạn biết thế giới thực
đề là họ không nhìn mọi thứ một cách tổng thể, mà sự của ngành phát triển phần mềm.
ở từng phần cụ thể. Ở một chừng mực nào đó, có thể ISBN: 1-55615-900-5
xem đấy là đặc trưng của ngành thiết kế phần mềm,
chia dự án ra thành những phần nhỏ và giải quyết Dynamics of Software Development
từng phần. Nếu bạn không phân phối thời gian hợp lý, Quyển sách này có một hướng tiếp cận khác, tập
bạn sẽ không thể nào hoàn thành công việc. Khi bạn trung vào việc làm việc theo nhóm và động lực của
bắt đầu viết chương trình “thực sự” đầu tiên (nghĩa là việc lập trình. Đây là điều thỉnh thoảng bị xem nhẹ, và
chương trình có thể thực hiện được một công việc nào hậu quả có thể được thấy trong nhiều dự án bị thất bại.
đó cần thiết cho mọi người, không phải cho riêng bạn), ISBN: 1-55615-823-8
phải chắc chắn rằng bạn dành đủ thời gian để vạch
ra kế hoạch về những việc bạn định làm, thứ tự thực The Mythical Man-Month
hiện, và kết quả cuối cùng là gì. Nếu bạn làm điều Đây thực sự là một quyển sách nên đọc. Dù rằng
này, bạn sẽ thấy mọi thứ trở nên dễ dàng hơn và có thể nó đã được viết cách đây hơn 20 năm, thế nhưng vẫn
hoàn thành nhanh hơn là bạn nghĩ. có nhiều điều có thể áp dụng.
ISBN: 0-201-83595-9
Hãy làm việc theo nhóm!
Nếu bạn dự định trở thành một lập trình viên đơn Programming Windows
độc, hãy suy nghĩ lại. 99,9% các dự án đòi hỏi phải Nếu bạn có ý định lập trình trên Windows (bằng C
làm việc theo nhóm. Và do đó, bạn cần phải có kinh hay C++), bạn cần phải mua quyển sách này. Theo tôi
nghiệm làm việc theo nhóm, phối hợp với những đây là quyển sách dạy lập trình Windows tốt nhất.
người khác trong một dự án. Một khi bạn đã hoàn ISBN: 1-57231-995-X
thành những dự án nhỏ của riêng mình, đó là lúc bắt
đầu tìm cách tham dự vào một dự án có nhiều người The Art of Ware
tham gia. Đó có thể là một game, một bản demo, hay Tôi là một người hâm mộ cuồng nhiệt Tôn Tử, do
bất cứ thứ gì. Chỉ cần đó là dự án làm bạn quan tâm. đó tôi rất thích thú khi đọc quyển sách này. Đây là một
Có nhiều các để tìm dự án, bạn có thể gia nhập vào quyển sách có phong cách viết rất lôi cuốn, với những
những dự án đã có, tìm kiếm những nhóm vừa mới bài học trong binh pháp Tôn Tử được vận dụng vào
thành lập và xin gia nhập, hay thậm chí tự lập một dự ngành phát triển phần mềm.
án và mời người khác cùng cộng tác. Điều quan trọng ISBN: 1-55851-396-5
nhất là bạn phải học cách làm việc cùng với những
người khác để thực hiện mục tiêu chung. Ghi chú: các bạn có thể tìm những quyển sách
trên bằng cách tìm kiếm trên Google hay những site
Những thứ nên đọc! bán sách. Ở Việt Nam, bạn có thể vào site http://www.
Đọc sách là nguyên tắc cơ bản… Và điều này sachtinhoc.com hay http://www.sachtuhoc.com và nhờ
càng chính xác trong ngành phát triển phần mềm. họ mua giúp.
Nếu bạn là người không thích đọc sách, có lẽ bạn
nên chọn một công việc khác. Bởi vì đọc sách chính Tổng kết
là chìa khóa để củng cố và hiện thực hóa những tiềm Hy vọng tôi đã nêu được một số điều cần thiết để
năng của bạn. Bạn có thể tự hỏi vì sao tôi có thể viết trở thành một lập trình viên, không phải về mặt kỹ
nhiều phần mềm trong thời gian ngắn như thế? Có 3 thuật mà là về mặt tư duy. Cá nhân tôi cho rằng lập
lý do chính: kinh nghiệm, những đồng nghiệp tài năng trình là một công việc đầy hứng thú. Không có gì vui
mà tôi luôn hài lòng khi được làm việc chung và cuối hơn khi nhìn thấy ai đó đang sử dụng phần mềm do
cùng là những quyển sách tôi đã đọc. Tôi không thể bạn viết để làm cho cuộc sống của họ tốt hơn, dù chỉ
giúp bạn có được kinh nghiệm và những bạn đồng là một phần nào đấy. Do đó, nếu bạn quyết định theo
nghiệp giỏi, nhưng tôi có thể giới thiệu cho bạn những đuổi ngành phát triển phần mềm, tôi xin chúc bạn
quyển sách hay: may mắn và hy vọng một ngày nào đó tôi sẽ có dịp
download phần mềm do bạn viết để sử dụng.
Code Complete
Đây là quyển sách cần thiết cho mọi nhà phát triển
phần mềm, bất kể họ đang dùng ngôn ngữ lập trình
nào. Nó bao gồm nhiều bài thực hành và nhiều kỹ
thuật liên quan đến phong cách viết mã.
ISBN: 1-55615-484-4

You might also like