Tag Archives: senior

Bức xúc chuyện nghề – Phần 1: Gạch đá bủa vây ngành IT và Developer

Gần đây, đọc báo đài mình bỗng thấy ngành IT bị trù dập dữ dội. Bản thân sinh viên IT, lập trình viên Việt Nam đã chịu đủ mọi thứ thiệt thòi, nay lại còn bị báo chí trù dập, cấp trên chèn ép.

Do khá bức xúc nên hôm mình viết bài này, vừa để chửi và xả cho bớt ức chế, vừa để bênh vực anh em developer và góp vài ý kiến cá nhân giúp ngành tốt hơn. Các anh em cứ thoải mái vừa uống trà vừa đọc nhé!

Bài viết gồm 3 phần:

Continue reading Bức xúc chuyện nghề – Phần 1: Gạch đá bủa vây ngành IT và Developer

Advertisements

Kĩ năng “Back of The Envelope” của các developer thần thánh

Kì này, chúng ta tìm hiểu về một kĩ năng “bá đạo” mang tên Back of the Envelope. Tại sao lại gọi nó là kĩ năng của các developer “thần thánh”?

  • Phỏng vấn tuyển dụng tại cái công ty Google, Facebook, Amazon đều đòi hỏi developer có kĩ năng này.
  • Kĩ năng này không bao giờ lỗi thời, đến tầm Project Manager hay Software Architect vẫn cần. Đại ca Bob Martin – Chú Bob (Tác giả Clean Code) rất trùm sò trong kĩ năng này.
  • Kĩ năng này không chỉ hữu dụng trong lập trình, mà còn rất bổ ích trong cuộc sống.
  • Tuy đơn giản nhưng rất lại có rất ít developer biết, luyện tập và áp dụng nó

Đến đây bạn cũng tò mò kĩ năng này là gì mà sao lại ghê gớm như vậy phải không nào? Đọc hết bài viết để tìm hiểu nhé!

Continue reading Kĩ năng “Back of The Envelope” của các developer thần thánh

Series Phản Phác Quy Chân – Tránh over-engineering

Over-engineering có thể tạm hiểu là “làm phức tạp hóa vấn đề”, một lỗi mà các bạn lập trình viên vừa đi làm hay gặp phải. Bài viết này sẽ làm rõ sai lầm này và đưa ra một số lời khuyên cho các bạn.

Ngày xửa ngày xưa

Xin mở đầu bài viết bằng một câu chuyện nhỏ nhỏ về bạn H. Thuở mới vào trường Đại Học, H được học Java để viết Hello World. Đây là cảnh giới đầu tiên của code học, không biết chiêu thức, chỉ chú tâm viết code cho chạy được.

1

Continue reading Series Phản Phác Quy Chân – Tránh over-engineering

Series Phản Phác Quy Chân – Luận về Technical Debt – Nợ kiếp này, duyên kiếp trước

Technical Debt (Nợ kĩ thuật) là một món nợ mà hầu như lập trình viên nào cũng phải gánh trong quá trình làm việc. Hẳn bạn sẽ thắc mắc: Hầu hết lập trình viên chúng mình đều là những con người siêng năng chăm chỉ, không cờ bạc gái gú, hết giờ làm là đi nhậu, mát xa … nhầm, về nhà với vợ con. Chúng ta không vay mượn ai bao giờ thì làm sao có nợ???

Muốn biết câu trả lời, hãy đọc bài viết để tìm hiểu thêm về Technical Debt nhé! Đây là một khái niệm khá quan trọng và bổ ích đấy.

2708226548_b80e14f366_b

Continue reading Series Phản Phác Quy Chân – Luận về Technical Debt – Nợ kiếp này, duyên kiếp trước

Series Phản Phác Quy Chân – Điều gì ngăn cản bạn đạt cảnh giới tối cao trong “code học”?

Chuyện ngày xưa

Đã từng có thời, code là một việc cực kỳ mệt nhọc và nhàm chán.

Đã từng có thời, lập trình việc phải làm việc với từng byte từng bit một.

Đã từng có thời, code phải được viết ra giấy, đóng thành thẻ rồi đút vào máy.

Đã từng có thời, ta phải mất cả năm trời để tạo giao diện, quản lý bộ nhớ, viết một chương trình đơn giản.

FortranCardPROJ039.agr
Ngày xưa, mấy bác lập trình viên code bằng cách “đóng lỗ” lên mấy tấm thẻ như thế này

Continue reading Series Phản Phác Quy Chân – Điều gì ngăn cản bạn đạt cảnh giới tối cao trong “code học”?

Nhập môn Design Pattern (Phong cách kiếm hiệp)

Nhập đề

Kinh thư ghi lại rằng, con đường tu chân có 3 cảnh giới: Luyện khí, Trúc cơ và Kết đan. Luyện khí là quá trình rèn thân luyện thể, cho phàm thân kiên cường dẻo dai. Trúc cơ là quá trình du nhập thiên địa linh khí vào thể nội, giúp khai thông kinh mạch. Khi thiên địa linh khí trong đan điền đạt tới một nồng độ nhất định, sẽ kết thành Kim Đan, đặt bước chân đầu tiên con đường tu chân đại đạo.

Con đường khởi đầu của code học cũng có 3 cảnh giới: Học đồ (Junior Developer), Học sĩ (Developer), Đại sư (Senior Developer). Để đạt đến cảnh giới Đại sư (senior), bất kì Học Sĩ (dev) nào cũng cần phải tường tận vài Design Pattern cơ bản để phòng thân. Bài viết này do tại hạ viết ra trong một phút cao hứng nhất thời, nhằm chia sẻ với các nhân sĩ võ lâm trên con đường truy cầu đại đạo.

911201211_9_2012_tuchan1s

Continue reading Nhập môn Design Pattern (Phong cách kiếm hiệp)

Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Sau 2 phần đầu, chắc các bạn đã có cái nhìn tổng quan về DI và cách áp dụng chúng vào code. Đa phần chúng ta không tự viết sử dụng các DI Container nổi tiếng như: Unity, NInject, StructureMap.

Để hiểu nguyên lý hoạt động của chúng, mình sẽ cùng các bạn cách viết một DI Container đơn giản (chúng cũng không quá “ghê gớm” hay phức tạp như bạn nghĩ đâu). Sau đó mình sẽ hướng dẫn cách sử dụng cái DI Container có sẵn, cũng như áp dụng IoC và project MVC.

1. Tự viết 1 DI Container đơn giản

Các bạn có thể dùng git để clone project về máy và bắt đầu làm theo mình: https://github.com/ToiDiCodeDaoSampleCode/SimpleIoC. Các class và interface vẫn như trong phần 2, có điều mình đã bổ sung thêm 1 số class mock – module giả. Trong thực tế, ta sử dụng các class mock này để viết Unit Test.

Continue reading Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC