Thứ Ba, 20 tháng 8, 2013

Chia sẻ kinh nghiệm xin việc với coder mới ra trường

Chào các thím vozer

Mình thì lâu lâu cũng dạo vài vòng f17 đọc truyện ma, nhưng chẳng hiểu sao dạo này thấy nhiều thím than về chuyện việc làm quá Nên bỗng nảy sinh tà niệm chia sẻ một ít kinh nghiệm, những mong có thể giúp ích được ai đó.

Xin lỗi tui cũng chỉ là một thằng coder mà thôi, hơn nữa lại đang làm đồ án tốt nghiệp Kinh nghiệm thì 8 tháng thực tập tại fpt software HCM, thêm 1 năm part-time tại keewi, cộng 1 tháng tại pose, với 4-5 lần phỏng vấn. Giới thiệu sơ sơ kẻo mấy thím lại bảo thằng trẻ trâu chưa tốt nghiệp mà bày đặt lên mặt chia sẻ kinh nghiệm. Bạn mình thì còn khối đứa giỏi hơn nữa, nhưng bọn nó kỉ bỏ mịa, éo chia sẻ gì cho ace. Haiz. Xem như mình lên đồng buổi sáng thay mặt cho bọn chó đó.

Đầu tiên, phải nói những ai học lập trình có một lợi thế đặc thù đó là đi xin việc làm không cần bằng cấp, không chạy chọt vài trăm củ (ở HCM), cũng chả cần cocc gì hết. Nghĩa là chỉ cần vác xác và não bộ bình thường thì bạn hoàn toàn có thể có việc làm và kiếm ra tiền. Dù bạn là sinh viên năm 1 hay vừa tốt nghiệp, chỉ cần bạn có quyết tâm là ok hết.

Dĩ nhiên điều đó sẽ phụ thuộc và công ty mà bạn ứng tuyển nữa. Nếu đó là một công ty có tầm nhìn, biết trọng dụng nhân tài, điều họ cần ở bạn là thái độ làm việckĩ năng mà thôi. Thế nên chẳng cần phải tự ti nếu bạn có một bẳng điểm cùi bắp, học một trường vô danh, hay là chưa từng được công ty nào nhận. Mình đang nói ở HCM nhé, còn ở các vùng khác thì mình không biết được Nhu cầu về nhân lực của ngành này thì mình nghĩ luôn có, mặc dù hiện tại kinh tế vẫn trong thời kì suy thoái, bằng chứng là công ty mình vẫn đang tuyển người. Vấn đề là bạn có đủ kĩ năng và thái độ cần thiết để làm hay không mà thôi.

Mình nói những vấn đề đó để các thím không phải thất vọng về cái ngành mình đang học, rồi lại chán đời tự tử thì bỏ mợ. Yêu nghề đê, nó sẽ không phụ bạc các thím đâu. Coder thì không giàu được, những cũng đủ nuôi gia đình, và tuổi đời thì khá ngắn. Các thím có biết vì sao nó ngắn ko

Nói về ngành thì chừng đó cũng đủ rồi, bây giờ nói về bản thân. Như mình đã nói thì người tuyển dụng sẽ cần các thím có kĩ năng và thái độ.

Kĩ năng là thứ quan trọng và cần được rèn luyện nhiều nhất. Nhưng giữa vô vàn ngôn ngữ, vô vàn framework thì các thím thiếu kinh nghiệm thì thường sẽ rất khó biết được là mình cần học cái gì. Dẫn đến tình trạng chung của dân coder là cái gì cũng biết, nhưng đéo giỏi cái nào cả, rộng mà không sâu. Nhưng công ty thì chả thích điều đó tẹo nào.

Vậy trước tiên mình cần phải chọn một con đường. Có thể là theo xu thế bây giờ là web hoặc mobile, hoặc theo con đường mà bạn đam mê, và sẽ rất tuyệt nếu đam mê nằm trong xu thế Mình thì theo web. Mình cũng chẳng biết là đam mê hay là theo xu hướng sẽ tổt hơn. Cái đó tùy thuộc và cá tính của mỗi người thôi.

Tiếp theo bạn sẽ chọn cho mình một vai trò nào đó. VÌ mình theo web nên sẽ nói về web thôi. Trong web thì có 3 lớp chính, 1 là back-end, 2 là front-end, 3 là designer. Mỗi thứ thì nó sẽ có một vài ngôn ngữ nào đó cho nó. Bạn sẽ cần phải học nó, và mỗi ngôn ngữ nó lại có đặc thù riêng của nó, có thể bạn bắt buộc phải học framework, hoặc một vài công nghệ tiêu biểu của nó nữa. Nói đến đây thì thấy cũng hơi phức tạp rồi. Tóm lại là bạn sẽ phải chọn một ngôn ngữ ở bước này, khi bạn chọn ngôn ngữ đó sẽ phải tìm hiểu để nắm được một vài công nghệ tiêu biểu và framework của nó. Ví dụ asp thì cần phải biết MVC, Entity framwork, NHibernate, linq; php thì phải biết drupal; javascript thì phải biết các plug-in, jquery, html/css, MV* framework.. Uầy, cũng nhiều phết. Thế nên bạn chỉ nên chọn một trong số chúng và đào sâu nghiên cứu, chứ không lại tẩu cmn hỏa, nhập cmn ma.

[Cập nhật - Có vẻ các thím quan tâm đến vụ phương pháp nghiên cứu nên mình viết chi tiết hơn]
Nghiên cứu thì gần như bắt buộc phải đọc các tài liệu tiếng anh, bây giờ coder thì ai cũng phải vậy cả, khi phỏng vấn người ta cũng sẽ yêu cầu có khả năng đọc hiểu tiếng anh tương đối là vậy. Lợi ích của tiếng anh thì khỏi phải bàn rồi. Bạn tiếp xúc càng nhiều thì khả năng đọc hiểu của bạn sẽ càng cao.

Phương pháp nghiên cứu thì mình nghĩ hiệu quả nhất là ghi chú kết hợp với làm demo, google + tắt facebook + uninstall game + tắt internet khi không dùng đến google Nói thiệt là mình cũng lười lắm, haha, phải dùng biện pháp mạnh mới được.

Tại sao phải viết ghi chú? Trước hết, Ghi chú dùng để lưu trữ có cấu trúc những điểm quan trọng mà bạn đã đọc qua. Đôi khi có những vấn đề tưởng đơn giản, mình nghĩ là không thể quên được, nhưng rồi khi đọc quá nhiều thứ mới mẻ hoặc cùng với thời gian, bộ não của mình lại gặp trục trặc. Khi đó thay vì phải đọc lại hàng chục trang tài liệu, bạn chỉ cần đọc lại vài đoạn ghi chú, bộ não sẽ gợi nhớ lại những thứ nó đã tiếp thu. Viết ghi chú cũng là cách để bộ não học lại lần 2 đối với một kiến thức nào đó, quá trình ghi nhớ sẽ tốt hơn nhiều. Ngoài ra việc ghi chú giúp bạn chọn lọc được thông tin, và tập cách trình bày khoa học. Để phục vụ cho việc viết ghi chú thì mình nghĩ phần mềm oneNote trong bộ office là ok nhất Lúc học Jquery mình đã áp dụng cách này và cảm thấy rất hiệu quả. Mỗi lẫn tìm hiểu được gì mới thì mình lại note vào một mục nào đó (kèm link gốc). Chưa kể có thể chia sẻ cho người khác lấy le nữa. Cái này thì sẽ giúp lúc bắt đầu, còn sau này khi pro thì toàn google thôi à.

Có một câu hỏi mà nhiều bạn hay hỏi, tài liệu đâu ra mà nghiên cứu bây giờ? Mình nghĩ chỉ cần google là ra. Ví dụ bạn học Jquery, thì chỉ cần search từ khóa Jquery for beginer. Lướt qua một vài link, cái nào bạn cảm thấy dễ hiểu, dễ học và trình bày có đề mục rõ ràng, theo thứ tự từ dễ đến khó, nhiều demo hoặc video, có nhiều phản hồi tích cực (Nếu có phần comment), không quá dài, quá chi tiết thì cứ nhằm đó mà tán. Hoặc official website của nền tảng đó. Jquery thì có Jquery.com, drupal thì có drupal.org.

Tài liệu cho beginer thường phải các các nội dung cần thiết như:
- Giới thiệu chung về nền tảng, ngôn ngữ: Trả lời các câu hỏi, nó là gì?, tại sao? để làm gì? hoạt động như thế nào? có các thành phần nào?...
- Đi vào từng phần nhỏ của nền tảng, kèm các ví dụ đơn giản.

