Mặt tối của ngành công nghiệp IT – Phần 2

Nối tiếp phần 1, bài viết này sẽ tiếp tục giới thiệu một số góc khuất ít người biết về ngành IT.

4. Giỏi technical không chưa đủ

Nhắc lại một câu nói từ bài cũ:

Một điều khá may mắn trong ngành IT là: Vì đây là một ngành nặng về kĩ thuật. do đó bạn chỉ cần giỏi tập trung trau dồi technical cho giỏi. Chỉ cần technical giỏi, bạn sẽ được đồng nghiệp coi trọng, cấp trên tin tưởng giao phó trách nhiệm. Chỉ cần technical giỏi, con đường sự nghiệp của bạn sẽ rộng thênh thang, bạn sẽ nhanh chóng leo lên vị trí senior, team leader, technical lead, … Chỉ cần technical giỏi, lương bạn sẽ tăng vù vù, từ 500$, 1000$, 2000$, các quảng cáo tuyển dụng toàn cần người giỏi technical còn gì?

Continue reading Mặt tối của ngành công nghiệp IT – Phần 2

Mặt tối của ngành công nghiệp IT – Phần 1

Ngành lập trình kể ra cũng có khá nhiều cái sướng: Dễ xin việc, công việc thú vị, tiếp xúc nhiều cái mới, mức lương khá. Tuy vậy, nó có không ít mặt tối mà chỉ những người có thâm niên, tiếp xúc lâu với nghề mới trải nghiệm và nhận ra được. Bài viết này lấy cảm hứng từ course cùng tên trên pluralsight: Technology Career Dark Side, nhằm giúp bạn đọc có cái nhìn khách quan hơn về ngành IT, cũng như tự rút ra cách “sống sót” cho bản thân mình.

2netcf0987

Continue reading Mặt tối của ngành công nghiệp IT – Phần 1

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

Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

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

Bạn đã đọc phần 1 nhưng vẫn chưa hiểu rõ lắm về DI, IoC, chưa biết cách áp dụng chúng vào code? Đừng lo, ở phần 2 này sẽ cung cấp những đoạn code mẫu, giải thích rõ hơn về những điều mình đã nói ở phần 1. Sau khi đọc xong phần này, các bạn quay lại phần 1 thì sẽ thấy “thông” ra được nhiều thứ nhé.

Dependency là gì?

Dependency là những module cấp thấp, hoặc cái service gọi từ bên ngoài. Với cách code thông thường, các module cấp cao sẽ gọi các module cấp thấp. Module cấp cao sẽ phụ thuộc và module cấp thấp, điều đó tạo ra các dependency.

ioc-and-mapper-in-c-4-638

Continue reading Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

Khai trương trang fanpage của “Tôi đi code dạo” – Mừng blog đạt mốc 100k view

Mãi mà cũng sắp hết năm 2015. Mình bắt đầu viết blog từ ngày 31/12/2014, tính ra cũng gần tròn 1 năm rồi. Nhờ sự theo dõi và ủng hộ tận tình của các bạn, blog đã vượt qua các cột mốc 1000 view, 50 post và bây giờ là 100.000 view – một con số không tệ đối với một blog 1 năm tuổi.

views

