Thursday, 24 June 2010

Waterfall vs. Spiral


Mô hình phát triển phần mềm ở công ty nhà nước làm nói chung là Waterfall.

Họ cung cấp cho đối tác *rất* ít thông tin.
Sau khi phân tích, thiết kế, phát triển, test toàn bộ
mới đưa cho họ kiểm chứng.

Rủi ro là nếu phát sinh vấn đề ở một trong các bước trên sẽ khó quay lại.

Đặc trưng khác của công ty nhà nước Việt Nam là:

1. Ít giao tiếp, trao đổi -> thiếu thông tin dẫn tới làm sai, thiếu.
2. Chậm.

Spiral model theo hướng phát triển prorotype, lặp lại quy trình phát triển
nhiều lần ép khác hàng giải quyết *trực tiếp* vấn đề 1. ở trên.

cf.
http://en.wikipedia.org/wiki/Waterfall_model
http://en.wikipedia.org/wiki/Spiral_model

Wednesday, 2 June 2010

Mười phẩm chất của một kỹ sư




1. Năng khiếu phân tích: Luôn luôn phân tích, để tâm tới vấn đề và cải tiến nó.
Nghĩa là, người kỹ sư phải có tính "tò mò", luôn tìm hiểu và học hỏi

2. Chú ý tới chi tiết (tiểu tiết): Phải luôn chú ý tới những chi tiết nhỏ nhất,
những sự cố hay quan sát dù nhỏ nhất. Đôi khi, những chi tiết nhỏ này là
"ánh sáng cuối đường hầm" dẫn tới giải pháp giải quyết vấn đề.

3. Khả năng giao tiếp: Có thể giao tiếp với các kỹ sư hay người làm kỹ thuật
bằng ngôn ngữ kỹ thuật chính xác. Đồng thời phải có khả năng diễn đạt cùng
nội dung kỹ thuật bằng ngôn ngữ "phi kỹ thuật" để ai cũng có thể hiểu vấn đề.
Kỹ năng này đòi hỏi cả khả năng nói và khả năng viết.

4. Luôn luôn học hỏi công nghệ mới để tránh tụt hậu. Đặc biết với ngày IT,
các công nghệ mới ra đời hàng tuần đòi hỏi người kỹ sư phải tìm hiểu nhanh
các công nghệ này.

5. Sáng tạo: Có khả năng nghĩ ra những giải pháp và đề xuất sáng tạo để
làm cho hệ thống đã có hoạt động tốt hơn.

6. Suy nghĩ logic: Đây là khả năng cần nhất trong các khả năng người kỹ sư
cần có. Nó là khả năng hiểu một hệ thống phức tạo và phân tích vì sao
sự cố xảy ra.

7. Giỏi toán: Khả năng này là thiên bẩm đối với một số người. Tuy nhiên có
thể đào tạo được. Không có cơ sở vững chắc về toán, người kỹ sư không
thể hiểu các tính toán hay thuật toán phức tạp.

8. Khả năng giải quyết vấn đề: Phân tích, bóc tách vấn đề để chỉ ra nguyên nhân
vấn đề nằm bộ phận nào của hệ thống. Workaround là cách giải quyết biểu hiện
của vấn đề trong khi "fix" là sự giải quyết triệt để tận gốc nguyên nhân vấn đề.
Người kỹ sư cần hiểu sự khác nhau của hai phương pháp này, sử dụng đúng lúc,
đúng chỗ và đánh giá được hậu quả tiềm năng sau khi vấn đề được giải quyết.

9. Teamwork tốt: Người kỹ sư tốt hiểu rằng họ là một mắt xích trong một cỗ máy.
Cố máy này hoạt động tốt hay không phụ thuộc vào tất cả các mắt xích. Các mắt
xích cần hỗ trợ nhịp nhàng với nhau nhưng bản thân từng mắt xích cũng cần
hoàn thiện để tránh gây ảnh hướng xấu tới các mắt xích khác.

10. Kiến thức cơ bản: Hiểu biết rộng với nhiều ngôn ngữ lập trình, cơ sở dữ liệu,
hệ thống hay được sử dụng.

Tham khảo: http://www.engineeringschools.com/engineering-top-10.html

Tuesday, 1 June 2010

Mẹo vặt nâng cao năng suất


1. Dành thời gian tỉnh táo nhất trong ngày để check email (8h - 9h).
Xử lý ngay những email, công việc gấp hoặc có thể giải quyết ngay.
Queue những công việc "dài hơi" và note trong sticky memo.
-> http://www.forest.impress.co.jp/lib/dktp/calclock/tag/husentyou.html

2. Liệt kê những công việc cần làm trong stiky memo để dễ dàng theo dõi.
Đặt độ ưu tiên cho các task này và xử lý theo thứ tự ưu tiên.

3. (Cố gắng) giải quyết trọn vẹn 100% công việc đã liệt kê trong ngày,
trước khi ra về.

4. Sắp xếp giao việc cho người khác ("đá bóng") hợp lý nhất.
Tuy nhiên, không để mất quyền chủ động. Luôn nắm được tiến độ và hỗ trợ.

5. Phân chia email theo thư mục, tags các email theo màu đỏ (urgent, phải làm ngay),
Màu xanh (TODO, phải làm trong ngày).

6. Kết hợp ThunderBird và Lightning quản lý các cuộc hẹn, công việc
trong một ngày cũng như trong tuần.

7. Memo, email confirm lại nếu khách hàng trao đổi bằng điện thoại hoặc
trao đổi miệng trực tiếp.

Thursday, 6 May 2010

Clear (Flush) Windows and Linux DNS cache


Set DNS to 8.8.8.8
My Network -> Property -> TCPIP -> Property -> DNS -> OK
Access the website
Change DNS back to the value it should be

Linux

Set DNS to 8.8.8.8


[vuhung@redmine-0.8.7]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 8.8.8.8
#nameserver 192.168.51.1

Access the website
Change DNS back to the value it should be

Thursday, 12 November 2009

Bài học

Được và các bài học :
- Học được kỹ năng quản lý chung 20 người đồng thời làm team lead của 1 hay 2 dự án.
- Rút ra được những bài học quý giá về lãnh đạo và kinh nghiệm lãnh đạo người Việt.
- Một chút quyết đoán có tính độc tài (giúp cân bằng lại tính cách ôn hòa của cá nhân).
- Hiểu được rằng trong môi trường doanh nghiệp Việt Nam, mô hình quản lý "silent
lead" hay "vi vô vi" kiểu Lão Tử là bất khả thi.
- Hiểu ra được rằng muốn tồn tại thì phải hy sinh quyền lợi cá nhân *nhiều* hơn và
đặt cấp trên (có xu hướng bảo thủ và độc tài) lên trên.
- Các kỹ năng khác.
- Tác phong doanh nghiệp kiểu Việt Nam như: cách nói chuyện, cách viết email,
dùng từ (bằng tiếng Việt).
- Mô hình thiếu dân chủ không thể tồn tại, mặc dù trong doanh nghiệp.
- Một công ty muốn phải triển phải dựa trên nguyên tắc win-win và tôn trọng lẫn nhau.
- Học được cách maintain những conversation "vô bổ" (để giữ quan hệ, giải lao, xả stress).
- Một cuộc cách mạng phải trả giá bằng máu. Một sự thay đổi có tính cách mạng phải
trả giá đắt. Giá đắt trong short term có thể tốt trong long term. Chọn fast decision
chứ không phải "better decision" vì không có thời gian.
- Học được cách điều hòa với nhân viên và cấp trên.
- Xác định lại và kiên định với career map của mình: Quản lý kỹ thuật.

Mất:
- Stress quá nặng. Bị ức chế tới mức không thể kiểm chế và không hồi phục được
trong một vài tháng.
- Mất tương lai: Chi phí cơ hội cho 6 tháng phí phạm không phải là nhỏ.
- Tài chính: Thu nhập thấp, bỏ không nhận các offer về options (vì quyết định chi sẻ)

Wednesday, 28 October 2009

Chia se mot so kinh nghiem phong van


Chia sẻ một số kinh nghiệm phỏng vấn của bản thân.

1. Đọc kỹ trước CV của ứng viên, đặc biệt tìm hiểu về những công nghệ lạ mà ứng viên đề cập trong CV.
Việc này cần chuẩn bị trước. HungNV dành khoảng 15-30 phút cho việc này.

2. Hỏi người quen ở các công ty cũ của ứng viên (optional, nếu có thế)

3. Mạo đầu phỏng vấn bằng cách giới thiệu vị trí người phỏng vấn (chính mình), giới thiệu công ty,
giới thiệu vị trí, nhân sự mà công ty đang cần
(AI-T tuyển tràn lan, không có tiêu chí rõ ràng gây khó khăn cho người phỏng vấn)

4. Di dần theo các điểm chính trong CV (đã tổng kết ở phần 1.)

5. Hỏi sâu và một dự án mà ứng viên cảm thấy tâm đắc nhất, qua đó nhìn ra:
- Kỹ năng giải quyết vấn đề
- Kỹ năng quản lý
- Team work (khả năng giải quyễt xung đột trong team)
- Kỹ thuật nói chung (test, lập trình)
- Cách hiểu của ứng viên về quy trình phát triển phần mềm
- Khả năng chịu pressure của công việc


Nếu là sinh viên thì chỉ cần focus vào teamwork, các họat động ngoại khóa là đủ.

Monday, 24 August 2009

The Ubiquity of Evony

1. A New Perspective

I am an old school Age of Empire [the Conquer pack] (AOC) player and I have been playing this game for over 8 years. The one day I found Evony, which has a few nice features that AOC does not have:

1. The number of players is not limited.

2. Free (and technically free forever)

3. Evony is also a real-time strategy (RTS) game (I will explain later)

4. Can be played anywhere with just a browser.

2. Cutting-edge Technologies

The reason why Evony is Operation System independent is that, it uses the latest cutting-edge technology called Flash. This may sound obvious to most of the reader but this is the point that makes Evony unique. Network based games are hard to be developed and Flash makes it easier. Evony has made an excellent work on graphics. Do I need to compare Evony with the most popular among officers game called FarmTown?

The Internet doesn’t mean connectivity to everywhere. I still remember the day of TCP/IP dominated game era: We have to mess up with the router for port forwarding. With Evony, it is easy; all we need is just a browser (zero setup!) – Nothing can be simpler than that!

The “Map View” mode is very well done and I have never seen that kind of work in other text-based RTS games before: We can browse the map in the way we use Google map. Adding visualization to the game is the key factor that makes Evony easy to play and being unique.

3. In-game Booming and Rush

You are given 5000 resources of each kind (food, lumber, stone, iron and gold) and you have 7 days of protection, which means, you have 7 days of free booming without fear of being attacked from stronger users.

Of course, with 7 days, you can never be strong enough if decide going solo. You can buy items that make stronger but it will never be enough. And you have to find a good alliance to join. Otherwise, you won’t survive!

Army training in Evony goes the same way like other RTS games: We make a good economy, getting resources and training armies. The difference from Evony to AOC is that: Evony has only one kind of “army building”: The barrack. However, we can train dozen kinds of armies from it.

Fighting in Evony is not so visually: We choose a target, right-click it and choose “Attack”. A new window will popup letting we choose the armies. This is fine but after the attacked is launched, all we can do is WAITING! We can cancel the attack but we can not redirect (I mean set the targets to another coordinator). When the armies arrive the target, the fight instantly finished in a not-so-intuitive fashion way. AOC players like may ask: How to micro-management in Evony? Well, probably no, there is only macro-management in Evony.

4. Is This a True Real-Time Strategy Game?

Yes it is. However, to be precise, Evony belongs to a sub-genre of RTS game called Real-Time Tactics. Therefore, AOC players, who understand the meaning of the phase “Real-Time Strategy” in a misleading way, will find it strange at the first look. However, macro-management skills in AOC can be similarly applied here easily.


23/08/2009

Written by Nguyen Vu Hung

Email: vuhung16plus@gmail.com

Evony nickname: “VCF ksv9x” on server 30