Với những ngôn ngữ ở trường đã dạy thì bạn sẽ tiết kiệm kha khá thời gian trằn trọc. Mình học ở trường cũng lười lắm, sách chẳng bao giờ đọc lấy một trang, toàn nghe thầy giảng và làm các workshop, assignment (bắt buộc làm, đôi khi mình copy bài của bạn khác sửa rồi đem nộp nữa, thậm chí là chỉ sửa tên file , cũng may là éo tạch môn nào sau 4 năm học, à mình học FPT nhé) Nhưng mà thật sự kiến thức ở trường chỉ đứng ở mức cơ bản mà thôi, khoản cách đến các dự án thực tế là khá lớn. Ví dụ phần MVC ở c#. Ở trường chỉ chạy một cái CRUD (create, update, delete) là xem như xong, data base thì entity framework. Nhưng các dự án dùng MVC thực tế sẽ có thể thêm NHibernate, cách tổ chức thư mục trong project, rồi viewmodel mapping, mapping profile, Value Resolver, data annotation, linq... chưa kể phong cách làm việc cũng khác khá nhiều. Ở trường thì bạn chỉ cần làm cho nó chạy ra đúng kết quả, còn khi làm việc thì ngoài việc chạy đúng, bạn phải viết dễ hiểu (code theo coding convention), tên biến tên class ra sao, comment như thế nào... nhằm mục đích nếu bạn có bị đuổi thì người thay thế sẽ mất ít thời gian nhất có thể để tiếp nhận cái đống mà bạn đang làm, hoặc nếu có lỗi thì thằng khác nó nhảy zô làm giúp cũng được... nhiều lí do lắm. Mà làm ở trường thì thường làm một mình, có làm team thì cũng chả làm việc với nhau nhiều. Còn khi đi làm thì phải teamwork khá nhiều... đủ thứ cả. Mỗi công ty cũng thường có cách làm việc khá nhau...etc
Tóm lại là kiến thức ở trường chỉ dừng lại ở mức basic mà thôi Nếu không tự học thêm thì cũng chả ứng dụng được gì cho thực tế cả. Đó là lý do vì sao khi tuyển dụng người ta muốn bạn có kinh nghiệm. Để training một người mới ra trường bằng khá hay giỏi thì đều mất vài tháng trời cả mà.

Khi đã có kha khá kiến thức và một cơ số demo rồi thì bạn phải bắt tay vào làm một sản phẩm thực tế nào đó. Web thì có thể làm một cái blog, mobile thì làm game rắn sắn mồi hay cái báo thức đi đó chẳng hạn. Sản phẩm này có vai trò rất quan trọng. Trong quá trình làm bạn sẽ có được cơ số kinh nghiệm để giải quyết lỗi mà khi làm demo bạn sẽ không bao giờ gặp phải. Và bạn cũng sẽ phải biết sơ qua vài thứ khác ngoài thứ mà bạn chuyên sâu. Ví dụ bạn chọn back-end là cần kiếm cơm thì bạn cũng phải tìm hiểu sơ qua về front-end. Chứ không nhìn cái web thời tiền sử thì ai mà có thiện cảm cho được. Và ngược lại.

Vậy cái sản phẩm này dùng để làm gì? Dĩ nhiên là để show ra cho người tuyển dụng thấy là bạn có thể làm được việc. Bạn sẽ được tự giới thiệu sản phẩm của mình. Rồi người ta sẽ hỏi bạn làm ra sao, một vài yếu tố công nghệ mà bạn dùng, thế nên đừng dại mà copy kẻo người ta hỏi rồi không biết trả lời. Có công ty còn yêu cầu mở project cho họ xem code nữa, tốt nhất là phải làm theo coding convention.

Nhưng cũng tùy vào vị trí mà bạn ứng tuyển, người ta sẽ xem xét các yếu tố khác ngoài yếu tố công nghệ. Có thể là việc bạn sáng tạo các tính năng mới mẻ trong project ra sao, tính thẩm mĩ và dễ sử dụng của sản phẩm có tốt hay không...

