You are on page 1of 62

12 NGUYÊN TẮC GIÚP BẠN

HỌC LẬP TRÌNH SIÊU TỐC


Làm thế nào tôi có thể học lập trình Python để áp dụng vào
công việc hiện tại chỉ mất một tháng bắt đầu từ số zero

Chú ý: Ebook dành cho bạn:


Không chuyên công nghệ thông tin (tay ngang, trái ngành)
Có kinh nghiệm trong lĩnh vực hiện tại

Lưu ý: Ebook không phù hợp với học sinh, sinh viên

07-2022
4 Quan Điểm Về Các Lập Trình Viên
Bạn Cần Ngừng Lại Ngay Lập Tức
 hải giỏi tiếng anh
P
Phải giỏi toán
Cần phải có khả năng tư duy
Lớn tuổi rồi khó học lập trình
Trước khi trở thành lập trình viên tôi là dân kỹ thuật (cơ khí) tôi không hề giỏi tiếng
anh (gần như là mù), cũng không giỏi toán (mỗi môn toán tôi đều phải học lại vài lần)
nhưng tôi vẫn có thể trở thành làm trình viên được ?.
Đúng vậy, tiếng anh rất quan trọng nhưng bạn có thể học song song với lập trình, có
nghĩa là trong quá trình chúng ta viết chương trình, bạn có thể phải đọc rất nhiều tài
liệu tiếng anh hoặc tham khảo cộng động trong và ngoài nước để nhận sự trợ giúp từ
họ, vì vậy nếu biết tiếng anh là một lợi thế, còn không biết thì cũng không sao, bạn có
thể nhờ sự trợ giúp từ google dịch, rồi các bạn đọc nhiều bạn sẽ quen với những thuật
ngũ trong lập trình và lên level tiếng anh mà thôi, lưu ý rằng học lập trình cũng là một
cách để chúng ta cải thiện tiếng anh.
“Lớn tuổi rồi khó học lập trình”
Ngoài 30 tuổi, tôi mới bắt đầu học lập trình, và tôi học rất nhanh, đơn giản là
có áp lực để cày (tôi muốn khẳng định bản thân) và tôi đã có kinh nghiệm
trong lĩnh vực hiện tại nên khi bắt đầu học lập trình tôi luôn có mục đích hay
ý tưởng để viết chương trình, tôi vừa học vừa viết chương trình nên tôi học rất
nhanh vì thấy được ngay ứng dụng của nó ngay lập tức, điều này làm tôi càng
học càng xung, quên mất thời gian.
Khi bạn bắt đầu học lập trình, bạn sẽ thấy khó (thậm chí là khó chịu), đơn
giản là trước đó bạn quen với gõ chữ trên word, tính toán trên excel..., giờ kêu
bạn gõ code, bạn thấy khó là phải, chưa kể mới đầu bạn đụng đâu vướng đó,
vậy nên bạn phải vượt qua được giai đoạn đầu làm quen với code, khi vượt
qua được giai đoạn đoạn này rồi, thì việc gõ code trở nên đơn giản và thú vị
hơn với bạn. Theo khảo sát thì:
95 % dân tay ngang học lập trình bỏ cuộc một vài lần vì không vượt qua
được giai đoạn làm quen với lập trình.
Còn 5% họ học được lập trình ngay lần đầu tiên vì họ là siêu nhân, học
tới đâu tiếp thu tới đó.
Vậy nên nếu bạn không nằm trong 5% là siêu nhân thì cố gắng vượt qua giai
đoạn đầu nhé
"Học lập trình mới đầu đụng đâu vướng đó, cực kỳ khó chịu, có nhiều lúc bạn
muốn bỏ cuộc bởi vì ngay cả khi bạn làm y chang video tôi hướng dẫn nhưng
vẫn không chạy ra kết quả như trong video".

Nếu thực sự bạn đang như vậy thì bạn yên tâm, bạn không cô đơn, vì hầu hết
học viên của tôi và ngay cả bản thân tôi cũng vậy, bỏ cuộc cũng n lần rồi mới
học được. Theo nghiên cứu mới nhất về những lập trình viên tay ngang
(chuyển từ ngành khác qua) thì hầu hết họ mới đầu đều bỏ cuộc vài lần như
vậy trước khi bắt đầu với công việc lập trình toàn thời gian.

Cụ thể là mới đầu quyết tâm lắm nhưng một thời gian sau đó lại bị vướng
trong quá trình học, chán rồi bỏ cuộc, rồi một ngày nào đó cảm xúc dâng
trào, lại quyết tâm học lập trình và rồi lại bỏ cuộc, cứ như một vòng lặp vậy
đó cho đến một ngày bạn học được nó và quen với việc gõ code thì lúc đó
bạn sẽ thấy mọi thứ thật dễ dàng. Tôi ví việc gõ code dễ như ăn cháo nếu
bạn đã quen với nó.
Vậy nên khi bạn bắt đầu học lập trình bạn cần trả lời câu hỏi sau:

Tại sao bạn nên học lập trình ?

Câu trả lời tôi muốn nghe từ học viên đó là vì "tiền".


