The Position
We are looking for hands-on, talented Senior Software Engineers to join our growing team. The candidate will be working with an enthusiastic team to continuously improve OPSWAT's world-class technologies and build the next generation cyber security platforms.
What You Will Be Doing
- Design, integrate, develop and maintain the Software Composition Analysis (SCA)
- Generate a Software Bill of Materials (SBOM)
- Analyze open-source components, detect licenses, dependencies, vulnerabilities, and potential exploits.
- Collaborate with other team members to guarantee quality and on-time delivery.
- Collaborate with other team members in an Agile environment to deliver effective software solutions.
- Bachelor's degree in computer science, information technology, system engineering or related field.
- Experience with Python programming and others scripting languages such as Bash, Go, Ruby.
- Experience with C/C++ programming (senior)
- Experience with database (e.g., MongoDB, MySQL).
- Experience with Linux/Containers development.
- Experience with build platform such as TeamCity build.
- Must be self-motivated and have a proven ability to work well in a fast-paced team environment.
- Good problem-solving skills.
- Good verbal and written communication skills.
- Mentor junior engineer to do things right.
- Experience with designing/interfacing applications with REST API.
- Experience with Agile/Scrum working environment.
- Experience with AWS.
- Experience with Git, BitBucket, Jira, Confluence.
- Reasonable understanding of OWASP Top 10, common vulnerabilities and exploitations.
- Pre-intermediate / intermediate English Level.
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
Không gian làm việc khá thoải mái, nhiều tiện ích. Chính sách tốt cho nhân viên.
Phù hợp cho những ai chọn an toàn và ổn định
Công ty tốt cho người mới bắt đầu
Mọi người cũng đã tìm kiếm
Công việc của Kỹ sư phần mềm là gì?
1. 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ự.
2. Lương và mô tả công việc của kỹ sư phần mềm
2.1. Lương của kỹ sư phần mềm
Cấp bậc | Số năm kinh nghiệm | Mức lương ( VND/tháng) |
Software Engineer Intern (Thực tập sinh) | 0-1 năm | 2,000,000-5,000,000 |
Junior Software Engineer (Kỹ sư phần mềm cơ sở) |
1 - 2 năm | 8,000,000 - 12,000,000 |
Software Engineer (Kỹ sư phần mềm) |
3 - 5 năm | 20,000,000 - 80,000,000 |
Senior Software Engineer (Kỹ sư phần mềm cao cấp) |
> 5 năm | 40,000,000 - 100,000,000 |
Kỹ sư phần mềm có mức lương dao động từ 20.000.000 đến 80.000.000 đồng/tháng. Họ đảm nhận các vai trò quan trọng trong dự án, thiết kế và phát triển các hệ thống phần mềm phức tạp. Mức lương ở giai đoạn này có biên độ rộng do phụ thuộc vào nhiều yếu tố như năng lực, kỹ năng, lĩnh vực công nghệ, và quy mô công ty.
2.2. 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.
3. Kỹ sư phần mềm có khó học không?
Kỹ sư phần mềm cần trang bị những kiến thức liên quan đến các quy trình phát triển phần mềm chuyên nghiệp, nhằm tạo ra sản phẩm phần mềm chất lượng cao. Những kỹ sư phần mềm có khả năng viết mã và lập trình máy tính để thay thế vai trò của con người trong việc điều khiển các thiết bị phần cứng, tự động hóa các quy trình công việc, cuộc sống. Công nghệ phần mềm giúp giải phóng con người khỏi những công việc đơn điệu và mất thời gian của lao động thủ công, đồng thời tăng cường hiệu quả công việc. Do đó, việc học để trở thành kỹ sư phần mềm sẽ tương đối khó, đòi hỏi sự tập trung, sáng tạo và nỗ lực, chăm chỉ trong quá trình học tập.
4. Kỹ sư phần mềm học ngành gì? Trường nào?
4.1. Kỹ sư phần mềm học ngành gì?
Nhu cầu về nhân lực kỹ sư phần mềm tại các doanh nghiệp hiện nay rất lớn. Nếu muốn theo đuổi cơ hội việc làm ngành học này, các bạn trẻ cần phải được đào tạo đại học ở những chuyên ngành Công nghệ phần mềm hoặc các lĩnh vực có liên quan khác. Ngoài ra, các bạn vẫn có thể kiếm được việc với tấm bằng cao đẳng hay thậm chí kinh nghiệm thực tế mà không cần bằng cấp. Dù vậy, mức lương và vị trí lập trình ở cấp thấp.
Chương trình đào tạo kỹ sư có khối lượng kiến thức gồm kiến thức đại cương và kiến thức chuyên môn. Người học sẽ được đào tạo các kiến thức chung về công nghệ thông tin và phần mềm. Kiến thức chuyên môn bao gồm lập trình, xây dựng và phát triển phần mềm. Ngoài ra còn học về kỹ năng vận dụng các công cụ để bảo trì phần mềm.
4.2. Kỹ sư phần mềm học trường nào?
Ngành kỹ sư phần mềm học trường nào? Các bạn trẻ có thể tham khảo các ngành học và môi trường đào tạo để lựa chọn sao cho phù hợp với khả năng của bản thân. Dưới đây là một số trường đào tạo nghề Kỹ sư phần mềm tại Việt Nam mà bạn có thể cân nhắc:
- Trường Đại học Bách Khoa TP.HCM (HCMUT)
- Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh (UIT)
- Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội (HUST)
- Trường Đại học Công nghệ - Đại học Quốc gia Thành phố Hà Nội (Hanoi University of Science and Technology - HUST)
- Trường Đại học FPT
- Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE)
- Trường Đại học Công nghệ Điện tử - Viễn thông (Hanoi University of Electronic and Telecommunications - Hanoi UEIT)
Ngoài ra, còn nhiều trường đại học và cao đẳng khác tại Việt Nam cũng có các chương trình đào tạo liên quan đến Kỹ sư phần mềm. Trước khi chọn trường và chương trình, bạn nên xem xét các yếu tố như độ uy tín của trường, cơ hội nghiên cứu và thực hành, cơ hội việc làm sau khi tốt nghiệp, và học phí để đưa ra quyết định phù hợp nhất với mục tiêu của mình.
5. Môi trường làm việc của kỹ sư phần mềm
Kỹ sư phần mềm làm việc trong hầu hết các ngành bao gồm y tế, công nghiệp, ô tô, chính phủ và công nghệ. Họ thường làm việc trong môi trường hợp tác cùng với các nhà phát triển và các kỹ sư khác. Mặc dù họ sẽ thường xuyên gọi điện trong trường hợp có vấn đề phát sinh nhưng hầu hết họ làm việc theo số giờ tiêu chuẩn mỗi tuần. Nhiều kỹ sư phần mềm làm việc muộn và thậm chí cả cuối tuần.
Hầu hết các kỹ sư phần mềm làm việc trong môi trường văn phòng. Họ sẽ có thể ngồi trước máy tính trong thời gian dài để thực hiện hầu hết các nhiệm vụ của mình, một số kỹ sư hầu hết các ngày sẽ làm việc từ xa.
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