Mình đang đi làm một công ty game, mình làm role Backend Game. Mới vào thì pv Java. Họ khá là thích vì base Java mình tốt nên họ có recommend mình qua c++ băm luôn, họ nói họ sẽ tạo điều kiện và thời gian để mình adapt. Họ có giải thích là nếu bây giờ muốn giỏi để chuẩn Title SE thì phải linh hoạt 2 đến 3 ngôn ngữ hoặc nhiều hơn để tùy cơ ứng biến vào tùy dự án và bài toán khác nhau. Mình thấy cũng hợp lý, tuy nhiên phải về ôn lại C++ vì đã không code nó khoảng 2 năm rồi.
Mình vừa mới bắt đầu ôn C++ lại và vừa học Java để sau này có thể nhảy về lại stack Java. Mình vừa học vừa có làm 1 production riêng về Java nho nhỏ, vừa cày Java vừa cày c++ thì mình thấy có nhiều cái khá là xung đột, mâu thuẫn nhau vì cái gọi là “độc quyền của mỗi ngôn ngữ”. Chẳng hạn thằng C++ là low-level nên về Tham chiếu và Con trỏ của nó có cách hoạt động và mục đích khác với thằng Java. Mình thấy hơi khó thích nghi nhưng chắc 1 thời gian nữa là quen dần, mình mới ôn lại C++ được 3 ngày.
Các bạn có lời khuyên gì không hoặc ai đó có trường hợp tương tự mình không. Mình thuần Java nhưng job hơi khó tìm nên apply vào 1 job có JD là Java/C#/C++/C và hiện tại là như thế này.
Thanks
Đi làm Code Backend game C++, Tối về học và làm Java
Mong anh em có thể gạch đá nhẹ tay, góp ý nhẹ nhàng. Mình hơi rối ở khoảng thời gian này
mình nghĩ nếu bạn cứ quanh quẩn ở Java hay C++ thì khó lên được title SE
có thể là bạn sẽ code proficient bằng C++ hay Java vì làm việc nhiều với nó hoặc bạn có hứng thú với nó và quen thuộc nên bạn dùng nó nhiều, để làm những thứ khác
những thứ khác nhau bạn làm đc mới là cái quan trọng (t nghĩ vậy)
VD dùng nó để problem solving, tạo app, tạo game, bla bla,…hoặc làm gì đó cao siêu hơn mình ko rõ
ý mình là đừng cày ngôn ngữ, mà cày cái ứng dụng hoặc tư duy á
The field of software development is extensive and requires comprehensive, general knowledge. Java and C++ alone don’t make you a true Software Engineer. Software Engineers develop software to solve problems. This requires a combination of technical and soft skills. A bachelor’s degree in computer science, software engineering, or a related field is the most common entry-level requirement for software developers. Most software developers typically need the following technical knowledge and skills:
– Programming languages such as Python, Java, C, C++, or Scala
– Object-oriented programming
– Database architecture
– Agile and Scrum project management
– Operating systems
– Cloud computing
– Version control
– Design, testing, and debugging
As you can see, software development requires more than just fluent Java or C++ skills.
=)). Code gì chả được. Chạy ngon là được. Nhiều khi bốc code của người khác chạy hiệu quả hơn code mình viết. Lăn tăn làm gì. Ông có base không quan trọng ngôn ngữ gì.
Mình cũng tập trung về mindset, mindmap hơn là syntax bạn à. Tuy nhiên học song song 2, 3 ngôn ngữ 1 lúc làm hơi bối rối. Rối ở chỗ mỗi thằng có cái “độc quyền”
I agree with your point, I add Data structure and Althogirm. It is useful in many problems
Chắc do lần đầu chơi 2 thằng ngôn ngữ backend 1 lúc nên hơi rối giữa các thằng đó cậu à, chứ mình vẫn hiểu mindset, mindmap là số 1. Sau này dù gì cũng phải linh hoạt, nhất là khi đi làm outsource (giả sử tương lai apply vào Cty os). Hiện tại thì mình đang làm cty product. Đúng là nếu có code sẵn thì bê nó vào rồi chỉnh sửa thôi, viết làm gì mất công hehe
Cái này là gì thế cậu? Có phải là “chuẩn title software engineer” không?
Tớ chưa nghe tới vụ này bao giờ @@
Mới 3 ngày thôi cậu. Cậu cứ kiên nhẫn, sau vài tháng sẽ khác.
Qua chia sẻ của cậu, tớ có thể thấy cậu biết cả 2 thứ ở mức cơ bản.
Nếu tớ là cậu, tớ sẽ tập trung vào Cpp trước, vì:
- Đó là cần câu cơm của cậu hiện tại. Càng giỏi về nó ở thời điểm hiện tại, cậu càng có cơ hội tiến xa hơn.
- Rất nhiều concept ở Cpp (hoặc các framework của Cpp) có thể được áp dụng ở nhiều ngôn ngữ/framework khác. Điều đó khiến cho việc tiếp cận các ngôn ngữ khác nhanh hơn rất nhiều.
- Nếu cậu có một workflow hiệu quả với Cpp (từ việc nhỏ như edit code hiệu quả, tới debug, build & package, deployment), cậu có thể áp dụng nó với các công nghệ khác.
Cậu nên làm việc hiệu quả với Cpp nhất có thể để tiến xa ở công việc hiện tại nhất có thể trước. Một người biết các best practice với Cpp, biết cách sử dụng các feature của ngôn ngữ để có thể xây dựng được một framework làm việc hiệu quả cho một project, sẽ tốt hơn một người biết những thứ cơ bản nhất ở 200 ngôn ngữ khác nhau.
Đúng rồi cậu, Software Engineer ạ. Giờ mình tập trung vào c++ trước để thích nghi trước để đỡ ngợp, sau này rảnh hơn mình code java lại sau cũng được… cảm ơn cậu đã chia sẻ.
Họ có giải thích là nếu bây giờ muốn giỏi để chuẩn Title SE thì phải linh hoạt 2 đến 3 ngôn ngữ hoặc nhiều hơn để tùy cơ ứng biến vào tùy dự án và bài toán khác nhau.
As I mentioned previously, SE is a generic title like lawyer or civil engineer. It’s not only vague, but also naive to say that. That is why @library is puzzled
Cái này là gì thế cậu?
Có phải là “chuẩn title software engineer” không?
Tớ chưa nghe tới vụ này bao giờ @@
You know, there are different types of lawyers. Lawyers for family law, traffic law, foreign and domestic trade law, etc. However, they all require a law degree. The same goes for software Engineers. Software Engineers need at least a bachelor’s degree in computer science before they can specialize in any specific field like databases, cloud computing, AI, etc. So you should be clear about what you want to be or to become. Don’t let your mind be muddled by the vaporware “SE”.