Nếu bạn là dân văn phòng (đang làm kỹ thuật, nhân sự, kinh tế, kinh
doanh....) tôi gợi ý các bạn nên học lập trình để tự động hoá công việc của
mình trước đã, làm cho công việc của các bạn trở nên đỡ mệt mỏi hơn, đơn
giản vậy thôi và cũng nhờ có kiến thức về lập trình bạn sẽ được trọng dụng
hơn, thăng chức, tăng lương, đồng nghiệp tôn trọng hơn, còn câu chuyện sau
này khi bạn đã có một kiến thức tạm ổn (tạm ổn thôi, không cần giỏi, đừng
bao giờ chờ giỏi vì bạn chả thể nào giỏi được đâu) bạn có thể áp dụng kiến
thức lập trình của mình như một nghề tay trái (nhận các dự án outsourcing về
lĩnh vực của bạn, hay đơn giản hơn nữa là dạy lập trình...) để kiếm thêm thu
nhập.
Và bạn cũng đừng bao giờ suy nghĩ học vì đam mê, câu trả lời học vì đam mê
là một câu trả lời rất ngu xuẩn, người ta nói "có thực mới vực được đạo" , bạn
học vì đam mê thì trước sau gì bạn cũng bỏ cuộc, hoặc học không tới nơi tới
chốn, theo kiểu học cho vui, không áp dụng được gì nhiều, tốn thời gian của
bạn mà thôi.
Smrk Nhuần

Chuyên về: Python, Python Excel, Python Revit, VBA Autocad, VBA
Excel, Advance Steel, Revit kết Cấu, Revit kiến trúc, Revit nhà thép
công nghiệp, Dynamo.
Tốt nghiệp chuyên ngành Cơ Kỹ Thuật tại một trường đại học tại TP.
HCM.
Trước 27 tuổi anh làm nhiều ngành nghề khác nhau (nhưng công việc
không được như ý muốn, lương thấp, không được trọng dụng..) ví dụ
như: sửa chữa, bảo trì thiết bị, điện dân dụng, quản lý dự án, nghiên
cứu phát triển bóng đèn, đi công trình...Sau đó anh ứng tuyển vào làm
triển khai bản vẽ tại một công ty về xây dựng nhưng công việc cũng
không khởi sắc so với công việc cũ.
Năm 28 tuổi anh đề xuất công ty cho anh được nghiên cứu phần mềm
Revit (để thay thế Autocad), chỉ sau thời gian ngắn (3 tháng) anh đã phụ
trách đào tạo Revit cho công ty và bắt đầu giảng dạy Revit ở một số
trung tâm tại trường đại học và cũng là bim manager cho một số công ty.
30 tuổi anh bắt đầu bén duyên với lập trình và trở thành chuyên gia về
lập trình các Plugin trong phần mềm xây dựng và các phần mềm về xử lý
dữ liệu và tự động hoá công việc (Dùng ngôn ngữ python) dù chỉ sau một
năm học.
Đã có hơn 100 project lập trình lớn nhỏ anh đã thực hiện.
Đã có hơn 2000+ học viên
Phương châm: "Kiến thức về Python rất rộng, có học cả 1000 buổi thì cũng
không học hết kiến thức được, vì vậy chỉ nên tìm hiểu những kiến thức cơ bản
cũng như các kỹ năng tự "bơi" để bạn có thể tự tìm hiểu và áp dụng linh hoạt
kiến thức vào project phục vụ công việc, thiếu ở đâu thì bổ sung kiến thức chỗ
đó, không cần phải học tràn lan lý thuyết, dễ gây nhàm chán"
1

CÓ Ý TƯỞNG TRƯỚC
Bạn là người có nhiều năm kinh nghiệm
trong lĩnh vực hiện tại (xây dựng, cơ khí,
điện, kế toán, nhân sự, …), vậy lợi thế
của bạn chính là những kiến thức cũng
như kinh nghiệm bạn đã trải nghiệm
trong quá trình bạn làm việc. Điều này
sẽ giúp bạn học lập trình và áp dụng
ngay lập tức kiến thức bạn học được
vào công việc của bạn.
Vậy áp dụng bằng cách nào ?
Trong công việc hàng ngày của bạn, tôi chắc chắn
rằng bạn có rất nhiều tác vụ thủ công lặp đi lặp lại
nên bạn dễ dàng có những ý tưởng tuyệt vời để viết
chương trình tự động hoá cho chính bạn (Tôi lấy ví
dụ bạn có thể viết chương trình để tự động hoá các
các tác vụ lặp lại trong excel, google sheet, gmail,
autocad, revit… vì hầu hết các phần mềm hiện nay
bạn đều có thể dùng ngôn ngữ lập trình để can thiệp
và tự động hoá linh hoạt theo mục đích người sử
dụng).
Vậy nên, trước khi bắt đầu học lập trình, hãy
bắt đầu với những ý tưởng của bạn (ý tưởng
càng đơn giản và liên quan chặt chẽ đến
công việc của bạn, thì việc học lập trình của
bạn càng hiệu quả). Điều này sẽ giúp bạn
tập trung và giảm số giờ phải mất để đạt
được mục tiêu. Ngoài ra, có mục tiêu sẽ giúp
bạn luôn có động lực và định hướng. Cuối
cùng, có một kế hoạch để đạt được mục tiêu,
điều đó sẽ đảm bảo bạn đang đi đúng hướng
và sẽ giảm số lần thử và sai mà bạn thực
hiện để đạt được mục tiêu của mình.
2

KHÔNG “THAM LAM”


LÝ THUYẾT
Kiến thức về ngôn ngữ lập trình rất rộng,
dù bạn học 1000 giờ cũng không học hết
được. Vậy nên bạn không nên “ảo tưởng” là
bạn có thể học hết được kiến thức về một
ngôn ngữ lập trình nào đó, bạn chỉ cần học
những gì cơ bản và cần thiết nhất. Khi viết
ứng dụng phục vụ công việc vướng ở đâu
thì bạn tìm hiểu và học bổ sung thêm từ
Google (Google là người thầy tuyệt vời).
3

THỰC HÀNH TRƯỚC

TÌM HIỂU LÝ THUYẾT


SAU

