The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Hello các bạn - mình là tôi đi code dạo - bản đọc thử

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by nhungnb221, 2022-05-06 06:11:11

Hello các bạn - mình là tôi đi code dạo - bản đọc thử

Hello các bạn - mình là tôi đi code dạo - bản đọc thử

Muc luc

˙˙

Lời bình luận dành cho Hello các
bạn, mình là Tôi đi code dạo ......... 7
Lời mở đầu ...................................... 11

01. Chém gió chuyện linh nh,

chuyện nghề nghiệp ..................... 13

02. Mình cùng đi code dạo! .. 183

03. Quá trình ến hóa của

code dạo....................................... 341

Lời kết ........................................... 357
Lời cảm ơn ................................... 359
Giải thích các thuật ngữ
hay dùng....................................... 361



Lo`’i bình luân dành cho
Hello các ban,

mình là Tôi di code dao

Cuốn sách chia sẻ về việc lựa chọn ngành phát
triển phần mềm dựa trên các yếu tố “sự kiên trì và
nhẫn nại ( ến từng bước nhỏ), improve bản thân dựa
trên các thiếu sót và sự mạo hiểm” cùng với yếu tố
“khả năng tư duy”.

Bên cạnh đó, tác giả cũng chia sẻ định hướng sau
khi chọn ngành học này (xây dựng một learning/study
path để xác định mục êu học tập để tập trung xây
dựng “căn cơ nền móng” trên các kiến thức nền tảng
được trang bị khi con người ta “mài đũng quần” trên
ghế nhà trường), rèn luyện trong quá trình (teamwork
- luyện tập làm việc theo nhóm; sharing - chia sẻ kiến

7

Hello các bạn, mình là Tôi đi code dạo

thức cùng bạn bè, partner, đàn em, cộng đồng...) cho
đến xây dựng một career path thông qua trải nghiệm
(trải nghiệm = học thức + kinh nghiệm + thái độ +
improve).

Qua các nội dung chia sẻ dí dỏm, tác giả cũng đã
trả lời các câu hỏi mà các bạn sinh viên chọn ngành -
chuyên ngành thường hỏi.

Đặc biệt nhất, các câu trả lời giải quyết tâm lý của
các bạn sinh viên về việc “tại sao nhà trường luôn dạy
các nội dung nền tảng cũ rích mà không cập nhật các
nội dung mới, cập nhật theo thị trường?”.

Qua cuốn sách này, các bạn sinh viên có lẽ sẽ nhận
ra rằng học thức là do có nền móng - căn cơ (nội dung
có lẽ “cũ” nên không ai dạy khi làm thực tế dẫn đến
chúng ta “vô nh hay cố ý lướt qua nhau” để rồi...),
kinh nghiệm là do rèn luyện để nâng cao tư duy lẫn
kỹ năng - ch lũy qua công việc, dự án - chia sẻ kiến
thức để có hỗ trợ và tạo ra các liên kết mới, cầu thị để
từ đó chúng ta cải thiện chính bản thân hướng tới mơ
ước của mình.

Nội dung sách dẫn dắt chúng ta hiểu được những
chia sẻ về cách ứng dụng framework, công nghệ khi
chúng ta có “căn cơ nền móng”. Các bạn học sinh,
sinh viên, các độc giả đã trải nghiệm qua nhiều dự án
có thể đọc để có kim chỉ nam trong lựa chọn ngành

8

Phạm Huy Hoàng

nghề và nhìn lại chính mình để thấy sự trải nghiệm của
chúng ta đã và sẽ như thế nào.

Thầy Kiều Trọng Khánh -
Giảng viên Đại học FPT

Nội dung viết hay và khá hài hước, dễ ếp thu,
phản ánh thực tế khá thú vị cuộc sống ở các công ty
hiện tại.

5 thái độ cần có sẽ giúp nhiều cho các bạn trẻ khi
vừa ra trường đi làm, không phải tự nhiên mà người ta
hay nói “Thái độ hơn trình độ”.

Các nội dung về tes ng giúp hiểu thêm về sự tương
quan giữa dev và test, nếu dev có một chút kiến thức
về test sẽ giúp hạn chế một số lỗi cơ bản hay gặp phải.

Thầy Phạm Công Thành -
Là thầy của một lứa FU và FAT

Cuốn sách “gối đầu giường” cho các bạn trẻ đã,
đang và sẽ trên con đường trở thành lập trình viên
đa-zi-năng. Những kinh nghiệm, bài học được Hoàng
đúc kết và nh gọn rất sát với thực tế, giúp cho các

9

Hello các bạn, mình là Tôi đi code dạo
bạn ết kiệm được rất nhiều thời gian cũng như có
nhiều góc nhìn hơn trong ngành Công nghệ. Hãy biến
mình trở thành developer “nội công thâm hậu” thay vì
là coder “chỉ đâu đánh đó” các bạn nhé.

Huỳnh Đào Hoàng Vũ - Product Owner -
Digital Experience tại Manulife Vietnam

Cuốn sách này như khai sáng cho tôi về những
hiểu biết của mình trong ngành IT nói riêng và lập
trình viên nói chung. Đây là những gì tôi ước mình
biết được khi còn trên giảng đường đại học. Nó xứng
đáng là cuốn sách mà các bạn đam mê lập trình nên
đọc ít nhất một lần trong đời.

Phạm Hồng Sang - Product Manager -
SkyLab Holdings

10

Lo`’i mo’’ d¯â`u

Hello các bạn, mình là Tôi Đi Code Dạo.
Giới thiệu lại với bạn lần đầu đọc sách của
mình, mình là Phạm Huy Hoàng, chủ một blog
IT, Fanpage Facebook, Youtube Channel mang tên
“Tôi đi code dạo”.
Như các bạn đã thấy, cho tới thời điểm này,
ngành IT vẫn đang hot, nhiều bạn học sinh vẫn ưu
tiên lựa chọn. Và cho đến nay, nguồn tài nguyên
học tập trong ngành, ngoài trường học, chủ yếu
vẫn là thông tin trên internet hoặc từ những kinh
nghiệm của các anh chị đi trước. Vì vậy, mình viết
cuốn sách này để tóm tắt và chia sẻ lại những gì
mình đã gặp và đã học được để các bạn tham khảo
hoặc tìm thấy điểm tương đồng với những gì bạn
gặp trong khi học tập và làm việc.

11

Hello các bạn, mình là Tôi đi code dạo
Và... đây là cuốn sách thứ 2 của mình được xuất

bản, với sự chọn lọc và tổng hợp hơn 60 bài viết trên
blog của mình.

Vẫn là phong cách cũ, cuốn sách viết về những
kỹ năng mềm và những phần kỹ thuật thuần code.
Mình cũng đã tóm tắt khá ngắn gọn, lồng ghép một
số câu chuyện vui để bạn có thể cảm thấy thư giãn
và tham khảo thêm thông tin một cách dễ dàng hơn.

Cảm ơn bạn đã tin tưởng và ủng hộ mình. Chúc
bạn luôn có những niềm vui và thành công trong
công việc và cuộc sống.

12

CLICK HERE

Thói quen đi xin tài liệu,
tải và lưu trữ tài liệu lập trình
đôi khi có hại hơn bạn tưởng!

Mình nói về một thói quen không tốt mà nhiều
bạn sinh viên và lập trình viên hay mắc phải. Thói
quen này tưởng chừng khá hữu ích, nhưng thật ra
lại có hại nhiều hơn bạn tưởng!

Đó chính là thói quen: Đi xin tài liệu, tải và lưu
trữ quá nhiều tài liệu lập trình. Ngạc nhiên chưa?

Ủa, lưu trữ tài liệu lập trình thì có gì là xấu?
Mình đã gặp rất nhiều bạn sinh viên có thói quen
này: Mỗi khi thấy có người share là lập tức tải về
máy một đống tài liệu lập trình đủ mọi thể loại. Tải
xong rồi làm gì, tất nhiên là… để không cho nặng
máy rồi!

14

Phạm Huy Hoàng

Tài liệu lập trình nhan nhản trên mạng.
(Nguồn ảnh: sưu tầm internet)

Ủa, như vậy thì có gì là xấu? Tại sao chúng ta
không nên làm điều này?

1. Vì nó vô dụng

Nhiều bạn thường hay khoe khoang rằng mình
có đến vài GB hoặc vài chục GB tài liệu ABC thuộc
nhiều ngôn ngữ, nhiều thể loại khác nhau. Tuy
nhiên, mình chắc chắn là họ chưa bao giờ đọc được
5-10% đống tài liệu mà họ có.

15

Hello các bạn, mình là Tôi đi code dạo

Sách vở và tài liệu không phải là tiền. Bạn càng
trữ nhiều tiền, bạn càng giàu có. Ngược lại, bạn có
trữ nhiều sách và tài liệu đến mấy mà không bao
giờ đọc thì kiến thức của bạn cũng chẳng giàu
hơn được tí nào đâu.

2. Vì nó khiến bạn chủ quan và ảo tưởng
sức mạnh

Một tác hại khác của việc trữ nhiều tài liệu là
chúng tạo cho bạn cảm giác chủ quan. Khi lưu tài
liệu về trữ trong máy, bạn ảo tưởng sức mạnh là
mình đang học, đang tiến bộ nhưng thực chất bạn
chẳng làm gì hết.

Cũng giống như mấy người mua sách sách
self-help, sách học làm giàu vậy. Đọc chúng giúp
cho bạn có cảm giác mình tốt hơn, mình giàu hơn
trong khi thật sự méo có gì thay đổi hết!

Chưa kể, lưu trữ quá nhiều tài liệu linh tinh về
ngôn ngữ, về framework sẽ làm bạn không có thời
gian để đọc những quyển sách thật sự hay trong
ngành lập trình như: Clean Code, Code Complete,
Refactoring, The Art of Readable Code.

16

Phạm Huy Hoàng

Chẳng bao giờ thấy cộng đồng nào share cuốn này, toàn
mấy sách dạy lập trình linh tinh.
(Nguồn ảnh: sưu tầm internet)

3. Vì nó tạo cho bạn tính chây lười

Có một sự thật mà ít người biết là: Bạn càng trữ
nhiều tài liệu, bạn càng ít đọc chúng!

17

Hello các bạn, mình là Tôi đi code dạo
Ủa, tại sao kì vậy? Đơn giản là khi bạn muốn

bắt đầu đọc hay học một cái gì đấy, nhìn vào đống
tài liệu vài trăm MB với cả chục cuốn sách, bạn sẽ
dễ cảm thấy ngộp và nản vì không biết bắt đầu từ
đâu, không biết đọc đến bao giờ mới xong.

Kết quả sẽ là hội chứng: Lưu nhiều tài liệu nhưng
méo bao giờ đọc. Dần dần bạn sẽ trở nên lười học
và lười đọc. (Mình biết điều này vì hồi xưa mình
cũng từng như vậy, và bây giờ cũng như vậy nốt.)

Đây là đống tài liệu đang nằm… phủi bụi
trong máy vì mình chưa có thời gian đọc.
(Nguồn ảnh: Màn hình của Hoàng Code Dạo)

4. Tài liệu lập trình để lâu sẽ lỗi thời

Trừ một số tài liệu về thuật toán, cấu trúc dữ liệu
ít thay đổi, các tài liệu khác rất nhanh lỗi thời, việc
lưu trữ chỉ làm tốn dung lượng bộ nhớ trên máy.

18

Phạm Huy Hoàng

Ví dụ như C# giờ đã ra bản 10.0, Angular ra bản
14, WebForm thì đã bị khai tử. Do đó, mấy tài liệu
về C# 2.0 hoặc Angular 1.x, tài liệu WebForm có
trên mạng đều đã lỗi thời.

Hoặc đơn cử như React giờ đã ra bản 17.0, series
hướng dẫn React của thằng bạn Codeaholicguy của
mình (vừa viết cách đây 1 năm) giờ cũng lỗi thời nốt.

(Tới lúc bạn đọc cuốn này có khi mấy công nghệ
trên đã có bản mới hơn rồi)

Vậy giờ mình phải làm sao?

Thay vì thói quen tải và lưu trữ quá nhiều tài
liệu, các bạn hãy tập cho mình những thói quen tốt
sau đây:

1. Lưu trữ có chọn lọc, ít nhưng chất

Trong việc học và tìm tài liệu, chất lượng quan
trọng hơn số lượng nhiều. Thói quen của mình là
chọn lọc. Thời ôn thi IELTS, thằng bạn quăng mình
đống tài liệu IELTS 4GB, mình chỉ lọc và lấy 5, 6
cuốn. Hãy đọc sách ít nhưng đọc từng cuốn một
và học có mục tiêu. Nhìn số lượng ít sẽ làm bạn bớt
ngộp, có động lực học hơn.

2. Tự tìm và đọc ngay chứ đừng lưu trữ

Thay vì đi xin tài liệu, bạn hãy tự tập cho mình
thói quen tự tìm tài liệu để học. Kỹ năng tự tìm kiếm

19

Hello các bạn, mình là Tôi đi code dạo

là một kỹ năng quan trọng khi đi học và đi làm.
Cách mình tìm kiếm thường là Google và Amazon.
Mình Google “tên công nghệ muốn học” + books,
sau đó lên Amazon xem cuốn nào có review cao rồi
hốt về đọc dần thôi.

Ngoài ra, khi mình muốn học gì, mình lên
Pluralsight xem và học ngay, không tải về và ngâm
ở đó. Sách cũng vậy, cuốn nào không học thì không
tải, đã tải về là đọc dần dần, càng để lâu bạn sẽ càng
ì ra đấy.

3. Tài liệu cũng chỉ là… tài liệu

Tất nhiên, tài liệu thì cũng chỉ là tài liệu thôi.
Dù bạn có đọc hết tài liệu, xem hết cả chục video,
cũng chỉ làm bạn biết nhiều hơn chứ chưa chắc đã
giỏi hơn.

Trong ngành của mình, cách học tốt nhất chính
là làm. Do đó, đừng mất quá nhiều thời gian cho
việc đọc các loại sách. Hãy đọc sơ qua để nắm kiến
thức cơ bản, sau đó bắt tay vào làm một dự án nho
nhỏ là được.

Chung quy lại, việc chia sẻ hay lưu trữ tài liệu
không có gì là sai. Quan trọng là chúng ta làm gì
với đống tài liệu đó.

Vậy việc bạn cần làm ngay bây giờ là gì? Hãy
làm theo 4 bước sau của Tôi Đi Code Dạo:

20

Phạm Huy Hoàng
• Lục tìm đống tài liệu mình đang trữ trong máy.
• Những thứ gì trông có vẻ dài dòng, cũ kỹ, chiếm
nhiều dung lượng thì xóa hết đi cho nhẹ máy.
• Những thứ gì hay, ngắn gọn thì bỏ ra màn
hình Desktop hoặc cho vào iPad để đọc.
• Xem các tài liệu trong iPad, trên laptop dần
những khi rảnh.
Mình đã thực hiện và thành công, các bạn cứ làm
theo thử xem có hiệu quả hay không nha!

21

Tự ti, phân vân, lo lắng, nghi ngờ
bản thân... những cảm xúc tiêu cực
mà sinh viên IT/ lập trình viên nào
cũng sẽ gặp phải

Cách đây không lâu, mình có nhận được một lời
tâm sự từ một bạn sinh viên IT:

Em đang là sinh viên năm thứ ba của trường Bưu
chính Viễn thông. Hôm nay em nhắn cho anh mail này
vì em không viết phải nói với ai và như nào được nữa ạ.

E đang rất lo lắng và sợ hãi nhưng em cứ trơ ra và
không biết sợ là gì ạ. @@

Em theo học công nghệ thông n của trường nh
đến nay là năm thứ 3. Điểm của em rất rất kém ạ,
hiện tại là mức trung bình.

Em không có một định hướng nghề nghiệp gì cho
bản thân cả. Em xin lỗi vì lại hỏi anh khi mà chính bản
thân em cũng không có một chút định hướng nào.

Em thấy mình thua kém bạn bè quá nhiều. Lực
học kém và không cố gắng hết mình, hay bỏ dở giữa

22

Phạm Huy Hoàng

chừng, chẳng làm cái gì ra hồn và đúng là em chưa
bao giờ làm được chuyện gì ra hồn cả ạ. Mấy năm là
sinh viên, em mải làm thêm kiếm ền mà bỏ học trên
lớp. Em không lên lớp nghe giảng, đi thi cuối kì môn
được, môn không. Môn được thì em thi chỉ đủ điểm
qua. Có những môn em học lại đến lần thứ 3 mà vẫn
không qua chỉ vì em không lên lớp. Mấy ngôn ngữ
học trên trường hiện tại em cũng chỉ biết một chút
về ngôn ngữ C.

Bạn sinh viên gửi thư có vẻ hơi thiếu tự tin và
nghi ngờ về khả năng của bản thân, lo lắng khi
thấy mình không bằng bạn bằng bè. Mình nghĩ
rằng không chỉ bạn ấy, mà ngay cả mình, hoặc các
bạn độc giả chắc cũng đã từng có những suy nghĩ
như vậy.

Vì thế, mình viết những điều này để trải lòng
về những cảm xúc tiêu cực mà sinh viên IT và các
bạn mới đi làm hay gặp phải, cũng như cách để
vượt qua chúng nhé.

1. Nghi ngờ khả năng và lựa chọn của
bản thân

Khi còn đi học, đôi khi học phải những môn
khoai khoai (như thuật toán và cấu trúc dữ liệu),
hoặc gặp phải những bài tập khó, nhiều khi các bạn
sẽ cảm thấy bế tắc vì mất mấy ngày mà vẫn tìm
không ra lời giải.

23

Hello các bạn, mình là Tôi đi code dạo

Hoặc ngay khi mới nhập môn lập trình, chỉ
những bài tập đơn giản đã khiến bạn vò đầu bứt
tai. Chúng làm các bạn cảm thấy mình không đủ
khả năng code, không phù hợp với nghề lập trình.

Bạn tự hỏi liệu khả năng của mình có hợp với
ngành này hay không, chẳng lẽ mình đã chọn sai
ngành? Các bạn biết không, mình cũng từng cảm
thấy như vậy đấy!

Ngày trước, thời học C++, mình từng chửi trời
chửi đất vì những bài tập kinh khủng, làm 2-3 ngày
vẫn chưa xong. Nhiều lúc mình cũng tự hỏi “Phải
chăng mình không đủ thông minh để theo ngành
lập trình?”

Đến nay, khi đã đi làm một thời gian, nhìn lại
những bài tập trước đây, mình thấy chúng chỉ…
đơn giản như trò con nít.

Liệu có phải là vì bây giờ mình thông minh hơn
ngày xưa hay không? Không! Chỉ đơn giản là vì
mình đã code nhiều hơn, đã quen với việc tư duy
và giải quyết vấn đề nên không thấy chúng khó nữa.

Các bạn thấy đấy, lập trình viên giỏi không tự
sinh ra, mà phải trải qua quá trình khổ luyện và
đổ mồ hôi nước mắt. Bản thân Bill Gates cũng phải
mất 10.000 giờ ngồi nghịch code trên máy ở trường
để luyện khả năng code.

24

Phạm Huy Hoàng

Do vậy, khi gặp khó khăn trong quá trình code,
đừng nghĩ mình không có khả năng, hãy nghĩ rằng
mình chưa luyện tập đủ mà thôi.

2. Phân vân vì có quá nhiều lựa chọn

Ngành CNTT có rất nhiều cơ hội và rất nhiều lựa
chọn khiến các bạn có lúc cảm thấy phân vân, lạc
lối không biết phải lựa chọn ra sao.

Ngành CNTT trong các trường có khá nhiều
phân ngành nhỏ: Computer Science, Software
Engineering, Engineering, Security… Điều này
khiến các bạn bối rối không biết nên lựa chọn
hướng đi như thế nào.

Cảm giác này mình cũng đã từng trải qua hồi
năm thứ 3 Đại học, khi phải lựa chọn giữa ngành
Hệ thống Thông tin và Hệ thống Nhún (cố ý viết
“nhún” cho nó đen tối). Lúc ra trường cũng vậy,
mình không biết nên tập trung học ngôn ngữ A hay
B, nên theo web hay mobile, nên làm front-end hay
back-end.

Đi làm một thời gian, mình nhận ra rằng lựa
chọn thật ra không quan trọng. Ngành IT đang
khát nhân lực nên các bạn có rất nhiều cơ hội. Cứ
chọn bất kỳ một con đường nào đó để đi, sau đó
nếu cảm thấy phù hợp thì theo, không phù hợp thì
chuyển thôi!

25

Hello các bạn, mình là Tôi đi code dạo

Làm mobile một hồi thấy thích web hơn, ok nhảy
thôi! Code Java chán quá thấy JavaScript hay hơn, ok
nhảy luôn!

Bản thân mình từng gặp anh Đạt bên
daynhauhoc, anh làm Embedded Engineer đã 6, 7
năm mà còn chuyển ngành qua làm Web Developer
tại Garena Singapore được cơ mà.

3. Lo lắng và so sánh bản thân mình với
người khác

Thuở mới vào Đại học, kiến thức về lập trình
của mình là con số 0 to đùng. Ngồi chung lớp, học
chung với những thằng từng được giải Tin học quốc
gia, huy chương ACM này nọ, rành rọt C, Pascal…
mình cứ so sánh rồi lo lắng mình sẽ bị thua kém và
tụt hậu.

Thuở mới đi làm, mình cũng hay so sánh thằng
C thằng D ra trường lương cao mười mấy củ mà
mình chỉ mới có 5, 6 củ.

Thế rồi, mình nhận ra rằng, mỗi người có một
con đường riêng. Có thể nhìn vào thành tựu của
bạn bè để phấn đấu, nhìn vào mức lương của bạn
bè để… tính đường nhảy việc chứ đừng nên nhìn
vào đó mà so sánh, ganh tị hay dằn vặt bản thân
bất tài.

26

Phạm Huy Hoàng

4. Cảm thấy mình… méo biết gì cả

Đây là cảm giác của các bạn sinh viên khi lần đầu
đi thực tập hoặc làm việc thực sự. Ban đầu các bạn
sẽ cảm thấy choáng ngợp vì những thứ mình làm
khác hẳn những thứ mình được dạy trong trường.

Tham gia vào một dự án với những bác đã làm lâu
năm, có nhiều năm kinh nghiệm, các bạn sẽ nhận ra
bản thân mình “méo biết gì cả”, bắt đầu tự ti, sợ hãi,
lo lắng sẽ không hoàn thành công việc được giao.

Tuy nhiên đây cũng là điều bình thường. Các
công ty cũng không mong chờ bạn vào là làm được
việc ngay, mà sẽ cho bạn một thời gian để rèn luyện
(Ví dụ bên FPT có chương trình Fresher, rèn luyện
tận 3 tháng trước khi vào dự án thực tế).

Điều bạn cần làm lúc này là nỗ lực hết sức trong
thời gian này để tiếp thu những kiến thức thực
tế, không trường nào dạy, chỉ có thể học hỏi được
khi đi làm.

Mình nghĩ rằng đây là những cảm xúc, những
giai đoạn mà bắt buộc ai cũng phải trải qua. Do
vậy, nếu bạn từng gặp phải những cảm giác thì này
cũng đừng nên quá lo lắng. Không chỉ riêng bạn,
đôi khi có những người thành công hơn bạn cũng
từng trải qua những cảm giác như vậy. Vì thế, cứ tự
tin vào con đường lập trình mà mình đã chọn nhé!

27

Thật ra, code không quan trọng
như bạn nghĩ đâu!

Ý tưởng của mục này xuất phát từ một câu hỏi
vừa thú vị vừa hơi… buồn cười của một bạn đọc:

Ủa anh ơi, lập trình viên thì công việc chính là viết
code. Vậy chỉ cần viết code giỏi là thành lập trình
viên giỏi thôi! Cần gì những kỹ năng này nọ nữa ạ?

Đây là một câu hỏi rất bình thường và hiển nhiên
vì thời mới ra trường mình cũng từng có thắc mắc
tương tự.

Giờ đây, sau khi bị cuộc đời coder vùi dập vài
năm, mình đã trải nghiệm tạm đủ để có thể trả
lời câu hỏi này (cho bạn đọc, cũng như cho mình
ngày xưa).

Chàng trai à, thật ra, code không quan trọng như
bạn nghĩ đâu. Bởi vì, công việc chính của lập trình
viên... không phải là viết code!

28

Phạm Huy Hoàng

1. Công việc chính của lập trình viên
không phải là viết code!

Hẳn các bạn sẽ thắc mắc: Ủa, dân developer tụi
mình ngồi máy gõ code hoài mà?

Hãy thử nhìn qua những ngành nghề khác
một chút:

• Công việc chính của nhà văn không phải là
viết chữ, mà là viết truyện ngôn tình, đam mỹ, tiểu
thuyết…

• Công việc chính của tài xế không phải là lái xe,
mà là di chuyển con người/hàng hóa tới nơi một
cách an toàn.

• Công việc chính của designer không phải là
nghịch Photoshop, mà là tạo ra một tấm poster/
banner đẹp, một design đẹp.

Ngành lập trình cũng vậy. Trong ngành này,
code chỉ là công cụ, không phải là mục đích cuối
cùng. Viết code giỏi chỉ giúp bạn làm coder giỏi chứ
không phải là developer giỏi.

Công việc chính của chúng ta là đem lại giá trị
cho công ty, cho khách hàng bằng cách tạo ra sản
phẩm (web, app), giải quyết vấn đề (quản lý thông
tin, báo cáo)… thông qua code.

29

Hello các bạn, mình là Tôi đi code dạo

Công ty không trả tiền cho bạn để bạn ngồi code.
Công ty trả tiền cho bạn để bạn viết code và giải
quyết vấn đề mà công ty cần.

2. Không nên “lậm” quá sâu vào kỹ thuật

Không thể phủ nhận, yếu tố kỹ thuật là một
trong những yếu tố quyết định sự “sống còn” của
một dự án.

Chọn nhầm công nghệ/technical stack không
phù hợp với dự án sẽ khiến ta mất nhiều thời gian
code và sửa lỗi hơn. Đôi khi xui xui còn phải đập đi
làm lại (Ví dụ làm web bán hàng mà dùng C, C++
chẳng hạn)!

Tuy thế, dân developer mình đôi khi khoái đi sâu
về kỹ thuật, thích thử nghiệm những framework
mới, công nghệ mới mà quên đi những yếu tố khác
như: trình độ thành viên trong team, deadline của
dự án, nhu cầu của công ty.

Làm việc lâu, bạn sẽ biết rằng, sự thành công
của một dự án không phụ thuộc vào việc bạn code
chuẩn ra sao, bạn dùng công nghệ hiện đại gì, mà
phụ thuộc vào việc nó có đạt được mục tiêu mà bên
business đề ra hay không?

Ví dụ nhé, bên cấp trên họ yêu cầu một trang
landing page, một trang web bán hàng nhỏ với
deadline là 1 tháng:

30

Phạm Huy Hoàng

• Bạn có thể dùng React/VueJS để làm
front-end, dùng NodeJS + Express để làm back-end.
Setup CI/CD và linter đủ thứ, áp dụng kiến trúc
microservice để hệ thống có thể scale được cho
nghìn người sử dụng, sau đó deploy lên cloud. Sau
một tháng bạn chỉ hoàn thành được 30%.

• Hoặc bạn cũng có thể dùng WooCommerce
để làm một trang web bán hàng và landing page,
sau đó customize lại cho phù hợp với công ty, hoàn
thành dự án đúng hạn.

Cách thứ 2 sẽ đem lại một dự án thành công, còn
cách 1 sẽ làm dự án thất bại.

Đứng từ góc nhìn kĩ thuật, cách 1 là cách tiếp
cận hoàn toàn đúng và vô cùng chuẩn; còn cách 2
sẽ dẫn tới nhiều vấn đề mở rộng về sau. Tuy nhiên,
từ góc nhìn của business, cách 2 giúp bạn có sản
phẩm kịp thời, đúng hạn, đáp ứng được yêu cầu
của công ty.

Các bạn thấy đấy, không phải lúc nào công nghệ
tốt nhất, quy trình chuẩn nhất… cũng là lựa chọn
đúng đắn!

Note: Nếu là một dự án lớn, về lâu về dài thì
cách 1 sẽ tiết kiệm nhiều công sức hơn, dự án dễ
mở rộng hơn. Một người technical lead/software
architecture sẽ biết cách lựa chọn cách 1 hay 2 tùy
vào quy mô và bản chất của dự án.

31

Hello các bạn, mình là Tôi đi code dạo

3. Code chỉ là một phần rất nhỏ trong
thành công của dự án

Trong một dự án phần mềm, vai trò của team
dev khá quan trọng. Các bạn hẳn đã nghe nói đến
các startup có founder tự tay code lên toàn bộ sản
phẩm!

Trên thực tế, thành công của một sản phẩm/dự
án còn phụ thuộc vào team test, team sale, team
marketing chứ không chỉ mỗi team dev.

Do vậy, mong bạn đừng nghĩ rằng developer là
trung tâm của vũ trụ mà quên đi đóng góp của các
bộ phận khác:

• Đừng chửi ông PM hoặc manager không biết gì
về code. Không có ông ấy thì bạn làm gì có team để
code, làm gì khách hàng chịu đưa tiền, đưa thưởng.

• Đừng trách mấy lão sale ngồi chém gió với
khách hàng, kiếm cái deadline trên trời về cho anh
em OT mệt nghỉ. Không có họ thì anh em mình đói
mốc miệng không có việc để làm ấy chứ.

• Đừng trách các bạn tester hay bới lông tìm bug.
Phải có họ thì phần mềm mới hoàn hảo, ít lỗi, ít bị
khách hàng chửi.

32

Phạm Huy Hoàng
Tóm lại, mình chỉ muốn nhắn nhủ với các bạn
đôi điều:
• Dân developer chúng mình rất thích code,
viết rất nhiều code. Tuy nhiên, hãy nhớ rằng code
không hề quan trọng như bạn nghĩ đâu.
• Thứ quan trọng chính là giá trị bạn đem lại, sản
phẩm bạn làm ra, vấn đề bạn giải quyết! Do vậy,
trước khi code, hãy nghĩ mình cần giải quyết vấn
đề gì? Làm sao để đem lại giá trị cho công ty, cho
người dùng.
• Có rất nhiều yếu tố phi kỹ thuật ảnh hưởng
đến thành công của một dự án. Để thành công,
hãy cố gắng quan sát, đưa ra lựa chọn phù hợp với
những yếu tố này nhé!

33

Lập trình viên “gà” hay nói những
câu gì? Xem để phòng tránh nhé!

Gần đây, vài bạn sinh viên có hỏi mình một câu
khá vui là: “Em học IT. Nói gì để thể hiện trình
độ mình pờ rồ cho bọn bạn nó nể đây anh?”.

Tiếc là, trình độ chỉ có thể thể hiện qua quá trình
code, quá trình làm việc chứ không thể chỉ thông qua
vài câu chém gió “cao siêu” được. Tuy vậy, có vài
câu nói mà chỉ cần bạn nói ra là người ta sẽ biết ngay
là bạn “gà mờ”, hoặc “méo biết gì nhiều” về ngành.
Do vậy, Code Dạo sẽ giới thiệu một số câu nói mà
các bạn “lập trình viên gà” hay nói. Các bạn xem để
biết vì sao, để biết đường mà phòng tránh không
phát ngôn những câu như vậy nhé!

34

Phạm Huy Hoàng

1. Học “xong” một ngôn ngữ lập trình

Đây là câu nói mình hay nghe từ các bạn sinh
viên năm nhất, năm 2, sau khi các bạn đã… học
xong C#, học xong Java, học xong hết rồi không biết
học gì tiếp theo.

Khi sắp ra trường, mới đi làm, các bạn sẽ biết
rằng học “xong” một môn trong trường chỉ là xong
mức cơ bản về syntax, một số khái niệm hay dùng
của ngôn ngữ đó thôi. Chứ không phải là xong
hoàn toàn đâu.

(Nguồn ảnh: sưu tầm internet)

35


Click to View FlipBook Version