Thursday, 24 June 2010

Hoàn thiện kỹ năng làm việc


1. Sinh viên: Nhận bài tập với yêu cầu rõ ràng, mức độ dễ từ giáo viên

2. Sinh viên mới ra trường, dưới 1 năm kinh nghiệm: Làm việc dưới sự
chỉ đạo của Team Lead, Project Manager (phân tích hộ).

3. Sau 1 năm kinh nghiệm: Chủ động phân tích, giải quyết vấn đề.

4. Sau 1.5-2 năm kinh nghiệm: Biết cách đề xuất giải quyết những bài toán tích hợp lớn hơn,
những vấn đề kỹ thuật lớn hơn.

5. Sau 2 năm: Có khả năng quản lý team, từ 3-4 người trở lên.

Để "level up", Đại cần chủ động hơn, hoàn thành công việc cho dù
yêu cầu không rõ ràng (thiếu thông tin).

Tây có câu này rất hay: Practice makes perfect.

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.