pyan.vn
Nguyên tắc tiếp theo là hãy bắt
đầu bằng cách viết các chương
trình thực tế và chỉ sau khi bạn
chắc chắn rằng mình hiểu chuyện
gì đang xảy ra, bạn mới nên bắt
đầu nghiên cứu lý thuyết. Viết code
giống như chơi một nhạc cụ. Một
khi bạn thành thạo trong việc chơi
một nhạc cụ, bạn có thể đọc nhạc
và hiểu nó ngay lập tức.
Điều này cũng đúng với lập trình.
Điều đầu tiên bạn nên làm là viết một số chương trình (là người mới
bắt đầu chưa biết gì về lập trình thì bạn có thể copy code một số
chương trình từ các trang blog hay kênh youtube trên internet được
người khác chia sẻ), sau đó bạn xem kết quả chạy chương trình kết hợp
với đọc code sẽ giúp bạn hiểu những gì đang xảy ra và có những khái
niệm sơ bộ về lý thuyết. Khi bạn bắt đầu đọc lý thuyết, bạn sẽ nhanh
chóng thấy tất cả các khái niệm này phù hợp với nhau như thế nào. Và
đó là những gì sẽ giúp bạn học hỏi và dễ dàng hiểu lý thuyết.
Nếu bạn muốn trở thành một lập trình viên, bạn cần có khả năng viết
chương trình chứ không chỉ đọc lý thuyết. Bạn không thể học lý thuyết
nếu không có khả năng viết chương trình.
QUY TẮC

20 PHÚT
HỌC

LẬP

TRÌNH
4
Học lập trình cũng giống như đi tập thể dục. Ngay cả khi
bạn tập luyện tối đa và dành cả cuối tuần tại phòng tập
thể dục, bạn sẽ không thấy sự khác biệt rõ ràng trên cơ thể
mình nên rất dễ chán nản và bỏ cuộc. Nhưng hãy hiểu rằng,
hiện tại bạn đang đánh chữ trên văn bản Word, Excel hay
làm việc trên bất kỳ phần mềm nào khác, bỗng dưng một
ngày nào đó bạn quyết định học lập trình, tập tành gõ
những dòng code khô khan, bạn sẽ thấy khó chịu, mất kiên
nhẫn và dễ bỏ cuộc, nhưng đó chỉ là giai đoạn đầu bạn
chưa quen mà thôi, Lúc bạn đã gõ quen thì chuyện lập trình
gõ các đoạn code là vô cùng đơn giản. Hãy nhớ rằng, giai
đoạn đầu cực kỳ nan giải và khó khăn, bạn phải vượt qua
nó để tập làm quen với việc gõ code, hãy dành thời gian để
học lập trình, vượt qua được giai đoạn đầu.
Câu hỏi đặt ra

là??? Bạn có sắp xếp thời gian như thế nào vào việc
học lập trình? Giữa việc làm toàn thời gian, dành
thời gian cho gia đình, quản trị cuộc sống. Khi
nào bạn nên ngồi xuống và thực hành viết code
hàng ngày ?.
Trong khi làm kỹ sư thiết kế, tôi đã dành khoảng 10 giờ ở văn
phòng, 1 giờ đi lại và khoảng 2 giờ để duy trì sự sống nói
chung, chẳng hạn như ăn uống. Vì vậy, điều đó khiến tôi chỉ
còn lại 10 giờ trong ngày. Về mặt lý thuyết, tôi có 2 giờ để
thực hành học lập trình và 8 giờ cho giấc ngủ. Nhưng không
có gì khó khăn hơn là cố gắng thuyết phục chính bản thân
mình ngồi xuống và học hỏi, trong khi tôi có thể xem một bộ
phim hấp dẫn hoặc vào zalo tám chuyện với đám bạn.
Nhưng sau đó tôi đã tìm ra một mẹo nhỏ.
Là con người, chúng ta có rất nhiều thói quen lười biếng.
Điều này không tốt một chút nào. Tuy nhiên, chúng ta cũng
có thể biến nó thành lợi thế của mình. Tôi đã thấy rằng
một khi tôi bắt đầu viết code, tôi bị cuốn vào dự án, đến
nỗi tôi không còn quan tâm đến facebook hay zalo, thức
ăn hay giấc ngủ. Có một vài ngày cuối tuần tôi say sưa
viết code xuyên đêm.
Vậy làm thế nào để chúng ta tận dụng được sức ì này?
Đầu tiên, bạn phải hiểu rằng chuyển đổi thói quen là rất
khó. Nó đòi hỏi rất nhiều động lực. Nếu ngay sau khi về đến
nhà, bạn ngã người trên ghế sofa và bật laptop lên để lướt
facebook thì bạn đã mất luôn buổi tối hôm đó.
Đó lý do tại sao khoảnh khắc bạn bước vào cửa và thay đổi
sang một môi trường mới là thời điểm quan trọng nhất. Nếu
tại thời điểm này, bạn nói với bản thân rằng bạn chỉ cần
thực hành 20 phút để học lập trình, rất có thể bạn sẽ thành
công và sử dụng sức ì của bản thân để kết thúc việc học
trong một giờ hoặc hơn. Sẽ không có bộ não nào coi một
nhiệm vụ kéo dài 20 phút là quá lâu cả và bạn sẽ đánh lừa
được bộ não của mình để tận dụng buổi tối của bạn.
Và bước tiếp theo là phát triển một thói quen.
Nghiên cứu cho thấy rằng để hình thành một t bói
quen mới, bạn phải thực hiện nhiệm vụ hàng ngày
trong một tháng. Tôi đã sử dụng mẹo nhỏ này cho
vô số việc khác nhau, từ tập thể dục đến việc học
lập trình, nó luôn hoạt động như một sự hấp dẫn
với tôi. Để mở đầu cho mẹo này, tôi muốn bạn hình
dung một bức tường với năm bức tranh treo trên
đó, bốn trong số đó được căn chỉnh hoàn hảo,
nhưng một bức thì bị lệch. Bây giờ bạn hãy tưởng
tượng, một phần trong con người của bạn cũng vậy
và bạn muốn sửa chữa nó ?.
Một ví dụ khác là hãy tưởng tượng cuộc sống
của bạn đại diện là lịch hàng tháng với các tờ
đại diện cho các ngày riêng lẻ. Nếu bạn nuôi
dưỡng thói quen mới đó vào một ngày cụ thể,
thì bạn sẽ hoàn thành tốt ngày hôm đó. Nếu
bạn tiếp tục nuôi dưỡng thói quen đó vào
chuỗi ngày hôm sau thì bạn sẽ tiếp tục kéo dài
nó. Có điều gì đó về việc không ngắt một dòng
đang liên tục thúc đẩy hầu hết mọi người tiếp
tục phát triển một thói quen. Nghe thật lạ
lùng, có nhiều lần tôi đã bỏ cuộc, nhưng buộc
phải tiếp tục vì một chuỗi dài liên tục.
5

