技术人的未来在哪里,这个问题,相信很多技术人扪心自问过,也在不断思考,我也不例外。一般来说,会有以下的方向。
的确,一名技术人员一般会选择以上四个方向。如果你想成为一名技术大神(业内 top 10,top 30),说一句政治正确的话,只要你不断努力,在将来的某一天你肯定能成为一名技术大牛。但事实真的是如此吗?成为一名技术大牛真的没那么简单,第一:需要你不断地学习,还要有相应的天赋。第二:业内优秀的人才太多了,这就意味着你需要跟大多数的精英(985,等各种牛逼高校的学生 )PK。第三:技术这条路,如果不是真心热爱它,走到后面,会越走越枯燥,随之丧失热情。
当然,我不是说技术这一条路走不通,只是说你想成为业内 top 10 真的挺难的,需要你不断的学习,且要有足够的天分。
成为一名技术大牛,并不仅仅依靠技术,影响的因素很多。技术并不是全部,它可能占 70% 左右,剩下的 30% 取决你的综合能力。往大的方面说,指在业界的影响力,在公司的影响力。具体到能力方面,可能是你的产品能力,管理沟通能力,演讲能力等等。比如说:有两个人,按 100 分来说,A 的技术能力 95, B 的技能能力 85,A 在业界的影响力,公司的影响力 70, B 在公司的影响力 90。我相信更多人愿意称 A 为技术大牛。
说了这么多,其实是想告诉大家,一个人的专业能力确实很重要,但永远不是全部,要注意全面发展。对于一名技术人来说,首先,你要先钻研你的专业,争取有所建树。在业余的时候,多开阔你的眼界。我建议,在职场初期,把 80% 左右的精力放在你的专业能力上面,剩下的 20% 用在提高你的各方面能力,开阔眼界。在职场中期,当你在业界已经有一定知名度的时候,这时候可以尝试 73 或者 64 的比例,来全面提高自己。
技术转技术管理,一般有以下两种情况。
第一:你在公司的技术能力得到一定的认可,且口碑也比较高,公司内部把你推上这个岗位的。到了这个位置,很多技术人刚开始可能会不太习惯带着团队做事,担心这,担心那。其实,大可不必。因为是公司内部把你推上去的,代表大家对你都是比较认可的,你只需要做好你自己就行了。技术方面,掌控大的技术方向,解决一些重难点。接人处事,尽量做到公平公正,同时,尽量帮助大家成长。
第二:自己主动转型。主动转型的,一般自己已经想清楚了,才会主动转型,这种情况就不多说了,。
技术转项目管理,产品,这也是挺多人选择的一个方向。技术人员一般思维比较缜密,理性,考虑事情比较全面,转型当产品一般有挺大的优势。第一:思维比较缜密,考虑得比较全面,会考虑实现的成本,提出的需求可能会比较合理,不会太浮夸。第二:自己懂得技术,能更好地跟技术,测试人员沟通。
当然也有相应的劣势,技术人员在做产品的时候,第一:可能会受技术思维的影响,首先考虑的是技术难度的问题,而不是用户体验。第二:技术人员思维方面可能会比较窄。做产品,应该多从市场,竞品,商业,运营等多方面考虑。一个产品的成功,不仅仅只能依靠技术,技术的可行性上。更多的应该着手于市场和用户。
第三:沟通能力。受职位影响,程序员工作的时候比较少跟市场,运营的人交流,沟通能力可能没那么强。而产品经理处在沟通的中心,不仅仅是将需求告诉别人,重要的是表达清楚。技术人应该多加强这一方面的能力。
还记得去年“网传中国平安产品经理与开发因「根据手机壳颜色改变app主题」需求打架一事”吧,可以确定的是肯定不是因为该需求干架的,这只是一个导火索。但不可否认的是,程序员或多或少与产品经理存在着某些矛盾。
第一:有时候,一些产品经理缺乏技术背景,不了解技术,提出的需求有时候会天方夜谭。这时候开发就可能不爽了,会怼产品。第二:需求做到一半的时候,或者快完成的时候,突然跟你说,这个需求不做了,或者需求变更。
而技术人呢?考虑问题的时候大多数时候是从技术的角度出发的,对性能,代码可扩展性有偏执。这在产品经理看来可能是不懂用户,不懂商业,只会闷头写代码。互相看不顺眼这太 TMD 正常了。
因此,最好的解决方案是,技术人懂点产品思维,产品懂点技术,考虑问题多从对方的角度出发,沟通起来就比较顺畅了。
我们回过头再来看根据手机壳改变 APP 主题颜色这个需求,网友们脑补了很多解决方案。第一:通过手机壳照片识别,让用户上传手机壳照片,然后再云端分析,解析出手机壳颜色。第二:通过 NFC 手机壳,NFC 可以给公交卡充值,那识别出手机壳的颜色应该也不难。第三:通过眼角膜反射识别,启动前置摄像头面对用户眼角膜手机倒影进行图像分析,这种方案,其实跟第一种方案差不多,都是用到图像识别技术。第四:通过脑电波识别,通过扫描用户的脑电波,解析出脑电波中携带的信息,这个想法真大胆,科幻,现在的科技应该实现不了吧。
看了网友提出的答案,我想说一句,真强大。如果产品经理让你用上述的方案解决,那我建议你,直接怼他,这就是一个傻逼产品,250。
我们来分析一下,改变 APP 主题,对用户来说,,改变 APP 主题本身就是一个低频行为。技术的难点是我们怎样根据知道手机壳的颜色。这时候,我们不妨转变一下思维,用户肯定知道手机壳的颜色。那么我们不妨在首次使用的时候,让用户自己选择颜色不就 OK 了,方便又快捷。
自主创业并不仅仅指自己出来单干,创办公司。在我看来,做自媒体(比如运营公众号,写书,出教程,做一些顾问等),也都属于创业。
技术人自主创业,对于很多普通的技术人来说,一辈子可能也只有一两次出来创业办公司的机会,我们不是王思聪,生下来就有一个牛逼的爹,有足够的钱和资源。失败了我们可能就很难东山再起了。因为我们害怕,也输不起了。因此,如果想要自己出来创办公司,建议你先对创业想要从事的行业有足够清晰的了解再开始,不要脑门一热。
自媒体呢,我们完全可以在课余时间的时候去从事自己的副业,逐渐提高自己的影响力。
以下分享一下我几年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化
- 分布式版本控制系统Git
- 自动化构建系统Gradle
4、项目实战
- 启动速度
- 流畅度
- 抖音在APK包大小资源优化的实践
- 优酷响应式布局技术全解析
- 网络优化
- 手机淘宝双十一性能优化项目揭秘
- 高德APP全链路源码依赖分析
- 彻底干掉OOM的实战经验分享
- 微信Android终端内存优化实践
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析
NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。
本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
2019 年无疑是 Flutter 技术如火如荼发展的一年。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
…
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。
本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
技术人成长的路上,我们会碰到很多坎坷,当然其他职业也不例外。还记得去年华为 35 岁以上裁员事件,中兴裁员事件。从本质上面说,自身竞争力下降占很大一部分原因。毕竟,优秀的人才从来不缺少机会。为了未来有更多的选择,从现在开始,朝着自己的目标努力奋斗吧,书写属于自己的人生。
以上今属个人愚见,不喜轻喷。