We are seeking a Senior Software Engineer for hands-on C++ development to join our growing R&D team. The candidate will work in a talented team to build OPSWAT's famous products as the world's advanced next-generation cyber security platforms.
What You Will Be Doing:
- Research, design, develop and implement OPSWAT products using C++ in Windows, Linux and MacOS environments.
- Provide inputs for documentation of new or existing programs.
- Partner with Scrum team members on delivering Sprint commitments.
- Collaborate with Product Management on product requirements.
- Participate in receiving and giving peer code reviews.
- Strong command of C++ and Objective C.
- Windows/ Linux/ MacOS development experience.
- Good data structure and algorithm design skills.
- Good object-oriented design & programming skills.
- Excellent problem-solving and debugging skills
- Strong communication and interpersonal skills
- Must be self-motivated and have a proven ability to work well in a fast-paced team, environment.
- Experience with UI design principles and best practices, particularly with Qt/QML.
- Experience with Agile / Scrum working environment.
- Experience with Git, Bitbucket, Jira, Confluence, TeamCity.
- Experience with one scripting language like Python, Ruby, Shell, etc.
- Experience with DBMS (database management system) like SQL, MongoDB
Recruiting Agencies: we do not accept unsolicited resumes from third party agencies for any of our open positions. To submit resumes for our jobs, there must be a recruiting contract approved by our legal team and endorsed by both parties. We are currently not accepting additional 3rd party agencies at this time.
Công ty Phần mềm OPSWAT Việt Nam là công ty con của OPSWAT Inc., một công ty Mỹ chuyên về phát triển sản phẩm và giải pháp cho cyber security đang hoạt động trên khắp thế giới. Sáng 19-6-2018, OPSWAT Việt Nam chính thức khai trương và mở văn phòng trên tầng 17 Tòa nhà Báo Saigon Giải phóng (Q.3, TP.HCM). OPSWAT Việt Nam cũng sẽ là đại diện của OPSWAT tại châu Á.
OPSWAT thành lập từ năm 2002. Nền tảng phòng chống nguy cơ mạng MetaDefender và nền tảng kiểm soát truy cập mạng MetaAccess của OPSWAT đang được hàng ngàn công ty lớn trên thế giới sử dụng, trong đó có Intel, HP, Cisco, Coca Cola, US Bank, Lockheed Martin,…
Review OPSWAT Software Vietnam
Mọi thứ đều ổn. Nên có thêm bonus các tài khoản để làm việc.
Công ty benefit tốt, team cũng ok(RV)
Văn hóa công ty ổn, văn phòng mới(RV)
Mọi người cũng đã tìm kiếm
Công việc của Lập trình viên C++ là gì?
Lập trình viên C++ là những người sử dụng ngôn ngữ C++ để xây dựng, phát triển hay thực hiện các tính năng của chương trình, phần mềm. C++ được ưa chuộng sử dụng trong các ngành khoa học máy tính, kỹ thuật và phân tích toán học; vì vậy lập trình viên C++ thường là những người có kiến thức chuyên sâu về hệ thống, về ngành khoa học máy tính và thường xuyên làm việc, tương tác với tài nguyên phần cứng và hệ thống cấp thấp. Bên cạnh đó những công việc như Thực tập sinh Lập trình nhúng, Kĩ sư Lập trình Linux,... cũng thường đảm nhận những công việc tương tự.
Mô tả công việc của Lập trình viên C++
Phân tích yêu cầu
Phân tích yêu cầu của người dùng hoặc các nhà quản lý dự án là một trong những nhiệm vụ đầu tiên của Lập trình viên C++ nhằm mục đích hiểu rõ mục tiêu và chức năng của phần mềm cần phát triển. Từ đó, họ sẽ tích hợp các thành phần phần mềm, triển khai phần mềm lên môi trường thực tế và hướng dẫn người dùng sử dụng phần mềm.
Thiết kế phần mềm
Lập trình viên C++ có nhiệm vụ thiết kế kiến trúc phần mềm, xác định các thành phần, giao diện và thuật toán cần thiết cho phần mềm. Họ là người viết mã C++ theo thiết kế, sử dụng các kỹ thuật lập trình hướng đối tượng, quản lý bộ nhớ, tối ưu hóa hiệu suất và đảm bảo tính bảo mật cho phần mềm.
Kiểm tra và gỡ lỗi
Lập trình viên C++ cũng đảm nhận việc kiểm tra mã C++ để phát hiện và sửa lỗi, đảm bảo phần mềm hoạt động chính xác và ổn định. Họ là những người bảo trì phần mềm sau khi triển khai, sửa lỗi phát sinh, cập nhật và nâng cấp phần mềm theo yêu cầu. Lập trình viên C++ sẽ phải hợp tác với các lập trình viên khác, tester, nhà phân tích và quản lý dự án để hoàn thành các dự án phần mềm một cách hiệu quả.
Lập trình viên C++ có mức lương bao nhiêu?
Lương cơ bản
Lương bổ sung
156 - 260 triệu
/nămLộ trình sự nghiệp Lập trình viên C++
Tìm hiểu cách trở thành Lập trình viên C++, bạn cần có những kỹ năng và trình độ học vấn nào để thành công cũng như đạt được mức lương mong đợi ở mỗi bước trên con đường sự nghiệp của bạn.
Số năm kinh nghiệm
Điều kiện và Lộ trình trở thành một Lập trình viên C++?
Yêu cầu tuyển dụng của Lập trình viên C++
Yêu cầu về bằng cấp và kiến thức chuyên môn
- Bằng cấp: Lập trình viên C++ phải có bằng tốt nghiệp Đại học chuyên ngành: Công nghệ thông tin, Khoa học máy tính hoặc chuyên ngành có liên quan tới lập trình. Họ cũng phải có ít nhất 2 đến 3 năm kinh nghiệm làm lập trình viên.
- Kiến thức chuyên môn: Lập trình viên C++ phải có hiểu biết sâu rộng về ngôn ngữ lập trình C++, bao gồm cả các tính năng cơ bản và nâng cao của ngôn ngữ như con trỏ, đa luồng, và STL (Standard Template Library) cũng như hiểu biết về hệ thống máy tính, quản lý bộ nhớ, quản lý tài nguyên, và giao tiếp mạng là một lợi thế. Ngoài ra, Lập trình viên C++ cũng phải có kiến thức về các hệ thống quản lý mã nguồn như Git để làm việc trong môi trường phát triển phần mềm đội ngũ và các ngôn ngữ lập trình, công nghệ khác như Python, Java, C#, hoặc các công nghệ nhúng có thể được yêu cầu tùy vào dự án cụ thể.
Yêu cầu về kỹ năng
- Kỹ năng giao tiếp: Là thực tập sinh lập trình thì kỹ năng giao tiếp tốt cực kỳ quan trọng, họ không chỉ truyền đạt nội dung, các vấn đề cấp trên, đối tác, các bên liên quan mà còn phải hướng dẫn cho nhân viên cấp dưới. Giao tiếp tốt là khả năng thuyết phục, kể chuyện, lắng nghe, giải thích,… đều khiến người nghe hiểu, có cảm nhận tốt.
- Chịu được áp lực công việc cao: Mỗi ngày thực tập sinh lập trình phải giải quyết rất nhiều hồ sơ thanh toán nên gặp áp lực là điều không thể tránh khỏi. Bạn vừa phải phối hợp với các bộ phận khác trong công việc vừa phải đảm bảo yếu tố thời gian và tính chính xác của các giao dịch. Vì vậy bạn phải thật cẩn thận, có trách nhiệm với công việc của mình và không được để xảy ra sai sót.
- Khả năng sáng tạo và tư duy logic: đây là tố chất quan trọng nhất của một lập trình viên. Để tạo ra một sản phẩm đạt yêu cầu bạn phải có thẩm mỹ tốt, khả năng thiết kế, và sắp xếp vấn đề một cách logic.
- Tự học hỏi nâng cao kiến thức: Xã hội hiện đang phát triển đến chóng mặt, có thể nói mỗi đất nước đều đang chạy đua để theo kịp nó. Là một lập trình viên bạn phải không ngừng học hỏi những kiến thức mới để bản thân không bị tụt lại so với những thay đổi chóng mặt trên thị trường hiện nay.
Các yêu cầu khác
- Kỹ năng làm việc trên máy tính, sử dụng các ứng dụng phần mềm hỗ trợ
- Kỹ năng tổ chức, sắp xếp công việc khoa học
- Cẩn thận, tỉ mỹ, kỹ càng
- Ham học hỏi, có tinh thần cầu tiến
- Trong một số trường hợp, kiến thức tiếng Anh là quan trọng để có thể tham gia vào các dự án và giao tiếp với đồng nghiệp toàn cầu.
Lộ trình nghề nghiệp của Lập trình viên C++
Kinh nghiệm | Vị trí | Mức lương |
0 - 1 năm | Thực tập sinh Lập trình | 2.000.000 - 4.000.000 đồng/tháng |
1 - 3 năm | Lập trình viên | 15.000.000 - 20.000.000 đồng/tháng |
3 - 5 năm | Lập trình viên C++ | 20.000.000 - 25.000.000 đồng/tháng |
5 - 7 năm | Kỹ sư Lập trình Linux | 25.000.000 - 35.000.000 đồng/tháng |
Trên 8 năm | Lập trình viên Blockchain | 35.000.000 - 50.000.000 đồng/tháng |
Mức lương trung bình của Lập trình viên C++ và các ngành liên quan:
- Thực tập sinh Lập trình: 2.000.000 - 4.000.000 đồng/tháng
- Lập trình viên: 12.000.000 - 20.000.000 đồng/tháng
1. Thực tập sinh Lập trình
Mức lương: 2.000.000 - 4.000.000 đồng/tháng
Kinh nghiệm làm việc: 0 - 1 năm kinh nghiệm
Trong giai đoạn này, Thực tập sinh Lập trình thường làm việc dưới sự hướng dẫn của các lập trình viên có kinh nghiệm. Thực tập sinh thường được giao phó các nhiệm vụ nhỏ, giúp họ làm quen với quy trình lập trình và các công nghệ, ngôn ngữ lập trình liên quan.
>> Đánh giá: Thực tập sinh Lập trình là vị trí dành cho sinh viên hoặc người mới bắt đầu muốn tìm hiểu về lĩnh vực lập trình và trau dồi kinh nghiệm thực tế trong môi trường làm việc chuyên nghiệp. Vì đây là vị trí cơ bản nên mức lương cho vị trí này không cao, nhưng nguồn nhân lực thì lại vô cùng dồi dào cũng khá cạnh tranh để có thể trở thành Nhân viên chính thức.
2. Lập trình viên
Mức lương: 15.000.000 - 20.000.000 đồng/tháng
Kinh nghiệm làm việc: 1 - 3 năm kinh nghiệm
Sau khoảng 1 - 3 năm kinh nghiệm, một Thực tập sinh Lập trình có thể thăng chức thành Lập trình viên. Lập trình viên thường đảm nhận các nhiệm vụ lập trình, kiểm thử và bảo trì phần mềm, website, fanpage,... Các nhiệm vụ có thể bao gồm viết mã, tích hợp phần cứng và phần mềm, kiểm tra và gỡ lỗi, tối ưu hóa hiệu suất và đảm bảo tính ổn định của hệ thống.
>> Đánh giá: Lập trình viên sẽ là vị trí đầu tiên sau khi các bạn được chấp nhận lên chính thức ở các công ty lập trình. Vị trí này sẽ phụ trách đảm nhiệm các công việc liên quan đến lập trình cơ bản dưới sự phân công của lãnh đạo. Tỉ lệ cạnh tranh của việc làm Lập trình viên này cũng khá cao khi nguồn nhân lực dồi dào.
3. Lập trình viên C++
Mức lương: 20.000.000 - 25.000.000 đồng/tháng
Kinh nghiệm làm việc: 3 - 5 năm kinh nghiệm
Với 3 - 5 năm kinh nghiệm trong lĩnh vực công nghiệp phần mềm, Lập trình viên sẽ có thể thăng tiến lên vị trí Lập trình viên C++. Nhiệm vụ chính là tham gia vào dự án phát triển phần mềm sử dụng C++. Họ cũng có khả năng đảm nhận các nhiệm vụ phức tạp hơn và tham gia vào việc thiết kế và xây dựng các phần mềm lớn hơn.
>> Đánh giá: Là một Lập trình viên có thâm niên, bạn sẽ có cơ hội thăng cấp lên thành Lập trình viên C++. Việc làm Lập trình viên C++ có mức lương cũng sẽ cao hơn nhưng đi kèm với đó cũng là trách nhiệm ngày càng lớn. Vậy nên việc không ngừng nâng cấp trình độ chuyên môn và kỹ năng của bản thân là hết sức cần thiết để bạn trở thành nhân sự cứng và có con đường thăng tiến rộng mở.
4. Kỹ sư Lập trình Linux
Mức lương: 25.000.000 - 35.000.000 đồng/tháng
Kinh nghiệm làm việc: 5 - 7 năm kinh nghiệm
Kỹ sư Lập trình Linux là một chuyên gia về hệ điều hành Linux, một trong những nền tảng phổ biến nhất trong thế giới công nghiệp công nghệ hiện nay. Các Kỹ sư này có kiến thức sâu về cách hoạt động của Linux, bao gồm cả các thành phần hạt nhân (kernel) và các tiện ích hệ thống khác. Họ có khả năng phát triển, triển khai và duy trì các ứng dụng và hệ thống chạy trên nền tảng Linux.
>> Đánh giá: Trong thị trường việc làm, ngành Linux developer được xem là những vị trí thuộc hàng “top” với mức thu nhập “khủng”. Đây là là những cá nhân có trình độ chuyên môn cao, am hiểu sâu sắc về hệ điều hành Linux và có khả năng phát triển, triển khai và quản lý các hệ thống nhúng dựa trên nền tảng này. Họ đóng vai trò quan trọng trong việc thúc đẩy sự phát triển và ứng dụng của Linux trong nhiều lĩnh vực khác nhau, từ thiết bị điện tử tiêu dùng đến các hệ thống công nghiệp phức tạp.
5. Lập trình viên Blockchain
Mức lương: 35.000.000 - 50.000.000 đồng/tháng
Kinh nghiệm làm việc: Trên 8 năm kinh nghiệm
Lập trình viên blockchain chủ yếu làm việc trong các dự án lớn và yêu cầu sự chuyên sâu cao về một số lĩnh vực như an ninh mạng, quản lý chuỗi cung ứng, hay tối ưu hóa hiệu suất mạng. Họ thường tham gia vào quá trình quyết định chiến lược và có thể đàm phán với các đối tác chiến lược. Yêu cầu kiến thức sâu rộng và kinh nghiệm là quyết định đối với vị trí này.
>> Đánh giá: Việc làm Lập trình viên Blockchain đòi hỏi nhiều kỹ năng và sự nỗ lực không ngừng nghỉ. Để thành công trong vai trò này, Lập trình viên Blockchain cần có năng lực lập trình, quản lý phần mềm, khả năng giải quyết vấn đề, đàm phán tốt và đặc biệt là tinh thần chủ động, trách nhiệm cùng với đạo đức nghề nghiệp cao. Đây là một vị trí có nhiều thách thức nhưng cũng mang lại nhiều cơ hội phát triển và thành công trong sự nghiệp.
5 bước giúp Lập trình viên C++ thăng tiến nhanh trong công việc
Nâng cao trình độ học vấn và kỹ năng chuyên môn
Để nổi bật và nâng cao thu nhập trong vai trò Lập trình viên C++, điều quan trọng nhất là phải có kiến thức vững về các nguyên lý cơ bản của lập trình và công nghệ thông tin. Việc tham gia vào các khóa học chuyên sâu, các khoá đào tạo trực tuyến hoặc offline, và cả các chứng chỉ quốc tế như CCNA (Cisco Certified Network Associate) hay CompTIA A+ sẽ giúp bạn củng cố và mở rộng kiến thức chuyên môn. Bên cạnh đó, việc thực hành và áp dụng những kiến thức học được vào các dự án thực tế sẽ giúp bạn xây dựng nền tảng kỹ năng mạnh mẽ để giải quyết các thách thức trong công việc hàng ngày.
Tích lũy kinh nghiệm và dự án thực tế
Để không chỉ là một Lập trình viên C++ thông thạo về lý thuyết mà còn được công nhận về khả năng làm việc thực tế, bạn nên tích lũy kinh nghiệm thông qua việc tham gia vào các dự án thực tế. Đây là cơ hội để áp dụng những kiến thức học được vào thực tiễn và trải nghiệm công việc như một nhân viên chính thức. Việc có kinh nghiệm làm việc thực tế sẽ giúp bạn phát triển kỹ năng quản lý dự án, giải quyết vấn đề và làm việc nhóm một cách hiệu quả hơn, từ đó tăng cường giá trị cá nhân và khả năng cạnh tranh trên thị trường lao động.
Phát triển kỹ năng mềm và giao tiếp
Bên cạnh kỹ năng chuyên môn, kỹ năng mềm và khả năng giao tiếp cũng là yếu tố quan trọng giúp bạn nâng cao thu nhập và tiến xa hơn trong sự nghiệp. Khả năng giao tiếp hiệu quả không chỉ giúp bạn truyền đạt ý tưởng và công việc một cách rõ ràng mà còn xây dựng được mối quan hệ tốt đẹp với đồng nghiệp và các nhà quản lý. Kỹ năng quản lý thời gian và khả năng làm việc nhóm cũng là những yếu tố quan trọng giúp bạn hoàn thành công việc một cách hiệu quả và nhanh chóng, từ đó tăng cường hiệu suất làm việc và thu nhập cá nhân.
Tự phát triển và đề xuất các dự án sáng tạo
Một trong những cách để nổi bật và đạt được thu nhập cao hơn là tự mình phát triển và đề xuất các dự án lập trình. Các dự án này không chỉ giúp bạn thể hiện năng lực và sự sáng tạo mà còn tạo ra giá trị thực tiễn cho tổ chức. Việc đề xuất và triển khai các giải pháp mới, có tính ứng dụng cao sẽ thu hút sự chú ý của các nhà quản lý và có thể dẫn đến cơ hội được tuyển dụng vào vị trí công việc cao hơn và với mức thu nhập tốt hơn.
Đảm nhận thêm các công việc
Lập trình viên C++ có thể chứng minh thêm năng lực làm việc thông qua việc sẵn sàng nhận thêm các nhiệm vụ và trách nhiệm mới. Cùng với đó, họ cần liên tục hoàn thiện kỹ năng và tìm ra các phương pháp làm việc để đạt hiệu quả công việc cao hơn.
Xem thêm: