TÔI LÀ AI? ĐÂY LÀ ĐÂU?

Mình nhận được rất nhiều câu hỏi như trên? Nên muốn viết bài này để chia sẻ với mọi người.

Tôi là ai ❓

Tôi là một người vô cùng đam mê lập trình, đam mê từ khi mới học cho đến tận bây giờ, thật sự đó là một điều may mắn, vì nhờ niềm đam mê đó mà tôi có thể đọc sách về máy tính, viết code, chạy thử, rồi nhìn thành quả thâu đêm suốt sáng mà không chán.Tôi biết có nhiều người không có may mắn này nên khi học họ cảm thấy rất chán, học trong sự hứng thú chắc chắn sung sướng hơn học trong sự chán nản rồi!Nhờ niềm đam mê này mà tôi đã đọc vô số sách, blog, mã nguồn, đọc cả mã dịch ngược, rồi cũng bắt tay vào làm, cài đặt, có khi đúng, có khi sai, rồi lại nghiền ngẫm vì sao làm thế này mà không thế kia… Tại sao mình hiểu như vậy, nhưng người ta nói thế này, vậy mình sai chỗ nào?

Tôi là một người đam mê máy tính! 😁

Continue reading “TÔI LÀ AI? ĐÂY LÀ ĐÂU?”

BẠN HỌC GÌ ĐỂ ĐI LÀM?

Em mới học xong C++ giờ em học gì tiếp để đi làm?

Đây là câu hỏi khá phổ biến, vì ai chẳng muốn học để đi làm? Còn gì đau đớn tâm can hơn là học 4-5 năm đại học xong ra phải chạy Grab, mất toi một nửa tuổi thanh xuân.Để trả lời câu hỏi này, bạn cần biết tại các công ty phần mềm người ta làm gì (Ở công ty phần mềm, người ta làm ra phần mềm, ôi dĩ nhiên rồi 😃) và người ta cần người như thế nào.

Phần mềm có rất nhiều loại, có thể nói con người cần làm gì, thì sẽ có phần mềm hỗ trợ họ làm việc đó. Vậy nên trong bài viết này sẽ chủ yếu nhắc đến những công nghệ phổ biến nhất, sau khi làm vài năm, tùy khả năng và hoàn cảnh đưa đẩy, mỗi người sẽ có con đường đi riêng của mình.

👉 Trước tiên, đã là lập trình thì bạn phải thành thạo một ngôn ngữ lập trình nào đó, có thể là Java, C++, ASM, PHP, Python… thành thạo nghĩa là phải kể vanh vách được các kiểu dữ liệu như thế nào, các vòng lặp được thực hiện ra sao, các bộ thư viện chính là gì, các từ khóa static, interface, import, export, synchronized, await, async… hoạt động thế nào. Các biến được lưu trữ thế nào, kiểu float khi lưu trữ khác gì int, kiểu string khác gì mảng char… Các input/output stream hoạt động như thế nào, dùng thư viện gì để kết nối cơ sở dữ liệu… Để biết một ngôn ngữ nào đó rất dễ, nhưng thành thạo thì rất lâu đấy nhé.👉 Cấu trúc dữ liệu và giải thuật: đây là một môn học vô cùng thú vị nhưng cũng khá hại não. Nhưng thực sự vô cùng cần thiết, nó dạy cho bạn cách người ta suy nghĩ thế nào, để từ đó bạn biết mình cần suy nghĩ thế nào. Sau này bạn sẽ thấy rất nhiều thứ có trong máy tính đã được xây dựng từ những thứ bạn được học: linked list, tree, graph…

Continue reading “BẠN HỌC GÌ ĐỂ ĐI LÀM?”

Lập kế hoạch học tập

Bạn vẫn chưa có kế hoạch gì ư? Vậy thì đó là điều cần làm đầu tiên. Có một kế hoạch, bạn sẽ biết cần làm gì, những gì đã làm đã đúng với mong muốn hay chưa, và quan trọng nhất, bạn biết sau khi hoàn thành bạn sẽ đạt được gì.Bạn có thể có các kế hoạch ngắn hạn và dài hạn. Các kế hoạch dài hạn có thể cho 5 năm, 10 năm hay 15 năm, và các kế hoạch ngắn hạn – với mục tiêu hoàn thành một bước nào đó trong kế hoạch dài hạn, có thể kéo dài từ vài ngày đến vào tháng. Và kết quả của chúng phải cụ thể, ví dụ: hiểu OOP, thành thạo C++, lấy được chứng chỉ CCNA, hay kiếm được thu nhập 20.000.000/tháng… có như vậy, bạn mới biết được chính xác mình có bám theo đúng mục tiêu hay chưa, và đã đạt được bao nhiêu % công việc, cũng như cần điều chỉnh gì để hoàn thành công việc đó đúng hạn.

