Ở bài viết trước chúng ta đã được làm quen với khái niệm lập trình nhúng và giải mã sức hút lớn của ngành này. Vậy một ngành hấp dẫn như vậy, bạn cần trang bị cho mình những gì để “chen chân” vào thị trường lao động hot này? Bài viết này sẽ giúp bạn lập danh sách những vũ khí cần có để trở thành kỹ sư lập trình nhúng:
1. Trang bị Hard Skills
Hard skill hay còn dùng để nói về kiến thức chuyên môn. Muốn làm nghề gì trước tiên phải có nền tảng kiến thức cơ bản về nó. Đối với lập trình nhúng, bạn cần phải học:
- Học lập trình C: bạn cần học C đến mức chuyên gia, đây là ngôn ngữ quan trọng bật nhất trong lập trình nhúng. Nếu bạn học lập trình vi điều khiển thuần túy thì học C (vì C là ngôn ngữ hướng cấu trúc), học C++ khi bạn muốn học lập trình ứng dụng (C++ vừa là ngôn ngữ hướng cấu trúc, vừa là ngôn ngữ hướng đối tượng) , học thêm Python khi bạn học các môn về xử lý dữ liệu, học thuật toán về Computer Science (ví dụ như Machine Learning, Deep Learning các kiểu).
- Tiếng anh: Một điều tối thiểu là bạn phải đọc được tiếng anh vì tài liệu chuyên ngành hầu hết là tiếng anh nên việc đọc hiểu tiếng anh được xem là hiển nhiên. Một điều khá quan trọng nữa là bạn phải nên nói được tiếng anh giao tiếp thì công việc của bạn sẽ dễ dàng và tiến xa hơn.
- Kiến thức về điện tử: các kiến thức về logic, vi điều khiển, vi xử lý, ADC, TIMER, INTERRUPT, vv.
- Các loại giao tiếp (protocol): UART, I2C, SPI, RS232, JTAG,… (nâng cao: SATA, PCIE, USB, CAN, MOST).
- Hệ điều hành: kiến trúc hệ điều hành, kiến trúc máy tính, nhất là hệ điều hành linux.
- Cấu trúc dữ liệu và giải thuật: là chuyên gia phần cứng, bạn cũng phải code, đã code thì phải có giải thuật!
- Memory: NOR, NAND, SRAM, DRAM
- Hệ điều hành thời gian thực (Real time OS).
2. Trang bị Soft skills
Hay còn gọi là kỹ năng mềm, đây là điều kiện đủ để bạn có thể cạnh tranh với các ứng viên khác trong ngành này. Một số kỹ năng mềm quan trọng bạn cần rèn luyện càng sớm càng tốt đó là:
-
Cách lập trình như thế nào là tốt, coding style, học về git để biết cách quản lý code,…
-
Kỹ năng giao tiếp, kỹ năng thuyết trình, kỹ năng truyền đạt vấn đề,…
-
Khả năng giải quyết vần đề, khả năng thích nghi môi trường mới, khả năng tiếp nhận kiến thức mới, kỹ năng giải quyết mâu thuẫn với con người, kỹ năng quản lý con người,…
-
Kỹ năng quản lý thời gian cá nhân, kỹ năng quản lý công việc,…
-
Cách cân bằng sức khỏe, công việc và các mối quan hệ cá nhân.
-
…
3. Tìm hiểu về cơ hội việc làm
Kỹ sư lập trình nhúng có thể làm việc ở những nơi sau:
- Các công start-up/công ty nhỏ: Thông thường, các bạn sẽ học được rất nhiều kiến thứ từ các công ty này vì bạn phải làm rất nhiều công việc, vị trí cùng một lúc. Tuy nhiên lương ở đây thường không cao.
- Các công ty outsource: Ở đây thường có 2 loại công việc cho bạn: dev và test. Công việc test có thể hơi nhàm chán vì phải lập đi lập lại một công việc nhưng bù lại, nếu bạn có cơ hội test white box của các công ty lớn thì bạn học được cách lập trình của họ. Để được làm dev, bạn phải có kiến thức giỏi và có chút ít kinh nghiệm. Thường thì bạn sẽ chỉ làm một phần nhỏ trong hệ thống ít có cơ hội nhìn được tổng quan hệ thống vì lý do bảo mật công ty. Nếu làm ở các công ty outsource lớn, bạn sẽ học được cách làm việc có quy trình; cách quản lý dự án, code cũng có tiêu chuẩn; tập cho mình một ý thức làm việc công nghiệp và chuyên nghiệp hơn.
- Các công ty lớn: Nếu bạn mới ra trường thì thường khó vào được các vị trí dev vì các công việc đó thường đòi hỏi người có kinh nghiệm và chúng sẽ chỉ đóng vai trò một phần nhỏ trong hệ thống lớn. Lương ở những công ty này thường cao hơn mặt bằng chung.
4. Xác định mục tiêu và định hướng nghề nghiệp cho bản thân
Thực chất, việc làm cho các kỹ sư lập trình nhúng không hề thiếu nhưng điều quan trọng là công việc đó có phù hợp với bạn hay không. Để nói về việc phù hợp, hãy xét đến các yếu tố sau:
- Lương: Nếu mới ra trường và có ít kinh nghiệm, bạn nên chấp nhận mức lương đủ sống để có thể học được nhiều thứ hơn. Sau này khi đã giỏi, bạn có thể deal lương xứng đáng với khả năng của mình.
- Môi trường: Đây là yếu tố khá quan trọng, nó sẽ ảnh hưởng rất nhiều đến con người bạn sau này. Bạn nên chọn một môi trường mà mình phát triển được. Nếu có cơ hội, hãy đi làm các công ty nước ngoài ở nước ngoài để được tiếp xúc với môi trường làm việc chuyên nghiệp và chuẩn quốc tế, sau này sẽ mở ra những cơ hội tuyệt vời hơn cho bạn.
Bên cạnh tìm hiểu về công việc, đừng quên tìm hiểu chính bản thân mình. Biết được mình mạnh ở đâu, yếu chỗ nào, đam mê cái gì,... thì bạn mới vẽ ra lộ trình tương lai phù hợp cho mình được.
Hy vọng với bài viết này, bạn sẽ hiểu hơn về nghành lập trình nhúng và có thể lên kế hoạch chuẩn bị kỹ càng để bước vào ngành này. ITPlus chúc bạn trở thành một kỹ sư lập trình nhúng tài năng trong tương lai.
-------------------------------------------------
Tham khảo thêm các khóa học lập trình của ITPlus Academy tại:
Lập trình nhúng với FPT SOFTWARE
trình Python & Odoo Framework với IziSolution
Khóa học thiết kế và lập trình web - PHP chuyên nghiệp
Lập trình ứng dụng di động Android
Khóa học lập trình Python
Khóa học Trí tuệ nhân tạo - Học máy cơ bản và ứng dụng
Ban Truyền thông ITPlus Academy