Cách mình đến và gắn bó với nghề lập trình


Hồi cấp 3, chuẩn bị bước vào kỳ thi đại học, như bao sỹ tử khác, mình đối mặt với câu chuyện, chọn ngành gì để theo học. Hồi đó mới lớn, đâu biết cũng đâu hiểu cuộc sống, nghề nghiệp, xã hội thế nào mà chọn ngành nghề. Gia đình mình nông thôn, không ai quá học hành giỏi giang thành đạt, kinh tế cũng không dư dả. Bố mình bảo, học lấy cái nghề kỹ thuật, sau này ra làm thợ, đi làm có nghề kiểu gì thả đâu cũng sống được, còn nếu học về khối kinh tế, gia đình không có tiềm lực, không có quan hệ, ra trường lại không giỏi giao tiếp thì khó mà vươn lên được. Ở trường lớp mình cũng thuộc diện ngoan, học được, chuyên môn tự nhiên, thế là nghe bố, đăng ký thẳng vào BKHN chuyên ngành cơ khí. May mắn là mình đỗ, thừa một cơ số điểm, đủ để đăng ký chương trình đào tạo cao hơn, mình chuyển qua học chương trình Tiên tiến, chuyên ngành Điện tử, Viễn Thông của BKA. Gắn đến điện tử, đến bảng mạch, chip, lập trình nhúng… nên sự nghiệp lập trình của mình bắt đầu.

EEE K59 HUST

Học đại học, mình thuộc diện ghét học lý thuyết, ghét điểm danh và làm bài tập.  Nếu các đại cao thủ full A, tốt bụng chuyên cho anh em chép bài là đỉnh của ngon núi, thì mình như tảng bằng chìm, chuyên viên chép bài, học lại vì thường xuyên cúp học. mình đi làm thêm cho một quán bán đồ điện tử sinh viên cạnh trường. Tại đây mình học được rất nhiều thứ mới lạ, cuốn hút và thỏa trí tò mò. mình có đồ điện tử để thử nghiệm, đứng bán hàng, kiểm tra hàng, chạy chợ xoay hàng. Rồi được theo phòng kỹ thuật thiết kế các mạch đơn giản. Rồi dần lên tay, code nhúng vi xử lý. Rồi nhận làm đồ án thuê, code thuê hộ các nhóm SV khác. Hồi ấy ham code, đêm thức đến 3, 4h sáng, sáng sau lại cúp học, chiều đi làm, tối chơi game, đêm lại đến 3, 4h sáng, hôm nào tham việc thì thông đêm luôn.

Bắt đầu vào nghề lập trình với lập trình vi xử lý

Rồi việc học be bét quá, mình sợ không ra nổi trường, bố ở nhà biết thì đi đời. mình chuyển hướng, tham gia lab nghiên cứu của thầy giáo ở trường. Vừa để hỗ trợ việc học, cũng vừa được nghiên cứu làm thêm thực hành. Tại đây, mình lại được học thêm những điều mới mẻ về lập trình. Vẫn là con chip, vẫn là bảng mạch, vẫn coding mà mình thuộc lòng từ lâu, nhưng theo một trường phái trái ngược hoàn toàn những gì mình đã từng biết. Trước kia là mình làm vì tiền lương, sản phẩm làm thuê cũng chạy tạm thời, làm sao cứ chạy được là được. Tại đây, mình được đào tạo bài bản theo hướng nghiên cứu làm khoa học, học được các bước tổ chức, triển khai dự án, học nghiên cứu thị trường, sản phẩm cạnh tranh, lựa chọn nguyên vật liệu, lựa chọn công nghệ. Làm xong thì có thống kê báo cáo, liên kết các bên kiểm thử, so sánh kết quả, chạy vận hành thử nghiệm… mình cũng quen được người thầy, những người anh nghiên cứu sinh dày dặn kinh nghiệm, chỉ cho mình rất nhiều điều. Rèn luyện bản tính cẩn thận, suy xét, đánh giá khi làm một việc gì đó.

SPARC Lab – HUST

Ra được trường, mình theo một người anh (trước đây là nghiên cứu sinh trong lab mình theo) đi làm tại một công ty, cũng là công ty mình làm việc đến bây giờ. Vào công ty, mình theo một dự án product làm sản phẩm IoT – Nhà thông minh. Vẫn theo nghiệp làm code nhúng, lập trình sản phẩm, rồi chuyển dần qua xây dựng hệ thống truyền tin, xây dựng app mobile điều khiển từ xa. Sau khi kết thúc dự án, vì công ty là công ty phần mềm, nên mình chuyển qua chiến nhiều hơn dự án phần mềm, có dự án product, có cả outsource cho Việt Nam, cho Nhật bản. Dời xa dần cái bảng mạch, mỏ hàn, con chip, mình chuyển hẳn qua ôm lấy cái laptop, bàn phím gõ cạch cạch cả ngày.

Product đầu tiên cùng team tại công ty đưa ra thị trường.

Đấy cũng chính là bắt đầu cái nghề cái nghiệp của mình, nghề lập trình mà mình vẫn hay gọi bằng cái tên dân dã hơn là “Thợ Gõ”.


Mình học được gì trong quá trình làm nghề “Thợ gõ”


Bắt đầu bằng việc mò mẫm máy tính, biết cài win, biết khái niệm lập trình.

Bắt đầu bằng việc học quản lý email cá nhân, sử dụng công cụ văn phòng, tìm kiếm cơ hội học tập.

Rồi đi làm thêm ở cửa hàng điện tử, học được tên linh kiện, thông số kỹ thuật. Kiểm tra, dán tem bảo hành, bán hàng..

