Công thức ước lượng công việc khi thực hiện dự án cho project manager

Posted in Tips, My Learning

Estimate (ước tính khối lượng công việc) thường là vấn đề đau đầu nhất của mọi PM, Kế hoạch thường được xây dựng dựa trên ước tính của các thành viên của team dự án, có khi lại bị ép bởi khách hàng, hay các ràng buộc khác nhau về nguồn lực và mức độ ưu tiên hay môi trường có nhiều thay đổiBạn (PM) đã bao giờ gặp các tình huống này chưa?Kế hoạch đặt ra, PM báo cáo chốt tiến độ, thời gian, team commit và thực hiện theo kế hoạch. Sát tới ngày chuyển giao, team dev thông báo phát sinh thêm một mớ lỗi mới và kế hoạch sẽ fail

Continue reading

Software Architect – Con đường chẳng hề dễ dàng

Posted in Architecture, Dev's Life, My Learning

Mình không thực sự có kế hoạch rõ ràng cho cái level này, cái mình muốn ở đây chỉ đơn giản là bắt đầu làm việc và hướng tới mục tiêu cho công việc này. Thực ra thì mình có một bài viết cách đây nửa năm về trước về việc đau đầu giữa sự lựa chọn theo hướng quản lý hay theo hướng kỹ thuật. Bạn có thể đọc lại bài viết đó để có thể hiểu rõ hơn về cảm xúc và quá trình mình nhìn nhận được career path cũng một đứa lập trình viên non kém có “dã tâm” như mình nhé
http://blog.ntechdevelopers.com/ky-thuat-hay-quan-ly-dau-dau-giua-nhung-su-lua-chon/

Continue reading

Kiến trúc phần cứng là để tồn tại lâu dài, kiến trúc phần mềm là để thay đổi

Posted in Architecture, Dev's Life, My Learning

Kiến trúc phần cứng là để tồn tại lâu dài, kiến trúc phần mềm là để thay đổi. Sự thay đổi chính là điều duy nhất tồn tại để giúp cho phần mềm có thể chiến thắng. Đây sẽ là bài viết mở ra một loạt bài mới về kiến trúc phần mềm mà mình có ý định đi trên con đường chông gai này. 

Continue reading

To learn a programming language in depth – Làm thế nào hiểu sâu một ngôn ngữ

Posted in Dev's Life, My Learning, You don't know Dev!

Bài viết này nhằm mục đích chia sẻ cách mình học một ngôn ngữ được sâu hơn, đây là bài viết tiếp theo của bài viết “Cách mà tôi học một công nghệ mới”, bạn có thể đọc lại tại đây
http://blog.ntechdevelopers.com/cach-ma-toi-hoc-mot-cong-nghe-moi/

Chú ý: Bài viết sẽ dùng ngôn ngữ C# làm ví dụ, các cách học ngôn ngữ khác bạn có thể áp dụng tương tự và có thể có những công cụ tương đương bạn có thể tìm hiểu thêm nhé!

Bắt đầu thôi!

Continue reading

Hướng dẫn cài đặt IDE Dev C++ (lập trình C/C++)

Posted in You don't know C/C++, Tips

Dev C++ là gì?Dev C++ là một IDE, một phần mềm dùng để soạn thảo/ lập trình ngôn ngữ C/C++.Dev C++ khá nhẹ, tích hợp sẵn các tính năng như highlight (giúp phân biệt hàm, biến…), auto complete (gợi ý code), tự động lưu code, compile và run trực tiếp…
Cài đặt Dev C++- Tải Dev C++ tại: https://sourceforge.net/projects/orwelldevcpp/

Continue reading

Tại sao thiết kế phần mềm càng đa dụng lại càng phức tạp

Posted in Dev's Life, Architecture, Experience Projects

Có lẽ đây là một chủ đề nói đơn giản cũng không hẳn mà nói phức tạp cũng không hẳn, đi sâu hơn vào lĩnh vực này mình cảm thấy mình thật nhỏ bé, vì vậy có thể bài viết này sai sót ở đâu đó do mình còn ít kinh nghiệm mong các bạn có thể bổ sung góp ý thêm nhé!

Đầu tiên thì bạn thường đặt câu hỏi tại sao lại phải làm phức tạp hóa vấn đề lên trong khi một phần mềm chỉ cần đáp ứng đúng và đủ nhu cầu hiện tại của mình.

Continue reading

Sự tiến hóa của kiến trúc phần mềm và sự ra đời của kiến trúc Microservice

Posted in Experience Projects, Architecture, Microservices

Bài viết trước mình đã so sánh kiến trúc xây dựng và kiến trúc phần mềm, đến hẹn lại lên, với bài viết này mình sẽ đi sâu hơn về quá trình hình thành của các kiến trúc phần mềm dẫn tới sự ra đời của kiến trúc Microservice

Sự tiến hóa của kiến trúc phần mềm

Chắc hẳn bạn đã từng nghe đến những thông tin những cỗ máy tính đời đầu, nó chẳng có màn hình mà chỉ có những mảnh đục lỗ tượng trưng cho 0 và 1. Rồi nó phát triển lên một chút là những hệ điều hành đen sì mà bạn chỉ có thể gõ và giao tiếp với nó bằng câu lệnh. Khi này những phần mềm ứng dụng trên Terminal ra đời đánh dấu thời điểm khởi nguyên cho sự phát triển của phần mềm sau này.

Continue reading

Lột tả bản chất của kiến trúc Microservice so với kiến trúc xây dựng

Posted in Experience Projects, Architecture, Microservices

Microservice, một thuật ngữ mà bạn đi đâu cũng gặp dạo gần đây. Nếu bạn không phải dân IT, thì đây là bài viết dành cho bạn để có thể hiểu được microservice theo cách đời thường nhất.

Đặt vấn đề chút nhé!

Kiến trúc phần mềm từ xưa đến nay chẳng khác gì một kiến trúc sư một công trình nhà cửa xây dựng cả. Sự phát triển của nó qua các loại kiến trúc cho thấy sự phát triển của xã hội con người nói chung và phát triển phần mềm nói riêng. Chúng sinh ra để giải quyết những vấn đề trong cuộc sống, và chúng cũng có một mối liên hệ tương quan vô cùng chặt chẽ.

Continue reading