Sunday, 30 September 2012

Lập trình viên ký (Phần 1)

Phần 1. Kể chuyện
cho đến giờ tớ vẫn chưa đủ tự tin khi nhận mình là lập trình viên. Nhưng dù sao cũng vài thắng làm báo, giật tít cho hoành là 1 điều tất yếu.
Tớ viết bài này cho vui cũng là chia sẻ kinh nghiệm với mọi người. Ai thấy chỗ nào vô lý  thì cm, đừng ném gạch :">
$%^@# 4h sáng vẫn chưa ngủ đc =.= mất không 3 tiếng nàm giường >.<

Mười mấy năm đi học của tớ có thể nói gắn liền với 1 câu "Thằng chột làm vua xứ mù".

Tuổi thơ ngọt ngào với contra, jackal, donald duck, mario, tank... hàng trăm băng điện tử đã qua tay tớ.
Lên lớp 5, mẹ tớ đã quyết định đầu tư mạo hiểm cho tớ đi học "Tin học bằng A". Những ngày tháng chỉ có Windows, gõ 10 ngón, word và excel.
Tớ đã biết gõ bàn phím!


Tốt nghiệp mà không có bằng, tớ lại lên núi tiếp tục làm vua xứ mù :))
những ngày miệt mài với NOX, Roaddash, RedAlert, Halflife bắt đầu.

Lớp 8 -> 9, cái thời mà Java Applet nổi đình đám vì hiệu ứng lá rơi, tuyết rơi trên web. Tớ bắt đầu tập tọe viết HTML, và chỉ sau 1 tuần là đã thuộc làu <HTML><HEAD><BODY><TABLE><FONT><CENTER>...<IMG><A HREF><EMBED>
và chỉ với từng ấy đã đủ làm tớ bá đạo với khả năng lằm web có hình và có nhạc , thật là quá dễ để lên đỉnh =)) vậy là phải chơi ngay MU và Gunbound cho kịp thời :>
Tớ đã biết viết HTML \m/

Lớp 10, loằng ngoằng rồi cũng vào bẫy, tớ lại tiếp tục những tháng ngày nghịch XAMPP, Notepad++ để viết PHP. Gọi the cho sang mồm chứ chỉ biết <?php đặt biến, viết for là hết :)) cứ kéo đến phần kết nối MySQL là mắt mui hoa lên, sợ và từ ấy ghét SQL :))
Tớ đã ngửi thấy hơi lập trình :-ss

Từ bỏ sự nghiệp làm web, tớ quay lại phá Win, download và chơi game miệt mài =p~ bắt đầu biết mùi Diablo, AOE.
Cấp 3 rồi cũng qua, ở cái đất mà 10 thằng ra quán net, 9 thằng chơi game online hay chat thì tớ lại 1 lần nữa, làm vua xứ mù !

Vậy rồi những năm tháng ngọt ngào chấm dứt, tớ vào trường đại học công nghệ hàng đầu Việt Nam :-<

Năm nhất với tin học đại cương, bá đạo làm các bài tập trong sách :)) và không còn gì hơn. Tớ hơn chúng nó(những thằng không biết máy tính là cái gì) ở cái biết bật và tắt máy nhanh hơn mà :))
Tớ đã biết viết code... đúng chính tả.

Và rồi cuộc đời bước sang trang khác khi gặp Mr><><Trường ! RA NGOÀI! và tớ bắt đầu thật sự biết lập trình là gì... theo một nghĩa nào đó.
Thay vì những chương trình chỉ có 1 hàm main dài ngoằng, tớ bắt đầu biết viết các hàm con để gọi :> một bước tiến vĩ đại của lịch sử.
Ubuntu làm việc lập trình trở nên dễ dàng hơn, tớ bắt đầu cày PE, cảm xúc cứ tuôn trào mỗi lần màu xanh trên trang PE hiện lên  :))
Tớ đã biết viết code để giải toán ^^

Chẳng lâu sau, tớ một lần nữa phải đứng trước một ngã rẽ, chọn PHP hay Java. Và deck nhớ thằng nào xui, tớ học Java với 2 quyển sách dày cộm :))
Lúc ấy tớ chỉ biết convert code C sang code Java, viết Java như đang ngồi viết C :)) và đó là sai làm mà không ít người gặp phải.
Chuyển từ lập trình thủ tục sang hướng đối tượng không phải chuyện 1 sớm 1 chiều :D

Sự việc học hành rơi vào chán nản khi tớ học gần hết quyển sách đầu tiên, mọi thứ quá rối rắm và phức tạp khiến tớ bỏ cuộc và chuyển sang học Python và nghịch Linux =))
Và rồi 1 ngày, tớ được đến công ty "học việc".
Một tuần là khoảng thời gian đủ để tớ học hết "giáo án bí mật" của công ty (thật ra giờ chỉ nhớ được có 1 nửa =)) ). Tớ bắt đầu làm việc như những lập trình viên ngồi cùng phòng. Cuộc đời, có lẽ đã bước sang một trang khác ;).
Tớ đã biết viết code thành 1 phần mềm cho người khác dùng!

Bây giờ ngồi nghĩ lại, tớ vẫn nói rằng để bạn viết được 1 chương trình Android vớ vẩn chỉ mất 1 tuần là đủ, tin hay không thì tùy. Dể học từ đầu đến biết load DB lên 1 trang web cũng chỉ càn từng ấy thời gian, tin hay không... thì cũng tùy :))

và tiếp sẽ là phần 2. Phân tích kỹ thuật và các khó khăn tớ gặp :D

Lập trình viên ký (Phần 2)