Pages

13 thg 7, 2010

Lời khuyên cho "dân IT" - Khi tìm việc

1/ Bằng cấp và bảng điểm không phải là yếu tố quyết định.
Nhà tuyển dụng (NTD) có các chuyên gia giỏi của lĩnh vực bạn có bằng cấp, nếu bạn kém cỏi thì chỉ 5 giây họ sẽ quay ra tò mò làm sao bạn lại có được chứng chỉ này.

Quy tắc số 1: phải trau dồi kiến thức để có bản lĩnh thực chất, có khả năng đáp ứng yêu cầu công việc trong thực tế, bằng cấp chỉ là yếu tố phụ.




2/ Tìm hiểu rõ nhà tuyển dụng cần gì ở bạn?
Nói vui một chút, là bạn "có hoặc sẽ có" khả năng gì mà họ có thể "lợi dụng". NTD sẽ tìm cách hỏi bạn nhưng kiến thức và kỹ năng mà họ cần bạn có. Nếu bạn có thì trả lời là có, nếu bạn chưa có kiến thức đó, hãy cho NTD thấy bạn đã hiểu nguyên lý của vấn đề, chỉ cần tập trung đầu tư thời gian, bạn sẽ trở thành người giỏi.

Quy tắc số 2: lấy khả năng tiếp cận nhanh kiến thức mà NTD cần để khắc phục sự khiếm khuyết kiến thức hiện tại của mình.

Ví dụ: NTD yêu cầu bạn trình bày về một hệ điều hành X mà bạn chưa sử dụng nó bao giờ (hoặc mới chỉ nghe loáng thoáng), bạn hãy bình tĩnh nói họ của HĐH X đó (thuộc họ Unix hay Windows), nói về vài nhận xét của bạn về nó. Bạn hãy tự tin nói cho NTD biết là bạn sẽ mất bao lâu để có thể làm việc với hệ điều hành X như họ yêu cầu (bởi ước lượng chính xác thời gian tiếp cận công nghệ cũng là một tiêu chí để đánh giá ứng viên của các NTD trong lĩnh vực IT).

3/ Tỉnh táo trước những câu hỏi lạ!
Khi gặp những câu hỏi lạ không liên quan đến kỹ thuật hãy dành một chút thời gian tìm hiểu mục đích của câu hỏi trước khi trả lời. Bạn có thể yêu cầu NTD cho bạn 1 phút để suy nghĩ hoặc tìm kế hoãn binh để đoán ra ý đồ của NTD.

Quy tắc số 3: Đừng vội vàng trả lời ngay những câu hỏi lạ.

Ví dụ: NTD hỏi bạn là nếu đang đi một con thuyền, trên thuyền có một tảng đá và bạn vứt tảng đá đó xuống hồ. Hỏi: nước trong hồ dâng lên hay hạ xuống?. Xin chú ý, NTD không quan tâm câu trả lời là dâng lên hay hạ xuống, mà họ chỉ muốn kiểm tra khả năng tìm hiểu các yêu cầu để giải quyết vấn đề của bạn. Một ứng viên tốt sẽ hỏi lại rất nhiều câu hỏi (hỏi càng hay càng được đánh giá cao) như: hồ có to không? tảng đá có to không? nước trong hồ là mặn hay ngọt... trước khi đưa ra kết luận.


4/ Khả năng nghiên cứu bằng tiếng Anh!
Lĩnh vực IT rất cần khả năng này, ít nhất bạn phải có khả năng đọc hiểu tài liệu kỹ thuật tiếng Anh. Hãy nói thẳng với NTD về khả năng tiếng Anh của bạn (nếu bạn không nghe/nói được, điều này ít quan trọng hơn đọc/hiểu).

Quy tắc số 4: bạn phải là người có thể nghiên cứu tốt bằng tài liệu tiếng Anh