Sau khi đã có kế hoạch, hãy cố gắng bám sát nó.

Continue reading “Lập kế hoạch học tập”

Một số lời khuyên cho người học IT

Kế hoạch của bạn là gì?

Bạn vẫn chưa có kế hoạch gì ư? Vậy thì đó là điều cần làm đầu tiên. Có một kế hoạch, bạn sẽ biết cần làm gì, những gì đã làm đã đúng với mong muốn hay chưa, và quan trọng nhất, bạn biết sau khi hoàn thành bạn sẽ đạt được gì.

Bạn có thể có các kế hoạch ngắn hạn và dài hạn. Các kế hoạch dài hạn có thể cho 5 năm, 10 năm hay 15 năm, và các kế hoạch ngắn hạn – với mục tiêu hoàn thành một bước nào đó trong kế hoạch dài hạn, có thể kéo dài từ vài ngày đến vào tháng. Và kết quả của chúng phải cụ thể, ví dụ: thành thạo C++, lấy được chứng chỉ CCNA, hay kiếm được thu nhập 10.000.000/tháng… có như vậy, bạn mới biết được chính xác mình có bám theo đúng mục tiêu hay chưa, và đã đạt được bao nhiêu % công việc, cũng như cần điều chỉnh gì để hoàn thành công việc đó đúng hạn.

Sau khi đã có kế hoạch, hãy cố gắng bám sát nó.

Sử dụng thời gian một cách tốt nhất

Những người khác mất bao nhiêu lâu để làm việc đó? Tôi không biết, nhưng tôi muốn bạn phải hoàn thành nó với một nửa thời gian đó thôi.

Khi còn dạy ở NIIT, tôi vẫn thường hỏi các học viên là: Bạn mất bao nhiêu thời gian cho việc học ở đây? Đáng tiếc, câu trả lời thông thường vẫn là 6h/tuần, tương đương khoảng 1h/ngày, hoặc nếu có bài làm thêm ở nhà thì là 12h/tuần. Bạn nghĩ sao nếu một người khác có cùng khởi đầu như bạn, nhưng họ đầu tư 6h/ngày cho việc học? Kết quả là, bạn sẽ mất 6 tháng để làm được thứ mà họ chỉ cần 1 tháng để hoàn thành. Kiến thức của họ sau 2 năm so với bạn là thế nào?

Sự thực, đối với một sinh viên, cá nhân tôi nghĩ rằng 6h cho một ngày vẫn không đủ. Vậy con số đó là bao nhiêu?

Hãy nhìn những người xung quanh bạn, họ sẽ là người cạnh tranh với bạn trong công việc sau này. Họ mất bao nhiêu thời gian cho việc học? Vậy nên con số tương đối mà tôi có thể nói là con số lớn hơn những người xung quanh bạn đã dành ra. Nhưng nếu chỉ biết lao đầu vào học bạn sẽ bỏ lỡ nhiều thứ, cũng như khả năng thu nhận thông tin cũng chỉ có giới hạn, vậy nên, bạn cần xem khoảng thời gian nào tốt nhất trong ngày cho việc học, số giờ chúng ta có thể dành ra được, thời gian nghỉ ngơi thư giãn, sao cho thời gian được sử dụng hiệu quả nhất.

Đọc sách

Đọc sách hiển nhiên là quan trọng. Nhưng cách đọc cũng quan trọng không kém. Sách chuyên ngành thông thường không dễ đọc và hiểu, nhất là đối với người chưa thành thạo với nội dung mà sách nói đến, do vậy bạn nên đọc một cuốn sách nhiều lần để có thể nắm bắt hoàn toàn nội dung.

Cách đọc của tôi là lướt qua toàn bộ sách thật nhanh một lần để biết nó nói gì, thậm chí không đọc các ví dụ, làm các bài tập. Sau khi đọc lướt như vậy bạn sẽ nắm được cơ bản nội dung cuốn sách, chủ đề chính mà nó nói đến. Khi đọc lại lần thứ hai, tôi sẽ đọc thật kỹ, làm theo từng bước hướng dẫn trong đó, tôi phải đảm bảo hiểu và nhớ tất cả những gì đã đọc. Nếu bạn cảm thấy việc hiểu và nhớ những gì mình đọc là không cần thiết, tốt nhất đừng phí thời gian vào việc đọc sách, sẽ chẳng có lợi ích gì cho bạn.

