Android Developer là làm gì? Lương có “ngon” không?
Android Developer là một trong những nghề được dự đoán sẽ “hái ra tiền” và đảm bảo cho bạn một tương lai nói “không” với thất nghiệp. Đọc bài phỏng vấn của ITviec với anh Nguyễn Khắc Duy Khánh – Android Developer của công ty SICLO để biết: Công việc của một Android ...
Android Developer là một trong những nghề được dự đoán sẽ “hái ra tiền” và đảm bảo cho bạn một tương lai nói “không” với thất nghiệp.
Đọc bài phỏng vấn của ITviec với anh Nguyễn Khắc Duy Khánh – Android Developer của công ty SICLO để biết:
- Công việc của một Android Developer là gì? Mức lương ra sao?
- Làm thế nào để trở thành Android Developer từ Tester?
- Nên làm gì để CV ứng tuyển Android Developer của bạn nổi bật hơn?
- Sai lầm thường thấy của Android Developer và các tài liệu hữu ích
Xem thêm việc làm Android Developer trên website ITviec
Gần 85% người dùng smartphone và 65% người dùng tablet trên thế giới đang sử dụng các ứng dụng chạy trên Android. Con số này sẽ còn tăng mạnh mẽ trong những năm sắp tới, kéo theo sự phát triển thần tốc về số lượng Android Developer.
Tiểu sử:
Anh Khánh tốt nghiệp khoa Điện tử Viễn thông, trường ĐH Khoa học Tự nhiên. Sau khi ra trường, anh làm Tester ở Officience trong 1.5 năm rồi chuyển hẳn sang làm cho SICLO – một công ty outsourcing của Pháp trong suốt hơn 4 năm qua với vai trò Android Developer.
Chào anh Khánh. Có nhiều bạn thắc mắc Android Developer là gì, anh có thể giải đáp được không ạ?
Android Developer là người chịu trách nhiệm cho việc tạo ra, phát triển, duy trì cũng như cập nhật các ứng dụng có thể chạy trên nền tảng Android.
Hiện tại, ngoài các ứng dụng chạy trên hệ điều hành Android thì Android Developer còn có xu hướng phát triển thêm các ứng dụng có thể kết nối với các thiết bị ngoại vi. Ví dụ: đồng hồ đeo tay thông minh đo bước đi, kiểm tra sức khỏe.
Vậy công việc hàng ngày của anh sẽ như thế nào?
Đối với những dự án đang làm theo mô hình Agile, mỗi ngày bên anh sẽ tổ chức cuộc họp để bàn về tình hình hiện tại của dự án và những vấn đề đang gặp phải, xem có ai cần giúp đỡ hay không.
- Đối với những dự án mới thì anh sẽ tham gia họp để kick-off và triển khai làm sản phẩm. Sau khi có đầy đủ các thông tin, anh sẽ thực hiện một số công việc chính như:
- Xây dựng kiến trúc mới cho một dự án
- Phát triển các tính năng theo yêu cầu của khách hàng
- Fix bug từ team Tester hoặc từ phía khách hàng
- Cuối chu kỳ của dự án, có thể hỗ trợ khách hàng đăng sản phẩm lên các cửa hàng ứng dụng Android (ví dụ: Google Play) nếu khách hàng yêu cầu
Trước kia anh đã từng làm công việc Tester. Đó có phải là lợi thế cho anh khi chuyển sang làm Android Developer?
Anh nghĩ là có.
Hầu hết các developer chỉ quan tâm về mặt logic, nghĩa là vòng chạy của code không xảy ra vấn đề là được. Còn anh thì quan tâm nhiều hơn đến việc ứng dụng chạy thật như thế nào, mong muốn của người dùng ra sao.
Khi hoàn thành mỗi task, bằng kinh nghiệm làm việc của mình, anh sẽ thử chạy các case (tình huống) mà người dùng có thể gặp phải để phát hiện bug và fix bug sớm nhất.
Dĩ nhiên là không thể đầy đủ tất cả các case nhưng cũng tiết kiệm thời gian hơn cho các bạn Tester so với một developer thông thường.
Theo anh, những kỹ năng và tố chất nào là cần thiết đối với Android Developer?
Về mặt kỹ năng mềm, anh nghĩ thứ quan trọng nhất không chỉ với Android Developer nói riêng mà cả với developer nói chung là thái độ tốt.
Hiện tại thì anh nghĩ mình không mắc phải lỗi này nữa nhưng trong quá khứ, khi còn làm Tester, anh đã từng có thái độ không tốt.
Ngoài ra, bạn cũng không nên thụ động và hãy chịu khó giao tiếp nhiều hơn.
Ngày xưa anh khá thụ động, cứ chờ đến khi sếp giao task rồi mới bắt đầu làm. Sau này thì anh chủ động xem tài liệu khách hàng gửi trước, có gì không hiểu là hỏi sếp ngay chứ không phải đợi nhận task rồi mới mò lên đọc.
Có rất nhiều cách khác nhau mà anh đã từng thử để cải thiện mối quan hệ với mọi người:
- hỗ trợ team khác khi có thời gian rảnh
- tham gia các hoạt động ngoại khoá, thể thao
- rủ rê đồng nghiệp cùng đi ăn chung, nói chuyện
- gặp khó khăn thì chủ động hỏi ý kiến của Leader hoặc những Developer khác
- …
Kiến thức thì mình có thể học trong quá trình làm việc nhưng nếu có thái độ không tốt, lười biếng hoặc giả sử mình giỏi nhưng cách làm việc của mình ko phù hợp với mọi người xung quanh thì cũng khó giúp team phát triển.
Còn về kỹ năng chuyên môn, anh nghĩ Android Developer nên:
- Nắm tốt kiến thức nền tảng. Chẳng hạn: khoa học máy tính, cấu trúc dữ liệu và thuật toán, những ngôn ngữ sử dụng cho Android như Java và Kotlin. Ngoài việc chịu khó đọc sách và giáo trình, anh giải quyết các bài tập trên các trang online coding như: Hackerearth, Codepen… Thực hành nhiều thông qua các dự án cá nhân, dự án công ty và tham khảo những code mẫu của developer khác (trên GitHub/GitLab).
- Có khả năng cập nhật liên tục kiến thức mới, công nghệ mới. Có rất nhiều trang blog hay có thể tham khảo (anh hay đọc các bài viết trên trang Medium) hoặc theo dõi các kênh Youtube. Trên Youtube có một kênh của Google, thường cập nhật thông tin về những version (phiên bản) Android mới, kiến trúc mới để viết sản phẩm hoặc một số thư viện giúp cho việc phát triển ứng dụng tốt hơn.
Điều gì khiến anh thấy thích thú nhất khi làm công việc Android Developer?
Anh thấy việc tạo ra sản phẩm cho người khác sử dụng rất thú vị. Khi họ dùng chính sản phẩm mình làm ra để phục vụ cho công việc hoặc các mục đích thư giãn, giải trí… và thấy nó hữu ích, anh có cảm giác mình đang giúp đỡ được cho nhiều người. Và anh thích cảm giác đó.
Sai lầm anh từng mắc phải trong công việc Android Developer là gì?
Có một dự án sếp nhờ anh estimate – ước lượng thời gian hoàn thành cho một ứng dụng. Ứng dụng này không phải viết bằng Android mà được viết bằng Hybrid. Cái này chỉ cần viết code 1 lần nhưng có thể build cho cả Android và iOS.
Khi bắt đầu estimate, anh kiểm tra một số tài liệu khách hàng gửi nhưng mà anh thấy khá là thiếu. Họ chỉ đưa ra yêu cầu, bảo mình viết lại sản phẩm mới dựa trên version cũ mà họ đang sử dụng.
Anh có trình bày với sếp là không đủ thông tin để có thể estimate chính xác bởi vì mức độ mong muốn của khách hàng có thể cao hơn rất nhiều so với version cũ.
Lúc đó, sếp hiểu những gì anh nói nhưng vì mong muốn có được dự án này nên sếp vẫn nhờ anh đảm nhiệm trọng trách estimate. Anh nghe sếp nói vậy thì cũng đồng ý và estimate theo góc nhìn của mình, anh cho rằng dự án có thể hoàn thành trong vòng 2 tháng.
Khách hàng cũng đồng ý với estimate này và team anh bắt đầu triển khai dự án.
Tuy nhiên, trong quá trình làm việc, khi phát triển một tính năng thì khách hàng lại yêu cầu phát triển thêm các tính năng chi tiết hơn bên trong dẫn đến tình trạng trễ deadline.
Sau vài lần trễ deadline, dự án không thể hoàn thành được nữa, khách hàng quyết định dừng dự án. Điều này khiến cho uy tín công ty anh bị giảm sút và công ty cũng gặp khó khăn về tài chính để nuôi team dự án.
Bài học anh đã rút ra cho bản thân sau sai lầm đó?
Vì lúc đầu anh đã không đưa ra ý kiến của mình một cách mạnh mẽ để khiến sếp thay đổi suy nghĩ hoặc ít nhất là yêu cầu sếp lấy thêm nhiều thông tin từ phía khách hàng dẫn đến estimate sai, ảnh hưởng đến dự án nên điều đầu tiên anh rút ra được là: nếu thấy quan điểm của mình đúng, phải cố gắng bảo vệ nó.
Không phải cố chấp nhưng ít nhất anh cũng nên đưa ra góc nhìn đa chiều thay vì đồng ý với sếp ngay lập tức.
Thứ hai, trước khi dự án bắt đầu, anh sẽ cho khách hàng thấy những rủi ro có thể gặp phải khi làm sản phẩm và giới hạn rằng bên anh sẽ chỉ phát triển những tính năng như thiết kế ban đầu thôi. Nếu họ muốn phát triển những tính năng cao cấp hơn thì phải chấp nhận việc kéo dài tiến độ.
Mức lương của một Android Developer có hấp dẫn không anh?
Mức lương hiện tại cho Android Developer khá hấp dẫn, đối với các bạn trẻ mới ra trường mức lương khỏi điểm có thể trên 500 USD. Đối với các bạn có kinh nghiệm 2-3 năm mức lương có thể vào khoảng 1200 – 2000 USD tuỳ năng lực và công ty ứng tuyển.
Đối với các công ty châu u hoặc Singapore thì anh thấy mức lương có vẻ cao hơn công ty trong nước hoặc các công ty Nhật Bản, Hàn Quốc.
Anh đánh giá thế nào về cơ hội nghề nghiệp của nghề Android Developer?
Theo anh thấy thì thị trường cho Android Developer vẫn chưa bão hoà, nhất là đối với chuyên viên cao cấp. Vì tuổi nghề của developer khá thấp, cần sự thay thế liên tục. Cũng như thị trường oursourcing của Việt Nam đang phát triển khá tốt nên cơ hội cho các bạn mới vẫn còn.
Làm thế nào để có thể trở thành Android Developer vậy anh?
Nếu đã xác định theo con đường lập trình Android thì khi bắt đầu, bạn đó phải nắm các kiến thức nền tảng, anh đã chia sẻ ở trên. Google có cung cấp một trang web chứa tất cả tài liệu và tutorial về Android cho những bạn mới nhập môn bao gồm các mục lục cần phải hoàn thành + code sample cho mỗi tính năng. Bạn có thể bắt đầu học trên đó.
Nếu có vấn đề gì liên quan đến lập trình không thể giải quyết, bạn có thể tìm kiếm sự trợ giúp trên trang web Stack OverFlow.
Với những bạn có nhu cầu chuyển hướng từ Web Developer hoặc Tester sang Android Developer thì phải học về ngôn ngữ lập trình Java, Kotlin. Tuy nhiên, anh nghĩ ngôn ngữ cũng chỉ là công cụ để phát triển sản phẩm mà thôi.
Bên Android có một số tính năng đặc trưng riêng dành cho nền tảng mà bạn phải tìm hiểu. Ví dụ: cách thức giao tiếp với cảm biến vị trí GPS, kiểm tra kết nối mạng, giao tiếp với camera của máy để thực hiện việc chụp ảnh…
Anh nghĩ một bạn ứng tuyển vào vị trí Android Developer nên làm gì để CV xin việc trở nên nổi bật hơn?
Không chỉ riêng Android mà bất cứ vị trí nào thì CV cũng nên trình bày gọn gàng, sạch đẹp, giúp người tuyển dụng có thể tập trung vào những thông tin mà mình cần biết một cách nhanh nhất.
Đối với người đã có kinh nghiệm thì cần liệt kê những dự án mình đã từng tham gia, những công nghệ đã dùng, quy mô team, lĩnh vực của dự án… Đối với những thông tin về định hướng hay kỹ năng thì nên tự viết, tránh việc sao chép những CV sẵn có. Anh nghĩ vậy.
Anh có thể chia sẻ những tài liệu mà anh đã tham khảo để trở thành Android Developer được không ạ?
Đây là một số tài liệu mà anh nghĩ sẽ có ích và cũng là những tài liệu anh tham khảo cho đến tận bây giờ.
- https://developer.Android.com/ : Trang tài liệu chính thức của Google về lập trình Android, bao gồm cách thức xây dựng một ứng dụng, test ứng dụng, thêm ứng dụng vào cửa hàng Google Play…
- https://medium.com/Androiddevelopers: Blog về Android Development. Hoặc có thể tìm kiếm một số bài viết khác thông qua hashtag #Android, #Java, #Kotlin
- https://stackoverflow.com/questions/tagged/Android: Cộng đồng hỗ trợ giải quyết các vấn đề gặp phải khi lập trình
- https://www.youtube.com/user/GoogleDevelopers: Kênh Youtube chính thức của Google Developers
Bạn có đồng tình với chia sẻ của tác giả? Hoặc bạn muốn chia sẻ kinh nghiệm làm Android Developer của mình ở góc nhìn khác? Hãy để lại ý kiến ở phần bình luận bên dưới nhé.
Xem thêm việc làm Android Developer trên website ITviec