5/ Tự tin có cơ sở!
Đừng ngại "sửa lưng" NTD, nếu bạn nắm rõ vấn đề hãy mạnh dạn tương tác với NTD. Những NTD cởi mở sẽ rất thích các ứng viên có quan điểm mạnh, tư tin và vững vàng trong trình bày! (Rất cần thiết nhưng không nên lạm dụng một cách thái quá sẽ "hiệu quả ngược".)
Quy tắc số 5: hãy khác biệt và tự tin.

Ví dụ: bạn không cần đợi đến đợt phỏng vấn mới nộp hồ sơ, hãy mạnh dạn tương tác và đề xuất trực tiếp với NTD, bạn sẽ nhận được những kết quả hết sức thú vị.

6/ Hồ sơ xin việc rõ ràng và sáng sủa
(sự cẩu thả trong chuẩn bị hồ sơ tạo ấn tượng rất xấu vì làm giảm bớt sự tin cậy của người tuyển dụng). Đặc biệt phần CV (tóm tắt thông tin cá nhân) cần làm rõ những khả năng, kinh nghiệm và định hướng lĩnh vực đang quan tâm và dự kiến kế hoạch để đạt được mục đích đó.

Nguyên tắc số 6: Hãy rèn luyện tính nghiêm túc, biết lựa chọn hướng đi rõ ràng và thể hiện nó.


7/ Tính thật thà
Trong phỏng vấn, đây là yếu tố rất quan trọng. Việc trả lời lòng vòng hoặc không nhất quán (đặc biệt các câu hỏi liên quan tới các vấn đề kỹ thuật) sẽ gây ấn tượng rất tệ. Những gì chưa rõ hoặc không biết thì cần trả lời ngay là chưa biết hoặc chưa nghiên cứu. Người tuyển dụng đánh giá cao nếu nhận thấy tính thật thà khi trả lời và tính cầu tiến (Ví dụ: Vấn đề này em chưa rõ nhưng có thể có câu trả lời chính xác sau.... thời gian)

Nguyên tắc số 7: Hãy luôn biết mình là ai và học lấy tinh thần cầu tiến

8/ Tính trách nhiệm, cẩn trọng và chủ động trong công việc
Trong thời điểm này, tính trách nhiệm, cẩn trọng được đánh giá cao hơn sự thông mình, nhanh nhạy nhưng không có trách nhiệm làm tới nơi tới chốn 1 công việc. Đặc biệt nếu bạn muốn vào các vị trí quan trọng (ví dụ quản trị mạng, vị trí liên quan tới bảo mật thông tin...)

Nguyên tắc số 8: Trong quá trình tuyển dụng, hãy thể hiện mình là người quyết đoán nhưng có trách nhiệm.

9/ Tính sáng tạo và khả năng hòa đồng nhanh chóng với môi trường mới: Nếu bạn có tố chất này thì sẽ được cộng điểm tương đối.

Nguyên tắc số 9: Khi tuyển dụng, hãy ăn nói tự nhiên một cách hợp lý, thân thiện và dí dỏm.

10/ Kinh nghiệm thực tế
được đánh giá thông qua các đề tài nghiên cứu khoa học, đồ án tốt nghiệp, nơi thực hành, làm tại các công ty trong thời gian sinh viên. Hãy cố gắng thể hiện ra được những gì mình đã từng làm và có liên quan tới nơi mà bạn xin việc. Cũng rất chú ý khi trình bày khả năng của mình, cần toát lên cho người tuyển dụng thấy được sự chắc chắn và rõ ràng đối với các thông tin bạn đưa ra.

Ví dụ: Trình bày một cách tổng quan về chính đồ án tốt nghiệp bạn đã làm. Cách làm tưởng chừng đơn giản nhưng sẽ khiến NTD đánh giá được nhiều về bạn.

Nguyên tắc số 10: Hãy chuẩn bị cho con đường của bạn bằng những thực nghiệm, nghiên cứu thực tế ngay từ lúc bạn còn trên ghế nhà trường và phát xuất ý tưởng.