Tôi nhớ khi mới học, có những quyển sách tôi đọc rất nhiều lần, thậm chí mười lần, hai mươi lần. Tôi đảm bảo với bạn tôi có thể nói vanh vách về tất cả những gì có trong đó, nhờ vậy, khi đọc một cuốn sách ở mức độ cao hơn, tôi có thể nắm bắt dễ dàng hơn nhiều so với những người khác.

Tuy nhiên hãy nhớ không phải chỗ nào trong sách cũng cần phải nhớ, có những loại sách tham khảo mà điều duy nhất bạn cần nhớ là chủ đề nào nằm ở đoạn nào trong đó, nó sẽ giúp bạn dễ hàng hơn trong việc tra cứu thông tin sau này.

Thực hành càng nhiều càng tốt

Hãy tận dụng thời gian để làm các bài tập, thật thành thạo. Tốt nhất hãy tìm những cuốn sách có sẵn bài giải, và hãy dùng bài giải mẫu đó để so sánh với bài giải của mình sau khi tự mình hoàn thành chúng.

Việc thực hành là cực kỳ quan trọng trong ngành IT, là một trong những yếu tố then chốt giúp bạn phát triển kỹ năng và kinh nghiệm, vậy nên hãy cố gắng tận dụng thời gian để làm càng nhiều càng tốt. Theo tôi nếu đang còn đi học, 3-4 giờ mỗi ngày là phù hợp cho việc thực hành mỗi ngày của bạn.

Thị trường đang cần gì?

Bạn nên học thứ mà bạn thích. Đúng! Nhưng thị trường cũng vẫn có một vai trò quan trọng, bởi nếu không có đất dụng võ, niềm đam mê của bạn rồi cũng sẽ dần mai một.

Hãy lập một danh sách những thứ bạn thích, từ nhiều đến ít. Sau đó cố gắng đánh giá chúng theo mức độ quan tâm của thị trường, trong hiện tại và tương lai, nếu một mục nào đó là khó có thể phát triển, hãy loại ra khỏi danh sách, bằng cách này bạn sẽ biết được nên chọn gì để học.

Nhưng làm thế nào để biết một công nghệ, một xu hướng nhận được sự quan tâm của thị trường hay không, và trong tương lai nó phát triển thế nào? Hãy tìm đọc các tạp chí chuyên ngành, tham khảo trên các trang web công nghệ, và một kênh quan trọng là tham khảo những người có kinh nghiệm. Bạn là người quyết định cuối cùng, khó, nhưng vẫn phải làm, vì nó chính là tương lai của bạn.

Tiếng Anh, tiếng Anh và tiếng Anh

Không cần phải nói về tầm quan trọng của tiếng Anh. Có một vốn tiếng Anh tốt bạn có thể dễ dàng đọc tài liệu, tìm kiếm thông tin trên Internet, đọc các sách của nước ngoài vốn phong phú, chính xác và cập nhật hơn nhiều so với sách tiếng Việt. Ngoài ra có một vốn tiếng Anh tốt sẽ có thêm cơ hội làm việc tại các công ty nước ngoài, có nhiều ưu đãi, cũng như môi trường làm việc tốt hơn so với các công ty của Việt Nam.

Tôi vốn không được học tiếng Anh trong trường phổ thông (tôi học tiếng Nga), khi vào đại học, nhờ học thêm tôi cũng biết một chút tiếng Anh, nhưng khi tiếp xúc với các sách chuyên ngành, thực sự tôi gặp rất nhiều khó khăn. Vào thời điểm đó cũng không có nhiều tài liệu để bạn tham khảo (Việt Nam mới chỉ kết nối Internet vào cuối 1997, và việc sử dụng vô cùng đắt đỏ), vậy nên để làm quen với việc đọc sách chuyên ngành, tôi phải tìm mua ở các hiệu sách cũ. Và cuốn sách đầu tiên tôi tìm được là cuốn “Mạng Nơron”, nói về một chủ đề xương xẩu ngay cả nếu nó viết bằng tiếng Việt :D, nhưng dù sao đó cũng là lựa chọn duy nhất của tôi. Tôi tin rằng việc đọc sách chuyên ngành bằng tiếng Anh luôn là khó khăn đối với tất cả những ai mới bắt đầu, nhưng những gì khó khăn mới chính là cơ hội.