LUÔN CÓ MỤC ĐÍCH KHI


BẮT ĐẦU GÕ CODE

Khi tôi mới bắt đầu học lập trình, đã có vô số lần bỏ


cuộc, hết lần này đến lần khác. Đó là một câu chuyện
phổ biến giữa các lập trình viên tự học. Nhìn lại, sau
khi dạy rất nhiều học viên, cuối cùng tôi cũng nhận ra
điều gì đang xảy ra. Rất nhiều người mới bắt đầu học
lập trình bằng cách chọn một ngôn ngữ tùy ý và làm
theo một loạt các hướng dẫn ví dụ như copy code
từng dòng, đôi khi tạo chương trình để tìm các số
nguyên tố hoặc để tìm tất cả các số chẵn. Nhưng bạn
biết không? Tôi có thể tìm số nguyên tố nhanh hơn
rất nhiều bằng cách sử dụng Google và việc chọn ra
các số chẵn hay số nguyên tố thực sự không phải là
điều thú vị. Đây là sự thật.
Nếu bạn đang học lập trình chỉ vì để thành thạo một ngữ nào đó, bạn
sẽ rất khó khăn để trở nên thành thạo nó. Cách thức học này đòi hỏi
nhiều thời gian để trau dồi, khiến bạn mất nhiều thời gian và dễ bỏ
cuộc. Bạn phải làm sao mà tạo động lực để “cày” lập trình, càng học
bạn càng thích, phải có điều gì đó từ bên trong khiến bạn quên ăn
quên ngủ. Tôi thành thật thú nhận rằng lập trình cho các dự án riêng
của tôi là một trong những điều thú vị nhất mà tôi làm. Nó kết hợp tư
duy logic với sự sáng tạo, và cuối cùng, tôi viết được chương trình đó ,
Tôi sung sướng nhảy cẫng lên mỗi lần tôi hoàn thành được dự án cho
mình (dĩ nhiên, mới đầu tôi gặp trục trặc và thiếu kiến thức khá
nhiều). Vì vậy hãy làm điều gì đó có thể làm cho cuộc sống của bạn
dễ dàng hơn hoặc thú vị hơn. Nó giống như việc tạo ra một chiếc xe
máy tùy chỉnh đẹp đến mê hồn trong ga ra của bạn mà không cần
đến ga ra bên ngoài hoặc chi tiêu một xu nào cho các bộ phận. Đây là
điều thúc đẩy hầu hết mọi người.
Vì vậy!!!
Tôi khuyên bạn nên bắt đầu học lập trình bằng cách làm theo một hướng
dẫn làm cái gì đó, bất cứ thứ gì. Tất nhiên, không chắc ngay từ đầu bạn sẽ
có thể lập trình. Nhưng bạn sẽ có thể tạo ra điều gì đó thú vị. Nó có thể là
một trò chơi hoặc một ứng dụng đơn giản phục vụ công việc. Nhưng miễn là
cuối cùng, bạn sẽ tạo ra thứ gì đó mà bạn có thể ứng dụng vào công việc
và chơi, thì bạn sẽ có nhiều động lực hơn để viết code đến cuối.
Trong tất cả các khóa học của mình, tôi luôn yêu cầu học viên
nghĩ ra một ứng dụng đơn giản mà học viên muốn tạo (một
chương trình đơn giản nhất có thể). Một cái gì đó sử dụng các
kỹ năng mà học viên đã học được trong khóa học nhưng cũng
có thể nâng cao lên một một số kiến thức chưa học để học
viên có thể chủ động tự tìm hiểu và nâng cao kiến thức.
Chúng tôi có học viên tạo ra các ứng dụng ví dụ như copy
paste dữ liệu cho dân văn phòng, tự động in thông tin văn
bản nghiệm thu hay là tự động kiểm tra khối lượng, tạo phần
mềm quản lý dự án, bóc tách khối lượng chỉ sau vài giờ học.
Hãy nhớ rằng không có giới hạn nào cho sáng tạo của bạn. Sẽ
rất khó khăn khi bạn bắt đầu viết các ứng dụng của riêng
mình vì không có hướng dẫn từng bước, nhưng nó cũng sẽ
mang lại sự cải thiện hiệu quả khả năng lập trình của bạn.
6

“KẺ LỪA ĐẢO


KHÔNG BIẾT
LẬP TRÌNH ”
Trong nhiều năm giảng dạy lập trình, tôi luôn đưa ra các dự án
lập trình cho các học viên và yêu cầu họ phải hoàn thành dự án
của tôi. chính vì vậy tôi đã nhận nhiều phản hồi từ các học viên
khi họ nộp bài tập.
Kèm theo những lời "tâm sự" rằng:
"Thầy cho em hỏi, trong quá trình tìm tài liệu

hướng dẫn, em thấy có bài họ làm tương tự yêu

