Anh cho em hỏi về con đường đúng để đi từ novice thành expert? Em đang hoang mang lắm, vì ở đại học họ chỉ dạy kiến thức nền tảng, ở trung tâm họ dạy kỹ năng cơ bản, còn kiến thức (và kỹ năng) advanced mình phải học ở đâu ạ? Mong anh chỉ cho tụi em con đường đúng đắn. Cảm ơn anh rất nhiều.
Hôm nay rảnh giống Đạt nên tạo AMA để mọi người vảo hỏi bất kì thứ gì về career path, lập trình hay Nhật Bản
Cho em hỏi sao ko nên làm outsource,
Em cũng được một số anh tư vấn cũng ko nên theo outsource vì một số lý do:
- Công ty chỉ cho mình làm duy nhất đúng 1 phần đấy trong tất cả các dự án
- Việc mình làm hiện tại thì chưa chắc sang cty khác họ cần (mỗi chỗ outsource thì quy trình khác nhau)
- Đa phần bên khách hàng làm hết bên trên (giao diện, trải nghiệm người dùng…), hiện tại em cũng thấy làm về web đa phần khác hàng Nhật họ làm frontend hết
Và em chỉ dự định làm outsource 1 thời gian cho chắc tay trong khoảng thời gian đó bổ xung kiến thức có được không anh. Mặc định tư duy nắm bắt bình thường thì chỉ nên làm outsource tầm bao lâu ạ
Anh Đạt cho em nêu quan điểm của mình nhé.
- Giải thuật là cực kì quan trọng với bất cứ LTV nào, vì nó giúp giải các bài toán thực tế mà công việc cần
- Em trả lời theo trải nghiệm của bản thân: các khóa học trong vòng 1 tháng bán rất chạy. Vì như tâm lý người học, người ta mong muốn nhìn thấy sản phẩm thật, nhanh để chứng minh là cái mình đang học nó hữu ích. còn không thì thôi
Em suy nghĩ vậy, các anh cho thêm ý kiến.
Cho em hỏi về những người lập trình viên lớn tuổi hoặc là “quá tuổi sáng tạo” ở bên JP họ sẽ ra sao ?
Anh có suy nghĩ về con đường của anh sau này chưa?
chào anh, cho em hỏi là:
làm về mobile (iOS) thì có cơ hội ở JP ko ạ.
ở JP anh làm bao nhiêu h/tuần
anh có nhiều đồng nghiệp là ng VN bên đấy ko ạ
-
Anh ơi, anh có thể cho em biết anh ở đâu và học đại học gì ở Nhật được không ạ ?
-
Anh có thể cho em hỏi trang Kipalog của anh xây dựng trên mã nguồn có sẵn hay tự làm ạ ?
- Em xin cảm ơn anh.
Chào Anh Huy e đang học về C++ và mong muốn sang Nhật làm về mảng C++, PHP.
- A cho E hỏi là bên Nhật họ tuyển C++ về Phần Mềm, hay là Game ạ.
cho e hỏi tí ,e là sv năm nhất và e xác định muốn đi theo hướng phát triển software ,app thì cần học những ngôn ngữ máy nào ạ. và thứ tự từng ngôn ngữ học là gì ạ.(Bh e đang học đc chút ít C rùi ạ).e xin cảm ơn ạ
Anh nghĩ khi bọn em có năng lực tốt thì không cứ Nhật bọn e có thể đi bất kì đâu. Cơ hội hiện tại rất nhiều (mặc dù không phải lúc nào cũng ở ngay trc mặt bọn em mà bon em phải tự kiếm). Như a đã nói ở trên N2 là lý tưởng để có thể làm việc smoothly ở Nhật. Về startup, nhân tiện softbank vừa mở 1 quĩ đầu tư 100tỉ $, a nghĩ rất nhiều cơ hội:
Em có thể tập đóng phim :v
Scala gần đây đang trở nên khá ưa chuộng ở Nhật, đặc biệt ở các công ty liên quan đến quảng cáo, game. Cộng đồng mặc dù chưa to bằng ruby hay java nhưng rất chất lượng. Anh trước đây cũng cũng từng làm scala gần 2 năm. Yêu cầu thì tương tự như các ngôn ngữ khác thôi, em phải cảm thấy thoải mái với ecosystem của ngôn ngữ đó (như scala là play2, akka, scalaZ), các paradigm của ngôn ngữ đó (immutable, monad, high kinded type…). Để được qua JP thì a nghĩ họ hoàn toàn ok nhưng vấn đề tiếng vẫn phải giải quyết (N2 minimum)
Nếu viết đầy đủ ra sẽ rất dài nên anh tóm tắt 1 vài ý chinh về việc không nên làm outsource:
-
- Mục đích cuối cùng của làm outsource là: nhân công rẻ * số lượng đông. Thế nên mọi chiến lược kinh doanh, chế độ của outsource sẽ làm sao để có số lượng nhân viên đông nhất với giá rẻ nhất. Do đó nó qui về bài toán tối ưu. Khi đã đặt mục đích tối cao là giá rẻ và người đông thi có bao giờ: năng lực nhân viên, career path nhân viên sẽ được đặt lên đầu?
-
- Do 1 nên lương sẽ bèo
-
- Không bao giờ được làm lâu 1 thứ, hoặc có làm lâu thì cũng chỉ là đi hot shit cho k/h. Lý do tại sao cần làm lâu thì xem lại ý về kiên trì a nói ở trên.
-
- Một khi em đã làm outsource lâu thì giá trị thị trường càng thấp.
-
- Còn vô vàn nữa nhưng a nghĩ từng trên là đủ.
Cách đây 4 năm tớ bắt tay vào làm web với RoR (ruby on rails), khi đó cũng nghĩ như N người khác là, giải thuật với cấu trúc dữ liệu (algorithm) làm cái khỉ gì? Tuy nhiên khi đi làm và bắt tay vào các hệ thống với traffic từ lớn đến siêu lớn, tớ nhận thấy là những suy nghĩ của mình bắt đầu sai lầm. Tạm bỏ qua những algorithm phức tạp, algorithm cơ bản giúp chúng ta rất nhiều ở việc
- Có cái nghĩ mạch lạc hơn về flow chương trình, các vòng loop, độ phức tạp, edge case
- Nếu coi những vòng loop, những hàm tính toán là các building block để tạo nên 1 chương trình lớn thì thông thạo algorithm == thông thạo với các building block đó, giúp chúng ta có thể viết chương trình với tốc độ cao và ít sai sót.
- Trở nên thông minh hơn , nghĩ nhanh hơn.
- Last but not least: nâng cao khả năng có thể vào được các công ty lớn.
Tất nhiên những khoá làm web, mobile trong vòng 1 tháng ko bao giờ là tốt, lý do dễ hiểu nhất: không bao giờ một engineer xịn lại đi dạy những course đó, or recommend những course kiểu đó -> người dạy rõ ràng là engineer đểu rồi. Chả có đữa dở hơi nào lại đi học 1 ông thầy đểu =))).
Về cách học lập trình, là một người xuất phát khá muộn thì tớ/anh đúc kết lại cho mình một số methodology sau:
- Kiên trì: nhắc lại ở trên là kiên trì (mình cực ghét những bạn nào làm 2, 3 năm code rồi kêu, ko code đc nên làm PM, những người đó là điển hình của dốt + thiếu kiên trì)
- Luôn đặt mục tiêu (trong 1 ngày, trong 1 tuần, trong 1 tháng, trong 1 năm, 5 năm) và cố hết sức để đạt đến nó
- Luôn có output cho mục tiêu (code, blog, …)
- Cố gắng tiếp xúc với những người giỏi hơn mình, xem cách họ học, họ giải quyết vấn đề
- Cố nắm vững những gì mình biết (để có thể giải thích lại 1 cách mạch lạc cho người khác)
Anh chưa gặp những ng thế này bao giờ, rất nhiều ng xung quanh anh có tuổi và họ vẫn sáng tạo.
Còn muốn biết làm thế nào để sáng tạo hơn, read here
Như đã nói ở trên, khi e đã master skill gì đó thì ở đâu cũng có hàng ngàn cơ hội cho em. Ở JP hơi khác chút là cần thêm tiếng nhật, nhưng vấn đề này cũng có thể giải quyết được.
Ở cty hiện tại thì a làm việc 7h 1 ngày, 5 ngày 1 tuần, có 2 người VN là anh và 1 người nữa.
Anh ở tokyo, đại học anh học ở 1 trường gần kyoto. Kipalog bọn anh build from scratch, dùng ruby on rails.
Em có thể học bất kì thứ gì e thích, miễn là e master nó là được. Tuy nhiên để tiến bộ nhanh thì em nên học nhiều ngôn ngữ với các concept / paradigm khác nhau
- OOP: C++, java
- Functional: Haskell, Ocalm, Lisp, scala
- Front-end: Javascript…
Xin chào anh, em cũng có tham gia kipalog và cũng rất thích các bài viết bên đó Có câu hỏi em cũng không biết hỏi ai, mong anh có kinh nghiệm có thể chỉ dạy em được không ạ.
Em thường đọc sách và sách luôn bảo là nếu còn trên ghế nhà trường thì ngoài học ra hãy tìm việc làm thêm để cọ xát với đời. Năm 1,2 em cũng có đi làm thêm vài nơi và cũng thấy sách nói đúng. Nhưng năm nay đã lên năm 3 rồi, bắt đầu học vào các môn cơ sở ngành. Thời gian học rất nhiều và kiến thức ngành cũng rất nhiều nên e nghĩ là nên ở nhà tập trung học để năm sau có kiến thức mà tìm chỗ thực tập. Anh nghĩ sao về sinh viên CNTT có nên đi làm thêm hay ở nhà rèn luyện kĩ thuật ạ. Cảm ơn a.
chào anh, em năm nay 21t , đã ngừng học tại trường địa học để đi làm lập trình web, tuy có công việc ổn định , lương không cao nhưng em bắt đầu thấy hối hận khi bỏ học tại trường ĐH cũ, lí do thì k phải là sợ vấn đề bằng cấp mà có vẻ so với các đồng nghiệp thì tư duy của em có phần máy móc và chậm hơn !?. Liệu em có thể cải thiện tư duy lập trình của mình bằng những cách nào để bù đắp cho kiến thức k học đc ở trên ĐH không ạ, Cảm ơn anh
Giờ nếu em muốn viết một project như cái armeria của anh thì em cần có những kiến thức nào ạ. Anh có thể giới thiệu 1 vài cuốn sách, resource - reference link nói về kiến trúc, cách design phần mềm mà anh thấy hay được ko ạ.
Mảng mobile ở Nhật rất cần. Trong đó Android thì bão hòa do lập trình viên kinh nghiệm Java ở Nhật có nhiều. Lượng lập trình viên iOS rất ít nên cơ hội rất nhiều.
Hai tuần đầu tháng mình OT được 50h rồi.
Đồng nghiệp người Việt ở chỗ mình làm cũng khoảng hai mấy ba mươi người. Còn bên FSoft thì nhiều lắm.
Chào anh Huy . Em muốn hỏi anh về công việc của một kĩ sư cầu nối . Công việc này liên qua nhiều đến kĩ năng về lập trình nhiều hơn hay kĩ năng mềm nhiều hơn ? Em cảm ơn anh .
Bác cho hỏi dev C/C++ thị trường Nhật có tuyển không ? với có tiếng anh ngon có sang nhật làm được không hay cứ yêu cầu tiếng nhật ?
Thanks,
Anh nghĩ em thấy làm cái gì thú vị hơn thì em đầu tư thời gian nhiều vào đó. Nếu luận văn của em thú vị hoặc em thấy các môn học thú vị, thầy giáo thú vị thì nên đầu tư vào học, ngược lại thì cứ đi làm thêm thôi . Hồi master học chán quá nên anh toàn đi làm thêm.
Tư duy là cái có thể cải thiện được. Về cơ bản tư duy phụ thuộc vào kiến thức, em chỉ cần học thật nhiều là được. Ngoài ra em hãy cố gắng tiếp xúc với nhiều người giỏi hơn mình để học cách họ suy nghĩ. Đừng tự ti là mình bỏ học hay thế này thế kia, 21 tuổi vẫn là quá trẻ để start mọi thứ từ đầu 1 cách nghiêm chỉnh.
Đính chính 1 chút là armeria ko phải của anh :v . Để viết được những phần mềm tốt thì e cần 2 thứ:
- Kinh nghiệm
- Quan trọng hơn kinh nghiệm, đó chính là bài toán
Em không có bài toán/ vấn đề để giải quyết thì ko bao giờ em viết được những phần mềm đc cả thế giới tin dùng. Bài toán của em càng khó thì em càng có cơ hội được làm những thứ hay ho, thế nên a nói lại một thứ a đã nói ở trên: nếu có cơ hội, đừng bao giờ vào outsource, hãy làm product, mà là những product hướng đến tầm thế giới.
Em có thể hiểu kĩ sư cầu nối giông như phiên dịch, đôi khi có thêm một vài từ mĩ miều như là project manager or blah blah gì đó nhưng bản chất cũng chỉ là phiên dịch. Nếu muốn làm kĩ thuật và tiến sâu trong ngành, đừng làm nghề này.
Chào Anh Huy e đang học về C++ và mong muốn sang Nhật làm về mảng C++, PHP.
- A cho E hỏi là bên Nhật họ tuyển C++ về Phần Mềm, hay là Game ạ.
- Anh học master chuyên ngành Công nghệ phần mềm hay gì vậy ạ? Trong lúc anh học master, anh có đi làm thêm ngoài không hay việc học chiếm hết thời gian rồi?
- Việc học master bổ sung cho anh những kiến thức gì lúc anh làm việc?
Em cảm ơn
Anh học ngành computer science. Trong lúc đi học a đi làm tầm 5, 6 công ty khác nhau từ intern đến part-time, nói chung là đi học graduate thì tốn ít thời gian cho course hơn so với undergrad.
Việc học master không giúp quá nhiều cho công việc, tuy nhiên bù lại em sẽ có những kĩ năng mà em khó mà có được nếu chỉ học đại học (tuy nhiên nhiều người anh biết có những kĩ năng này mà không cần master, thế nên nếu được hỏi có nên hay ko thì câu trả lời sẽ là không nên học master). Những kĩ năng mà a thấy có ích là
- Kĩ năng đọc hiểu paper (trong các loại tài liệu thì paper nghiên cứu khoa học là tài liệu đúc kết nhất, đáng đọc nhất, và cũng khó đọc nhất)
- Methodology để tiếp cận khi nghiên cứu 1 vấn đề và cách giải quyết nó.
Anh có khuyên là không nên học cao học, vậy cho e hỏi ngoài còn đường học cao học, còn con đường nào để e có thể qua Nhật Bản để trau dồi kĩ năng lập trình, hơn nữa là có thể làm việc tại Nhật? Em cảm ơn