Tiếng Anh chính là điều kiện đủ để bạn thành công trong ngành IT.

Kỹ năng mềm

Kỹ năng mềm vẫn luôn là điểm yếu của các sinh viên. Những thứ kiểu như nói trước đám đông, thương thuyết hay gì gì đó gọi chung là kỹ năng mềm luôn là một cái gì xa xôi, thế rồi một ngày nó đột ngột xuất hiện trước mặt, và tất nhiên nó sẽ trở thành một thất bại hay một cơ hội sẽ tùy thuộc vào bạn, vào việc bạn đã chuẩn bị cho điều đó như thế nào. Hãy tham khảo những người xung quanh, hãy tận dụng mỗi khi có cơ hội, và hãy luôn tự đánh giá và rút kinh nghiệm bản thân.

Hãy suy nghĩ

Học thì phải suy nghĩ, một điều tưởng như là hiển nhiên ấy vậy mà có những người vẫn quên mất. Bạn học rất chăm, bạn thực hành rất nhiều, nhưng chừng đó là chưa đủ để vượt lên, để tách ra, để khác biệt. Bạn vẫn cần phải suy nghĩ.

Hãy dành một khoảng thời gian trong ngày, đừng làm gì cả, hãy nhớ lại những gì đã làm, suy nghĩ, nghiền ngẫm về nó, cứ để tâm hồn bạn lan man. Tin tôi đi, bạn sẽ nghiệm ra nhiều điều rất thú vị, và tôi cũng tin rằng, bạn sẽ thấy đây chính là lời khuyên giá trị nhất mà tôi dành cho bạn.

Hãy suy nghĩ!

Kỷ niệm thời đi học :)

Tranh thủ mấy ngày lễ về thăm nhà, lục lại đống đồ cũ, thấy vẫn còn mới, nhanh thật mới đó mà đã mười mấy năm…

Mấy cái đĩa mềm, mình 2 lần mất dữ liệu vì hỏng đĩa :(, tiếc nhất là bộ source code chương trình DaLat Anti-Virus, mất 3 tháng viết ròng rã :((.

Hồi đó món khoái nhất vẫn là Assembly, bộ Cẩm nang lập trình hệ thống và Cẩm nang lập trình của Peter Norton mình đọc phải 30 lần :D.

Năm 97-98 đã bắt đầu viết Java và dùng Linux, nhưng hồi đó từ A-Z đều chỉ dùng dòng lệnh, và chỉ cần 1 cái đĩa 1.4M là có thể chơi cả 2 em, bây giờ gì cũng có sẵn, dùng dòng lệnh nhiều cũng dễ gây nghiện!

Còn 1 quyển PC World được tặng vì viết bài, bài này là “Cài mật mã vào chương trình”, dùng để inject một đoạn mã vào trong các file thực thi, giúp bảo vệ các chương trình nếu không muốn người khác dùng, quả này hồi đó cá kiếm được 450k nhuận bút ^^, gửi trước đó gần nửa năm mới được đăng.

Thực trạng IT Việt Nam qua một bài viết của GS.Nguyễn Văn Hiền

Thưa các anh chị,

Tôi có nhiều buổi nói chuyện với các bạn tôi và một số người về điều mà VN chúng ta đang đặt ra các con số. Con số 20,000 tiến sỹ rồi 1 triệu kỹ sư CNTT. Tất cả chỉ vì một mục đích 1 tỷ USD quá kém cõi.

Việc đặt ra 1 triệu kỹ sư CNTT và 20,000 tiến sỹ là con số khổng lồ, vượt quá khả năng hiện tại của VN trong ít nhất 15 năm tới. Con số này trở thành không tưởng nếu chúng ta nhìn lại về hệ thống đào tạo trên thế giới và VN. Hai khả năng quá xa vời này đang tạo nên một lỗ hỗng an ninh quá cao cho nguy cơ “Tiến sỹ giấy”, phá hoại nội lực và kinh tế đất nước là rất có thể.

Và chúng ta lại có những báo cáo mang tính “nhầm lẫn” quá đáng khi nói rằng việc vượt qua 4 lần doanh thu về CNTT (500 triệu USD) so với năm 2003 (là 120 triệu) là con số đáng mừng? Chúng ta cần xem năm 2006 chúng ta làm được gì và năm 2007 chúng ta đã làm được gì và thực tế cho chúng ta thấy chúng ta đã suy yếu thế nào. Từ đây, hãy có một tầm nhìn khác cho một đột phá CNTT Việt Nam.

Phần mềm VN là “không có gì” ngoài cái vỏ bộc thô thiển trong “vấn nạn” nguỵ trang về “gia công phần mềm”. Tôi ước tính con số để các anh chị thấy rằng, gia công hiện tại không phải có khả năng lợi nhuận.

1) Năm 2007, FCGV từ 650 lập trình viên giảm còn 450 lập trình viên. Điều tệ nhất là, hầu hết các lập trình viên có kinh nghiệm đề ra đi. Doanh thu công ty này không đạt chỉ tiêu và phải đối diện với việc “phá sản”. Cuối cùng, FCG ở Mỹ quyết định bán cho CSC. Con số hiện nay của họ là 500 lập trình viên. Đi xuống!

2) PSD – do anh Thịnh làm chủ thì cho rằng năm 2007 là một năm tồi tệ nhất. Thua lỗ, cắt giảm nguồn nhân lực và “tìm cách để sống qua ngày” là chiến lược của CNTT.

3) TMA – Ông Nguyễn Hữu Lệ: Tạm bằng lòng với chỉ tiêu 750 kỹ sư. Trong khi đáng ra công ty này cần vượt qua con số 1200 kỹ sư. Lý do, tài chính và nguồn dự án bị đóng băng tại Bắc Mỹ (Canada)

