22. Liên lạc với mình qua:
● https://toidicodedao.com
● huyhoang8a5@gmail.com
10 giây quảng cáo: Các bạn
Google đọc thử sách Code
Dạo Ký Sự nhé
CẢM ƠN CÁC BẠN
ĐÃ LẮNG NGHE
Editor's Notes
Mình tên Phạm Huy Hoàng.
Cựu sinh viên ĐH FPT. Sau khi ra trường, đi làm khoảng 2 năm, học Thạc Sĩ ở UK.
Blogger tôi đi code dạo + Sách Code Dạo Ký Sự
Tại sao tui đứng đây? Hôm nay mình có mặt để chia sẻ về chủ đề “Từ … đến". Các anh/chị/bạn hãy xem mình là bạn. Đừng nghĩ rằng mình thông minh hơn, giỏi hơn các bạn mà hãy nghĩ mình là người đã đi trước một quãng, chỉ lại đường cho các bạn.
Hiện tại ngành IT đang hot, nhiều người hcojn vì những lý do
Đam mê công nghệ
Có thể làm nhiều thứ, startup
Nhu cầu việc làm nhiều, dễ xin việc
Tuy ngành mình cần nhân sự nhiều, nhu cầu cao, sv ra trường vẫn thất nghiệp hoặc gặp khó khăn khi đi làm.
Nguyên nhân là do ngộ nhận hay gặp: Cứ học ra trường là có việc làm.
Tuy vậy, đợi không như mơ.
Bên trái, đây là những kiến thức bạn đc học trong trường
Bên phải, những kiến thức mà một lập trình viên phải có
Khoảng trống này nhà trường không dạy bạn. Chính bạn là người lấp nó.
Đây là lý do mà nhiều bạn sinh viên dù học điểm cao nhưng ra trường vẫn không có việc làm, hoặc các công ty phải đào tạo lại từ đầu
Đó là chủ đề của hnay: từ sinh IT tới lập trình viên. Chúng ta tìm hiểu và mình hướng dẫn các bạn cách san bằng những khoảng trống này
Source Control
Quy trình
Đọc viết code
Framework
Code là công việc tập thể, không phải công việc cá nhân
Thuở xưa các bạn sinh viên đi học, tách code, ghép code rất cực. Lỡ xoá code phát là bó tay.
=> cần có một nơi chứa toàn bộ code. Vì vậy source control ra đời. Nó là cái kho chứa toàn bộ code, đảm bảo code thống nhất, ta có thể chỉnh sửa revert, xem ai đã sửa thoải mái.
Phổ biến nhất là vẫn là Git và SVN. Với các công ty dùng hàng Microsoft thì họ có cả TFS
Dễ nhất: (Học 1 tuần là xong)
phần mềm bản thân nó không tự sinh ra, không tự mất di, phải có người làm.
Phần mềm to thì nhiều người -> phải sinh ra quy trình.
Trường có dạy: Ngày trước là waterfall. Hiện nay là qui trình scrum dựa trên cái principle Agile.
Hầu như các công ty đều dùng, có chỉnh sửa.
Tất nhiên Scrum này ĐH ko dạy bạn, các bạn có 2 cách: 1 là tự tìm hiểu trước (lên scrum training). 2 là đi làm, dần quan sát và học từ mọi người trong team.
Ở đại học ta viết từ đầu. Khi đi làm, chúng ta tiếp tục bảo trì những cái đã có nên phải đọc để hiểu người khác nói gì.
Vì lẽ đó, code phải dễ đọc Thuở đi học, code cho xong là được
Đi làm, code phải chạy được, chạy đúng. Tuy vậy nó còn phải dễ đọc, dễ bảo trì khi sửa lỗi.
Tại sao, requirement thay đổi liên miên. Đổi requirement = đôi code. Viết code ngu là tự đập đầu
Thế nào là code sạch.
Đây là nguyên một quá trình, một nghệ thuậ: Từ đặt tên hàm, tên biến sao cho đẹp, tách các module ra. Hàm phải ngắn
Trong phạm vi hôm nay mình không đề cập. Các bạn hãy đọc clean code.
Framework: Một hệ thống khung sườn, kiến trúc có sẵn, giúp code nhanh hơn.
Khi đi học, chúng ta lập trình từng chút một, gọi là code tay để học hỏi nhiều thứ
Khi đi làm, thời gian và vốn liếng có hạn, chúng ta dùng framework để tiết kiệm thời gian
Nhà trường chỉ dạy ngôn ngữ. Framework này nhà trường ko dạy bạn vì chúng thay đổi liên tục
Hầu như các mẩu quảng cáo việc làm ở VN đòi hỏi kinh nghiệm + framework.
Nếu muốn có việc làm, tìm hiểu và học framework
Không cần những kĩ năng này khi làm việc, nhưng phải có nó mới có được việc
Nhiều bạn hỏi mình: Học ngôn ngữ gì dễ kiếm việc? Ngôn ngữ/ Công nghệ gì đang hot?
Tìm việc ở đâu: IT việc, vietnamwork, linkedin. Đọc tin tuyển dụng.
Theo số năm kinh nghiệm: Tìm hiểu xem mức lương mình đến đâu. VD .net junior 300-500, senior 800-1200
CV vừa quan trọng, vừa không quan trọng
CV là thứ ngta nhìn vào để đánh giá về bạn
File word, Viết CV ẩu ta, sai lỗi chính tả, viết thư không chào hỏi v...v => Khỏi PV, rớt từ vòng CV
Nên file PDF, ghi rõ ràng, dễ nhìn dễ lướt
Không nổ không quăng bom, chỉ ghi những gì mình rành
CV chỉ là tấm vé vào cổng nên đừng nổ quá, coi chừng văng miển
Sai lầm hay gặp: Vừa ra trường đã 2-3 năm kinh nghiệm, master mấy ngôn ngữ (thời đó mình master C#, advanced Java)
Để xin được việc, bạn phải biết cách trả lời phỏng vấn:
Hỏi gì?
Một số câu hỏi để đánh giá tính cách, thái độ
SV: hỏi cơ bản như OOP, cơ bản về ngôn ngữ, thuật toán và cấu trúc dữ liệu
Trong CV viết gì hỏi nấy: Dự án đã làm, sâu về bản công nghệ
Kinh nghiệm là trước khi PV nên ôn lại (trước khoảng 1 tuần), tìm hiểu công ty (to hay nhỏ).
Sau khi thi nhớ gửi mail cảm ơn (người PV mình).
Nhà tuyển dụng trả lương cho bạn theo giá trị trường, hoặc dựa theo giá trị bạn mang lại. Chứng minh mình xứng đánh với mức lương đó
Mình có viết 1 bài khá dài, các bạn lên toidicodedao.com đọc.
Kĩ năng cứng, kĩ năng xin việc quyết định bạn có được việc làm hay không?
Tuy nhiên, để sống sót và thăng tiến trong ngành, bạn cần kĩ năng mềm?
Như đã nói, kiến thức trong trường là không đủ? Có thể công ty sẽ dạy cho bạn, có thể không! Thì bạn phải tự dạy.
Công nghệ mới ra đời.
Kể chuyện: Ngày xưa javascript và jquery, AJAX. bây giờ chỉ có ReactJS, Angular, Vue (Angular đã lên đời 2, 1 cũng đã củ). Kiến thức bây h 2,3 năm sau lỗi thời mất tiêu.
Không chỉ công nghệ, mà còn những kiến thức và trend mới.
Trước đây chỉ các công ty lớn mới quan tâm đến ML, AI, Data Mining, VR. Giờ nó ngày càng phổ biến.
Không ai biết được trong tương lai cái gì sẽ hot. Muốn sống sót phải biết tự bơi. Học, học nữa, học mãi
Câu quote
Các bạn VN thường không để ý vì họ chỉ lo làm việc công ty.
Portfolio, show code bạn đã làm
Liên tục học hỏi và rèn luyện. Xây dựng một thứ gọi là portfolio, CỰC KÌ QUAN TRỌNG với sinh viên.
Vừa Rèn luyện kĩ năng, làm Cv bạn đẹp hơn. Bạn có thể show thứ này cho nhà tuyển dụng.
Hoặc stackoverflow, Chứng minh khả năng Angular Javascript của mình.
Không ai code một mình
Thuở đi học, bạn làm bài một mình. Khi đi làm, Bạn không code 1 mình mà còn phải làm việc với đồng nghiệp, với cấp trên, với tester.
Thái độ quan trọng hơn trình độ. Dù trình độ bạn cao cỡ nào nhưng nếu không hoà nhập được với team thì bạn cũng không đón nhân.
Làm việc với con người không dễ. communication is key
Coder hay tự hào về code của mình. => Dễ xù luôn nhím lên khi có ai chê code hay design của bạn. Tập code review để nâng cao trình độ.
Tự học 1 phần qua sách vở, rèn luyện dần qua quan sát, qua thời gian.
Cấp trên là người quản lý, quyết định bạn có tăng lương hay không?
Phải hiểu cấp trên, họ cần gì: lập kế hoạch, quản lý, báo cáo cho sếp của sếp. nên cần người làm được việc, báo cáo chi tiết => dựa vào đó mà lập kế hoạch
Đừng tạo thêm việc cho cấp trên. Đưa ra giải pháp, chứ đừng đưa vấn đề.
Đừng nghĩ rằng sếp NGU, KHÔNG BIẾT GÌ, công việc của họ không phải là technical.
Sếp ngu bỏ mẹ, ban chỉ thấy technical, còn họ phải lo nhân sự, kinh phí, nội bộ công ty
Tôn trọng sếp và tôn trọng đồng đội. Biết đâu bạn sẽ thành sếp :))
Quá trình tăng lương, đồng nghiệp cũng là người review bạn.
Quá xem trọng kĩ năng cứng - Để tăng lương, tăng chức thì kĩ năng technical là cần thiết nhưng… không đủ mà phải có tiếng tăm.
đừng nghĩ cao xa - TIẾNG TĂM TRONG NHÓM, TRONG CÔNG TY TRƯỚC
Chất lượng công việc: Đừng làm trễ deadline, chương trình chạy đúng, không quá nhiều bug. Code chấy lượng: Đừng để cho team hốt shit cho bạn.
Thân thiện và sẵn sàng giúp đỡ, đừng giấu nghề => Gây được thiện cảm tốt
Chịu trách nhiệm mentor các thành viên mới => Được nể trọng
ĐỪNG QUÁ CHÚ TRỌNG VÀO TIẾNG TĂM, hãy chú trong vào giúp đỡ người khác, tiếng tăm tự đến.
xây dựng quan hê chứ đừng coi khinh nó ->
Quan hệ sẽ mở ra nhiều cơ hội cho bạn hơn. Sếp cho bạn dự án ngon. Đồng đội, cấp trên có công việc ngon lành sẽ giới thiệu bạn. => cơ hội rộng mở
Mặc dù có nhiều lợi ích nhưng ít developer chịu làm.
Lợi ích cực nhiều:
Củng cố lại kiến thức,
mở rộng mối quan hệ (mang lại nhiều cơ hội, mình được itviec phòng vấn)
xây dựng thương hiệu cá nhân.
Có rất nhiều cách để chia sẻ kiến thức: viết blog, Dạy lại cho bạn bè, thuyết trình ở các buổi seminar nho nhỏ trong công ty.
Đừng sợ mình chưa đủ trình độ, khả năng, danh tiếng:
Xét về tuổi đời mình thua rất nhiều anh chị mentor ở đây
Xét về tuổi nghề, không nhiều
Có khả năng diễn đạt, mang lại giá trị.
=> Đừng nghĩ là mình phải master. Không cần phải chờ đến lúc bạn là ai để bắt đầu chia sẻ
=> Ngoài ra, còn đem lại giá trị cho cộng đồng.
Đi làm, tầm ảnh hưởng của bạn rất nhỏ, chỉ trong một công ty.
Chia sẻ trên mạng, tầm ảnh hưởng rộng hơn, giúp được nhiều tới rất nhiều người, làm ngành phần mềm phát triển.
=> cảm thấy cuộc sống và con đường nghệ nghiệp có ý nghĩa hơn.
Chốt: Kĩ năng cứng, kĩ năng xin việc, kĩ năng mềm
Những điều minh chia sẻ hôm nay đều có trên blog: đại học không djay bạn, muôn nẻo đường tìm việc
Có thể liên hệ với mình qua ….
Số lượng bài viết khá nhiều nên mình có xuất bản sách, các bạn google xem thử demo nhé. Chắc có 1 số bạn có mang sách đến đấy.
Nhiều bạn hỏi tiki cháy hàng rồi, mua ở đâu? Anh chịu?
Các bạn cứ qua kia mua. Giao lưu đặt câu hỏi để a trả lời