1. INTRODUCTION
Founded in 2010, Ban Vien Corporation has embarked on an inspiring journey, evolving into a trusted technology partner that has left an indelible mark in the realm of software development and embedded system development. Today, our influence extends both domestically and internationally, showcasing our commitment to driving digital transformation. At Ban Vien, we relentlessly pursue innovation across diverse industries like Edutech, Fintech, Retail, Automotive, Smart IoT, and Logistics. Our comprehensive services span Digital Consulting, R&D, Software Development, and Dedicated Development Centers. This global expansion includes valued clients and esteemed partners in the United States, Germany, Japan, Singapore, China, Hong Kong, Thailand, Malaysia, and Vietnam.
2. JOB DESCRIPTION
- Firmware development for Hospitality Management System
- Involving in the full-phases development.
3. REQUIREMENTS
We are looking for candidates with experience in the area of Firmware Development.
MUST HAVE:
- Strong in C/C++ programming for Embedded Software Development.
- Experience with communication protocols: SPI, I2C, CAN/CANFD, UART, etc.
- Experience with connectivity: WIFI, Bluetooth, LTE, GPS/GNSS, etc.
- Experienced with firmware development and implementing hardware drivers and low-level code for device.
- Registers for microcontroller platforms such as ESP32, STM32, NXP, IMX.
- Experienced with Stack, Queues, Pipeline, Socket, Boot loader, secure boot.
- Experienced with embedded software development, Linux OS, RTOS (OSEK, freeRTOS, TOCK, etc.).
NICE TO HAVE:
- Electronics/ Mechatronics/ Computer Engineering or relevant background.
- Experienced with: Simulink/Stateflow, Embedded Rust, Renode framework.
- Experienced with scripting language (Python/Perl/Bash shell script).
- SDLC and Software Development Models (Agile/Scrum).
- Configuration & Requirement Management tools.
- Good in problem analysis and solving.
- Good English language skills.
- Good communication skills.
4. COMPANY BENEFITS
- 13th Salary + Performance Bonus.
- Pass Probation Bonus.
- Premium healthcare insurance benefits (PVI Insurance package) and family medical benefit (based on the level of experience).
- Provide the famous e-learning platform-Udemy, to encourage continuous learning to adapt to the T-shape model.
- Flexible working time: only 8 hours required as continual working-time at the office.
- Annual leave up to 17 days: 12 days paid leave + 5 days’ sick leave.
- Professional and Personal Development Training Programs.
- 4 Stars standard company trip in summer and a big annual Year-End-Party.
- Coffee and snacks provided.
- Holiday celebrations and parties for team members and family.
Công ty TNHH Bản Viên – là Đối tác Công nghệ Tin cậy trong lĩnh vực Phát triển Phần mềm & Phát triển Hệ thống Nhúng. Được thành lập vào tháng 3 năm 2010, hiện có đội ngũ hơn 400 chuyên gia tài năng và giàu kinh nghiệm với 6 văn phòng tại 3 quốc gia, chúng tôi tự hào đã giữ chân và hợp tác với nhiều khách hàng nền tảng ngay từ những ngày đầu, 9 năm trước.
Chính sách bảo hiểm
- Được hưởng đầy đủ cách chính sách xã hội: BHXH, BHYT
Các hoạt động ngoại khóa
- Du lịch hàng năm
- Bóng đá
- Bóng bàn
- Cầu lông
- Teambuilding
Lịch sử thành lập
- Công ty Bản Viên được thành lập năm 2010
Mission
- Công ty Bản Viên luôn tạo ra các giải pháp khác nhau và đi đầu trong việc phát triển các sản phẩm để đáp ứng nhu cầu của khách hàng.
Review Bản Viên
Cty xịn, nhiều benefit, quá thơm, bảo hiểm ko đóng full.
Công việc đúng kiểu văn phòng, họp hành thì nhiều, lương thấp, fresher thì 12 gross (RV)
Nói chung lương thấp, fresher thì 12 gross, việc làm thì hên vào team nó cho fix lỗi tạo patch thì còn lên trình, không thì chỉ có test.
Mọi người cũng đã tìm kiếm
Công việc của Kỹ sư Lập trình nhúng là gì?
1. Kỹ sư lập trình là gì?
Kỹ sư lập trình nhúng là một chuyên viên có kiến thức sâu về việc phát triển và thiết kế các hệ thống điều khiển hoặc các thiết bị nhúng. Các thiết bị nhúng thường được tích hợp trong các sản phẩm và hệ thống khác nhau như điện tử tiêu dùng, ôtô, thiết bị y tế, và nhiều ứng dụng khác. Kỹ sư lập trình nhúng thường phải làm việc với các vi điều khiển và vi xử lý, viết mã lập trình dưới dạng firmware để điều khiển các chức năng và hoạt động của thiết bị. Ngoài ra, họ cũng có thể tham gia vào việc phân tích yêu cầu, thiết kế phần cứng, và kiểm tra, đảm bảo rằng hệ thống hoạt động một cách ổn định và đáng tin cậy. Công việc của Kỹ sư lập trình nhúng đóng vai trò quan trọng trong việc đưa ra các giải pháp công nghệ sáng tạo và tiên tiến cho nhiều lĩnh vực trong cuộc sống hàng ngày..
2. Lương và mô tả công việc của Kỹ sư lập trình nhúng hiện nay
Lương của Kỹ sư lập trình nhúng hiện nay
Hiện nay, có rất nhiều thông tin về việc tuyển dụng Kỹ sư lập trình Nhúng, trong những thông tin tuyển dụng đó đều có đính kèm theo thông tin về mức lương Kỹ sư lập trình Nhúng. Điều đó giúp cho các bạn có được những cơ hội để biết được mức lương của mình ra sao. Trong phần này, chúng tôi sẽ giúp các bạn có thể nắm được mức lương cơ bản của Thực tập sinh lập trình Nhúng theo số năm kinh nghiệm và lộ trình thăng tiến.
Vị trí | Kinh nghiệm | Mức lương (đồng/tháng) |
Thực tập sinh nhúng | 0 - 1 năm | 5.000.000 - 7.000.000 |
Lập trình nhúng | 1 - 4 năm | 8.000.000 - 15.000.000 |
Kỹ sư lập trình nhúng | 4 - 6 năm | 15.000.000 - 25.000.000 |
Mô tả công việc của Kỹ sư lập trình nhúng hiện nay
- Thiết kế hệ thống nhúng: Kỹ sư lập trình nhúng cần hiểu rõ các yêu cầu của hệ thống nhúng và thiết kế hệ thống sao cho đáp ứng được các yêu cầu đó.
- Viết mã cho hệ thống nhúng: Kỹ sư lập trình nhúng sử dụng các ngôn ngữ lập trình như C, C++, Python, v.v. để viết mã cho hệ thống nhúng.
- Kiểm tra và gỡ lỗi hệ thống nhúng: Kỹ sư lập trình nhúng cần kiểm tra hệ thống nhúng để đảm bảo hệ thống hoạt động chính xác và gỡ lỗi các lỗi phát sinh.
- Tối ưu hóa hệ thống nhúng: Kỹ sư lập trình nhúng cần tối ưu hóa hệ thống nhúng để hệ thống hoạt động hiệu quả nhất.
- Thiết kế và phát triển hệ thống thông qua những nền tảng vi xử lý (ARM, DSP, FPGA…) từ đó giúp đảm bảo chức năng và yếu tố kỹ thuật. Đồng thời, nghiên cứu và phát triển những phần mềm và ứng dụng, tùy biến thuật toán phù hợp với phần cứng sản phẩm.
- Đọc và hiểu rõ chi tiết về ý nghĩa của chỉ số trong bản thiết kế.
- Xây dựng thang đo, phương pháp đánh giá, debug lỗi trong khi lập trình và thử sản nghiệm phẩm.
- Lập trình và chạy thử các tính năng theo yêu cầu, quản lý chất lượng để hệ thống được đảm bảo chạy tốt nhất.
3. Lập trình nhúng thường dùng ngôn ngữ gì?
Dưới đây là top 3 ngôn ngữ lập trình nhúng phổ biến nhất, mời bạn đọc cùng tham khảo nội dung chi tiết:
C++
C++ là một trong những ngôn ngữ lập trình nhúng phổ biến nhất, phát triển vào năm 1979 bởi nhà khoa học máy tính Bjarne Stroustrup. Đặc trưng nổi bật nhất của ngôn ngữ lập trình nhúng này là tính linh hoạt, phổ biến. Bên cạnh đó, C++ còn hỗ trợ người dùng kiểm soát phần cứng, giúp máy tính tương tác với mã code tốt hơn. C++ được sử dụng trong hầu hết các thiết bị nhúng, từ các thiết bị đơn giản đến các thiết bị phức tạp, phát triển phần mềm cho các hệ thống tự động hóa, chẳng hạn như hệ thống điều khiển công nghiệp và hệ thống giám sát.
Java
Java là ngôn ngữ lập trình nhúng ra đời vào năm 1995, được phát triển bởi James Gosling sau đó chuyển nhượng lại cho Oracle. Trải qua nhiều năm chỉnh sửa, cải tiến, Java ngày càng được trang bị nhiều tính năng nổi bật như máy ảo, thư viện với hệ sinh thái khổng lồ, hoạt động dựa trên nguyên tắc khép kín, bảo mật tốt,… Ngoài ra, Java cũng là ngôn ngữ đa nền tảng, nhúng được nhiều phần mềm khác nhau và tương thích với nhiều hệ điều hành, thân thiện với môi trường, phù hợp với người đang chập chững viết code.
Python
Python là ngôn ngữ lập trình nhúng ra mắt vào năm 1989 bởi nhà khoa học máy tính nổi tiếng Guido Van Rossum. Cho đến thời điểm hiện tại, Python đã trở thành ngôn ngữ được nhiều người dùng ưa chuộng. Dù không quá phổ biến như Java hay C++ nhưng Python vẫn khẳng định vị thế của mình nhờ hệ thống câu lệnh, cú pháp đơn giản, hệ thống Framework hoàn chỉnh, hỗ trợ viết code trong quá trình nhúng phần hiệu quả, đạt năng suất cao. Theo đó, Python được sử dụng để phát triển phần mềm cho các thiết bị IoT, chẳng hạn như đèn thông minh, cảm biến, và thiết bị.
Một số ngôn ngữ lập trình nhúng khác
Bên cạnh 3 ngôn ngữ lập trình nhúng phổ biến kể trên, bạn cũng có thể lựa chọn những ngôn ngữ sau nếu có nhu cầu. Cụ thể:
- C#: C# là một ngôn ngữ lập trình hướng đối tượng, được sử dụng trong một số thiết bị nhúng, đặc biệt là các thiết bị có yêu cầu về khả năng tương thích với .NET Framework.
- Rust: Rust là một ngôn ngữ lập trình hệ thống, được sử dụng trong một số thiết bị nhúng, đặc biệt là các thiết bị có yêu cầu về khả năng kiểm soát chi tiết phần cứng và hiệu suất cao.
- Assembly: Assembly là một ngôn ngữ lập trình cấp thấp, được sử dụng trong một số thiết bị nhúng, đặc biệt là các thiết bị có yêu cầu về khả năng kiểm soát chi tiết phần cứng ở mức độ thấp nhất.
4. Cần học lập trình nhúng ở đâu?
Với những bạn đang bắt đầu theo đuổi con đường trở thành một chuyên viên lập trình nhúng, các bạn sẽ có thể chọn 1 trong 3 con đường dưới đây để có một lộ trình học lập trình nhúng giúp rèn luyện các kiến thức về chuyên môn và các kỹ năng mềm khác một cách tốt nhất.
Học ở những trường đại học, cao đẳng theo hệ chính quy
Học tại một trường Đại học theo ngành Công nghệ Thông tin, Khoa học Máy tính hoặc ngành Lập trình phần mềm là một con đường được nhiều bạn trẻ lựa chọn nhất. Sự phát triển trong giáo dục và áp dụng CNTT vào giảng dạy giúp đại học là một trong những cách tốt nhất để bổ sung thêm kiến thức, kỹ năng cho bản thân
Các trường đào tạo ngành Công nghệ thông tin, Kỹ thuật máy tính tốt nhất Việt Nam hiện nay:
- Đại học Bách khoa Hà Nội
- Trường Đại học Khoa học Tự nhiên - ĐHQG TP HCM
- Trường Đại học Công nghệ Thông tin – ĐHQGTPHCM (UIT)
- Trường Đại học RMIT Việt Nam
- Trường Đại học Công nghệ – ĐHQGHN
- Học viện Công nghệ Bưu chính Viễn thông
- Trường Đại học Khoa học và Công nghệ Hà Nội
- Học Viện Kỹ Thuật Quân Sự
- Học Viện Kỹ Thuật Mật Mã
- Trường Đại Học FPT
Tự học
Hướng đi khác dành cho các bạn trẻ đam mê lập trình đó chính là các bạn sẽ cần sự kiên trì và nỗ lực của chính bản thân cũng như là lòng nhiệt huyết đam mê với ngành. Bởi con đường này chính là con đường tự học, vì vậy thành công hay thất bại cũng sẽ dựa vào khả năng của các bạn. Hiện nay cũng có rất nhiều các kỹ sư lập trình đi theo con đường tự học và trở nên thành công trong con đường đã chọn.
Các khóa học lập trình online miễn phí:
- Mit Opencourseware
- Codecademy
- Free Code Camp
- edX
- The Odin Project
- The Code Player
Học ở những cơ sở đào tạo, học viện
Khi so sánh với việc học lập trình tại các trường đại học, cao đẳng chính quy hay tự học tập thì việc học tại những học viện đào tạo lập trình sẽ là một quyết định khôn ngoan.
Đầu tiên, bởi vì thế mạnh của các học viện này đó chính là các chương trình học sẽ không mất tới 4-5 năm mà chỉ cần 2-2.5 năm bên cạnh đó vì thời gian ngắn nên các kiến thức được giảng dạy sẽ được dạy chuyên sâu, rõ ràng và sẽ được rèn luyện nhiều hơn ở mặt thực hành.
Một số học viện uy tín mà các bạn có thể tham khảo là:
- Học viện VTC Academy
- Học viện INTEK
- Trung tâm đào tạo SmartPro
5. Cơ hội phát triển nghề nghiệp sau khi tốt nghiệp lập trình nhúng?
Sau khi các bạn đã hoàn thành tất cả các chương trình học lập trình nhúng sẽ có cơ hội tìm được việc làm tốt, mức lượng cao và phát triển mạnh mẽ hơn trong tương lai.
Embedded software
Bạn sẽ có cơ hội làm việc và trở thành Software Developer chính hiệu Dev sau khi hoàn thành khóa đào tạo. Khi làm việc tại những công ty, tập đoàn trong lĩnh vực công nghệ; bạn sẽ được phân công làm việc cùng team để phát triển phần mềm và sản phẩm nhúng: Application, Firmware, OS,…
Embedded hardware
Bạn sẽ có cơ hội trở thành kỹ sư lập trình nhúng chuyên nghiệp, chuyên gia thiết kế và check board mạch. Tuy nhiên, để có thể đạt được vị trí này, bạn cần phải thật sự giỏi về phần cứng và điện tử. Khi bạn tham gia vào các dự án sẽ có quy trình cụ thể và cần phải làm quen để hiểu rõ về nó trước khi nhận dự án.
Project Manager
Khi bạn am hiểu chuyên sâu các kiến thức lập trình nhúng, tích lũy đủ kinh nghiệm trong lĩnh vực, bạn hoàn toàn có thể trở thành nhà quản lý các dự án. Lúc này, mức lương bạn nhận được khi thực hiện mỗi dự án có thể lên đến hàng nghìn đô. Nhưng để nắm giữ vị trí này rất khó khăn, bạn cần kiên trì, nỗ lực cố gắng hơn bao giờ hết. Lập trình viên cần dành nhiều thời gian học hỏi và thực hiện nhiều dự án thực tế để tích lũy kinh nghiệm có thể quản lý và giải quyết các vấn đề.
>> Xem thêm: Việc làm Thực tập sinh lập trình nhúng cho người mới
>> Xem thêm: Việc làm Nhân viên lập trình nhúng hiện tại
>> Xem thêm: Việc làm Kỹ sư lập trình nhúng đang tuyển dụng
Kỹ sư Lập trình nhúng có mức lương bao nhiêu?
Lương cơ bản
Lương bổ sung
130 - 260 triệu
/nămLộ trình sự nghiệp Kỹ sư Lập trình nhúng
Tìm hiểu cách trở thành Kỹ sư Lập trình nhúng, 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ư Lập trình nhúng?
Yêu cầu tuyển dụng của Kỹ sư lập trình nhúng
Yêu cầu tuyển dụng cho một vị trí Kỹ sư lập trình nhúng thường tập trung vào hai tiêu chí chính sau:
Kiến thức chuyên môn
- Ngôn ngữ lập trình nhúng: Kỹ sư lập trình nhúng cần có kiến thức sâu về ít nhất một ngôn ngữ lập trình nhúng phổ biến như C, C++, Python (thông qua các thư viện nhúng như MicroPython hoặc CircuitPython) hoặc một ngôn ngữ lập trình nhúng khác tùy thuộc vào yêu cầu cụ thể của dự án.
- Kiến thức về phần cứng: Kiến thức về vi điều khiển (microcontroller), vi xử lý (microprocessor), vi mạch (integrated circuits), và các thành phần điện tử cơ bản là cần thiết. Điều này bao gồm các giao tiếp như I2C, SPI, UART.
- Kỹ thuật lập trình nhúng: Kiến thức về việc phát triển và triển khai firmware (phần mềm dành cho thiết bị nhúng) trên nền tảng phần cứng cụ thể.
- Hệ điều hành nhúng (nếu cần thiết): Kiến thức về các hệ điều hành nhúng như FreeRTOS, RT-Thread, hay một hệ điều hành nhúng tùy chỉnh.
- Kiến thức về giao tiếp và mạng (tuỳ vào dự án): Có thể bao gồm giao tiếp không dây (Wi-Fi, Bluetooth, LoRa), giao tiếp mạng (TCP/IP, UDP), hoặc các giao thức tùy chỉnh.
Kỹ năng cơ bản
- Kỹ năng lập trình: Ngoài kiến thức về ngôn ngữ lập trình nhúng, Kỹ sư lập trình nhúng cũng cần có kỹ năng lập trình tổng quát, bao gồm debugging (gỡ lỗi), code optimization (tối ưu hóa mã nguồn), và quản lý mã nguồn (version control).
- Sáng tạo và giải quyết vấn đề: Khả năng tư duy sáng tạo để tạo ra các giải pháp nhúng độc đáo và khả năng giải quyết các vấn đề kỹ thuật là rất quan trọng.
- Kỹ năng giao tiếp: Khả năng giao tiếp hiệu quả với đồng nghiệp, khách hàng và các thành viên trong dự án là một yếu tố quan trọng trong việc làm việc nhóm và đạt được mục tiêu dự án.
- Tư duy hệ thống và phân tích: Khả năng hiểu rõ các hệ thống lớn và có khả năng phân tích các vấn đề kỹ thuật phức tạp.
- Tinh thần học hỏi: Lĩnh vực Kỹ sư lập trình nhúng thường phát triển nhanh chóng với nhiều công nghệ mới, do đó, khả năng học hỏi liên tục và cập nhật kiến thức mới là một điểm cần xem xét.
Nhưng lưu ý rằng yêu cầu cụ thể có thể thay đổi tùy thuộc vào dự án và công ty tuyển dụng. Đôi khi, các yêu cầu về ngôn ngữ lập trình cụ thể hoặc các công nghệ liên quan cũng có thể được nêu rõ trong thông báo tuyển dụng.
Lộ trình thăng tiến của Kỹ sư lập trình nhúng
Lộ trình thăng tiến của một Kỹ sư lập trình nhúng từ thực tập sinh có thể bao gồm các cấp bậc sau đây:
Thực tập sinh (Intern)
Mục tiêu: Tiếp cận và làm quen với công việc thực tế trong lĩnh vực lập trình nhúng.
Nhiệm vụ: Tham gia vào các dự án, học hỏi từ các nhân viên giàu kinh nghiệm, rèn luyện kỹ năng cơ bản.
Thời gian: Tùy theo chính sách của công ty, thường từ vài tháng đến một năm.
Nhân viên lập trình nhúng
Mục tiêu: Phát triển kỹ năng lập trình nhúng cơ bản, hiểu rõ về các nền tảng phần cứng và phần mềm liên quan.
Nhiệm vụ: Tham gia vào các dự án với vai trò nhỏ, đóng góp vào việc phát triển và kiểm thử phần mềm nhúng.
Kỹ sư lập trình nhúng
Mục tiêu: Trở thành một chuyên gia trong lĩnh vực lập trình nhúng, có khả năng giải quyết các vấn đề phức tạp và thúc đẩy sự phát triển của công ty.
Nhiệm vụ: Đảm nhận vai trò lãnh đạo trong các dự án, thiết kế các hệ thống nhúng phức tạp, tối ưu hóa hiệu suất và bảo mật.
Chuyên gia lập trình nhúng (Embedded Software Expert)
Mục tiêu: Đóng góp lớn vào sự phát triển công nghệ trong lĩnh vực lập trình nhúng, có thể giảng dạy hoặc đào tạo nhóm.
Lưu ý rằng lộ trình này có thể thay đổi tùy theo công ty, ngành công nghiệp và quốc gia. Đối với mỗi cấp bậc, việc học hỏi liên tục và cập nhật kiến thức mới là rất quan trọng.