4) Tân thiên niên Kỷ và IITS thì bị lỗ nặng và hai công ty với con số gần 100 lập trình viên buộc phải sát nhập lại nhau để cố giữ được tên công ty.

5) GlobalSoft: Một năm của những ảm đạm nhất chưa từng thấy.

Nếu anh chị đi qua eTown 1,2 sẽ thấy sự trống rỗng còn đó của các building mà trước đó rất khó mà thuê.

Trả lời câu hỏi vì sao Harvey Nash không tuyển nhân viên vào lấp kín buidling mình (hiện nay tại eTown 2, công ty này đang có 75 lập trình viên trong khi họ có khả năng lấp đầy building với trên 150 lập trình viên) thì họ cho rằng, họ không muốn đổ vỡ theo bánh xe CNTT Việt Nam hiện tại.

Chúng ta đã quá tự hào vào cái đêm “Giải Sao Khuê”. Tôi đáng buồn cho các nhà tổ chức đang vẽ ra một bức tranh mà họ chưa nhận thấy điều này. Có những công ty lỗ nặng nề cũng ôm trên tay chiếc cúp. Sao mà khó xem thế… sự dối trá sẽ là điều tàn ác nhất, phá huỷ kinh tế của một đất nước đang hồi sinh.

Thưa các anh chị,
Chúng ta không nên đạt ra những con số để làm mục tiêu tăng trưởng. Con số 1 triệu kỷ sư CNTT để có doanh thu 1 tỷ USD là quá thấp về tính kinh tế trong khi khó tưởng với nguồn nhân lực VN.

Chúng ta đang khủng hoảng về gia công phần mềm vì chúng ta đang “làm mướn” mà thôi. Gia công VN đang chôn vùi tri thức trẻ sáng tạo, chôn vùi sự sáng tạo vốn đòi hỏi các bạn phải nỗ lực gấp nhiều lần. Gia công đang làm nhân lực VN xem rẽ giá trị chính mình để luyện giọng tiếng anh nói “bập bẹ” và ghép mình vào những “quy trình kiễu CMMI – 5 dối trá” làm tê liệt đi khả năng chủ động sáng tạo CN mà chính điều này mới là giá trị thực.

Tôi mong rằng, chính sách của Chính phủ VN sớm nhìn thấy một cách rõ ràng về giá trị nội lực và chiến lược sáng tạo mới là thúc đẫy hướng gia công. Chúng ta đang đi ngược lại tính tự nhiên và ép mình như việc ép con em chúng ta đọc thuộc lòng bài lịch sữ. Hãy cho tri thức trẽ những sáng tạo và đó là giá trị kinh tế thực sự mà tổ quốc cần.

GS. Nguyễn Văn Hiền

(Bài được trích dẫn từ email của nhóm trao đổi ICT-VN)