cầu bài thầy giao, vậy em có thể chạy code của họ

rồi đọc hiểu được ko ạ?. ví dụ bài này em đang xem

code của trang này:

https://www.youtube.com/watch?v=-NswqMtExSI "

"Em chỉ là đang làm "Em có tham khảo


"Chương trình này
theo video trên youtube, video trên youtube
anh chỉ biết làm
có một bài tương tự như của anh" theo thôi, còn để
vậy và em copy rồi thay hiểu thì không hiểu
đổi một ít mà thôi" hết được em à"
TẠI SAO LẠI

NHƯ VẬY ?
HỌ ĐANG CẢM THẤY

BẢN THÂN ĐANG

LỪA ĐẢO TÔI, HỌ

KHÔNG THỰC SỰ

LÀM MÀ CHỈ LÀ

COPY THAM KHẢO

TỪ NGƯỜI KHÁC
Trả lời:
Lập trình viên được cho là nghề có số người mắc “hội chứng kẻ lửa đảo” khá cao.
“Hội chứng kẻ lừa đảo” là một hiện tượng tâm lý nơi mọi người cảm thấy như bị
lừa đảo dẫn đến đánh giá thấp kỹ năng và khả năng của bản thân.
Các lập trình viên có xu hướng tự nhận xét bản thân và thường xuyên cảm thấy
rằng người khác lập trình giỏi hơn họ. Nếu bạn cảm thấy như vậy, bạn không hề
đơn độc, vì các nghiên cứu cho thấy 70% người học lập trình mắc “hội chứng kẻ
lừa đảo”.
Gần đây, tôi đã thấy một bài đăng trên trang hỏi & đáp Quora, nơi ai đó hỏi:
"Liệu tôi có bị sa thải tại Google hoặc một công ty công nghệ lớn khác nếu tôi bị
bắt gặp sử dụng StackOverflow làm nơi lấy thông tin tham khảo không?"
Anh ấy đã nhận được rất nhiều câu trả lời tuyệt vời từ các kỹ sư làm việc tại
Google, Amazon và các công ty công nghệ lớn khác. Bất kỳ ai đã từng làm kỹ sư
phần mềm sẽ nói với bạn rằng việc không xem tài liệu tham khảo sẽ khiến bạn
khó khăn hơn nhiều. Trên thực tế, tôi đó bạn tìm một lập trình viên Google nào
chưa sử dụng Stack Overflow. (StackOverflow là một trang web hỏi và đáp dành
cho các lập trình viên).
Rất nhiều lập trình viên mới lo sợ rằng bằng cách tìm tài liệu tham khảo và nhờ
mọi người giúp đỡ, họ sẽ cho rằng mình là kẻ lừa đảo không biết lập trình. Nhưng
bạn nên nhớ không ai có thể nắm giữ tất cả các thông tin liên quan trong đầu của
họ. Kỹ năng mà hầu hết các nhà tuyển dụng tìm kiếm khi tuyển dụng là khả năng
tư duy. Vào những năm 1800, chỉ những người giàu mới được tiếp cận với những
cuốn sách hay với những giáo viên giỏi. Giờ đây, mọi người đều có tất cả thông tin
họ cần và hơn thế nữa chỉ bằng một cú nhấp chuột. Vì vậy, đừng ngại tìm kiếm, yêu
cầu giúp đỡ trên StackOverflow hoặc tìm thông tin để giúp bạn giải quyết vấn đề
của mình. Các lập trình viên giỏi nhất là làm điều đó.
Kỹ năng bạn cần trau dồi là đặt câu hỏi có ích và hiểu câu trả lời. Bạn sẽ không có
điểm từ câu trả lời StackOverflow nếu bạn không biết cách hoạt động của nó. Bởi
vì StackOverflow hoạt động trên một hệ thống danh tiếng, họ quan tâm đến câu
trả lời rõ ràng nhất có thể để được đánh dấu là đúng (tích xanh) và thu thập số
phiếu ủng hộ.
Khi gặp một vấn đề khó khăn trong lập trình, nếu bạn thực sự không thể tự tìm ra,
hãy bắt đầu với Google. Tìm kiếm từ khóa hoặc nếu bạn gặp lỗi, hãy copy và
paste lỗi đó lên google. Rất có thể là khi mới bắt đầu, những rắc rối trong lập
trình của bạn sẽ rất phổ biến và ai đó thậm chí có thể đã dành thời gian để viết
một hướng dẫn rõ ràng và ngắn gọn để giúp bạn hiểu lỗi của mình. Khi bạn phát
triển kỹ năng lập trình nhiều hơn, các vấn đề bạn gặp phải ngày càng trở nên khó
hiểu hơn, nhưng hy vọng rằng, bạn cũng sẽ là lập trình viên có năng lực và tự
mình tìm ra hoặc biết chính xác nơi cần trợ giúp.
Lý do khác tại sao bạn nên bắt đầu với Google là thuật toán tìm kiếm của
StackOverflow sắp xếp các câu hỏi và câu trả lời theo lần truy cập gần đây chứ
không phải mức độ phổ biến. Rất nhiều vấn đề bạn gặp phải khi bắt đầu sẽ được
hỏi và trả lời từ nhiều năm trước nhưng vẫn còn phổ biến.
Vì vậy,
Hãy hỏi một cách khôn ngoan và bạn sẽ gặt hái được những lợi ích từ cộng đồng.
Một ngày nào đó khi bản thân bạn trở thành một chuyên gia lập trình, bạn sẽ
cống hiến lại cho chính cộng đồng đó và giúp đỡ thế hệ lập trình viên tiếp theo.
7 HÃY LÀ NGƯỜI GIỎI BẮT CHƯỚC

Khi bắt đầu học lập trình. Tôi


