关于Android开发工程师的从业预期与自我要求

现在对于Android开发有一定的兴趣和想法,在可预见的未来几年内应该会努力向这一方面发展,所以这几天在招聘网站上查阅了一下Android开发工程师相关的任职要求和职位描述,并自己进行了相关的整理,也算是为了自己的Android开发之路提供一个方向吧,作为一个自学的大学生,蒙头乱撞还是蛮累的。

刚刚入坑,有待提高~


主要内容分为三大部分:

  1. 任务和目标
  2. 相关技能要求
  3. 个人建设

任务和目标:

  1. 能够独立完成客户端软件需求的整理和软件设计;
  2. 能够完成APK的打包发布和相关资源整理
  3. SDK整理、打包;
  4. Android系统的手机移动应用产品评审、编码和维护;
  5. 负责模块设计、文档编写以及针对用户需求的快速响应;
  6. APP逆向及防逆向工程设计
  7. 参与培训与分享经验
  8. 第三方库的开发与维护、开源项目的参与

相关技能要求:

这一栏内容比较多,根据相关重要性我又分为了“精通”、“熟悉”、“了解和理解”、“具有相关经验”等四个方面。

精通

精通Java、C/C++、Kotlin、一种脚本语言(Python、vbscript、javascript、installshield script、ActionScript、PHP等)。
精通网络编程,精通算法
精通Android框架
精通JNI
精通Android SDK和UI布局与控件的使用
精通Android开发平台及框架原理
精通系统组件的使用,能够进行自定义控件封装
(逆向工程师)精通软件逆向工程
(安全工程师)精通软件加密解密知识
(逆向工程师)精通各种软件逆向工程开发工具的使用

熟悉

熟悉掌握操作系统原理、内存管理、常用算法原理
熟悉掌握数据结构
熟悉Eclipse/SVN环境
熟悉UI、网络、数据库、XML/JSON解析
熟悉多线程运作机制
熟悉Android下网络通信机制,对socket通信、TCP/IP和HTTP/https、IMAP、RTMP协议有一定的了解和经验
熟练掌握各种调试工具:Smali、Dedexer、Dexdump、Apktool、Dex2jar、IDA、OLLYDBG
熟悉掌握Android平台性能分析工具
熟悉常用的开源第三方库
熟悉Dalvik指令集
熟悉Android动态、静态调试方法,
熟练运用相关动静态调试工具;
熟悉常用的设计模式
熟悉H5、JS等前端开发
熟悉react native, vue等混合式开发模式
熟练使用NDK(NDK环境下C/C++开发)
具有独立编写Android应用程序和Native原生程序的能力
熟悉主流Android手机特性;
熟悉数据抓包、分析
(逆向工程师)熟悉Android程序apk以及so的逆向分析流程
(逆向工程师)熟悉软件逆向分析流程,能够独立完成软件逆向工作

了解和理解

了解Android os 系统体系结构、framework和底层设计原理
了解arm汇编语言和指令集,具备Android NDK程序的逆向反汇编能力
了解Android Dalvik虚拟机原理、
了解RN、weex开发
了解Android rom裁剪、系统移植
了解后端开发
理解Java的runtime机制;
理解面向对象设计的基本原则

具有相关经验

APP重构和优化
AppStore和Google play 逆向经验和发布经验
具有丰富的针对不同机型的兼容性问题处理经验
爬虫智能化算法设计和开发经验
Windows开发经验
操作系统内核开发或trustzone相关经验
破解主流网站和app的反爬机制
兼容iOS和iOS开发相关经验
参与开源项目并贡献过代码-GitHub
CSDN参与经验分享
硬件调试经验,能够和硬件工程师相互配合和理解


对于个人建设方面

具有极客精神
较强的团队协作能力及管理能力
具有较强的学习能力
关注用户体验,代码风格良好
生活和学习习惯良好,有规律,有预期

你可能感兴趣的:(Android,Studio)