tek4

Lộ trình học lập trình để trở thành một lập trình viên

by - September. 26, 2021
Kiến thức
Học
<p style="text-align: justify;">Trong c&aacute;c b&agrave;i trước, ch&uacute;ng ta đ&atilde; t&igrave;m hiểu sơ sơ về lập tr&igrave;nh v&agrave; ng&ocirc;n ngữ lập tr&igrave;nh. Một trong những thắc mắc lớn nhất của kh&aacute; nhiều bạn hiện nay đ&oacute; l&agrave; học lập tr&igrave;nh th&igrave; bắt đầu từ đ&acirc;u, v&agrave; cần phải học những g&igrave; để c&oacute; thể trở th&agrave;nh một lập tr&igrave;nh vi&ecirc;n chuy&ecirc;n nghiệp. B&agrave;i viết n&agrave;y sẽ giải đ&aacute;p những thắc mắc đ&oacute;.</p> <h2 style="text-align: justify;">Mục ti&ecirc;u l&agrave; tối thượng</h2> <p style="text-align: justify;">Giống như tất cả mọi vấn đề kh&aacute;c trong cuộc sống, để học lập tr&igrave;nh bạn cũng cần đặt cho m&igrave;nh một mục ti&ecirc;u cụ thể. Bạn muốn học để l&agrave;m g&igrave;, v&igrave; mục đ&iacute;ch g&igrave;? C&oacute; v&ocirc; số c&aacute;c mục đ&iacute;ch m&agrave; c&aacute;c bạn c&oacute; thể đặt ra cho việc học, chẳng hạn như: t&ocirc;i nghe n&oacute;i lập tr&igrave;nh kiếm tiền &aacute;c lắm, lương th&aacute;ng &iacute;t ra cũng v&agrave;i chục củ!!!, hay t&ocirc;i nghe n&oacute;i học lập tr&igrave;nh dễ kiếm bạn g&aacute;i, con g&aacute;i ở trường c&ocirc;ng nghệ l&agrave; h&agrave;ng si&ecirc;u hot si&ecirc;u hiếm n&ecirc;n muốn v&agrave;o để trải nghiệm cảm gi&aacute;c ng&ocirc;i sao, hay đọc ở đ&acirc;u đ&oacute; một b&agrave;i viết về một lập tr&igrave;nh vi&ecirc;n viết app v&agrave; kiếm 320 tỷ một năm!!! v&acirc;n v&acirc;n v&agrave; m&acirc;y m&acirc;y...</p> <p><img class="size-full wp-image-8860 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/Dat-muc-tieu.jpg" alt="Đặt mục ti&ecirc;u" width="740" height="420" /></p> <p style="text-align: justify;">C&oacute; v&ocirc; số mục ti&ecirc;u m&agrave; bạn c&oacute; thể đặt ra, nhưng d&ugrave; l&agrave; mục ti&ecirc;u n&agrave;o th&igrave; n&oacute; cũng cần phải x&aacute;c định cho bạn rằng: T&Ocirc;I CẦN HỌC LẬP TR&Igrave;NH NGAY LẬP TỨC!!!!. Chỉ những động lực đủ mạnh v&agrave; đam m&ecirc; th&igrave; bạn mới c&oacute; thể theo được nghề. V&agrave; n&oacute; phải đủ d&agrave;i để bạn c&oacute; thể đi tiếp được. Ở đ&acirc;y xin ph&eacute;p được hơi "đa cấp" ch&eacute;m gi&oacute; một t&iacute;!! Nhưng thực sự l&agrave; mục ti&ecirc;u l&agrave; thứ TỐI QUAN TRỌNG. Kh&ocirc;ng phải s&aacute;ch vở n&oacute;i thế n&agrave;o thực tế n&oacute; l&agrave; như vậy. C&oacute; rất nhiều bạn sinh vi&ecirc;n, em trai mưa, em g&aacute;i mưa sau bao năm học ở trường đại học, hoặc sau một thời gian đ&atilde; ra trường đi l&agrave;m rồi th&igrave; mới ph&aacute;t hiện ra l&agrave;m lập tr&igrave;nh mệt qu&aacute;, ch&aacute;n qu&aacute;, hay kh&ocirc;ng c&oacute; hứng th&uacute; để đi tiếp nữa v&agrave; rẽ ngang. Điều n&agrave;y l&agrave;m tốn rất nhiều thời gian của ch&iacute;nh c&aacute;c bạn. Một cuộc đời bạn c&oacute; trung b&igrave;nh 70 năm, trong đ&oacute; c&oacute; đến chục năm đầu đời v&agrave; chục năm cuối đời l&agrave; bạn chẳng đủ khỏe để l&agrave;m g&igrave; rồi. Vậy th&igrave; thực chất thời gian n&oacute; ngắn lắm, đừng nghe những lời hứa xu&ocirc;ng kiểu tuổi trẻ th&igrave; cứ trải nghiệm đi, cứ sai lầm đi. V&igrave; sai lầm ch&aacute;n rồi th&igrave; bạn cũng đ&acirc;u c&ograve;n trẻ nữa! Mục ti&ecirc;u sẽ gi&uacute;p bạn x&aacute;c định xem bạn c&oacute; đi tiếp được kh&ocirc;ng v&agrave; đi đến đ&acirc;u. Về cơ bản, mục ti&ecirc;u c&oacute; hai dạng:</p> <ul style="text-align: justify;"> <li>C&aacute;c mục ti&ecirc;u chung tổng qu&aacute;t: chẳng hạn t&ocirc;i phải khởi nghiệp v&agrave; c&ocirc;ng nghệ, t&ocirc;i phải l&agrave; Bill Gate 2.0, Elon Musk 3.0... T&ocirc;i muốn một c&ocirc;ng việc ổn định, nh&agrave;n hạ,...C&aacute;i n&agrave;y sẽ x&aacute;c định bạn đi đến đ&acirc;u. Nếu mong muốn khởi nghiệp th&igrave; bạn c&oacute; thể l&agrave;m lăn lộn v&agrave;i năm về lập tr&igrave;nh, trải nghiệm c&agrave;ng nhiều c&ocirc;ng ty, c&agrave;ng nhiều c&ocirc;ng nghệ c&agrave;ng tốt để nắm được bức tranh tổng qu&aacute;t của ng&agrave;nh, rồi th&ecirc;m ch&uacute;t kinh tế, t&agrave;i ch&iacute;nh v&agrave; vốn để xoay trở. C&ograve;n bạn muốn đi l&agrave;m s&aacute;ng cắp &ocirc; đi, đ&ecirc;m cắp &ocirc; về th&igrave; bạn n&ecirc;n r&egrave;n luyện những kỹ năng thật tuyệt vời dần dần v&agrave; c&agrave;ng chuy&ecirc;n s&acirc;u ban đầu c&agrave;ng tốt. Do đ&oacute; mới n&oacute;i, việc học như thế n&agrave;o, bắt đầu từ đ&acirc;u l&agrave; t&ugrave;y theo mục ti&ecirc;u tổng qu&aacute;t của bạn.</li> <li>Tiếp theo l&agrave; c&aacute;c mục ti&ecirc;u cụ thể, chẳng hạn năm nay t&ocirc;i phải học th&agrave;nh thạo ng&ocirc;n ngữ C, năm sau phải l&agrave; chuy&ecirc;n gia về giải thuật, hay t&ocirc;i phải l&agrave;m một lập tr&igrave;nh vi&ecirc;n Android (v&igrave; c&oacute; thể kiếm được 300 tỷ), t&ocirc;i phải l&agrave;m một lập tr&igrave;nh vi&ecirc;n Full-stack (v&igrave; nghe n&oacute; hot). C&aacute;c mục ti&ecirc;u cụ thể kh&aacute;c với mục ti&ecirc;u tổng qu&aacute;t ở chỗ, n&oacute; l&agrave; c&aacute;c mục ti&ecirc;u m&agrave; c&aacute;c bạn hướng tới theo từng giai đoạn v&agrave; rất chi tiết về vị tr&iacute; m&agrave; bạn l&agrave;m. Nhưng thực ra, bạn chẳng thể l&agrave;m m&atilde;i một c&ocirc;ng việc trong ng&agrave;nh c&ocirc;ng nghệ m&agrave; kh&ocirc;ng c&oacute; sự thay đổi đi l&ecirc;n hoặc rẽ ngang được!!! Do đ&oacute;, đ&acirc;y l&agrave; c&aacute;c mục ti&ecirc;u m&agrave; trong một giai đoạn n&agrave;o đ&oacute;, bạn cảm thấy muốn hoặc cần. C&ograve;n về d&agrave;i hạn th&igrave; chưa chắc!!! Tất nhi&ecirc;n c&aacute;c mục ti&ecirc;u cụ thể, ngắn hạn sẽ cần gi&uacute;p cho bạn đạt đến mục ti&ecirc;u chung tổng qu&aacute;t. Nếu kh&ocirc;ng th&igrave; bạn đang đi lạc đường rồi !!!. Chẳng hạn, t&ocirc;i phải l&agrave;m chuy&ecirc;n gia lập tr&igrave;nh C trong năm nay, nhưng mục ti&ecirc;u tổng qu&aacute;t của t&ocirc;i phải kinh doanh về website thương mại điện tử!!! Ồ, c&oacute; vẻ như kh&ocirc;ng hợp l&yacute; lắm!</li> </ul> <p style="text-align: justify;">N&oacute;i t&oacute;m lại l&agrave; mục ti&ecirc;u sẽ ảnh hưởng đến c&aacute;i bạn bắt đầu v&agrave; c&aacute;c giai đoạn bạn học tiếp theo. Do đ&oacute;, trước khi bắt đầu, h&atilde;y x&aacute;c định ch&iacute;nh x&aacute;c cho m&igrave;nh một mục ti&ecirc;u.</p> <p style="text-align: justify;">Sau khi đ&atilde; x&aacute;c định được mục ti&ecirc;u, đến bước thứ hai, h&atilde;y chọn cho m&igrave;nh một hướng đi cụ thể đầu ti&ecirc;n</p> <h2 style="text-align: justify;">Lựa chọn hướng đi</h2> <p style="text-align: justify;">Sau khi đ&atilde; c&oacute; mục ti&ecirc;u tổng thể, ch&uacute;ng ta sẽ đi v&agrave;o mục ti&ecirc;u chi tiết v&agrave; cuối c&ugrave;ng, bạn chưa biết g&igrave;, n&ecirc;n bạn cần lựa chọn một hướng đi đầu ti&ecirc;n để bắt đầu. Trong lập tr&igrave;nh, c&oacute; rất nhiều hướng đi kh&aacute;c nhau m&agrave; bạn c&oacute; thể lựa chọn. Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ giả định l&agrave; bạn muốn học lập tr&igrave;nh v&agrave; l&agrave;m lập tr&igrave;nh, c&ograve;n c&aacute;c c&ocirc;ng việc kh&aacute;c, c&oacute; thể bạn thấy n&oacute; hay hơn v&agrave; muốn chuyển hướng qua, tuy nhi&ecirc;n, do thời lượng c&oacute; hạn n&ecirc;n ch&uacute;ng ta sẽ gi&agrave;nh n&oacute; cho b&agrave;i sau. B&agrave;i n&agrave;y ch&uacute;ng ta chỉ tập trung đến nghề Developer (lập tr&igrave;nh vi&ecirc;n). Vậy, c&oacute; những hướng đi n&agrave;o cho lập tr&igrave;nh vi&ecirc;n. Về cơ bản, dựa tr&ecirc;n m&ocirc;i trường ph&aacute;t triển m&agrave; ch&uacute;ng ta c&oacute; thể chia lập tr&igrave;nh vi&ecirc;n th&agrave;nh s&aacute;u nh&aacute;nh ch&iacute;nh sau:</p> <h3 style="text-align: justify;">Lập tr&igrave;nh Web</h3> <p style="text-align: justify;">Đ&acirc;y c&oacute; lẽ l&agrave; nh&aacute;nh ph&aacute;t triển nhất v&agrave; phổ biến nhất hiện nay. Tr&ecirc;n thế giới c&oacute; khoảng 2 tỷ trang web, v&agrave; số lượng c&ocirc;ng việc v&agrave; nhu cầu về ứng dụng web ng&agrave;y một ph&aacute;t triển. Ch&uacute;ng ta đ&atilde; nghe ở đ&acirc;u đ&oacute; rằng c&aacute;c c&ocirc;ng nghệ Web đang chết dần. Nhưng thực tế n&oacute; vẫn sống rất d&agrave;i. Bởi ngay cả những ứng dụng di động (vốn được coi l&agrave; l&ecirc;n ng&ocirc;i hiện nay) vẫn sử dụng rất nhiều c&ocirc;ng nghệ web, thậm ch&iacute; nhiều ứng dụng được ph&aacute;t triển dạng Hybird đa nền tảng, trong đ&oacute; dựa rất nhiều v&agrave;o c&ocirc;ng nghệ Web. Ch&iacute;nh v&igrave; thế n&oacute; vẫn l&agrave; một hướng đi kh&aacute; rộng mở. Về cơ bản th&igrave; c&aacute;c c&ocirc;ng nghệ về Web chia th&agrave;nh 2 mảng ch&iacute;nh: lập tr&igrave;nh front-end v&agrave; lập tr&igrave;nh back-end. B&ecirc;n trong mỗi mảng lại c&oacute; rất nhiều c&aacute;c đầu c&ocirc;ng việc chi tiết hơn. Tuy nhi&ecirc;n ch&uacute;ng ta kh&ocirc;ng n&oacute;i cụ thể ở đ&acirc;u m&agrave; chỉ cần nắm được rằng Front-end tức l&agrave; vẽ ra c&aacute;i giao diện hiển thị cho người d&ugrave;ng, v&agrave; thi&ecirc;n về đồ họa, hiển thị, tối ưu h&oacute;a giao diện...C&ograve;n back-end l&agrave; vẽ ra chức năng ph&iacute;a sau mỗi n&uacute;t bấm m&agrave; bạn tương t&aacute;c, chẳng hạn bạn bấm mua h&agrave;ng th&igrave; phần back-end sẽ xử l&yacute; một loạt c&ocirc;ng việc logic để đảm bảo bạn mua được h&agrave;ng đ&uacute;ng theo quy tr&igrave;nh v&agrave; đảm bảo an to&agrave;n. Mỗi ph&iacute;a sẽ c&oacute; những ng&ocirc;n ngữ v&agrave; đặc điểm cần ch&uacute; trọng, cũng như hướng đi kh&aacute;c nhau.</p> <p><img class=" wp-image-8863 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/full-stack-web-developer.png" alt="full-stack-web-developer" width="796" height="461" /></p> <h3 style="text-align: justify;">Lập tr&igrave;nh di động (Mobile)</h3> <p style="text-align: justify;">Đ&acirc;y l&agrave; hướng mới chỉ c&oacute; khoảng chục năm ph&aacute;t triển, trong hướng n&agrave;y, bạn sẽ l&agrave;m quen với c&aacute;c c&ocirc;ng nghệ lập tr&igrave;nh tr&ecirc;n hai nền tảng hệ điều h&agrave;nh ch&iacute;nh hiện nay l&agrave; iOS v&agrave; Android (c&aacute;c hệ điều h&agrave;nh kh&aacute;c hoặc đang chết dần hoặc l&agrave; một phi&ecirc;n bản cải bi&ecirc;n của Android do đ&oacute; ch&uacute;ng ta kh&ocirc;ng quan t&acirc;m đến ở đ&acirc;y). Về cơ bản th&igrave; lập tr&igrave;nh di động bạn c&oacute; thể đi theo hai hướng lập tr&igrave;nh dạng Hybrid tức l&agrave; viết một bản chạy khắp nơi tr&ecirc;n cả Android lẫn iOS (chẳng hạn như Ionic, Xamarin, gần đ&acirc;y l&agrave; React Native hay thậm ch&iacute; gần hơn nữa l&agrave; Flutter...) v&agrave; một hướng l&agrave; c&aacute;c Native app tức l&agrave; gắn chặt với hệ điều h&agrave;nh (chẳng hạn như Android Java, Kotlin với Android hay Objective-C, Swift với iOS). V&agrave; cũng như c&ocirc;ng nghệ Web, thực chất vẫn c&oacute; một phần đất sống cho c&aacute;c c&ocirc;ng nghệ Back-end cho ứng dụng di động, đặc biệt với những ứng dụng cần xử l&yacute; lượng người d&ugrave;ng lớn, tương t&aacute;c với m&aacute;y chủ chẳng hạn như Facebook, Instagram,Shopee, Tiki...</p> <p><img class="size-full wp-image-8862 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/Mobile_Development.jpg" alt="Mobile_Development" width="800" height="398" /></p> <h3 style="text-align: justify;">Lập tr&igrave;nh ứng dụng (PC)</h3> <p style="text-align: justify;">Đ&acirc;y c&oacute; thể coi l&agrave; ngh&agrave;nh kh&aacute; cổ điển trong lập tr&igrave;nh với lịch sử rất l&acirc;u đời. N&oacute; gi&uacute;p tạo ra c&aacute;c ứng dụng ph&iacute;a m&aacute;y t&iacute;nh c&aacute; nh&acirc;n hệ điều h&agrave;nh Windows, Linux hoặc MacOS. Về cơ bản n&oacute; c&oacute; sự kh&aacute;c biệt so với hai hướng tr&ecirc;n. Mặc d&ugrave; đ&acirc;y l&agrave; hướng ph&aacute;t triển c&oacute; thể coi l&agrave; c&oacute; nhiều hạn chế hơn nhiều so với hai hướng tr&ecirc;n bởi xu thế cloud h&oacute;a v&agrave; di động h&oacute;a c&aacute;c ứng dụng đang ng&agrave;y một gia tăng. Tuy nhi&ecirc;n, theo một c&aacute;ch n&agrave;o đ&oacute; th&igrave; vẫn c&oacute; đất sống cho mảng n&agrave;y. Tất nhi&ecirc;n, sẽ kh&ocirc;ng s&ocirc;i động như hai mảng di động v&agrave; web. L&iacute; do, hầu hết những sản phẩm cần c&oacute; đều đ&atilde; c&oacute; v&agrave; rất tốt, thậm ch&iacute; đ&atilde; chuyển dịch l&ecirc;n cloud, v&agrave; chỉ c&ograve;n đ&acirc;u đ&oacute; đ&ocirc;i ch&uacute;t một số sản phẩm nghiệp vụ đặc biệt vẫn c&ograve;n cần ph&aacute;t triển m&agrave; th&ocirc;i.</p> <h3 style="text-align: justify;">Lập tr&igrave;nh Game</h3> <p style="text-align: justify;">C&oacute; lẽ, kh&ocirc;ng thiếu c&aacute;c anh em c&oacute; giấc mơ game thủ l&uacute;c nhỏ nh&igrave;n thấy hướng đi n&agrave;y th&igrave; kh&aacute; l&agrave; th&iacute;ch đ&acirc;y. Thực chất đ&acirc;y cũng l&agrave; một hướng đi kh&aacute; s&ocirc;i động trong thời gian những năm 2010-2016 đặc biệt sau sự xuất hiện cực kỳ th&agrave;nh c&ocirc;ng của Flappy Bird. Người người l&agrave;m game, nh&agrave; nh&agrave; l&agrave;m game, thậm ch&iacute; mod lại, nh&aacute;i lại c&aacute;c game đ&atilde; c&oacute; tr&ecirc;n trợ ứng dụng. V&agrave; cho đến hiện nay th&igrave; đ&acirc;y vẫn l&agrave; một hướng đi kh&aacute; hot. Mặc d&ugrave; vậy, xu thế chơi của người chơi b&acirc;y giờ đ&atilde; rất kh&aacute;c v&agrave; sẽ tương đối kh&oacute; c&oacute; được lượng kh&aacute;ch h&agrave;ng như trước đ&acirc;y nữa. Kh&aacute;ch h&agrave;ng đ&atilde; ng&agrave;y một kh&oacute; t&iacute;nh hơn v&agrave; tất nhi&ecirc;n, đất sống cho c&aacute;c nh&agrave; ph&aacute;t triển c&aacute; nh&acirc;n cũng thu hẹp đi kh&aacute; nhiều. Ngo&agrave;i ra thị trường tuyển dụng của c&aacute;c c&ocirc;ng ty (nếu bạn kh&ocirc;ng muốn tự l&agrave;m ở nh&agrave; dạng freelancer) th&igrave; cũng kh&ocirc;ng s&ocirc;i động như Web hay Mobile. Nếu so s&aacute;nh số lượng doanh nghiệp l&agrave;m về Game ở Việt Nam so với l&agrave;m Web v&agrave; ứng dụng Mobile th&igrave; n&oacute; chỉ l&agrave; một con số rất nhỏ.</p> <p><img class=" wp-image-8864 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/unity.jpg" alt="" width="789" height="386" /></p> <h3 style="text-align: justify;">Lập tr&igrave;nh hệ thống nh&ugrave;ng v&agrave; điều khiển c&ocirc;ng nghiệp</h3> <p style="text-align: justify;">Đ&acirc;y l&agrave; hướng c&oacute; lẽ l&agrave; tồn tại l&acirc;u đời nhất so với tất cả c&aacute;c hướng về lập tr&igrave;nh, c&aacute;c hệ thống điều khiển c&ocirc;ng nghiệp, nh&uacute;ng, vẫn đ&atilde; v&agrave; đang cần lập tr&igrave;nh h&agrave;ng ng&agrave;y. Xe th&ocirc;ng minh, m&aacute;y giặt th&ocirc;ng m&igrave;nh, Camera th&ocirc;ng minh.... C&oacute; h&agrave;ng tỷ tỷ thứ cần nhu cầu trong x&atilde; hội IoT, x&atilde; hội số hiện nay. Tất nhi&ecirc;n, để l&agrave;m được mảng n&agrave;y, bạn sẽ cần phải học kh&aacute; s&acirc;u sắc về phần cứng v&agrave; điện tử, c&aacute;c thứ, n&oacute;i chung l&agrave; kh&ocirc;ng dễ nhằn. Nếu l&agrave; trước đ&acirc;y th&igrave; mảng n&agrave;y kh&ocirc;ng phổ biến lắm ở Việt Nam, tuy nhi&ecirc;n chỉ trong v&ograve;ng mấy năm trở lại đ&acirc;y th&igrave; đ&acirc;y cũng c&oacute; thể coi l&agrave; một hướng kh&aacute; b&ugrave;ng nổ với nhu cầu nh&acirc;n lực rất lớn v&agrave; mức lương kh&aacute; hậu.</p> <p><img class=" wp-image-8865 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/IoT.jpg" alt="" width="784" height="508" /></p> <h3 style="text-align: justify;">Lập tr&igrave;nh hệ thống hoặc framework</h3> <p style="text-align: justify;">Đ&acirc;y c&oacute; lẽ l&agrave; c&aacute;i kh&oacute; nhằn nhất trong số những c&aacute;i kh&oacute; nhằn trong c&ocirc;ng việc về lập tr&igrave;nh. N&oacute;i n&ocirc;m na l&agrave; bạn x&acirc;y dựng một thứ để cho c&aacute;c &ocirc;ng kh&aacute;c c&oacute; thể x&acirc;y dựng c&aacute;i kh&aacute;c l&ecirc;n n&oacute;. Do đ&oacute;, tư duy thiết kế, khả năng tối ưu h&oacute;a, lập tr&igrave;nh của bạn cũng phải kh&aacute; si&ecirc;u cao thủ. C&aacute;c hệ điều h&agrave;nh, c&aacute;c framework, thư viện.... l&agrave; mục ti&ecirc;u của c&aacute;c developer dạng n&agrave;y. Ở Việt Nam th&igrave; c&aacute;c c&ocirc;ng việc dạng n&agrave;y cũng kh&ocirc;ng nhiều.</p> <h3 style="text-align: justify;">Vậy l&agrave;m AI v&agrave; Blockchain th&igrave; ở đ&acirc;u?</h3> <p style="text-align: justify;"><a href="https://tek4.vn/machine-learning-co-ban/">AI</a> v&agrave; <a href="https://tek4.vn/blockchain-co-ban/">blockchain</a> chỉ l&agrave; hai kh&aacute;i niệm ứng dụng, ch&uacute;ng c&oacute; thể được sử dụng trong hầu hết c&aacute;c ứng dụng tr&ecirc;n nếu muốn. Chẳng hạn c&aacute;c hệ thống Camera th&ocirc;ng minh, c&aacute;c phần mềm nhận dạng chữ viết tay, c&aacute;c website thương mại điện tử...Tất cả ch&uacute;ng đều c&oacute; thể cần AI hay ứng dụng tr&ecirc;n c&ocirc;ng nghệ blockchain. Bạn thấy mức lương của c&aacute;c lập tr&igrave;nh vi&ecirc;n dạng n&agrave;y rất cao. Đơn giản n&oacute; cần kỹ năng lập tr&igrave;nh c&aacute;c ng&agrave;nh ở tr&ecirc;n OK + kiến thức v&agrave; kỹ năng trong cả c&aacute;ch ứng dụng c&ocirc;ng nghệ n&agrave;y v&agrave;o ứng dụng thực tế. V&agrave; tất nhi&ecirc;n n&oacute; kh&aacute; mới n&ecirc;n nhu cầu cao, nguồn cung nh&acirc;n sự lại &iacute;t v&agrave; tất nhi&ecirc;n gi&aacute; cả đẩy l&ecirc;n kh&aacute; cao. Quy luật cung cầu cả!!! Vậy c&ograve;n nếu muốn theo đuổi hướng đi n&agrave;y th&igrave; sao? C&aacute;c c&ocirc;ng việc kh&aacute;c về hai ng&agrave;nh n&agrave;y th&igrave; c&oacute; lẽ ch&uacute;ng ta tạm kh&ocirc;ng n&oacute;i ở đ&acirc;y, trước ti&ecirc;n ch&uacute;ng ta quan t&acirc;m đến c&ocirc;ng việc lập tr&igrave;nh theo hướng n&agrave;y. N&oacute; đ&ograve;i hỏi y&ecirc;u cầu kh&aacute; cao về kiến thức nền tảng, lẫn khả năng lập tr&igrave;nh tốt. V&igrave; vậy thực ra bạn vẫn cần phải đi qua c&aacute;c hướng tr&ecirc;n sau đ&oacute; mới c&oacute; đủ kỹ năng lập tr&igrave;nh để theo đuổi mảng n&agrave;y!!! Kh&aacute; thất vọng phải kh&ocirc;ng ạ!!! Th&ocirc;i, dục tốc th&igrave; bất đạt!!!</p> <p><img class=" wp-image-8861 aligncenter" src="https://tek4.vn/wp-content/uploads/2021/02/Blockchain-Languages.jpg" alt="Blockchain-Languages" width="666" height="274" /></p> <h2 style="text-align: justify;">Lựa chọn ng&ocirc;n ngữ v&agrave; c&ocirc;ng nghệ</h2> <p style="text-align: justify;">Sau khi đ&atilde; chọn được một hướng đi m&agrave; bạn cho rằng l&agrave; ph&ugrave; hợp với bản th&acirc;n, th&igrave; tiếp theo, bạn c&oacute; thể tiếp tục chọn cho m&igrave;nh một ng&ocirc;n ngữ lập tr&igrave;nh để khởi đầu.</p> <p style="text-align: justify;">Nghe ở tr&ecirc;n th&igrave; c&oacute; vẻ c&oacute; rất nhiều ng&ocirc;n ngữ phải kh&ocirc;ng ạ? Mỗi mảng lại c&oacute; một v&agrave;i ng&ocirc;n ngữ phổ biến, vậy th&igrave; n&ecirc;n bắt đầu với ng&ocirc;n ngữ n&agrave;o b&acirc;y giờ? Thực ra việc lựa chọn ng&ocirc;n ngữ ban đầu c&oacute; hai hướng:</p> <p style="text-align: justify;">Hướng đầu ti&ecirc;n đ&oacute; l&agrave; ch&uacute;ng ta lựa chọn ngay theo mục ti&ecirc;u m&agrave; ch&uacute;ng ta đ&atilde; đặt ra ở tr&ecirc;n, chẳng hạn nếu muốn l&agrave;m lập tr&igrave;nh web th&igrave; ta c&oacute; thể nhảy ngay v&agrave;o học HTML, CSS, <a href="https://tek4.vn/lap-trinh-javascript-tu-co-ban-den-nang-cao/">JavaScript</a>, <a href="https://tek4.vn/lap-trinh-php-co-ban-cho-nguoi-moi-bat-dau/">PHP</a>, NodeJS thậm ch&iacute; l&agrave; Ruby....Muốn l&agrave;m Mobile th&igrave; cứ c&aacute;i mới nhất m&agrave; học: Kotlin, Swift, React Native, Flutter... Nếu chọn theo c&aacute;ch n&agrave;y th&igrave; cũng được !!! Bạn sẽ c&oacute; ngay c&aacute;i bạn muốn, bạn c&oacute; thể l&agrave;m được việc ngay lập tức chỉ sau khoảng v&agrave;i ba th&aacute;ng nỗ lực chăm chỉ v&agrave; l&agrave;m project. Tuy nhi&ecirc;n, hướng đi n&agrave;y cũng tiềm ẩn kh&aacute; nhiều rủi ro. Bởi khi bạn chọn c&aacute;c ng&ocirc;n ngữ ứng dụng bậc cao n&agrave;y, c&aacute;c nền tảng framework đi k&egrave;m với n&oacute; đ&atilde; c&oacute; đầy đủ kh&aacute; nhiều chức năng, bạn chỉ cần gọi n&oacute; ra v&agrave; sử dụng. V&igrave; vậy, nếu bạn cũng l&agrave; một người "kh&aacute; lười" th&igrave; n&oacute; sẽ l&agrave;m cho bạn c&agrave;ng lười hơn v&agrave; bỏ qu&ecirc;n bản chất ph&iacute;a sau của n&oacute;. Điều đ&oacute; l&agrave;m bạn sẽ bỏ mất cơ số c&aacute;c kiến thức nền tảng cần thiết để ph&aacute;t triển sau n&agrave;y. C&ograve;n nếu bạn thực sự "chăm chỉ" cầy cuốc th&ecirc;m th&igrave; cũng chẳng ảnh hưởng g&igrave;.</p> <p><img class=" wp-image-8866" src="https://tek4.vn/wp-content/uploads/2021/02/Ngon-ngu-lap-trinh.png" alt="Ng&ocirc;n ngữ lập tr&igrave;nh" width="815" height="467" /></p> <p style="text-align: justify;">Hướng thứ hai đ&oacute; l&agrave; học một ng&ocirc;n ngữ cơ sở. C&oacute; lẽ bạn thường nghe đến ng&ocirc;n ngữ khởi đầu n&ecirc;n chọn l&agrave; C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a>, <a href="https://tek4.vn/lap-trinh-java-tu-co-ban-den-nang-cao/">Java</a> hay <a href="https://tek4.vn/lap-trinh-python-co-ban/">Python</a>??? Th&ocirc;ng thường, trong c&aacute;c trường đại học, hướng đi n&agrave;y sẽ được người ta chọn sẵn cho bạn. Chẳng hạn 70% số trường ở Việt Nam bắt đầu dậy sinh vi&ecirc;n với C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a>, 25% c&ograve;n lại l&agrave; Java, v&agrave; một số c&ograve;n lại lựa chọn <a href="https://tek4.vn/lap-trinh-python-co-ban/">Python</a>. C&aacute;c ng&ocirc;n ngữ khởi đầu n&agrave;y kh&aacute; hay ở chỗ n&oacute; sẽ l&agrave;m bạn phải x&acirc;y dựng mọi thứ từ đầu (d&ugrave; n&oacute; cung cấp kh&aacute; nhiều thư viện sẵn nhưng bạn n&ecirc;n bắt đầu b&agrave;i bản từ đầu). Nếu bạn chăm chăm sử dụng lu&ocirc;n thư viện của c&aacute;c ng&ocirc;n ngữ n&agrave;y thay v&igrave; ki&ecirc;n nhẫn để bắt đầu từ đầu với c&aacute;c ng&ocirc;n ngữ n&agrave;y th&igrave; chẳng kh&aacute;c n&agrave;o bạn đang g&acirc;y kh&oacute; khăn cho m&igrave;nh, tức l&agrave; bạn đang lấy nhược điểm của hướng đi thứ nhất lẫn nhược điểm của hướng đi thứ hai trộn v&agrave;o nhau. V&agrave; cuối c&ugrave;ng, bạn chẳng thu lại được g&igrave; cả. C&oacute; lẽ bạn đ&atilde; đọc rất nhiều c&aacute;c hướng dẫn kiểu: Lập tr&igrave;nh XYZ với 50 d&ograve;ng code,...th&igrave; h&atilde;y n&ecirc;n coi chừng. Đ&atilde; muốn học từ gốc, th&igrave; đừng đốt ch&aacute;y giai đoạn. Mục ti&ecirc;u của c&aacute;c ng&ocirc;n ngữ n&agrave;y l&agrave; gi&uacute;p cho bạn bắt đầu với những kiến thức cơ sở nhất v&agrave; c&oacute; thể vận dụng sau n&agrave;y để đi xa hơn. Chẳng hạn C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a> sẽ gi&uacute;p bạn l&agrave;m quen với c&aacute;c kh&aacute;i niệm về quản l&yacute; bộ nhớ, biểu diễn dữ liệu trong m&aacute;y t&iacute;nh, xử l&yacute; mức thấp, con tr&ograve;,...điều n&agrave;y sẽ kh&aacute; cần thiết cho bạn để tối ưu h&oacute;a chương tr&igrave;nh. V&agrave; tất nhi&ecirc;n, nếu bạn chọn hướng lập tr&igrave;nh nh&uacute;ng hay điều khiển th&igrave; C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a> c&agrave;ng thể hiện sức mạnh của n&oacute;. Ngược lại <a href="https://tek4.vn/lap-trinh-python-co-ban/">Python</a> sẽ gi&uacute;p bạn dễ d&agrave;ng tiếp cận c&aacute;c kh&aacute;i niệm lập tr&igrave;nh một c&aacute;ch đơn giản nhất v&agrave; đỡ ch&aacute;n nhất, bởi bạn đ&atilde; c&oacute; thể l&agrave;m kh&aacute; nhiều điều với <a href="https://tek4.vn/lap-trinh-python-co-ban/">Python cơ bản</a> để đỡ ch&aacute;n. Java th&igrave; tương tự, nhưng n&oacute; phức tạp hơn ở c&aacute;c kh&aacute;i niệm v&agrave; tập hợp hay hướng đối tượng. Trong ba ng&ocirc;n ngữ n&agrave;y, bạn c&oacute; thể chọn bắt đầu với bất cứ ng&ocirc;n ngữ n&agrave;o. Tuy nhi&ecirc;n, ở đ&acirc;y, t&ocirc;i xin ph&eacute;p được đề xuất lu&ocirc;n để gi&uacute;p bạn đỡ ph&acirc;n v&acirc;n:</p> <ul style="text-align: justify;"> <li>Nếu l&agrave;m nh&uacute;ng, điều khiển th&igrave; bạn n&ecirc;n bắt đầu lu&ocirc;n với <a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao/">C</a>/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a></li> <li>Nếu muốn l&agrave;m di động n&ecirc;n bắt đầu với C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a> hoặc <a href="https://tek4.vn/lap-trinh-java-tu-co-ban-den-nang-cao/">Java</a></li> <li>Nếu muốn l&agrave;m hệ thống v&agrave; framework n&ecirc;n b&aacute;t đầu với C/<a href="https://tek4.vn/lap-trinh-c-co-ban-den-nang-cao-2/">C++</a></li> <li>C&ograve;n c&aacute;c hướng kh&aacute;c bạn c&oacute; thể bắt đầu với bất cứ thứ g&igrave;, c&oacute; thể l&agrave; <a href="https://tek4.vn/lap-trinh-python-co-ban/">Python</a> cho đơn giản.</li> </ul> <h2 style="text-align: justify;">Học c&aacute;c kiến thức cơ sở</h2> <p style="text-align: justify;">Sau khi đ&atilde; c&oacute; c&ocirc;ng cụ l&agrave; ng&ocirc;n ngữ cơ sở học ở mức th&agrave;nh thạo, đ&atilde; đến l&uacute;c bạn tự tạo cho m&igrave;nh một nền tảng vững chắc với c&aacute;c kiến thức cơ sở. Nh&igrave;n chung, đối với lập tr&igrave;nh vi&ecirc;n kiến thức cơ sở cần c&oacute; bao gồm:</p> <ul style="text-align: justify;"> <li>Cấu tr&uacute;c dữ liệu v&agrave; giải thuật: Đ&acirc;y gần như l&agrave; cơ sở bắt buộc, v&igrave; thực tế kể cả đi phỏng vấn cho c&ocirc;ng việc đầu ti&ecirc;n th&igrave; n&oacute; cũng gi&uacute;p &iacute;ch kh&aacute; nhiều đấy. Ngo&agrave;i ra, n&oacute; sẽ gi&uacute;p bạn hiểu được c&aacute;c thuật giải, khi n&agrave;o cần &aacute;p dụng thuật to&aacute;n g&igrave;, cần xử l&yacute; như thế n&agrave;o cho tối ưu, hiệu quả. Rất cần thiết đấy!!!</li> <li>Mạng m&aacute;y t&iacute;nh: bạn c&oacute; thể sẽ kh&aacute; bất ngờ v&igrave; bạn l&agrave; lập tr&igrave;nh vi&ecirc;n đ&acirc;u cần hiểu g&igrave; về mạng. Điều đ&oacute; vừa đ&uacute;ng vừa kh&ocirc;ng đ&uacute;ng, bởi c&oacute; kh&aacute; nhiều c&ocirc;ng việc bạn cần hiểu tương đối về c&aacute;ch thức mạng m&aacute;y t&iacute;nh vận h&agrave;nh đ&oacute;. Mặc d&ugrave; bạn kh&ocirc;ng cần phải hiểu s&acirc;u chi tiết nhưng một nền tảng cơ bản sẽ gi&uacute;p &iacute;ch kh&aacute; nhiều đ&oacute;. Nếu kh&ocirc;ng bạn sẽ tương đối gặp vấn đề khi cấu h&igrave;nh để đưa web ra ngo&agrave;i, l&agrave;m việc với c&aacute;c giao thức trong kết nối IoT, debug c&aacute;c lỗi kết nối của chương tr&igrave;nh...</li> <li>Sử dụng c&ocirc;ng cụ quản l&yacute; phi&ecirc;n bản như Git. Ng&agrave;y nay, ch&uacute;ng ta thường phải l&agrave;m việc nh&oacute;m v&agrave; do đ&oacute; việc sử dụng c&aacute;c version control như Git l&agrave; điều kh&ocirc;ng thể thiếu. Ch&iacute;nh v&igrave; vậy kỹ năng n&agrave;y d&ugrave; kh&ocirc;ng được dạy trong trường cũng vẫn l&agrave; một kỹ năng kh&aacute; c&agrave;n thiết nền tảng m&agrave; c&aacute;c bạn n&ecirc;n tự trang bị cho m&igrave;nh.</li> <li>Kỹ năng mềm trong thời đại c&ocirc;ng nghệ như: sử dụng c&aacute;c c&ocirc;ng cụ t&igrave;m kiếm, đọc hiểu t&agrave;i liệu, tự học,...C&aacute;c kỹ năng n&agrave;y rất cần thiết cho mọi người, kể cả khi bạn kh&ocirc;ng l&agrave;m lập tr&igrave;nh vi&ecirc;n.</li> </ul> <p style="text-align: justify;">Đ&oacute; l&agrave; hai phần nền tảng cơ bản nhất cần thiết đối với đa số c&aacute;c c&ocirc;ng việc ở tr&ecirc;n, ngo&agrave;i ra với mỗi hướng ở tr&ecirc;n lại c&oacute; những kiến thức nền tảng nữa cần phải sử dụng nhiều chẳng hạn:</p> <ul style="text-align: justify;"> <li>Với lập tr&igrave;nh nh&uacute;ng v&agrave; điều khiển bạn n&ecirc;n c&oacute; kha kh&aacute; kiến thức về: Kiến tr&uacute;c m&aacute;y t&iacute;nh v&agrave; hợp ngữ để biết c&aacute;ch m&aacute;y t&iacute;nh vận h&agrave;nh, đ&ocirc;i ch&uacute;t về hệ điều h&agrave;nh để hiểu được c&aacute;c cơ chế quản l&yacute; bộ nhớ, tiến tr&igrave;nh.</li> <li>Với lập tr&igrave;nh di động, việc hiểu c&aacute;c cơ chế của hệ điều h&agrave;nh, c&aacute;ch thức quản l&yacute; c&aacute;c th&agrave;nh phần, bộ nhớ của m&aacute;y sẽ gi&uacute;p &iacute;ch kh&aacute; nhiều cho bạn.</li> <li>Với lập tr&igrave;nh Game th&igrave; hơi đặc biệt một ch&uacute;t, đ&oacute; l&agrave; bạn n&ecirc;n biết về giải t&iacute;ch, đạo h&agrave;m, t&iacute;ch ph&acirc;n, vật l&yacute;, to&aacute;n rời rạc, bởi n&oacute; gi&uacute;p bạn t&iacute;nh to&aacute;n c&aacute;c chuyển động ph&ugrave; hợp hơn cho game của m&igrave;nh, cũng như biết c&aacute;ch để m&ocirc; phỏng n&oacute; tr&ecirc;n ứng dụng.</li> <li>Với lập tr&igrave;nh c&oacute; AI hay blockchain th&igrave; c&aacute;c kiến thức cơ sở về to&aacute;n kh&aacute; quan trọng bao gồm cả đại số cao cấp, giải t&iacute;ch. Bởi để hiểu s&acirc;u về c&aacute;c kh&aacute;i niệm về AI th&igrave; đ&acirc;y l&agrave; những kiến thức kh&ocirc;ng thể thiếu. Ngo&agrave;i ra với Blockchain bạn n&ecirc;n hiểu về to&aacute;n rời rạc v&agrave; l&yacute; thuyết số để nắm được c&aacute;c cơ chế đồng thuận v&agrave; mật m&atilde; trong n&oacute;.</li> </ul> <h2 style="text-align: justify;">L&agrave;m một v&agrave;i Project thực tế</h2> <p style="text-align: justify;">Sau khi đ&atilde; học kha kh&aacute; cơ sở rồi, bạn n&ecirc;n bắt đầu bắt tay v&agrave;o l&agrave;m v&agrave;i dự &aacute;n thực tế. C&oacute; thể tăng độ kh&oacute; dần cho n&oacute;. Chẳng hạn, ban đầu bạn chỉ lập tr&igrave;nh một trong CV để layout l&ecirc;n web c&aacute; nh&acirc;n, sau đ&oacute; th&ecirc;m c&aacute;c chức năng chat, b&igrave;nh luận, hỏi đ&aacute;p, quản l&yacute; b&agrave;i viết...H&atilde;y tăng dần độ kh&oacute; v&agrave; sao cho luyện tập nhuần nhuyễn c&agrave;ng nhiều c&aacute;c kiến thức bạn học được c&agrave;ng tốt để bạn biết m&igrave;nh đang thiếu c&aacute;i g&igrave;, kỹ năng g&igrave;, yếu mảng n&agrave;o để cải thiện. Qua c&aacute;c dự &aacute;n thực tế sẽ gi&uacute;p bạn tự tin hơn về khả năng l&agrave;m việc của m&igrave;nh. Sau khi tự l&agrave;m một v&agrave;i dự &aacute;n c&aacute; nh&acirc;n v&agrave; cảm thấy n&oacute; ổn. Bạn c&oacute; thể chuyển sang contribute (đ&oacute;ng g&oacute;p) cho một v&agrave;i dự &aacute;n m&atilde; nguồn mở. Điều n&agrave;y sẽ gi&uacute;p bạn r&egrave;n luyện c&aacute;c kỹ năng l&agrave;m việc nh&oacute;m v&agrave; biết c&aacute;ch để joint v&agrave;o một dự &aacute;n thực tế với nhiều người. Đ&acirc;y l&agrave; c&aacute;ch để r&egrave;n luyện khả năng l&agrave;m việc thực tế v&agrave; cũng l&agrave; một cơ sở để bạn c&oacute; thể đưa v&agrave;o CV của m&igrave;nh sau n&agrave;y.</p> <p style="text-align: justify;">Sau giai đoạn n&agrave;y, bạn đ&atilde; ho&agrave;n to&agrave;n tự tin để đi xin việc hoặc thực tập. Một c&ocirc;ng việc thực tập sẽ gi&uacute;p bạn r&egrave;n luyện th&ecirc;m nhiều kỹ năng v&agrave; nhuần nhuyễn hơn.</p> <h2 style="text-align: justify;">R&egrave;n luyện, r&egrave;n luyện v&agrave; r&egrave;n luyện</h2> <p style="text-align: justify;">V&agrave; cuối c&ugrave;ng, nghề lập tr&igrave;nh l&agrave; nghề kh&ocirc;ng bao giờ được h&agrave;i l&ograve;ng, c&ocirc;ng nghệ lu&ocirc;n thay đổi v&agrave; mục ti&ecirc;u của ch&uacute;ng ta vẫn lu&ocirc;n ở ph&iacute;a trước. Bạn lu&ocirc;n cần phải kh&ocirc;ng ngừng học hỏi v&agrave; cố gắng v&agrave; đừng qu&ecirc;n cố gắng theo mục ti&ecirc;u chứ đừng cố gắng một c&aacute;ch v&ocirc; định. Bạn đi 1 vạn dặm nhưng chỉ l&agrave; 1000 v&ograve;ng c&aacute;i s&acirc;n nh&agrave;, thi đ&iacute;ch đến của bạn vẫn chỉ l&agrave; tại chỗ, bạn đi v&ocirc; định chẳng kh&aacute;c n&agrave;o đi v&ograve;ng tr&ograve;n v&agrave; bạn sẽ chẳng đi được đến đ&acirc;u cả. H&atilde;y đặt ra mục ti&ecirc;u v&agrave; đi theo mục ti&ecirc;u đ&oacute;, một c&aacute;ch ki&ecirc;n tr&igrave;. Chẳng hạn, nếu bạn muốn mở một c&ocirc;ng ty về sản xuất game vậy th&igrave; bạn h&atilde;y dự kiến cho m&igrave;nh 2 năm học l&agrave;m game freelancer tại nh&agrave;, 2 năm đi l&agrave;m tại c&ocirc;ng ty ph&aacute;t triển về game, học c&aacute;c c&ocirc;ng nghệ như VR, AR, sử dụng th&agrave;nh thạo c&aacute;c ng&ocirc;n ngữ v&agrave; thư viện như <a href="https://unity.com/">Unity</a>, <a href="https://www.unrealengine.com/en-US/">Unreal</a>... Nếu c&ocirc;ng việc hiện tại kh&ocirc;ng c&oacute; c&aacute;i m&igrave;nh cần học đ&oacute; th&igrave; h&atilde;y tự học v&agrave; nhảy qua l&agrave;m c&aacute;i m&igrave;nh cần đ&oacute;. H&atilde;y b&aacute;m s&aacute;t mục ti&ecirc;u, thật ki&ecirc;n định v&agrave; bạn sẽ th&agrave;nh c&ocirc;ng.</p> <p style="text-align: justify;">&nbsp;</p>