thắc mắc Làm outsource có bị khinh rẻ không

Quan trọng là nhiều thằng ko có product mindset, vác cái tư duy outsource đi muôn nơi...
Cty tôi có 1 thằng đây, ăn lương cao, có task thì làm ko task thì chơi game...vào cty gần 2 năm ko contribute đc gì, hệ thống sản phẩm cty chi tiết thế nào sure là đéo biết con mẹ gì luôn
vì ở cty outsource quen cái thói có task dí tận mồm rồi, project thì đổi xoành xoạch nên mắc mớ gì phải tận tâm với từng dòng code từng cái release
Tôi đã từng làm product xong nhảy qua outsource, confirm là lão nói đúng. Thực ra cũng không trách được tư duy thế vì khách hàng chỉ cần mình đến đó thôi. Ví dụ như project hiện tại tôi kêu gào setup Jenkins giúp để chạy test ( vì cái server Jenkins tôi méo có quyền vào) bên đó chỉ ừ ừ xong ỉm luôn. Thế thì đào sâu gì được? Dần dần tạo ra cái suy nghĩ giao gì làm nấy, tháng lãnh tiền.
Chắc phải quay lại product thôi :(
 
Hi các bác, có phải mấy ông dev product hay khinh rẻ mấy ông outsource không. Bên em là 1 công ty product có chính sách không tuyển dev từ các công ty outsource về làm
Quan trọng khả năng tự học chứ không phụ thuộc môi trường bạn đang ở đâu :embarrassed:.
Những thằng nào phẳng thì chỉ có duy nhất 1 tư duy là đẳng cấp là ở nơi nó đang ở thì bạn ignore những thể loại này cho khỏe :angry:
 
Người làm cty outsource hay product có mindset làm việc chắc chắn khác nhau. Tuy nhiên, nếu bạn làm việc tận tâm, mỗi buổi sáng đến cty đều có thể hiện sự nhiệt huyết của tuổi trẻ, sự điềm đạm, chín chắn khi suy xét một vấn đề của một developer thì dù cty làm product hay outsource nào bạn cũng tôn trọng thậm chí là tiến nhanh :)
 
Công ty nào cũng được miễn là có kiến thức chuyên môn tốt. Tôi thì thấy làm mỗi công ty có những ưu điểm riêng. Làm mỗi công ty sẽ có những đặc thù riêng.
Công ty product thì sẽ đi sâu giải quyết vấn đề cụ thể của sản phẩm, rồi tối ưu riêng sản phẩm. Nên có thể phải phát triển tool riêng, viết thư viện mới.
Làm công ty outsource có thể nhảy nhiều dự án do tính chất của dự án, được cập nhật công nghệ mới thường xuyên. Có thể vì tính chất chạy theo dự án, nên thường là sử dụng thư viện bên ngoài nhiều, có 1 số chức năng có thể không tối ưu. Làm outsource 1 thời gian thì khả năng nắm bắt học hỏi cái mới nhanh. :D
Tui cũng gặp 1 số ông outsource làm kinh lắm, kiến thức và chạy deadline phải nói vô đối.
đúng là ưu nhược có cả. e thấy os làm nhiều đa dạng domain, prod thì sâu bù lại làm lâu quá cũng hơi ù lỳ người ( ko nói case nhanh hay chậm do mình nhé thím vì nếu muốn học tìm hiểu ở đâu cũng thế, nhưng học và đúc kết trong dự án thì nhanh hơn )


via theNEXTvoz for iPhone
 
Vào công ty mà bắt nhảy dự án kiểu này thì nên nghỉ cmnl.

6 tháng python, 1 năm java, 1 năm reactjs thì ra cái gì cũng biết nhưng pv senior thì tạch luôn, trong khi người ra làm mỗi 1 cái 2.5 năm thì người ta nắm chắc hơn.

Làm kiểu đó không tích lũy dc kinh nghiệm, không biết best practice, không thuộc hàm, không tích lũy dc domain knowledge thì mình không nghĩ là có chỗ nào nhận vào làm senior.


Giờ cũng không thiếu công ty outsource dạng cho thuê người, làm nguyên một product năm này qua năm kia. Mình thấy là nên join các team kiểu này chứ không nên join các công ty làm 1 năm 1 dự án mà có khi lại còn khác ngôn ngữ.


Sent from Samsung Note 20 Ultra via nextVOZ
Tôi thấy sn này hơi sai, hoặc cách bạn đánh giá senior khác tôi. Programming language chỉ là một phần của seniority chứ k pải là tất cả, thậm chí phần pl familiar đó chiếm tỉ trọng k cao.
 