Có một cách khác để có sản phẩm thực tế. Bạn có thể tham gia cùng một nhóm nào đó, làm việc với người giỏi hơn bạn, ví dụ xin làm đồ án cùng với mấy anh cùng trường. Khi làm việc với người có kinh nghiệm, giỏi hơn bạn, thì sẽ tiến bộ nhanh hơn nhiều so với việc làm một mình, dù sao có gì còn hỏi nó được mà Làm nhiều người cũng vui hơn. Như mình đang lead một team làm alomon.vn, đang cần một cơ số các bạn chịu làm free trong thời gian đầu để đánh giá (sau đó thì chắc chỉ trả được 500k đến hơn 1 củ, team bussiness hơn chục mạng nữa), các bạn sẽ được mình training free về web hoặc design. Bi giờ cũng có 7 người rồi, nhưng mà thái độ làm việc thì nói thật là thất vọng v~ Mặc dù ngay từ đầu mình đã bảo mình cần thái độ chứ kĩ năng thì không cần thiết, kĩ năng mình sẽ training cho. Haizz

Có một sản phẩm thì bạn có thể bắt đầu đi xin việc mà không cần bằng cấp rồi  Nhưng đừng vội hài lòng, bạn nên làm thêm một hoặc vài sản phẩm khác nữa trong quá trình xin việc nếu tạch

Tiếp theo là đi xin việc. Vấn đề này gian nan lắm =.='

Mình chọn trang vieclam.24h.com.vn để viết cv. Thấy có có nhiều nhà tuyển dụng gọi đến lắm, đôi khi một ngày có vài cuộc điện thoại gọi hỏi. Mình cũng chẳng tự động ứng tuyển cái nào, toàn người ta chủ động gọi cho mình thôi.

Vậy làm cách nào để người ta chủ động gọi cho mình? Như mình đã nói người tuyển dụng sẽ cần kĩ năng và thái độ.

Về kĩ năng thì bạn nên ghi ngắn gọn thôi, đừng ghi những thứ mà bạn biết sơ sơ. Cái nào quan trọng thì ghi trước. Không nên ghi quá nhiều. Bạn có thể ghi thêm phần khả năng tự nghiên cứu, giải quyết vấn đề và logic, hay sáng tạo gì đó cũng được.

Về thái độ. Bạn sẽ ghi trong mục tiêu nghề nghiệp. Mình thì ghi như này "Muốn tìm kiếm một công việc thú vị, tạo hứng khởi cho cuộc sống, một môi trường phát triển mở, coi trọng năng lực thực sự hơn là bằng cấp hay kinh nghiệm. Muốn có nhiều mối quan hệ trong môi trường thân thiện."

Cái ăn điểm nhất khi bạn không có kinh nghiệm đó là cái link dẫn đến sản phẩm của bạn. Vì bạn không có kinh nghiệm nên đó là phần quan trọng nhất, thế nên, một lần nữa bạn hãy làm sản phẩm tốt nhất có thể. Nhớ nhé, quan trọng lắm.

Phần cuối thì có thể có hoặc không. Nguồn tham khảo có thể là thầy cô yêu quý bạn, đừng ghi bố mẹ, hoặc thầy/cô nào ghét bạn nhé

Bạn nên đăng lên nhiều trang tìm việc khác nữa, càng nhiều càng tốt, nó sẽ tăng cơ hội cho bạn. Nhưng vì bạn là beginer thì đừng zô máy trang tìm việc của bọn chuyên nghiệp.

Tiếp theo là check mail thường xuyên, luôn sẵn sàng nghe điện thoại, mà cũng đừng chờ làm gì, cứ lo rèn luyện kĩ năng và làm sản phẩm, từ từ khoai sẽ nhừ. Bạn cũng có thể xem các công ty nó đăng tuyển gì, nếu có thực tập cũng được. Đối với bạn đang đi học thì nhớ là tìm việc part-time nha. Chứ không đến đó lại phải đi về khi chưa kịp phỏng vấn.

Bạn cũng cần phải chuẩn bị một cái CV bằng file work hoặc pdf để gửi khi người ta yêu cầu. Cách viết CV thì google.

[Tạm thời vậy đã mình phải làm ít việc]
Nguồn: http://vozforums.com/showthread.php?t=3360477

Không có nhận xét nào:

Đăng nhận xét

Hot girl Viet Nam Click Here
Hot girl Viet Nam Click Here