Trên đây là một vài lời khuyên của một số các nhà tuyển dụng lớn về nhân lực IT ở Việt Nam và các chuyên gia. Chúng tôi cũng thu thập ý kiến của một số cá nhân từng có nhiều kinh nghiệm trong quá trình "bị" phỏng vấn tuyển dụng. Đúc kết lại, tất cả mọi người đều có chung một nhấn mạnh: Lời khuyên quan trọng nhất là hãy chuẩn bị cho mình một bản lĩnh vững vàng + niềm đam mê, bởi IT là một lĩnh vực đầy thử thách!

10 lời khuyên này được tổng hợp lại từ ý kiến của một số nhà tuyển dụng, đại diện cho rất nhiều nhà tuyển dụng của VN và thế giới. Do vậy, không hẳn đó đã là những lời khuyên đúng đắn tuyệt đối nhất. Song chúng tôi hy vọng, những lời khuyên này sẽ giúp các bạn trẻ ít nhiều trong một hoàn cảnh cụ thể nào đó.


(Theo Vietnamnet)

3 thg 7, 2010

PHP và ASPX

Tại sao chúng tôi chọn ngôn ngữ lập trình web là ASPX trên nền tảng công nghệ .NET. ?

Tài liệu này trình bày quan điểm riêng của công ty HTS về 2 công nghệ chủ yếu làm web hiện nay là PHP và ASPX. Việc trình bày các quan điểm này chúng tôi không đi sâu vào chi tiết kỹ thuật hay định nghĩa mà tài liệu này chỉ là những nhận định của chúng tôi dựa trên quá trình tìm hiểu của riêng chúng tôi về PHP và ASPX

Các thông tin chi tiết và kỹ thuật về PHP và ASPX thì các bạn vui lòng tìm hiểu thông tin từ các nhà cung cấp các sản phẩm trên. Chúng tôi luôn đón nhận sự phản hồi và góp ý của tất cả những ai có thiện ý giúp chúng tôi phân tích rõ hơn vấn đề.

Trước tiên, cần phải hiểu rõ là PHP là ngôn ngữ thiết kế web mã nguồn mở, còn .NET là một bộ công cụ lập trình do Microsoft phát triển. Chúng ta chỉ so sánh 2 công cụ chủ yếu để thiết kế web là ASP.NET và các công cụ thiết kế web được phát triển từ nền PHP (ví dụ như:Joomla, Drupal..). Để so sánh PHP với ASP.NET ở trên diện rộng hơn chúng ta nên so sánh giải pháp LAMP (Linux + Apache + MySQL + PHP hay Python) với ASP.Net + SQL Server (hay Oracle)
Dĩ nhiên mọi so sánh đều không thể toàn diện và đầy đủ. Từng giải pháp đều có những phần mà giảp pháp kia không thể bằng được. Dưới đây là những so sánh có tính tổng quát nhất.

1. Thị Phần