Hãy nhìn những công IT lớn nhất thế giới là cty outsource hay product.
Những thằng engineer giỏi nhất thế giới nó nằm ở cty product hay outsource.
 
Tôi thấy sn này hơi sai, hoặc cách bạn đánh giá senior khác tôi. Programming language chỉ là một phần của seniority chứ k pải là tất cả, thậm chí phần pl familiar đó chiếm tỉ trọng k cao.
Vậy bạn đánh giá 1 người là senior dựa trên tiêu chí ntn? Có thể share cho mình tham khảo không?
Ví dụ 1 senior ReactJs/Python/.net developer.

Sent from Samsung Note 20 Ultra via nextVOZ
 
Vậy bạn đánh giá 1 người là senior dựa trên tiêu chí ntn? Có thể share cho mình tham khảo không?
Ví dụ 1 senior ReactJs/Python/.net developer.

Sent from Samsung Note 20 Ultra via nextVOZ

Ví dụ:
Một vài điểm tôi sẽ muốn trao đổi để có thể hiểu thêm seniority của 1 engineer:

Working style
  • Anh có tự tin nếu làm việc với techstack ko thân thuộc ko? Vd như chuyển từ Flask/Python/Postgres sang Spring/Java/Oracle?
  • Trường hợp phải handle 2-3 projects/repos cùng lúc thì anh có gặp khó khăn gì khi vừa code Nodejs, vừa code .Net hay vừa maintain Restful vừa impl GraphQL ko?
  • Mức độ ảnh hưởng đến người xung quanh như mentor, knowledge sharing, tech-talk, guide/document, recommendation... Tóm gọn lại là người xung quanh học hỏi từ anh cái gì.

Software in General
  • Về Interprocess communication, kinh nghiệm và cách lựa chọn (MessageQueue, shared db, file, RPC, Direct http, socket...)
  • Về Synchronization, khi nào dùng Mutex, khi nào dùng RwLock, Mem Cell... Hiểu biết về data race, threading, async/event-loop...
  • Indexing, optimize query, connection pool, sharding, replicate...
  • Cơ bản và kinh nghiệm giữa NoSQL và SQL.

Coding style:
  • Cách cấu trúc project, chia folder, format code, dependencies
  • Phong cách open/review PR
  • Logic trong code như quá dài, quá phức tạp, quá khó sử dụng, ko mở rộng....
  • Cách sử dụng data structure: Khi nào dùng hashset, khi nào dùng Queue/Deque...
  • Chỗ nào cần đọc file, chỗ nào cần dùng Mem, chỗ nào cần lưu db, quản lý pool ra sao...
  • .... quá nhiều thứ khác...
  • VIM style +1 điểm

Problem solving
Thường một người có kinh nghiệm sẽ tìm root cause và phân tích sự kiện rất nhanh.

Ví dụ khi server bị lag, chậm, hay sập hẳn, thì sẽ narrow down vấn đề từ host/doman -> high load -> resource usage -> bottleneck point -> root cause chẳng hạn.
Hoặc vd bị dính lỗi ko thể cập nhật dữ liệu cho user profile được, thì sẽ f12 -> api inspect -> cat log file -> jump to the block of code nhanh hơn junior vì họ biết chỗ nào cần log cái gì.

Software Design
Khi mà có yêu cầu làm service abc gì đó, senior sẽ có rất nhiều kinh nghiệm để chọn giải pháp tốt/ phù hợp.

  • Nhiều service cần read 1 lượng data khá giống nhau -> message publish/subcribe.
  • Service ko cần real-time, ko critical và có thể làm dần -> queue.
  • Service cần call endpoint liên tục -> Batch processing, batch call, bulk update...
  • Data cần rất nhiều filter -> Search Index.
  • Data đơn giản nhưng số lượng record lớn, đọc nhiều -> NoSQL, In-mem db.
  • Yêu cầu ổn định, càng ít runtime bug càng tốt, high reliable, high availabity -> Nên bắt đầu bằng một ngôn ngữ đã đc battle-tested, strong typed, ngược lại nếu cần fast delivery, productivity -> NodeJs.
.... Còn nhiều nữa...


Bonus:
  • Một số kn về git: merge/rebase, cherry pick, stash, branch, PR...
  • Scripting như Shell, bash, docker, linux cmd, operation...

Viết đại vậy thôi (ko đầy đủ) để anh thấy là tất cả những thứ trên đều thu lượm được từ kinh nghiệm, chứ chẳng phải do làm lâu năm 1 ngôn ngữ / framework nào đó. Anh đã mạnh thì đi đâu cũng mạnh, outsource product startup ko thành vấn đề.
 