cho rằng cách học lập trình tốt
nhất là đọc cả đống sách. Tôi đã
mua sách về VBA, Python và tải
Tôi đọc. Tôi nhấn mạnh. Tôi quên
thêm từ internet. Kết quả là mất. Tôi ngủ quên.
những sách đó không giúp được
gì tôi nhiều ngoài việc khiến tôi Sách rất tốt để tham khảo. Nếu bạn
bối rối. muốn tìm hiểu chuyên sâu .Nhưng
nếu bạn muốn học, hãy làm một cái
gì đó.

Nhưng bạn sẽ làm gì ?


Nếu bạn thiếu ý tưởng? Hãy là một người bắt chước.
Nếu bạn đang làm trong lĩnh vực xây dựng hãy tìm kiếm
những ý tưởng liên quan đến việc tự động hoá trong xây
dựng ví dụ như quản lý chi phí, thanh toán hay dự toán….
nếu bạn làm trong lĩnh vực nhân sự hãy suy nghĩ các ý
tưởng như tính lương, gửi mail tự động, hoặc kiểm tra số
liệu… vân vân rất nhiều, những chương trình mà có một
người nào đó đã viết rồi, Chúng không chỉ hữu ích mà
còn là cơ hội hoàn hảo để bạn tìm ra cách thực hiện mọi
việc trở nên dễ dàng và có được kinh nghiệm tìm kiếm
trợ giúp từ họ hoặc cộng động mạng. Bằng cách tạo ra
các ứng dụng hoặc chương trình, bạn sẽ đi trên con
đường mà nhiều người đã đi trước bạn. Với cách này, bạn
sẽ có nhiều cơ hội để ai đó có thể giúp đỡ và cho bạn lời
khuyên khi bạn gặp khó khăn.
8

CÓ TRÁCH NHIỆM VỚI


VIỆC HỌC

Có trách nhiệm với việc

học và hoàn thành các

bài tập được giao.


Trách nhiệm? Bài tập
Vấn đề lớn nhất với các khóa học lập
trình trực tuyến là thiếu trách nhiệm giải
trình. Có rất nhiều khóa học trực tuyến
tuyệt vời, chẳng hạn như Edumall, Unica,
Udemy, Skillshare, Pyan… Nhưng kêt quả
là gì nếu bạn không làm bài tập về nhà
hoặc bỏ lỡ bài giảng ? Không. Không chả
ai quan tâm điều đó cả.
Hãy chấp nhận sự thật này, rằng bạn thực sự
chưa đủ áp lực cũng như động lực để hoàn
thành nó. Bạn và tôi luôn có thể tìm ra lý do
tại sao chúng ta xứng đáng “đi nhậu với bạn
bè và thư giãn đầu óc ” hơn là phải cắm đầu
vào học. Tôi thậm chí không thể đếm được có
bao nhiêu khóa học trực tuyến mà tôi đã
đăng ký và sau đó không nghe một bài
giảng nào hoặc hoàn thành một phần của
khóa học.
Vì vậy bạn cần có trách nhiệm và cam kết
học hỏi. Hãy nhớ lại thời đại học của bạn,
bạn có thể hoàn thành bài luận lúc 3 giờ
sáng nếu không có áp lực bắt buộc bạn
phải nộp bài vào ngày mai ? Bạn sẽ xem
tất cả bài giảng nếu bạn không quan tâm
đến việc đậu hay rớt?.
Đây là lý do tại sao tôi cố gắng đưa trách
nhiệm làm bài tập vào các khóa học của
mình.
Tôi cũng nhận thấy rằng việc kết hợp học viên với một người bạn sẽ giúp ích cho bạn.
Một người khác là người mới bắt đầu, ở cùng trình độ với bạn, người đôi khi giúp bạn
và những lúc khác cần bạn giúp. Khi thời gian dành cho học tập của mỗi người khác
nhau hoặc nếu bạn được kết nối với một kẻ lười biếng, bạn có thể hoán đổi nó và có
được một người bạn mới. Cũng giống như bạn có nhiều khả năng đi đến phòng tập
thể dục hơn nếu bạn đăng ký với một người bạn của mình, bạn có nhiều khả năng
học hỏi hơn nếu bạn có một người bạn cùng học lập trình. Vì vậy, nếu bạn không
tham gia khóa học của tôi thì hãy tìm khóa học của riêng bạn. Có rất nhiều nhóm
Facebook dành riêng cho những người đang học lập trình.
Điều tiếp theo tôi muốn nói với bạn có thể sẽ gây tranh cãi. Tôi tin rằng mọi
người không coi trọng những thứ không có giá trị. Đây là lý do tại sao
Coursera đang hạn chế số lượng lượng lớn các khóa học miễn phí của họ. Họ
thấy rằng hàng triệu người đang đăng ký nhưng không ai tham gia bất kỳ lớp
học nào chứ chưa nói đến việc hoàn thành bất kỳ dự án nào. Việc cung cấp
một khóa học miễn phí thực sự gây bất lợi cho việc học của học viên. Tất cả
chúng ta đều có xu hướng “tích trữ” ở một mức độ nào đó vì vậy rất dễ dàng
đăng ký một loạt nội dung mà tương lai-bạn có thể phải đau khổ vượt qua. Vì
vậy, nếu bạn bị thúc đẩy bởi động lực bên ngoài hơn là bên trong, hãy cố
gắng sử dụng một chút động lực tài chính để thúc đẩy việc học của bạn. Hãy
nghĩ xem một kỹ năng sống đáng giá bao nhiêu đối với bạn. Và hãy bỏ tiền
của bạn vào những dự định của bạn. Bạn hãy thử xem liệu bạn có đang tham
gia vào nội dung khóa học nhiều hơn dù có hoặc không có cam kết tài chính.
Có rất nhiều nơi mà bạn có thể trả một khoản nào đó vừa túi tiền để thúc đẩy
bản thân bắt đầu thói quen học tập thường xuyên.
9 LIÊN TỤC HỌC HỎI