Từ ban đầu, mình đã xác định mục tiêu của blog sẽ là: Chia sẻ các kinh nghiệm về công nghệ (Chủ yếu là C# và một số công nghệ web), tiếp theo là nghề nghiệp. Ở giai đoạn đầu, mình tập trung chủ yếu vào các bài viết technical. Sau đó mình nhận thấy các bài viết về con đường nghề nghiệp, phát triển bản thân cũng nhận được rất nhiều hưởng ứng. Vì vậy, mình sẽ cố gắng cân bằng giữa các bài viết về technical (C# hay ho, tutorial) và nghề lập trình.  Cả hai loại kiến thức này đều rất hữu ích cho các bạn từ sinh viên cho đến junior dev nhé.

Continue reading Khai trương trang fanpage của “Tôi đi code dạo” – Mừng blog đạt mốc 100k view

Dependency Injection và Inversion of Control – Phần 1: Định nghĩa

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

Hôm trước, có vài bạn nhờ mình giải thích các khái niệm Dependency Injection, Inversion of Control. Vốn lười, mình định google một bài viết bằng tiếng Việt để quăng cho các bạn ấy. Ngặc một nỗi là mình chả tìm được bài nào cụ thể rõ ràng về Dependency Injection, chỉ có hướng dẫn sử dụng Unity, StructureMap. Một số bài viết hay thì lại toàn bằng tiếng Anh.

Mình cũng thấy vài bạn đã đi làm 1, 2 năm mà vẫn còn “ngáo ngơ” về DI, IoC, chỉ biết sử dụng nhưng không hiểu rõ bản chất của nó. Do đó, mình viết bài này nhằm giải thích một cách đơn giản dễ hiểu về Dependency Injection. Các bạn junior nên đọc thử, vì DI được áp dụng rất nhiều trong các ứng dụng doanh nghiệp, rất hay gặp khi đi làm/đi phỏng vấn. Pattern này được dùng trong cả C#, Java và các ngôn ngữ khác nên các bạn cứ đọc thoải mái nhé.

ioc-and-mapper-in-c-1-638

Continue reading Dependency Injection và Inversion of Control – Phần 1: Định nghĩa

Tạm biệt Việt Nam – Chia sẻ kinh nghiệm nộp đơn du học – Phần 2

Nối tiếp phần một, mình sẽ hướng dẫn các bạn 3 bước còn lại để hoàn tất thủ tục du học:

  • Chờ offer letter, đóng tiền đặt cọc.
  • Lấy CAS, xin Visa.
  • Mua vé máy bay và lên đường.

4. Chờ offer letter, đóng tiền đặt cọc

Sau khi nộp đơn, bạn sẽ phải chờ khoảng 2 tuần đến 1 tháng để trường xét duyệt hồ sơ. Một vài trường sẽ tổ chức một buổi phỏng vấn ngắn (Qua skype hoặc điện thoại) để đánh giá bạn. Mình từng phỏng vấn với 1 ông bên Dundee hỏi về công việc, 1 ông bên York hỏi về kiến thức lập trình, 1 ông bên Lancaster phỏng vấn gần 1 tiếng để được nhận vào suất học bổng 16000 bảng. Đa phần các trường khác chỉ xét hồ sơ, nếu thấy ok sẽ gửi cho bạn offer letter mời nhập học.

offer

Continue reading Tạm biệt Việt Nam – Chia sẻ kinh nghiệm nộp đơn du học – Phần 2

Tạm biệt Việt Nam – Chia sẻ kinh nghiệm nộp đơn du học – Phần 1

Bạn nào hay theo dõi blog của mình chắc cũng biết mình đã xách valy đi ngoài ra nước, nhầm, đi ra nước ngoài vào hôm 25/09. Sau gần hai năm đi làm, mình quyết định học lên Thạc Sĩ ở UK. Trong ngành IT, tấm bằng Thạc Sĩ không cải thiện được mức lương nhiều, nhưng mình thích đi để trải nghiệm. Bạn nào mong học Thạc Sĩ để lương cao hơn thì nên suy nghĩ lại nhe.

Sẵn có vài bạn hỏi nên mình viết bài để chia sẻ cách tìm trường và đi du học luôn. Quá trình tìm trường, nộp hồ sơ du học cũng khá nhiều khê và phức tạp. Nhờ sự giúp đỡ, tư vấn của trung tâm tư vấn nên mình được nhận vào Đại học Lancaster (Top 10 ở UK), với học bổng 1600o bảng (gần 550tr), ngành MSc Internation Innovation (Computer Science). Mình viết bài này chia sẻ kinh nghiệm chuẩn bị, nộp hồ sơ cho các bạn có dự định đi du học (Về kinh nghiệm học tập, ôn luyện tiếng Anh thì các bạn xem bài khác nhé).

StudyAbroadbanner

Continue reading Tạm biệt Việt Nam – Chia sẻ kinh nghiệm nộp đơn du học – Phần 1

Series C# hay ho: C# 6 có gì hay ho nào

Gần đây, mình tập trung viết một số bài về định hướng nghề nghiệp và phát triển bản thân mà ít viết về công nghệ. Vì vậy hôm nay mình quyết định tiếp tục viết series C# hay ho. Ở bài này, mình sẽ giới thiệu những cải tiến được Microsoft tích hợp vào C# 6. Bạn nào muốn biết thêm về sự phát triển của C# từ bản 1.0 lên 5.0 hãy đọc bài cũ của mình ở đây nhé.

Ở phiên bản này, C# không có nhiều cải tiến to lớn như Linq, hay async/await. Những thay đổi của bản 6 giúp việc viết code dễ hơn, code ngắn gọn và đẹp hơn.

Continue reading Series C# hay ho: C# 6 có gì hay ho nào

Ngồi xuống và viết blog đi nào

Đây không phải là điều mình tự nói với mình đâu, mà là điều mình muốn nói với bạn đấy. Mình nhắc lại một lần nữa nhé: Hãy ngồi xuống và viết blog đi nào.

Trước khi lắc đầu nguầy nguậy, đưa ra vô vàn lý do để chống chế: mình không có thời gian, biết gì mà viết, viết có được gì đâu … Hãy chịu khó bỏ chút thời gian quý giá của bạn, đọc hết bài viết này rồi bắt tay vào viết nhé.

Time-to-Share

Continue reading Ngồi xuống và viết blog đi nào

Lập trình viên giỏi không phải chỉ biết code