Rồi học được vẽ thiết kế mạch đơn giản, rồi lập trình nhúng, rồi làm đồ án thuê.

Rồi theo các anh chạy chợ, buôn bán đồ điện tử, học ăn, học nói, học tính tiền lời, lỗ.

Rồi theo lab, học bảng biểu quy trình, học quy chuẩn hóa công việc, con người

Rồi theo support dự án, học được tính cẩn thận, chuyên nghiệp trong mọi chuyện. Học được cách giao tiếp, làm việc của giới nghiên cứu, của tầng lớp học cao.

Rồi từ bạn bè đồng lab học được sự sẻ chia, vô tư giúp đỡ. Học được tính phấn đấu, cạnh tranh phát triển, đưa nhau đi lên của tập thể.

Rồi đi làm, học được các công nghệ mới về phát triển phần mềm. Học code mobile app.

Rồi học xây dựng cơ sở dữ liệu, triển khai hệ thống. Duy trì và vận hành hệ thống.

Rồi học thêm càng nhiều công nghệ phần mềm khác từ front-end đến back-end, học cả DeepLearning… Chỉ cần giải quyết được vấn đề của xã hội, tạo ra giá trị là học và làm.

Rồi giữ vị trí lớn hơn, học làm việc với khách hàng, học quản lý công việc của mình, của mọi người, học giữ cho mình luôn nhiệt huyết, học khích lệ mọi người vì một tập thể tốt đẹp hơn.

Điều quan trọng nhất là học được cách lắng nghe, nhẫn lại, bĩnh tĩnh để  đối mặt, phân tích và xử lý vấn đề. Học được rằng nghề chính là nghiệp, nghiệp là cả cuộc đời. Sao để sống và làm việc đi liền với nhau. Khi làm việc là đang được sống, khi sống là tạo được giá trị cho những người xung quanh mình.


Đời “Thợ gõ” như vòng đời của DevOps vậy. Cần liên tục phát triển và cải tiến


Góc nhìn cá nhân về nghề và nghiệp “Thợ Gõ”


Kiến thức căn bản là cực kỳ quan trọng: Nhiều bạn trẻ đi học có quan điểm nghĩ kiến thức trên trường học thường không áp dụng thực tế, nên bỏ qua, không rèn luyện. Mình cũng từng như vậy. Điều này là hoàn toàn sai lầm. Những kiến thức cơ bản luôn tạo nền tảng vững chắc và một tư duy hệ thống để giải quyết bài toán. Đặc biệt kiến thức cơ bản lại càng cần thiết với một dân lập trình.

Biết làm việc không phải là biết giải quyết vấn đề: Nhiều người theo nghề này, thường nghĩ làm “Thợ gõ” là chỉ xoay quanh lập trình phần mềm, gắn với cái máy tính, nên thường vào nghề bằng cách học một vài khóa học đào tạo ngắn hạn, xem các bài hướng dẫn trên Youtube, và thế là nhầm tưởng có đủ khả năng phát triển trong nghề. Để làm mảng phát triển phần mềm này đòi hỏi tư duy nhiều hơn là kiến thức. Giải pháp phần mềm tốt nhất là giải pháp mà không cần dùng nhiều code nhưng vẫn giải quyết được vấn đề. Dùng công nghệ, dựa vào đó để giải quyết vấn đề thực của xã hội, đó mới là nghề IT.

Cần có cái nhìn tổng thể và khách quan cho mọi vấn đề: Bản chất của dân tự nhiên nói chung, và dân IT nói riêng là học và làm theo dạng bài giải một cách giải quyết. Điều này cần thiết nhưng không hẳn luôn tích cực trong nghề. Khi gặp một vấn đề khó chưa có hướng giải quyết dân IT thường cố chấp tiến theo cách cũ, chắp vá để giải quyết vấn đề. Hoặc gặp vấn đề khó thì không chia sẻ trao đổi để tìm kiếm sự giúp đỡ. Khi đó việc cần thiết là chậm lại, nhìn rộng ra tổng thể toàn cảnh bài toán, để tìm hướng giải quyết phù hợp. Biết đâu thay vì cố chấp tiến mà lùi lại một bước nhìn rộng ra thì đáp án đã ở sẵn đó và đang đợi mình.

Luôn giữ một tinh thần cầu thị, cầu tiến, nhiệt thành, mọi vấn đề sẽ dễ dàng hơn: IT là một ngành nghề áp lực, không phải ai hoạt động trong nghề này cũng dễ dàng. Điều luôn luôn cần thiết cho một “thợ gõ” là giữ mọi thứ trong tầm kiểm soát. Luôn luôn lắng nghe, học tập phát triển bản thân. Nhiệt tình đón nhận, bình tĩnh cùng trao đổi và xử lý vấn đề. Cho dù công nghệ có liên tục biến đổi, nhu cầu xã hội khắt khe, sự cạnh tranh trong nghề tăng cao,  thì theo mình đây vẫn luôn là chìa khóa để thành công.


Cuộc sống là muôn vàn, ta không thể nói trước được sau này sẽ xảy ra những biến cố gì. Công việc, nghề nghiệp cũng vậy. Không rõ sau này sẽ ra sao. Nhưng khi ta đã bước theo con đường của nghề, đã gắn bó với một tập thể, thì điều luôn luôn cần làm là đóng góp tích cực vào sự phát triển chung cho tập thể. Nâng cao khả năng của mình, giúp đỡ mọi người, sống hết mình với nghề đã chọn, sẽ luôn luôn có điều tốt đẹp đến với ta.