Bạn phải liên tục phát triển lại


bản thân. Cập nhật kiến thức và
học hỏi.
Luôn có xu hướng mới, công nghệ
mới và ngôn ngữ mới. Các lập
trình viên giỏi sẽ thích thú khi học
những điều mới, ngay cả khi điều
đó có nghĩa là họ đã trở thành
người mới bắt đầu.
Thế giới sẽ tiếp tục vận động, nếu bạn ở yên một chỗ, cuối cùng
bạn sẽ bị bỏ lại phía sau. Tôi biết những lập trình viên chưa bao
giờ học bất cứ thứ gì khác ngoài Fortran. Tôi biết các lập trình
viên Objective-C không thể thuyết phục bản thân thực hiện bước
nhảy vọt và học Swift, mặc dù Apple đang nói với các nhà phát
triển rằng Objective-C sẽ bị loại bỏ dần. Tất cả chúng ta đều biết
rằng Apple không bao giờ đưa ra các mối đe dọa mà họ không
thực hiện. Họ luôn đổi mới.
Bạn có phải là nhà phát triển web luôn muốn tham gia vào lĩnh
vực phát triển thiết bị di động không? Chọn một nền tảng và tìm
hiểu iOS hoặc Android. Bạn có phải là nhà phát triển front-end bị
cám dỗ bởi full-stack không? Bắt đầu phát triển web với Nút. Nếu
bạn đã hiểu các khái niệm lập trình cốt lõi, việc chọn thêm một
vài ngôn ngữ sẽ dễ dàng hơn rất nhiều so với việc bắt đầu lại từ
đầu.
“Học x trong y phút” là một tài nguyên tuyệt vời dành cho các lập
trình viên hiện có để học các ngôn ngữ lập trình mới.
10

HÃY TẬP TRUNG NHƯ THỂ

BẠN ĐANG LÀ THỦ MÔN

CỦA ĐỘI BÓNG QUỐC GIA


Khi bạn xem các bộ phim Hollywood về các lập trình viên, họ
thường ngồi trước máy tính xách tay, gõ bàn phím như thể họ
đang chơi bài và đặt cược tất cả số tiền mà họ có.
Khi bạn quan sát các lập trình viên làm việc, chúng ta có xu
hướng trông như thế này: Họ không đánh máy, không làm gì
cả, Chỉ nhìn chằm chằm, rất chằm chằm…
Trong một công ty, mọi người có suy nghĩ rằng các lập trình
viên luôn chơi bi lắc hoặc làm một việc gì khác không giống
công việc lập trình của họ. Nhưng có thể mọi người không biết
rằng, thực tế họ đang làm việc, cụ thể khi bạn thấy họ chơi
bóng bàn và đùa giỡn với mọi người xung quanh, liên tục ghé
thăm WC…, có lẽ lúc đó trong lòng họ lúc đó đang rất đau khổ.
Vì có một lỗi xảy ra nào trong quá trình họ viết và đang bế
tắc trong việc tìm cách khắc phục được lỗi đó.

Vậy bạn sẽ làm gì ?

Khi code bị lỗi không đúng như những gì bạn muốn,


mọi thứ đang dần bế tắc nếu bạn không tìm được
cách gỡ lỗi, trong những tình huống này, bạn nên
tránh xa mã code của mình, càng xa càng tốt.

Bạn hãy làm gì đó khác đi đừng nhìn vào code nữa,


như chơi bi lắc, bi da, chạy bộ, đi dạo. 9/10 trường
hợp, tôi tin chắc giải pháp tháo gỡ sẽ trở nên rõ ràng.
1/10 trường hợp còn lại, bạn chỉ đang gặp rắc rối.
11

TÌM MỘT

MENTOR
Khi tôi học tiếng Anh, tôi đã bắt gặp phương pháp dẫn đến
bước tiến lớn nhất trong khả năng nói của tôi. Đó là trao đổi
ngôn ngữ qua Skype. Tôi sẽ bắt cặp với một người nói tiếng
Anh bản ngữ muốn học tiếng Việt . Chúng tôi sẽ dành nửa giờ
để nói tiếng Anh và nửa giờ nói tiếng Việt. Cả hai chúng tôi
sẽ dành một giờ mỗi tuần để cải thiện ngôn ngữ mà chúng tôi
đang cố gắng học.
Trong khi chúng tôi trò chuyện bằng tiếng Anh, anh ấy sẽ sửa
cách phát âm hoặc ngữ pháp của tôi và gợi ý những cách tôi
có thể xây dựng câu của mình để nghe giống bản ngữ hơn.
Lập trình là một kỹ thuật phát triển phần mềm linh hoạt dựa
trên các nguyên tắc rất giống nhau. Ví dụ, một người học và
một người mentor sẽ ngồi xuống cùng một laptop và giải
quyết một vấn đề. Người học chịu trách nhiệm viết code và
mentor xem xét từng dòng mã khi chúng được viết.

Thoạt đầu có thể không thoải mái vì bạn hơi