Ví dụ:
Một vài điểm tôi sẽ muốn trao đổi để có thể hiểu thêm seniority của 1 engineer:

Working style
  • Anh có tự tin nếu làm việc với techstack ko thân thuộc ko? Vd như chuyển từ Flask/Python/Postgres sang Spring/Java/Oracle?
  • Trường hợp phải handle 2-3 projects/repos cùng lúc thì anh có gặp khó khăn gì khi vừa code Nodejs, vừa code .Net hay vừa maintain Restful vừa impl GraphQL ko?
  • Mức độ ảnh hưởng đến người xung quanh như mentor, knowledge sharing, tech-talk, guide/document, recommendation... Tóm gọn lại là người xung quanh học hỏi từ anh cái gì.

Software in General
  • Về Interprocess communication, kinh nghiệm và cách lựa chọn (MessageQueue, shared db, file, RPC, Direct http, socket...)
  • Về Synchronization, khi nào dùng Mutex, khi nào dùng RwLock, Mem Cell... Hiểu biết về data race, threading, async/event-loop...
  • Indexing, optimize query, connection pool, sharding, replicate...
  • Cơ bản và kinh nghiệm giữa NoSQL và SQL.

Coding style:
  • Cách cấu trúc project, chia folder, format code, dependencies
  • Phong cách open/review PR
  • Logic trong code như quá dài, quá phức tạp, quá khó sử dụng, ko mở rộng....
  • Cách sử dụng data structure: Khi nào dùng hashset, khi nào dùng Queue/Deque...
  • Chỗ nào cần đọc file, chỗ nào cần dùng Mem, chỗ nào cần lưu db, quản lý pool ra sao...
  • .... quá nhiều thứ khác...
  • VIM style +1 điểm

Problem solving
Thường một người có kinh nghiệm sẽ tìm root cause và phân tích sự kiện rất nhanh.

Ví dụ khi server bị lag, chậm, hay sập hẳn, thì sẽ narrow down vấn đề từ host/doman -> high load -> resource usage -> bottleneck point -> root cause chẳng hạn.
Hoặc vd bị dính lỗi ko thể cập nhật dữ liệu cho user profile được, thì sẽ f12 -> api inspect -> cat log file -> jump to the block of code nhanh hơn junior vì họ biết chỗ nào cần log cái gì.

Software Design
Khi mà có yêu cầu làm service abc gì đó, senior sẽ có rất nhiều kinh nghiệm để chọn giải pháp tốt/ phù hợp.

  • Nhiều service cần read 1 lượng data khá giống nhau -> message publish/subcribe.
  • Service ko cần real-time, ko critical và có thể làm dần -> queue.
  • Service cần call endpoint liên tục -> Batch processing, batch call, bulk update...
  • Data cần rất nhiều filter -> Search Index.
  • Data đơn giản nhưng số lượng record lớn, đọc nhiều -> NoSQL, In-mem db.
  • Yêu cầu ổn định, càng ít runtime bug càng tốt, high reliable, high availabity -> Nên bắt đầu bằng một ngôn ngữ đã đc battle-tested, strong typed, ngược lại nếu cần fast delivery, productivity -> NodeJs.
.... Còn nhiều nữa...


Bonus:
  • Một số kn về git: merge/rebase, cherry pick, stash, branch, PR...
  • Scripting như Shell, bash, docker, linux cmd, operation...

Viết đại vậy thôi (ko đầy đủ) để anh thấy là tất cả những thứ trên đều thu lượm được từ kinh nghiệm, chứ chẳng phải do làm lâu năm 1 ngôn ngữ / framework nào đó. Anh đã mạnh thì đi đâu cũng mạnh, outsource product startup ko thành vấn đề.
Bạn đọc lại sẽ thấy mình không nói là outsource không giỏi.
Mình nói là outsource chuyển project liên tục là không nên. Bạn phải đủ thời gian để làm, để hiểu để nắm một tech stack đã. Chuyển liên tục qua các dự án, bạn phải học liên tục nhưng lại không học sâu được. Nên sẽ dẫn đến việc không nắm dc các best practice, không biết edge case.
Những cái bạn nói cũng không thể tích lũy được nếu bạn chuyển project liên tục.

Thêm nữa tại sao vim style lại đc cộng điểm. Tại sao dùng vim thì lại được điểm cao hơn người dùng vs code.


Sent from Samsung Note 20 Ultra via nextVOZ
 
Back
Top