31 May, 2021
Phát triển ứng dụng di động
Một sinh viên khoa học máy tính năm thứ ba viết cho tôi: “Em còn một năm nữa trước khi tốt nghiệp nhưng em lo lắng vì có nhiều người tốt nghiệp đại học mà không có việc làm ở nước em. Em không biết em cần có kĩ năng nào để đảm bảo rằng em sẽ có việc làm tốt? Em cũng có người em sẽ vào đại học sang năm. Em không biết khuyên em của em cái gì bên cạnh việc bảo cậu ấy đọc blog của thầy. Bố mẹ em làm việc vất vả để cho chúng em vào đại học và em không muốn làm cho họ thất vọng. Xin thầy giúp.”
Đáp: “Bạn đã chọn khoa học máy tính chính là lĩnh vực học tập đúng cho nên bạn KHÔNG phải lo nghĩ quá nhiều. Có thiếu hụt công nhân có kĩ năng trên khắp thế giới và cũng ở nước bạn. Chừng nào mà bạn có kĩ năng, bạn sẽ làm tốt. Nếu em của bạn cũng chọn khoa học máy tính, kĩ nghệ phần mềm hay quản lí Hệ thông tin thì cậu ấy cũng KHÔNG phải lo nghĩ vì nhu cầu cao về người tốt nghiệp có kĩ năng CNTT sẽ tiếp tục trong năm tới mười năm.
Vì bạn còn một năm nữa trong đại học, lời khuyên của tôi là hội tụ nhiều hơn vào phát triển ứng dụng di động. Ngày nay có nhu cầu cao về những người có kĩ năng trong ứng dụng di động (iOS, Android và Window 8).
Ở Mĩ, việc làm cho người phát triển Android đã tăng trên 300% năm 2014 khi so sánh với 2013. Có trên 6000 việc làm phát triển di động không được lấp kín trong tháng 4/2014 và con số này được mong đợi còn lên cao hơn. Một vấn đề tương tự cũng xảy ra ở châu Âu và châu Á do bùng nổ của nhu cầu về công nhân có kĩ năng di động. Không chỉ các công ti công nghệ đang thuê công nhân có kĩ năng di động mà mọi loại công ti đều vội vàng phát triển các app di động vì chẳng mấy chốc các thiết bị di động sẽ thay thế cho máy tính cá nhân như thiết bị chính cho mọi thứ. Là sinh viên khoa học máy tính, bạn có lẽ đã học về phát triển Web và ngôn ngữ lập trình Java dùng nền PC cho nên tương đối dễ dàng chuyển sang nền di động như Android và IOS. Tất nhiên bạn cần hiểu các ràng buộc của màn hình nhỏ hơn và giao diện chạm của nền di động. Chẳng hạn, khi bạn xây dựng ứng dụng Web, bạn có toàn thể màn hình laptop nhưng màn hình di động nhỏ hơn nhiều cho nên bạn phải biết nghĩ khác đi về các tính năng mà bạn sẽ xây dựng vì cách mọi người tương tác với laptop là khác cách họ tương tác với điện thoại thông minh hay máy tính bảng. Bạn không thể dùng menu thả xuống hay màn hình trợ giúp trong điện thoại thông minh như nó làm việc trên laptop. Điện thoại thông minh không có nhiều bộ nhớ và bộ xử lí thì yếu hơn PC cho nên bạn phải ý thức nhiều hơn về phong cách lập trình của bạn. Bên cạng kĩ năng trong Java, bạn cần học HTML5, IOS, Android, XML v.v. Tôi đã viết nhiều bài báo về phát triển ứng dụng di động trong blog này và bạn có thể xem lại chúng.
Khi công nghệ thay đổi, nhu cầu cũng thay đổi cho nên cách tốt nhất để đảm bảo nghề nghiệp lâu dài là giám sát xu hướng công nghiệp và liên tục học những kĩ năng mới để đáp ứng nhu cầu mới. Chừng nào bạn còn sẵn lòng học, bạn sẽ KHÔNG lo nghĩ quá nhiều. Tôi nghĩ bạn và em của bạn sẽ học tốt và làm cho bố mẹ bạn tự hào. Chúc may mắn.
—English version—
Mobile application development
A third year computer science student wrote to me: “I have one more year before graduation but I am worry because there are many college graduates without job in my country. I do not know what skills do I need to have to ensure that I will have good job? I also have a brother who will go to college next year. I do not know what to advise him beside tell him to read your blog. My parents work hard to send us to college and I do not want to disappoint them. Please help.”
Answer: “You have selected computer science which is the right field of study so you should NOT worry too much. There is a shortage of skilled workers all over the world and also in your country. As long as you have the skills, you should do well. If your brother also selects computer science, software engineering or Information System management than he should also NOT worry because the high demand for graduates with IT skills will continue in the next five to ten years.
Since you have one more year in college, my advice is to focus more on mobile application development. Today there is high demand for people with skills in mobile applications (iOS, Android and Window 8). In the U.S, Android developers jobs have increased over 300% in 2014 as compare with 2013. There are over 6000 unfilled mobile developer jobs in April 2014 and the number is expected to rise higher. A similar problem also happens in Europe and Asia due to the explosion of demand for mobility skilled workers. It is not just technology companies are hiring mobile skilled workers but all kinds of companies are hurrying to develop mobile apps because soon mobile devices will replace personal computer as the main devices for everything. As computer science student, you probably learn about Web development and Java programming using PC platform already so it is relatively easy to switch to mobile platforms such as Android and IOS. Of course you need to understand the constraints of smaller screen and touch interfaces of mobile platforms. For example, when you build Web applications, you have the whole laptop screen but mobile screen is much smaller so you must learn to think differently about the features that you will build because the way people interact with a laptop is different than the way they interact with a smartphone or tablets. You cannot use drop-down menus or help screens in smartphone as it works in laptop. Smartphones do not have much memory and weaker processor than PC so you must be more conscious about your programming style. Beside the skill in Java, you need to learn HTML5, IOS, Android, XML etc. I have written several articles about mobile application development in this blog and you can review them.
As technology changes, demand also changes so the best way to ensure a long career is to monitor industry’s trends and continue to learn new skills to meet new demand. As long as you are willing to learn, you should NOT worry too much. I think you and your brother will do well and make your parents proud. Good Luck.