lúng túng khi mắc lỗi và được họ chỉ ra cho
bạn. Nhưng nếu bạn có một người mentor là
một giáo viên giỏi thì họ sẽ cung cấp cho
bạn sự khôn ngoan tích lũy hàng thập kỷ có
thể cải thiện lớn trong khả năng của bạn, tất
cả chỉ trong vòng vài giờ.
Bạn sẽ tiếp cận được với một người có thời
gian trau dồi kỹ năng của họ, tìm ra những
cách làm việc hiệu quả và chỉ cho bạn cách
họ lập trình và tiếp cận vấn đề.
Những người cố vấn giỏi không giải quyết vấn đề
của bạn, thay vào đó họ thực hành phương pháp
Socrate để đặt những câu hỏi hay giúp bạn tự
suy nghĩ. Tất nhiên, nếu bạn hỏi tôi làm thế nào
để viết một chương trình tự động hoá kiểm tra dữ
liệu trong excel, tôi có thể chỉ cần gõ tất cả ra và
yêu cầu bạn copy nó. Nhưng điều đó không giúp
được gì cho bạn. Thay vào đó, nếu tôi chỉ cho bạn
cách tôi tiếp cận vấn đề thì bạn có thể học được
nhiều điều hơn là chỉ làm theo một công thức
nhất định nào đó.
Lần tới khi gặp một vấn đề khác, bạn có thể áp
dụng cách tiếp cận tương tự và bắt đầu tự giải
quyết nó. Luôn nhớ rằng hiện nay thông tin rất là
“rẻ”. Một thế kỷ trước, nếu tôi muốn tìm hiểu về
nguyên nhân của bệnh tật nào đó, có lẽ tôi phải
là một quý tộc, hoặc đốn củi và gánh nước cho
một chủ nhân và trở thành học trò của họ. Ngày
nay, tôi có thể tìm kiếm trên Google và nhận
được câu trả lời của mình trong vài giây.
Vì vậy, đừng vội lo lắng về thông tin. Thay vào
đó, hãy học cách suy nghĩ. Cách tiếp cận một vấn
đề. Làm thế nào để chia nhỏ vấn đề. Cách đóng
khung vấn đề. Những kỹ năng này sẽ đưa bạn
tiến xa hơn nhiều so với việc ghi nhớ.
12
Một trong những bước quan trọng nhất cần
thực hiện để chuyển từ học lập trình thành
lập trình viên chính thức là hiểu cách mà
bạn lấy sự trợ giúp. Tất cả mọi người đều
cần nhận sự trợ giúp, kể cả những người
được gọi là “Lập trình viên siêu đẳng”.
Đó là lý do tại sao có một quy tắc trong lập
trình nói rằng "không bao giờ copy code mà
bạn không hiểu". Vì vậy, bạn nên làm gì khi
đối mặt với một đoạn code giải quyết vấn đề
của bạn nhưng bạn không biết cách hoạt
động của nó ? hãy cố gắng hiểu nó.
Bước 1 - Copy và paste code vào chương
trình của bạn.
Bước 2 - Đảm bảo rằng chương trình hoặc
ứng dụng của bạn đang hoạt động như
mong đợi và đã giải quyết được vấn đề của
bạn.
Bước 3 - Xóa từng dòng copy đã copy và
paste.
Bước 4 - Mỗi khi bạn xóa một dòng, hãy
kiểm tra xem dòng nào bị lỗi. Ứng dụng vẫn
chạy chứ? lỗi là gì? Điều gì xảy ra với
chương trình của bạn khi bạn xóa dòng
code đó?
Bước 5 - Ngay cả khi bạn nghĩ rằng bạn biết dòng code làm gì, hãy xóa nó đi.
Nhiệm vụ quan trọng nhất của bạn là luôn kiểm tra các giả định của bạn so
với kết quả. Cảm giác thú vị nhất với một lập trình viên là nó “đúng” để xác
thực các giả định của bạn. Bạn biết cảm giác tuyệt vời thế nào khi những
người xung quanh nói ra ba từ kỳ diệu này không? "Bạn đã đúng".
Bước 6 - Hoán đổi một số dòng xung quanh. Có thể đạt được cùng một chức
năng với một thứ tự dòng khác không? Tại sao chúng được viết theo thứ tự
đang được viết ? Bằng cách ngắt code giải pháp, từng dòng một, bạn sẽ học
và hiểu mỗi dòng có chức năng gì và tại sao nó được viết. Đây là một cách tốt
hơn nhiều để sử dụng code từ người khác thay vì chỉ paste nó vào và hy vọng
điều tốt nhất. Khi bạn hiểu tại sao mỗi dòng đó lại cần thiết, lần sau khi bạn
gặp một vấn đề tương tự, bạn sẽ có thể tìm ra vấn đề và tự mình giải quyết.
Bằng cách ngắt code giải pháp, từng dòng
một, bạn sẽ học và hiểu mỗi dòng có chức năng
gì và tại sao nó được viết. Đây là một cách tốt
hơn nhiều để sử dụng code từ người khác thay
vì chỉ paste nó vào và hy vọng điều tốt nhất.
Khi bạn hiểu tại sao mỗi dòng đó lại cần thiết,
lần sau khi bạn gặp một vấn đề tương tự, bạn
sẽ có thể tìm ra vấn đề và tự mình giải quyết.
Trên đây là tất cả những nguyên tắc học lập
trình mà tôi đúc kết được để bạn có thể dễ
dàng học ngôn ngữ lập trình python để áp
dụng cho công việc trong một tháng bắt đầu
với kiến thức lập trình là zero.
Để biết chi tiết cụ thể về cách áp dụng
những nguyên tắc tôi vừa trình bày. Bạn
có thể tham khảo thêm thông tin khóa
học lập trình python cho excel dành cho
người đi làm để tôi đồng hành cùng các
bạn nhé.

VỚI MỘT KHOẢN HỌC PHÍ CHỈ BẰNG MỘT BỮA NHẬU NHƯNG TÔI

SẴN SÀNG HƯỚNG DẪN CŨNG NHƯ HỖ TRỢ VIẾT CÁC PHẦN MỀM

THEO Ý TƯỞNG CỦA BẠN MỘT CÁCH KHÔNG THỂ NHIỆT TÌNH HƠN.
Link: https://pyan.vn/khoa-hoc/tdhcvvpython

Truy cập khóa học ngay hôm nay nhé

You might also like