Theo thống kê mới nhất, hiện nay số lượng web PHP chiếm 36.1%, ASP.Net chiếm 54.4%, và 9.5% là các ngôn ngữ khác như Java…Tuy nhiên tốc độ tăng trưởng của PHP nhanh hơn đáng kể so với ASP.Net (các giải pháp web trên Java đang bị sụt giảm thị phần. Các bạn có thể xem ở bài viết này: http://www.businessweek.com/technolo...213_042973.htm ) nhưng nếu chia tỉ lệ 36.1% của PHP đó cho các công cụ như: Joomla, Drupal, PHPBB, Mambo… thì tỉ lệ của mỗi công cụ PHP này không là bao nhiêu.

Điều này phản ánh các xu thế sau:
+ PHP bắt đầu phát triển mạnh do lợi thế mã nguồn mở miễn phí. Chi phí thực hiện rẻ, giảm giá thành phát triển.
+ ASPX vẫn là công cụ phát triển web đứng đầu thế giới bởi tính ổn định, ưu việt, cùng mức độ đáp ứng tốt cửa nó với các dự án từ nhỏ đến lớn.

2. Kỹ Thuật

Theo các đánh giá chung, các giải pháp ASPX của Microsoft đáp ứng rất tốt ở cấp Enterprise (cấp doanh nghiệp vừa và lớn, cái này thì chỉ có java J2EE mới sánh được). Xin đừng nhầm lẫn giữa khái niệm Enterprise với website có nhiều người truy cập, ở đây nói về độ phức tạp của các dịch vụ, độ tin cậy, tính khả chuyển… những tiêu chuẩn mà chỉ khi thiết kế các ứng dụng phục vụ cho các tập đoàn lớn thì chúng ta mới đụng tới.

PHP rất thích hợp hơn cho những nhóm phát triển nhỏ, các website nhỏ, ít kinh phí. Đáp ứng tốt cho cách phát triển kiểu agile, nghĩa là có thời gian phát triển và đưa vào sử dụng nhanh. Toàn bộ mã nguồn và các plug in cuả nó được chia sẻ miễn phí trên mạng nên thời gian hoàn thành web là rất nhanh.

3. Ngôn ngữ lập trình, nhân lực phát triển

ASP.Net, nói chính xác hơn là C# hay VB.Net, là ngôn ngữ lập trình hướng đối tuợng được thiết kế tốt, thừa hưởng rất nhiều thế mạnh của Java. ASP.Net cũng có bộ công cụ phát triển hạng nhất: Visual Studio.Net. Để tạo một trang web đơn giản bằng ASP.Net khá dễ, nhưng để hiều sâu sắc cho những vần đề phức tạp hơn lại là cả một quá trình và giá phải trả là tài nguyên và thời gian học. Do đó, những người thiết kế ASP.Net điều phải giỏi về kỹ thuật.
PHP là một ngôn ngữ được sinh ra với mục đích duy nhất là để dùng lập trình Web: giản dị và dễ hiểu. Mãi đến PHP 5, lập trình hướng đối tượng mới được đưa vào tương đối đầy đủ. Công cụ phát triển (IDE) cho PHP không có cái nào có thể sánh được với bộ Visual Studio. Nhưng hiện nay, nếu dùng Eclipse plug-in cũng có thể nói đạt 8/10 so với bộ Visual Studio

Một vấn đề nữa là PHP thường nhúng mã logic chương trình vào trang web (embedded scripts) còn ASP.Net tách rời phần hiển thị và logic rất rõ ràng (chúng ta nói tới kiến trúc MVC: Modal –View - Controller). Do đó, tốc độ hiển thị của APS.Net nhỉnh hơn chút đỉnh so với PHP

Vấn đề nhân lực, vì các lập trình viên ASP.Net giỏi kỹ thuật nên thích hợp cho các nhóm phát triển lớn. Ngược lại việc phát triển trên nền PHP đơn giản hơn, nên dễ tìm ra nhân lực cho các dự án nhỏ.

4. Chi Phí

Rõ ràng là chi phí phát triển web bằng ASP.Net tốn kém hơn nhiều so với PHP. Bạn phải trả phí bản quyền cho SQL Server, Windows Server, Visual Studio, MSDN. Ngoài ra, việc hỗ trợ kỹ thuật của ASP.Net cao hơn nhiều so với LAMP là của cộng đồng mã nguồn mở. Dù rằng ở VN chúng ta thường dùng phần mềm “chùa” nhưng nếu tạo một ứng dụng thương mại nghiêm túc thì chi phí bản quyền phải trả là khá lớn.

Ngược lai, chi phí sở hữu tổng cộng (Total ownership cost) của LAMP lại có thể cao hơn nhất là khi bạn quản trị nhiều server Linux lớn do thiếu các chuyên gia giỏi về Linux. Đây là vấn đề gây tranh cãi, trong khi Microsoft khẳng định chi phí cho Windows rẻ hơn thì một số nghiên cứu lại cho kết quả ngược lại, ví dụ bản báo cáo này http://www-1.ibm.com/linux/RFG-LinuxTCO-vFINAL-Jul2002.pdf

4. Tốc độ

Có khá nhiều tranh cãi về tốc độ của LAMP hay của ASP.Net + SQL Server cao hơn. Cái này còn tùy vào cấu hình, đặc thù của ứng dụng. Nhìn chung về mặt web server, Linux “có tiếng” hơn Windows Server về tốc độ (Google, Yahoo đều dùng Linux server cho các dịch vụ của mình và tôi không dám phàn nàn gì về tốc độ cả!). Theo một số người, PHP script nhanh hơn ASP.Net script (như C#, VB.Net) trong các tác vụ thông thường và tốn ít bộ nhớ hơn, tuy nhiên điều này cũng còn nhiều tranh cãi!.

Về database server, MySQL có tốc độ rất tốt (đặc biệt là kiểu MyISAM) nhưng thiếu một số tính năng cao cấp như stored procedure, trigger (phiên bản MySQL 5 có hỗ trợ các tính năng này nhưng còn yếu và có nhiều lỗi) của SQL Server. Tất nhiên, PHP cũng có thể dùng với nhiều database khác, còn ASP.Net nếu dùng với Oracle thì không có gì phải bàn về tốc độ cả.

Ý kiến riêng của tôi là bạn không cần phải băn khoăn gì về tốc độ của MySQL hay SQL Server cho bất kỳ website nào dù lớn hay nhỏ. Vấn đề chỉ là thiết kế ứng dụng hiệu quả và tìm được dịch vụ hosting tốt. Điều này cũng đúng cả với PHP và ASP.Net.

5. Bảo mật và Virus

Linux luôn có tiếng tốt về bảo mật và cũng ít bị các loại virus nhắm vào. Nhưng thực tế cho thấy là ít có hacker nào thèm tấn công Linux chứ chưa hẳn Linux tốt hơn WinDows. Bạn thử nghĩ xem, nếu bạn là hacker thì bạn sẽ muốn viết công cụ để hack 10 máy Linux hay 1 triệu máy Windows? Để cho trang web của bạn thực sự bảo mật thì lại là vấn đề thiết kế và lập trình. Cả PHP và ASP.Net đều có những lỗ hổng có thể khai thác. Tuy nhiên, do mã nguồn chia sẻ nên lỗi của web PHP này cũng sẽ xuất hiện tại web PHP khác cùng sử dụng mã ấy. Do đó, nếu bạn không muốn việc bảo mật của mình phải trông chờ vào lòng tốt của bá tánh thì ASP.Net là lựa chọn phù hợp.

6. Cộng đồng phát triển và mã nguồn

Nói chung bạn có thể nhận đựơc nhiều mã nguồn và sự giúp đỡ từ cộng đồng mã nguồn mở như PHP miễn là bạn có kỹ năng “Search” tốt. Ngược lại MSDN đựơc đầu tư công phu và rất hữu ích giúp cho việc tìm kiếm nhanh chóng hơn. Một vài website như Codeproject.com cũng có rất nhiều mã nguồn ASP.Net giá trị.

TÓM LẠI

Chúng ta thường bị “nói quá” về ngôn ngữ này hay ngôn ngữ kia tốt hơn, thực tế là cái nào tốt hơn hoàn toàn phụ thuộc vào kỹ năng của người lập trình và quản lý hệ thống. Trong khi phần lớn các website lớn của Việt Nam chọn ASP.Net thì PHP và Java lại được các LTV Ấn Độ ưa thích hơn. Có thể không hẳn vì các LTV Ấn Độ “giỏi” hơn chúng ta mà vì chúng ta đi sau nên ưa chuộng những kỹ thuật ra đời sau như ASP.Net.

Lựa chọn một giải pháp thích hợp cho website của mình là một việc rất khó, bạn cần cân đối các giá trị và những khó khăn mà giải pháp đó đem lại. Cá nhân tôi, nếu chọn một giải pháp làm website cho khách hàng thì tôi sẽ chọn ASP.Net vì hai lý do
(1) thời gian phát triển nhanh hơn, dễ test và deploy hơn và
(2) dễ tìm nhân viên chuyên nghiệp hơn.
Nhưng nếu làm cho cá nhân tôi, các đơn vị ít kinh phí thì tôi chọn LAMP vì chi phí thấp hơn và việc trển khai nhanh hơn
Powered By Blogger