The Position
We are looking for hands-on C++ Developers to join our growing R&D and Product Engineering team. The candidate will work in a talented team to build OPSWAT's famous MetaDefender product as world's advanced next generation cyber security platforms.
What You Will Be Doing
- Design, implement and test OPSWAT MetaDefender product using C++ and C# (.NET Core) in Windows and Linux environments
- Build and develop automation test framework with Python
- Interact with data (files, documents, images, etc.) at binary and structure levels
- Enrich features for existing software modules (back-end engines) which process millions files a day
- Bachelor's or higher degree in Computer Science or related fields
- Knowledge of Computer Science fundamentals: data structure and algorithm, operating system and computer system
- Object-Oriented mindset: OOP and OOD
- Logical thinking, critical thinking and problem solving skills
- Good English skills, especially reading and writing
- Programming experience with languages such as C++, C# or Python
- Experience with REST API and Web
- Experience with Docker, CD/CI, Git, TeamCity, Jira, Confluence
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 Kỹ sư phần mềm là gì?
Kỹ sư phần mềm là một chuyên gia trong lĩnh vực phát triển phần mềm, người đã được đào tạo và tích luỹ kiến thức về các ngôn ngữ lập trình, công cụ phát triển phần mềm, quy trình phát triển phần mềm, và các kỹ năng kỹ thuật liên quan. Công việc của kỹ sư phần mềm bao gồm thiết kế, xây dựng, kiểm thử, và duy trì các ứng dụng và hệ thống phần mềm. Họ phải làm việc cùng nhau với các nhóm khác nhau như nhóm thiết kế giao diện người dùng, quản lý dự án, và người dùng cuối để đảm bảo rằng sản phẩm phần mềm hoạt động một cách hiệu quả và đáp ứng các yêu cầu của khách hàng. Kỹ sư phần mềm cũng cần phải theo dõi và nắm vững các xu hướng và công nghệ mới để không ngừng phát triển và cải tiến sản phẩm của họ. Bên cạnh đó những công việc như Thực tập sinh Lập trình nhúng, Lập trình viên, 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 Kỹ sư phần mềm
Kỹ sư phần mềm (Software Engineer) là người chịu trách nhiệm thiết kế, phát triển, triển khai và duy trì phần mềm máy tính. Công việc của Kỹ sư phần mềm rất đa dạng và có thể bao gồm các nhiệm vụ sau đây:
Tìm hiểu và xác định nhu cầu khách hàng
Đây là nhiệm vụ quan trọng bởi sản phẩm phần mềm làm ra cuối cùng vẫn nhằm mục đích thỏa mãn nhu cầu khách hàng. Một khi xác định chính xác nhu cầu người dùng, doanh nghiệp đã tìm ra cho mình “la bàn” hữu ích. Theo đó, kỹ sư phần mềm nhận nhiệm vụ khám phá những điều khách hàng thật sự cần, vấn đề họ mong muốn được giải quyết khi sử dụng sản phẩm... nhằm tìm hiểu nhu cầu sâu xa nhất của khách hàng đối với sản phẩm.
Chịu trách nhiệm thiết kế chương trình mới
Sau khi tìm hiểu và nắm rõ nhu cầu của khách hàng, người kỹ sư phần mềm sẽ bắt đầu vận dụng kinh nghiệm, kỹ năng và sự sáng tạo của mình để lên ý tưởng thiết kế ra chương trình, hệ thống phần mềm tối ưu nhất. Mục tiêu là giải quyết được nhu cầu, phù hợp với nguồn lực hiện có của người dùng.
Phối hợp, hướng dẫn lập trình viên tạo ra chương trình
Khi đã có trong tay bản kế hoạch hệ thống phần mềm, công việc tiếp theo của kỹ sư phầm mềm đó là phối hợp, hướng dẫn và giải thích cho lập trình viên về những yêu cầu mà người dùng mong muốn. Qua đó, phần mềm viết ra sẽ đi “đúng đích”, có khả năng làm thỏa mãn nhu cầu người dùng hơn.
Phụ trách kiểm tra và cài đặt chương trình cho khách hàng
Công việc của kỹ sư phần mềm lúc này là sẽ kiểm tra lại toàn bộ hệ thống để xem có hay không gặp trục trặc và tiến hành cài đặt chương trình cho người dùng. Bên cạnh đó, họ còn đưa ra cách sử dụng, giải đáp các thắc mắc nhằm đảm bảo người dùng dễ dàng thao tác và sử dụng.
Tham gia vào hoạt động bảo trì, nâng cấp hệ thống
Đặc điểm chung của các phần mềm thường đỏi hỏi phải nâng cấp, bảo trì để hoạt động trơn tru. Vì vậy theo định kỳ, các kỹ sư phần mềm sẽ theo dõi, kiểm tra, thực hiện nâng cấp hoặc khắc phục sự cố cho phần mềm khi cần thiết.
Kỹ sư phần mềm có mức lương bao nhiêu?
Lương cơ bản
Lương bổ sung
177 - 300 triệu
/nămLộ trình sự nghiệp Kỹ sư phần mềm
Tìm hiểu cách trở thành Kỹ sư phần mềm, 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 Kỹ sư phần mềm?
Yêu cầu tuyển dụng của Kỹ sư phần mềm
Yêu cầu tuyển dụng cho một vị trí Kỹ sư phần mềm thường bao gồm hai tiêu chí quan trọng sau đây: Kiến thức chuyên môn và Kỹ năng cơ bản. Dưới đây là mô tả chi tiết về cả hai:
Yêu cầu về bằng cấp và kiến thức chuyên môn
- Kiến thức về Lập trình: Kỹ sư phần mềm cần phải có kiến thức vững về một hoặc nhiều ngôn ngữ lập trình như Java, Python, C++, JavaScript, hoặc Ruby. Kỹ sư cũng cần nắm vững các thuật toán và cấu trúc dữ liệu cơ bản để giải quyết các vấn đề phức tạp.
- Kiến thức về Cơ sở dữ liệu: Hiểu biết về hệ quản trị cơ sở dữ liệu (DBMS) như MySQL, PostgreSQL, MongoDB, Oracle là quan trọng đối với một Kỹ sư phần mềm. Họ cần biết cách thiết kế, tối ưu hóa và truy vấn cơ sở dữ liệu.
- Kiến thức về Công nghệ web: Nếu công việc liên quan đến phát triển web, thì kiến thức về HTML, CSS, và các framework như React, Angular, hoặc Vue.js sẽ rất quan trọng. Kỹ sư phần mềm cũng cần hiểu biết về kiểm thử phần mềm (software testing) để đảm bảo tính ổn định và chất lượng của ứng dụng.
Yêu cầu về kỹ năng
- Kỹ năng Lập trình và Debugging: Kỹ sư phần mềm phải là những người có khả năng viết mã code sạch sẽ, dễ đọc và khả năng sửa lỗi (debugging) để phục vụ cho công việc của họ.
- Quản lý Phiên bản (Version Control): Sử dụng các hệ thống quản lý phiên bản như Git để theo dõi và quản lý mã nguồn là một kỹ năng quan trọng đối với Kỹ sư phần mềm.
- Giải quyết vấn đề: Đối với lĩnh vực phần mềm, sẽ có rất nhiều vấn đề xảy ra mà bạn không biết trước được. vì vậy, khả năng phân tích vấn đề, tìm ra cách giải quyết vấn đề một cách hiệu quả là một kỹ năng quan trọng của một Kỹ sư phần mềm.
- Làm việc nhóm: Kỹ sư phần mềm thường làm việc trong môi trường nhóm, nên khả năng làm việc và giao tiếp trong nhóm là điều vô cùng cần thiết.
- Kỹ năng giao tiếp: Là Kỹ sư phần mềm 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 Kỹ sư phần mềm phải giải quyết rất nhiều vấn đề về IT 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 mã code. 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 Kỹ sư phần mềm. Để 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 Kỹ sư phần mềm 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
Lộ trình nghề nghiệp của Kỹ sư phần mềm
Kinh nghiệm | Vị trí | Mức lương |
0 - 1 năm | Thực tập sinh Kỹ sư phần mềm | 2.000.000 - 4.000.000 đồng/tháng |
3 - 5 năm | Kỹ sư phần mềm | 15.000.000 - 20.000.000 đồng/tháng |
Mức lương trung bình của Kỹ sư phần mềm và các ngành liên quan:
- Thực tập sinh nhúng: 2.000.000 - 4.000.000 đồng/tháng
- Thực tập sinh Android Developer: 3.000.000 – 6.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 Kỹ sư phần mềm
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
Vị trí Thực tập sinh Kỹ sư phần mềm là một bước khởi đầu trong sự nghiệp của bạn. Trong giai đoạn này, bạn sẽ học và áp dụng kiến thức cơ bản về lập trình và phát triển phần mềm. Bạn sẽ làm việc dưới sự hướng dẫn của những kỹ sư phần mềm có kinh nghiệm và tham gia vào các dự án phần mềm.
>> Đánh giá: Thực tập sinh Kỹ sư phần mềm 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 phần mềm 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. Việc làm Thực tập sinh Kỹ sư phần mềm khá rộng mở với cơ hội nghề nghiệp cao.
2. Kỹ sư phần mềm
Mức lương: 15.000.000 - 20.000.000 đồng/tháng
Kinh nghiệm làm việc: 3 - 5 năm kinh nghiệm
Sau khi hoàn thành giai đoạn thực tập, bạn có thể tiến lên vị trí Kỹ sư phần mềm. Trong vai trò này, bạn sẽ tiếp tục phát triển kỹ năng lập trình, hiểu rõ quy trình phát triển phần mềm và tham gia vào các dự án phần mềm. Bạn sẽ làm việc trong nhóm phát triển, tham gia vào việc thiết kế, triển khai và kiểm thử phần mềm. Khi có năng lực tốt, bạn cũng có thể đảm nhận trách nhiệm lớn hơn trong việc thiết kế kiến trúc phần mềm, quản lý dự án và tư vấn về giải pháp phần mềm.
>> Đánh giá: Kỹ sư phần mềm 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 phần mềm. 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 Kỹ sư phần mềm này cũng khá cao khi nguồn nhân lực dồi dào.
5 bước giúp Kỹ sư phần mềm 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ò Kỹ sư phần mềm, đ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 phần mềm 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 Kỹ sư phần mềm 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
Kỹ sư phần mềm 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:
Việc làm Nhân viên Kinh doanh phần mềm đang tuyển dụng